store-only apps edit their listing on the store (storebound listing live / set: old -> new per field with the checks, a PATCH of only the edited fields; serve listing.set is the one store-only write, its token bound to the store ids; policy.rs STORE_ONLY_WRITES, write_with_confirm for store targets); screenshot captions per language and scene edited as a text edit of the shots copy JSON (JSON files keep their layout); Play content rating, target audience and App content answers in App info; docs/console-parity.md after the editors (73 rows: 55 complete, 18 with the reason) and tests/console-parity.test.ts keeping it honest

This commit is contained in:
CRTkafa 2026-10-14 00:53:38 +08:00
parent 3cea2af4e1
commit 7ac028421a
33 changed files with 852 additions and 157 deletions

View file

@ -1723,4 +1723,21 @@ export const en = {
'ed.moveDown': 'Move {id} down',
'ed.applyArtSub': 'Render, then upload: an upload replaces the store\'s screenshot set (dry run first).',
'ed.loadFailed': 'Could not read the app folder\'s files: {error}',
'ed.storeOnlyTitle': 'Edit the listing on the stores',
'ed.storeOnlySub': 'No app folder: the live texts, changed straight on each store per language.',
'ed.storeOnlyNote': 'This app has no folder, so the texts go straight to the store: each Apply shows the store\'s dry run, then asks. URLs, contact and screenshots need an app folder (Link a folder).',
'ed.storeOnlyApplyPlay': 'Google Play {lang}: preview',
'ed.storeOnlyApplyApple': 'App Store {lang}: preview',
'ed.liveEmpty': 'The live texts are not read yet',
'ed.noEditableVersion': 'No App Store version is being prepared: name, subtitle and promotional text can change now; description, keywords and what\'s new change with a new version.',
'ed.captionsTitle': 'Screenshot captions',
'ed.captionsSub': 'Per language and scene ({file}). Render again after saving; long lines are checked by shots check.',
'ed.eyebrow': 'Eyebrow',
'ed.titleLine': 'Title line {n}',
'ed.subline': 'Subline',
'ed.contentRating': 'Content rating answers (Play IARC)',
'ed.contentRatingHint': '{ "category": "game", "answers": { ... } }. No API: Fill in console types them; you press Submit.',
'ed.targetAudience': 'Target audience and ads (Play)',
'ed.appContent': 'App content declarations (Play)',
'ed.appContentHint': 'Government, financial and health features, advertising ID. No API: the console plan step uses them.',
} as const;

View file

@ -1725,4 +1725,21 @@ export const tr: Record<keyof typeof en, string> = {
'ed.moveDown': '{id} sahnesini aşağı taşı',
'ed.applyArtSub': 'Oluştur, sonra yükle: yükleme mağazadaki ekran görüntüsü setinin yerini alır (önce deneme çalıştırması).',
'ed.loadFailed': 'Uygulama klasörünün dosyaları okunamadı: {error}',
'ed.storeOnlyTitle': 'Listelemeyi mağazalarda düzenle',
'ed.storeOnlySub': 'Uygulama klasörü yok: canlı metinler, her mağazada dil başına doğrudan değiştirilir.',
'ed.storeOnlyNote': 'Bu uygulamanın klasörü yok, metinler doğrudan mağazaya gider: her Uygula önce mağazanın deneme çalıştırmasını gösterir, sonra sorar. URL\'ler, iletişim ve ekran görüntüleri için uygulama klasörü gerekir (Klasör bağla).',
'ed.storeOnlyApplyPlay': 'Google Play {lang}: önizle',
'ed.storeOnlyApplyApple': 'App Store {lang}: önizle',
'ed.liveEmpty': 'Canlı metinler henüz okunmadı',
'ed.noEditableVersion': 'Hazırlanan bir App Store sürümü yok: ad, alt başlık ve tanıtım metni şimdi değişebilir; açıklama, anahtar kelimeler ve yenilikler yeni sürümle değişir.',
'ed.captionsTitle': 'Ekran görüntüsü başlıkları',
'ed.captionsSub': 'Dil ve sahne başına ({file}). Kaydettikten sonra yeniden oluşturun; uzun satırları shots check denetler.',
'ed.eyebrow': 'Üst satır',
'ed.titleLine': 'Başlık satırı {n}',
'ed.subline': 'Alt satır',
'ed.contentRating': 'İçerik derecelendirme yanıtları (Play IARC)',
'ed.contentRatingHint': '{ "category": "game", "answers": { ... } }. API yok: Konsolda doldur bunları yazar; Gönder\'e siz basarsınız.',
'ed.targetAudience': 'Hedef kitle ve reklamlar (Play)',
'ed.appContent': 'Uygulama içeriği beyanları (Play)',
'ed.appContentHint': 'Devlet, finans ve sağlık özellikleri, reklam kimliği. API yok: konsol planı adımı bunları kullanır.',
};