desktop: five sections by job (Release, Store page, Revenue, Players, Health), Game services view, sidebar by attention
- app view: 12 tabs become 5 sections, each with a header (what it is for, the one next step from state already read) and its sub views in a segmented control; 1-5 jump, Ctrl+Shift+[ ] cycle, Ctrl+K and the context menu list sections and sub views; old tab ids, section and section/sub links all resolve - Players > Game services (games only): both stores, one row per leaderboard / achievement with its languages and each store's state, Game Center locale map, Play API-disabled state with the console plan - games status --json: items, localeMap, playApiDisabled; inspect summary: games - sidebar: apps grouped by attention / in progress / live / not on a store, one status line each, studio filter, workspace as a footer icon row - boot check opens places like a person (section, then sub view)
This commit is contained in:
parent
98cd1d3c92
commit
0ef27cf2e4
22 changed files with 918 additions and 115 deletions
|
|
@ -2116,4 +2116,106 @@ export const en = {
|
|||
'cm.copyPrincipal': "Service account / key",
|
||||
'cm.copyProfile': "Profile name",
|
||||
'cm.openAccounts': "Open Studios & accounts",
|
||||
"sec.release": "Release",
|
||||
"sec.store": "Store page",
|
||||
"sec.revenue": "Revenue",
|
||||
"sec.players": "Players",
|
||||
"sec.health": "Health",
|
||||
"sec.release.for": "Get a version to players on both stores: builds, TestFlight, review and rollout.",
|
||||
"sec.store.for": "What people see on the store: texts per language, screenshots and app details.",
|
||||
"sec.revenue.for": "What the app sells and for how much: in-app products, subscriptions and prices.",
|
||||
"sec.players.for": "What players say, and for games what they can earn: reviews, Game Center, Play Games.",
|
||||
"sec.health.for": "Is the app well and ready: crashes and ANRs, growth, checks to fix first, more tools.",
|
||||
"sec.views": "{section} views",
|
||||
"tab.games": "Game services",
|
||||
"next.open": "Open {where}",
|
||||
"next.rejected": "{version} was rejected on {store}",
|
||||
"next.halted": "{version} is halted on {store}",
|
||||
"next.blockers": "{count} blockers before submit",
|
||||
"next.blockers_one": "1 blocker before submit",
|
||||
"next.rollout": "{version} is rolling out at {share}",
|
||||
"next.approved": "{version} is approved: release it",
|
||||
"next.submit": "Submit {version} for review",
|
||||
"next.review": "{version} is in review",
|
||||
"next.managed": "{version} waits in Publishing overview (managed publishing)",
|
||||
"next.upload": "Upload a first build",
|
||||
"next.live": "Live: {version}",
|
||||
"next.notRead": "Stores not read yet",
|
||||
"next.storeLive": "The live store page, read from the stores",
|
||||
"next.listingProblems": "{count} listing problems",
|
||||
"next.listingProblems_one": "1 listing problem",
|
||||
"next.unsaved": "{count} unsaved edits",
|
||||
"next.unsaved_one": "1 unsaved edit",
|
||||
"next.listingsUnread": "Listings not checked yet",
|
||||
"next.storeOk": "Store page in step with the config",
|
||||
"next.catalogDiff": "{count} products differ between the stores",
|
||||
"next.catalogDiff_one": "1 product differs between the stores",
|
||||
"next.noProducts": "No products yet: add one",
|
||||
"next.products": "{products} products · {subs} subscriptions",
|
||||
"next.reviews": "{count} reviews without a reply",
|
||||
"next.reviews_one": "1 review without a reply",
|
||||
"next.reviewsUnread": "Reviews not read yet",
|
||||
"next.reviewsOk": "All reviews answered",
|
||||
"next.gamesApiOff": "Play Games Services API is off",
|
||||
"next.gamesBlockers": "{count} game services blockers",
|
||||
"next.gamesBlockers_one": "1 game services blocker",
|
||||
"next.gamesSync": "Game services: {count} changes to sync",
|
||||
"next.gamesSync_one": "Game services: 1 change to sync",
|
||||
"next.fixFirst": "{count} problems to fix first",
|
||||
"next.fixFirst_one": "1 problem to fix first",
|
||||
"next.warnings": "{count} warnings to look at",
|
||||
"next.warnings_one": "1 warning to look at",
|
||||
"next.healthOk": "No problems found",
|
||||
"side.gAttention": "Needs attention",
|
||||
"side.gProgress": "In progress",
|
||||
"side.gLive": "Live",
|
||||
"side.gDraft": "Not on a store yet",
|
||||
"side.missing": "Folder missing",
|
||||
"side.rejected": "Rejected · {what}",
|
||||
"side.halted": "Halted · {what}",
|
||||
"side.blockers": "{count} blockers",
|
||||
"side.blockers_one": "1 blocker",
|
||||
"side.rollout": "Rollout {share} · {what}",
|
||||
"side.review": "In review · {what}",
|
||||
"side.approved": "Approved · {what}",
|
||||
"side.draft": "Draft · {what}",
|
||||
"side.live": "Live · {version}",
|
||||
"side.liveWarn": "Live · {version} · {count} warnings",
|
||||
"side.liveWarn_one": "Live · {version} · 1 warning",
|
||||
"side.storeOnly": "Store only · not read yet",
|
||||
"side.notRead": "Not read yet",
|
||||
"side.warnings": "{count} warnings",
|
||||
"side.warnings_one": "1 warning",
|
||||
"side.notOnStore": "No store version yet",
|
||||
"side.ignored": "Ignored",
|
||||
"side.studioFilter": "Show apps of a studio",
|
||||
"side.allStudios": "All",
|
||||
"games.keep": "In step",
|
||||
"games.update": "Differs",
|
||||
"games.create": "Missing",
|
||||
"games.notOnStore": "Not on this store",
|
||||
"games.notListed": "Not planned",
|
||||
"games.notRead": "Not read",
|
||||
"games.item": "Item",
|
||||
"games.name": "Name",
|
||||
"games.points": "Points",
|
||||
"games.languages": "Languages",
|
||||
"games.leaderboard": "Leaderboard",
|
||||
"games.achievement": "Achievement",
|
||||
"games.hidden": "hidden until earned",
|
||||
"games.localeChanges": "Game Center languages: {list}",
|
||||
"games.checkAgain": "Check again",
|
||||
"games.apiOffTitle": "Play Games Services API is off.",
|
||||
"games.apiOffText": "Turn on {api} in the service account's Google Cloud project, wait a minute, then check again.",
|
||||
"games.itemsTitle": "Leaderboards and achievements",
|
||||
"games.itemsSub": "One list in the config, mapped to both stores: each store's state against the config.",
|
||||
"games.refresh": "Read again",
|
||||
"games.noItems": "No leaderboards or achievements in the config yet (games.leaderboards, games.achievements).",
|
||||
"games.notReadYet": "Reading game services…",
|
||||
"games.images": "Images of leaderboards and achievements are added in the consoles; on Play the existing icon is kept on every sync.",
|
||||
"games.localeMap": "Game Center locale map",
|
||||
"games.localeMapSub": "Config language to the locale the live Game Center uses (games.localeMap).",
|
||||
"games.mapSet": "Set",
|
||||
"games.mapSuggested": "Suggested",
|
||||
"games.mapHint": "Add to games.localeMap: {entries}",
|
||||
} as const;
|
||||
|
|
|
|||
|
|
@ -2118,4 +2118,106 @@ export const tr: Record<keyof typeof en, string> = {
|
|||
'cm.copyPrincipal': "Hizmet hesabı / anahtar",
|
||||
'cm.copyProfile': "Profil adı",
|
||||
'cm.openAccounts': "Stüdyolar ve hesapları aç",
|
||||
"sec.release": "Yayın",
|
||||
"sec.store": "Mağaza sayfası",
|
||||
"sec.revenue": "Gelir",
|
||||
"sec.players": "Oyuncular",
|
||||
"sec.health": "Sağlık",
|
||||
"sec.release.for": "Bir sürümü iki mağazada oyunculara ulaştır: build, TestFlight, inceleme ve dağıtım.",
|
||||
"sec.store.for": "Mağazada insanların gördüğü: dile göre metinler, ekran görüntüleri ve uygulama bilgileri.",
|
||||
"sec.revenue.for": "Uygulamanın sattıkları ve fiyatları: uygulama içi ürünler, abonelikler ve fiyatlar.",
|
||||
"sec.players.for": "Oyuncuların söyledikleri ve oyunlarda kazanabilecekleri: yorumlar, Game Center, Play Games.",
|
||||
"sec.health.for": "Uygulama sağlıklı ve hazır mı: çökmeler ve ANR, büyüme, önce düzeltilecek kontroller, diğer araçlar.",
|
||||
"sec.views": "{section} görünümleri",
|
||||
"tab.games": "Oyun servisleri",
|
||||
"next.open": "{where} aç",
|
||||
"next.rejected": "{version}, {store} tarafından reddedildi",
|
||||
"next.halted": "{version}, {store} üzerinde durduruldu",
|
||||
"next.blockers": "Göndermeden önce {count} engel",
|
||||
"next.blockers_one": "Göndermeden önce 1 engel",
|
||||
"next.rollout": "{version} dağıtımı {share} seviyesinde",
|
||||
"next.approved": "{version} onaylandı: yayınla",
|
||||
"next.submit": "{version} sürümünü incelemeye gönder",
|
||||
"next.review": "{version} incelemede",
|
||||
"next.managed": "{version} Yayınlama özeti'nde bekliyor (yönetilen yayınlama)",
|
||||
"next.upload": "İlk build'i yükle",
|
||||
"next.live": "Yayında: {version}",
|
||||
"next.notRead": "Mağazalar henüz okunmadı",
|
||||
"next.storeLive": "Mağazalardan okunan canlı mağaza sayfası",
|
||||
"next.listingProblems": "{count} mağaza metni sorunu",
|
||||
"next.listingProblems_one": "1 mağaza metni sorunu",
|
||||
"next.unsaved": "{count} kaydedilmemiş düzenleme",
|
||||
"next.unsaved_one": "1 kaydedilmemiş düzenleme",
|
||||
"next.listingsUnread": "Mağaza metinleri henüz kontrol edilmedi",
|
||||
"next.storeOk": "Mağaza sayfası yapılandırmayla uyumlu",
|
||||
"next.catalogDiff": "{count} ürün mağazalar arasında farklı",
|
||||
"next.catalogDiff_one": "1 ürün mağazalar arasında farklı",
|
||||
"next.noProducts": "Henüz ürün yok: bir tane ekle",
|
||||
"next.products": "{products} ürün · {subs} abonelik",
|
||||
"next.reviews": "{count} yorum yanıtsız",
|
||||
"next.reviews_one": "1 yorum yanıtsız",
|
||||
"next.reviewsUnread": "Yorumlar henüz okunmadı",
|
||||
"next.reviewsOk": "Tüm yorumlar yanıtlandı",
|
||||
"next.gamesApiOff": "Play Games Services API kapalı",
|
||||
"next.gamesBlockers": "{count} oyun servisi engeli",
|
||||
"next.gamesBlockers_one": "1 oyun servisi engeli",
|
||||
"next.gamesSync": "Oyun servisleri: eşitlenecek {count} değişiklik",
|
||||
"next.gamesSync_one": "Oyun servisleri: eşitlenecek 1 değişiklik",
|
||||
"next.fixFirst": "Önce düzeltilecek {count} sorun",
|
||||
"next.fixFirst_one": "Önce düzeltilecek 1 sorun",
|
||||
"next.warnings": "Bakılacak {count} uyarı",
|
||||
"next.warnings_one": "Bakılacak 1 uyarı",
|
||||
"next.healthOk": "Sorun bulunmadı",
|
||||
"side.gAttention": "İlgi bekliyor",
|
||||
"side.gProgress": "Sürüyor",
|
||||
"side.gLive": "Yayında",
|
||||
"side.gDraft": "Henüz mağazada değil",
|
||||
"side.missing": "Klasör bulunamadı",
|
||||
"side.rejected": "Reddedildi · {what}",
|
||||
"side.halted": "Durduruldu · {what}",
|
||||
"side.blockers": "{count} engel",
|
||||
"side.blockers_one": "1 engel",
|
||||
"side.rollout": "Dağıtım {share} · {what}",
|
||||
"side.review": "İncelemede · {what}",
|
||||
"side.approved": "Onaylandı · {what}",
|
||||
"side.draft": "Taslak · {what}",
|
||||
"side.live": "Yayında · {version}",
|
||||
"side.liveWarn": "Yayında · {version} · {count} uyarı",
|
||||
"side.liveWarn_one": "Yayında · {version} · 1 uyarı",
|
||||
"side.storeOnly": "Yalnız mağaza · henüz okunmadı",
|
||||
"side.notRead": "Henüz okunmadı",
|
||||
"side.warnings": "{count} uyarı",
|
||||
"side.warnings_one": "1 uyarı",
|
||||
"side.notOnStore": "Henüz mağaza sürümü yok",
|
||||
"side.ignored": "Yok sayıldı",
|
||||
"side.studioFilter": "Bir stüdyonun uygulamalarını göster",
|
||||
"side.allStudios": "Tümü",
|
||||
"games.keep": "Uyumlu",
|
||||
"games.update": "Farklı",
|
||||
"games.create": "Eksik",
|
||||
"games.notOnStore": "Bu mağazada değil",
|
||||
"games.notListed": "Planlanmadı",
|
||||
"games.notRead": "Okunmadı",
|
||||
"games.item": "Öğe",
|
||||
"games.name": "Ad",
|
||||
"games.points": "Puan",
|
||||
"games.languages": "Diller",
|
||||
"games.leaderboard": "Skor tablosu",
|
||||
"games.achievement": "Başarım",
|
||||
"games.hidden": "kazanılana kadar gizli",
|
||||
"games.localeChanges": "Game Center dilleri: {list}",
|
||||
"games.checkAgain": "Yeniden kontrol et",
|
||||
"games.apiOffTitle": "Play Games Services API kapalı.",
|
||||
"games.apiOffText": "Hizmet hesabının Google Cloud projesinde {api} açın, bir dakika bekleyin, sonra yeniden kontrol edin.",
|
||||
"games.itemsTitle": "Skor tabloları ve başarımlar",
|
||||
"games.itemsSub": "Yapılandırmada tek liste, iki mağazaya eşlenir: her mağazanın yapılandırmaya göre durumu.",
|
||||
"games.refresh": "Yeniden oku",
|
||||
"games.noItems": "Yapılandırmada henüz skor tablosu veya başarım yok (games.leaderboards, games.achievements).",
|
||||
"games.notReadYet": "Oyun servisleri okunuyor…",
|
||||
"games.images": "Skor tablosu ve başarım görselleri konsollarda eklenir; Play'de mevcut simge her eşitlemede korunur.",
|
||||
"games.localeMap": "Game Center dil eşlemesi",
|
||||
"games.localeMapSub": "Yapılandırma dilinden canlı Game Center'ın kullandığı dile (games.localeMap).",
|
||||
"games.mapSet": "Ayarlı",
|
||||
"games.mapSuggested": "Önerilen",
|
||||
"games.mapHint": "games.localeMap'e ekleyin: {entries}",
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue