feat(admin): collapse product translations behind default-language fields

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

P0 user feedback: four parallel description fields (default/ru/en/hy) read as duplicates and confused the admin.

- The default-language name/short description/rich description now stand alone; per-language fields moved into a collapsed 'Translations' disclosure with a translated-count badge (e.g. 1/3)
- The disclosure explains the fallback rule in merchant language: empty translation means customers see the default text
- Translation inputs show the default value as placeholder, making the fallback visible instead of implied
- Locale codes shown uppercase (RU/EN/HY) to read as language labels, not field suffixes
This commit is contained in:
sdarbinyan
2026-07-19 08:40:30 +04:00
parent 0f81643744
commit 31c64e9647
7 changed files with 74 additions and 19 deletions

View File

@@ -1545,6 +1545,7 @@ export const en: Translations = {
generate: 'Generate',
seoGenerate: 'Fill from product details',
seoGenerateHint: 'Fills empty fields from the product name and short description. Your existing text is kept.',
translationsHint: 'The main fields above are shown in your default store language. Add translations here for other languages - if a translation is empty, customers see the default text instead.',
seoExplain: 'This is what shows up in search results — a clear title and description help customers find this product.',
searchTitle: 'Search title',
searchTitleHint: 'The headline shown in search results. Keep it short and descriptive.',

View File

@@ -1540,6 +1540,7 @@ export const hy: Translations = {
generate: 'Գեներացնել',
seoGenerate: 'Լրացնել ապրանքի տվյալներից',
seoGenerateHint: 'Լրացնում է դատարկ դաշտերը անունից և կարճ նկարագրությունից։ Ձեր տեքստը չի փոխվում։',
translationsHint: 'Վերևի հիմնական դաշտերը ցուցադրվում են խանութի հիմնական լեզվով։ Այստեղ ավելացրեք թարգմանություններ այլ լեզուների համար — եթե թարգմանությունը դատարկ է, գնորդները կտեսնեն հիմնական տեքստը։',
seoExplain: 'Սա այն է, ինչ երևում է որոնման արդյունքներում․ հստակ վերնագիրն ու նկարագրությունը օգնում են գտնել այս ապրանքը։',
searchTitle: 'Որոնման վերնագիր',
searchTitleHint: 'Վերնագիրը, որ երևում է որոնման արդյունքներում։ Պահեք կարճ։',

View File

@@ -1540,6 +1540,7 @@ export const ru: Translations = {
generate: 'Сгенерировать',
seoGenerate: 'Заполнить из данных товара',
seoGenerateHint: 'Заполняет пустые поля из названия и краткого описания. Ваш текст не перезаписывается.',
translationsHint: 'Основные поля выше отображаются на языке магазина по умолчанию. Здесь добавьте переводы для других языков — если перевод пуст, покупатели увидят текст по умолчанию.',
seoExplain: 'Это то, что видно в результатах поиска — понятные заголовок и описание помогают найти товар.',
searchTitle: 'Заголовок для поиска',
searchTitleHint: 'Заголовок, показываемый в результатах поиска. Делайте его коротким.',

View File

@@ -1552,6 +1552,7 @@ export interface Translations {
generate: string;
seoGenerate: string;
seoGenerateHint: string;
translationsHint: string;
seoExplain: string;
searchTitle: string;
searchTitleHint: string;