desktop: Releases > Send for review (App Store submission state, builds by number, Submit / Resubmit / in-app purchases; Play versionCodes by number, Send to production, managed publishing, console plans for countries and Send changes for review), plan panel before every owner dialog with streamed progress; App info console steps for every console plan form with verify; Catalog price-change owner actions and the declined state; Data safety deletion answer; TestFlight create missing groups; Android SDK in Dependencies; upload progress in job toasts; boot check send-for-review cases on D1 and D3 state

This commit is contained in:
CRTkafa 2026-10-12 12:07:59 +08:00
parent 33eb24a3dc
commit 2b101f0fd8
22 changed files with 1527 additions and 57 deletions

View file

@ -227,7 +227,6 @@ export const en = {
'releases.noVersionsText': 'When the first build is uploaded it shows here.',
'releases.history': 'Versions on the stores',
'releases.historySub': 'Read {when}',
'releases.consoleNote': 'storebound never submits for review and never releases an approved version: do those in the store console. Rollout and phased release changes are your decision, each confirmed in a system dialog.',
'cat.products': 'One-time products',
'cat.productsSub': 'In the config',
@ -1316,11 +1315,165 @@ export const en = {
'cf.cancelRun': 'Cancel: close the browser',
'cf.open': 'Open the browser',
'cf.waiting': 'Waiting until you close the browser',
'cf.playTitle': 'Play Console forms',
'cf.playSub': 'No API: storebound fills them in the console, you press the final button',
'cf.playContentRatingText': 'The IARC questionnaire that gives the app its age ratings.',
'cf.playTargetAudienceText': 'Target age groups and whether the app appeals to children.',
'cf.playAppRecordText': 'The Play Developer API cannot create apps: storebound fills Create app (name, language, app or game, free or paid). You tick the declarations and press Create app; the first AAB upload sets the package name.',
'cf.playAppRecordText': 'The Play Developer API cannot create apps: storebound fills Create app (name, package name, language, app or game, free or paid). You tick the declarations and press Create app, then add the app to the service account.',
'cf.noRecordTitle': 'No App Store app record yet',
'cf.noRecordText': 'App Store Connect has no API to create the app record. storebound fills the New App form from your config; you press Create yourself, then put the Apple ID into apple.appId.',
// send for review, console plans, owner actions (desktop parity)
'write.declined': 'Waiting for your decision',
'toast.log': 'Log ({count} lines)',
'releases.ownerNote': 'Submitting, resubmitting and the production release are your decision: each shows its plan first, then a system dialog, and runs only after you press its button there. Releasing an approved App Store version (manual release) stays in App Store Connect.',
'oa.planFailed': 'Could not prepare: {what}',
'oa.notSent': 'You chose Cancel in the dialog: nothing was sent.',
'oa.dryChanged': 'The dry run did not pass this time (the store changed in between?): nothing was sent. Check the plan below.',
'oa.cancelled': 'Stopped. What the store already took stays; read the state again before you go on.',
'oa.dryBad': 'The dry run stopped',
'oa.plan': 'Plan (dry run, nothing sent yet)',
'oa.noOutput': '(the dry run printed nothing)',
'oa.running': 'Running. Apple can answer "not ready yet" for a few minutes after a build is attached; storebound retries with a heartbeat line, up to 10 minutes.',
'oa.progress': 'Progress',
'oa.foot': 'Next: a system dialog shows this plan again. Nothing is sent before you press its button.',
'oa.fixFirst': 'Fix what the plan names first, then read the state again.',
'oa.stop': 'Stop',
'oa.continue': 'Continue: {what}',
'oa.working': 'Working',
'cp.title': 'Console steps without an API',
'cp.sub': 'Each form as a plan your AI agent (or you) follows in the console, then a check of the result. The final button stays yours.',
'cp.button': 'Plan',
'cp.hint': 'The steps, answers and buttons for {form}, and a check of the result',
'cp.failed': 'Could not make the plan for {form}',
'cp.agentFirst': 'Agent-first: your AI agent drives the page with this plan; storebound never clicks the final button',
'cp.openPage': 'Open the page',
'cp.openFailed': 'Could not open the page',
'cp.steps': '{count} steps',
'cp.steps_one': '1 step',
'cp.answers': '{count} answers from your config',
'cp.answers_one': '1 answer from your config',
'cp.sCertain': 'From the config',
'cp.sAsk': 'You answer',
'cp.sCheck': 'You check',
'cp.sAgreement': 'Agreement: yours',
'cp.final': 'The final button ({button}) is yours. Never pressed by anyone else:',
'cp.verify': 'Check the result',
'cp.verifyApi': 'storebound reads the result from the App Store Connect API (read-only).',
'cp.verifyText': 'Paste the page text (or the capture JSON the plan names) after the form is saved; storebound compares it with the config (read-only).',
'cp.pasteLabel': 'Page text of the finished form',
'cp.pastePlaceholder': 'Paste the page text here',
'cp.verified': '{matched} match, {mismatches} differ',
'cp.vMatch': 'Match',
'cp.vMismatch': 'Differs',
'cp.vNotFound': 'Not found',
'cp.foot': 'Copy plan hands the whole plan (JSON) to your AI agent.',
'cp.copy': 'Copy plan',
'cp.copied': 'Plan copied',
'cp.verifyRun': 'Check',
'cp.appleAppRecordText': 'App Store Connect has no API to create the app record: the New App form, Create is yours.',
'cp.appleAgeRatingText': 'The age rating has an API (apple appinfo): the plan only shows where to look and how to check it.',
'cp.appleAppPrivacyText': 'No API: every data type with its purposes, linked and tracking answers; Publish is yours.',
'cp.playStoreSettings': 'Play store settings (App category)',
'cp.playStoreSettingsText': 'The Play API cannot set the App category: Edit > App or game > Category > Save.',
'cp.playAppContent': 'Play App content (every card)',
'cp.playAppContentText': 'Every App content card in order with its page, and the owner questions in one batch.',
'cp.playPrivacyPolicy': 'Play App content: privacy policy',
'cp.playAds': 'Play App content: ads',
'cp.playSignIn': 'Play App content: sign-in details',
'cp.playSignInText': 'The demo account for Google\'s reviewers: you type it (storebound never prints it).',
'cp.playAdId': 'Play App content: advertising ID',
'cp.playGovernment': 'Play App content: government apps',
'cp.playFinancial': 'Play App content: financial features',
'cp.playHealth': 'Play App content: health apps',
'cp.cardText': 'One App content card: its page, the answer from your config and the final Save.',
'cp.playCountries': 'Production countries',
'cp.playCountriesText': 'The API cannot set production countries (countryAvailability is read-only): pick them in the console.',
'cp.playProductionRelease': 'Play: send the production release for review',
'cp.playProductionReleaseText': 'Edit release > Next > Save, then Publishing overview. "Send changes for review" has no API: that click is yours.',
'sub.section': 'Send for review',
'sub.appleTitle': 'App Store: submit for review',
'sub.appleSub': 'Not read yet: read the submission state',
'sub.appleRead': 'App Store submission state',
'sub.read': 'Read state',
'sub.notRead': 'Submission state not read yet',
'sub.notReadText': 'Read the review submissions and the uploaded builds from App Store Connect (read-only) before you submit.',
'sub.submissions': 'Review submissions',
'sub.kWaiting': 'Waiting for review',
'sub.kInReview': 'In review',
'sub.kUnresolved': 'Back from App Review (unresolved issues)',
'sub.kDraft': 'Draft submission',
'sub.kEmptyDraft': 'Empty draft',
'sub.kDone': 'Done',
'sub.kOther': 'Submission',
'sub.harmless': 'harmless: App Store Connect keeps it and cannot cancel it; a later run reuses it',
'sub.markVersion': 'marked resolved when you resubmit with a new build',
'sub.markIap': 'marked resolved only with the box below, after you fixed what App Review asked for',
'sub.noOpen': 'No open review submission: a submit makes one.',
'sub.busy': 'A submission is {state}: nothing can be sent next to it until App Review is done.',
'sub.build': 'Build (by number)',
'sub.pickBuild': 'Pick the build you uploaded',
'sub.attachedTo': 'attached to {version}',
'sub.version': 'Version',
'sub.noVersion': 'No editable version',
'sub.buildHint': 'Only VALID builds can go in. Pick the number you uploaded: storebound never takes "the latest".',
'sub.noBuilds': 'No builds on App Store Connect yet: upload one first (storebound apple upload).',
'sub.unresolvedText': 'App Review sent this submission back. Fix what it asked for, upload a fixed build, pick it here and resubmit: the rejected version item is marked resolved and the same submission goes back.',
'sub.resolveIaps': 'Also mark rejected in-app purchase items resolved',
'sub.resolveIapsNeeded': '(an in-app purchase item is rejected: Apple takes no resubmit until it is resolved)',
'sub.resubmit': 'Resubmit',
'sub.resubmitted': 'Resubmitted to App Review',
'sub.resubmitLead': 'Attaches the build you picked, reuses the submission back from App Review (no second draft), marks the rejected items resolved and resubmits it.',
'sub.submit': 'Submit for review',
'sub.submitted': 'Sent to App Review',
'sub.submitLead': 'Attaches the build you picked to the version, reuses the open submission (a new draft only when none is open), adds the in-app purchases that are ready and sends it to App Review.',
'sub.pickFirst': 'Pick a build first',
'sub.iapTitle': 'In-app purchases ({count} in the config)',
'sub.iapTitle_one': 'In-app purchases (1 in the config)',
'sub.iapText': 'Sends the products and subscriptions that are ready to App Review. The first of a type needs the app version in the same submission.',
'sub.withVersion': 'With the editable app version (submits the app too)',
'sub.iapSubmit': 'Submit in-app purchases',
'sub.iapLead': 'Puts the ready products and subscriptions into the open review submission (reused, never a second draft) and submits it.',
'sub.playTitle': 'Google Play: production release',
'sub.playSub': 'Not read yet: read the tracks',
'sub.playRead': 'Google Play tracks',
'sub.playNotReadText': 'Read the tracks and their versionCodes from Google Play (read-only) before you send one to production.',
'sub.managedOff': 'Managed publishing is off: once Google approves the release it goes live by itself. To choose the moment, turn on Publishing overview > Managed publishing first.',
'sub.managedUnset': 'Managed publishing is off by default (play.managedPublishing is not set): once Google approves the release it goes live by itself.',
'sub.managedOn': 'Managed publishing is on: after approval you publish the release in Publishing overview.',
'sub.prodNow': 'Production now',
'sub.versionCode': 'versionCode (by number)',
'sub.pickCode': 'Pick the versionCode',
'sub.inProduction': 'in production',
'sub.as': 'Send as',
'sub.sCompleted': 'Everyone',
'sub.sStaged': 'Staged rollout',
'sub.sDraft': 'Draft',
'sub.codeHint': 'Only versionCodes already on Play (a testing track). Pick the one you uploaded: storebound never takes "the latest".',
'sub.noCodes': 'No versionCode on Play yet: upload the bundle to a testing track first.',
'sub.playSend': 'Send to production',
'sub.playDraft': 'Prepare a production draft',
'sub.pickCodeFirst': 'Pick a versionCode first',
'sub.playSent': 'Production release sent',
'sub.playDrafted': 'Production draft saved',
'sub.playLead': 'Puts the versionCode on the production track with the What\'s new of every language. Google reviews it; with managed publishing off it then goes live by itself.',
'sub.playDraftLead': 'A never-published app: Play takes only a draft through the API. The rest (countries, Send changes for review) is in the console steps below.',
'sub.sendChanges': 'Send changes for review',
'sub.consoleStepTitle': 'No API for these Play steps',
'sub.consoleStepText': 'Production countries ({countries}) and Publishing overview > "Send changes for review" have no API. Each has a plan: open the page, follow the steps, and press the final button yourself.',
'sub.countriesAll': 'config: all countries / regions',
'sub.countriesN': 'config: {count} countries',
'sub.countriesN_one': 'config: 1 country',
'tf.groupsSync': 'Create missing groups',
'tf.groupsSynced': 'TestFlight groups created',
'tf.groupsSyncHint': 'Creates the groups of apple.testflight.groups that are missing (existing ones are never changed); the dry run lists them first',
'act.priceProducts': 'Price changes (products)',
'act.priceSubs': 'Price changes (subscriptions)',
'act.priceDone': 'Price changes applied',
'act.priceLead': 'A normal sync never changes the price of a live product: it holds those back for you. This runs the same sync with the price changes, after the plan and your OK in the system dialog.',
'act.priceHint': 'Price changes of existing products are your decision: plan first, then a system dialog',
'deps.sdkTitle': 'Android SDK',
'deps.sdkSub': 'Where play build finds it: ANDROID_HOME, ANDROID_SDK_ROOT, sdk.dir in local.properties, then the Android Studio folder',
'deps.sdkPath': 'Folder',
'deps.sdkFrom': 'Found through',
'deps.sdkNone': 'Not found. play build needs it (install Android Studio, or set ANDROID_HOME). Checked:',
'ai.dsFrom': 'from {source}',
} as const;

View file

@ -229,7 +229,6 @@ export const tr: Record<keyof typeof en, string> = {
'releases.noVersionsText': 'İlk derleme yüklendiğinde burada görünür.',
'releases.history': 'Mağazalardaki sürümler',
'releases.historySub': '{when} okundu',
'releases.consoleNote': 'storebound hiçbir zaman incelemeye göndermez ve onaylanmış bir sürümü yayınlamaz: bunları mağaza konsolunda yapın. Dağıtım ve aşamalı yayın değişiklikleri sizin kararınızdır, her biri bir sistem penceresinde onaylanır.',
'cat.products': 'Tek seferlik ürünler',
'cat.productsSub': 'Ayar dosyasında',
@ -1318,11 +1317,165 @@ export const tr: Record<keyof typeof en, string> = {
'cf.cancelRun': 'Vazgeç: tarayıcıyı kapat',
'cf.open': 'Tarayıcıyı aç',
'cf.waiting': 'Tarayıcıyı kapatmanız bekleniyor',
'cf.playTitle': 'Play Console formları',
'cf.playSub': 'API yok: storebound bunları konsolda doldurur, son düğmeye siz basarsınız',
'cf.playContentRatingText': 'Uygulamanın yaş derecelendirmelerini belirleyen IARC anketi.',
'cf.playTargetAudienceText': 'Hedef yaş grupları ve uygulamanın çocuklara hitap edip etmediği.',
'cf.playAppRecordText': 'Play Developer API uygulama oluşturamaz: storebound Uygulama oluştur formunu doldurur (ad, dil, uygulama veya oyun, ücretsiz veya ücretli). Beyanları siz işaretler ve Uygulama oluştur\'a siz basarsınız; paket adını ilk AAB yüklemesi belirler.',
'cf.playAppRecordText': 'Play Developer API uygulama oluşturamaz: storebound Uygulama oluştur formunu doldurur (ad, paket adı, dil, uygulama veya oyun, ücretsiz veya ücretli). Beyanları siz işaretler ve Uygulama oluştur\'a siz basarsınız, ardından uygulamayı hizmet hesabına eklersiniz.',
'cf.noRecordTitle': 'Henüz App Store uygulama kaydı yok',
'cf.noRecordText': 'App Store Connect\'te uygulama kaydı oluşturmak için bir API yok. storebound Yeni Uygulama formunu yapılandırmanızdan doldurur; Oluştur\'a kendiniz basar, ardından Apple kimliğini apple.appId alanına yazarsınız.',
// send for review, console plans, owner actions (desktop parity)
'write.declined': 'Kararınız bekleniyor',
'toast.log': 'Günlük ({count} satır)',
'releases.ownerNote': 'İncelemeye gönderme, yeniden gönderme ve üretim sürümü sizin kararınızdır: her biri önce planını gösterir, sonra bir sistem penceresi açılır ve yalnızca oradaki düğmeye bastığınızda çalışır. Onaylanmış bir App Store sürümünü yayınlamak (elle yayın) App Store Connect\'te kalır.',
'oa.planFailed': 'Hazırlanamadı: {what}',
'oa.notSent': 'Pencerede İptal\'i seçtiniz: hiçbir şey gönderilmedi.',
'oa.dryChanged': 'Deneme çalıştırması bu kez geçmedi (mağaza arada değişti mi?): hiçbir şey gönderilmedi. Aşağıdaki planı kontrol edin.',
'oa.cancelled': 'Durduruldu. Mağazanın aldığı kısım kalır; devam etmeden önce durumu yeniden okuyun.',
'oa.dryBad': 'Deneme çalıştırması durdu',
'oa.plan': 'Plan (deneme çalıştırması, henüz bir şey gönderilmedi)',
'oa.noOutput': '(deneme çalıştırması bir şey yazmadı)',
'oa.running': 'Çalışıyor. Bir derleme eklendikten sonra Apple birkaç dakika "henüz hazır değil" diyebilir; storebound bir nabız satırıyla 10 dakikaya kadar yeniden dener.',
'oa.progress': 'İlerleme',
'oa.foot': 'Sonraki adım: bir sistem penceresi bu planı yeniden gösterir. Onun düğmesine basmadan hiçbir şey gönderilmez.',
'oa.fixFirst': 'Önce planın belirttiğini düzeltin, sonra durumu yeniden okuyun.',
'oa.stop': 'Durdur',
'oa.continue': 'Devam: {what}',
'oa.working': 'Çalışıyor',
'cp.title': 'API\'si olmayan konsol adımları',
'cp.sub': 'Her form, yapay zekâ aracınızın (veya sizin) konsolda izlediği bir plan ve sonucun kontrolü olarak. Son düğme sizindir.',
'cp.button': 'Plan',
'cp.hint': '{form} için adımlar, yanıtlar ve düğmeler, ve sonucun kontrolü',
'cp.failed': '{form} için plan oluşturulamadı',
'cp.agentFirst': 'Önce ajan: yapay zekâ aracınız sayfayı bu planla yönetir; storebound son düğmeye asla basmaz',
'cp.openPage': 'Sayfayı aç',
'cp.openFailed': 'Sayfa açılamadı',
'cp.steps': '{count} adım',
'cp.steps_one': '1 adım',
'cp.answers': 'Yapılandırmanızdan {count} yanıt',
'cp.answers_one': 'Yapılandırmanızdan 1 yanıt',
'cp.sCertain': 'Yapılandırmadan',
'cp.sAsk': 'Siz yanıtlarsınız',
'cp.sCheck': 'Siz kontrol edersiniz',
'cp.sAgreement': 'Sözleşme: sizin',
'cp.final': 'Son düğme ({button}) sizindir. Başka kimsenin asla basmadığı düğmeler:',
'cp.verify': 'Sonucu kontrol et',
'cp.verifyApi': 'storebound sonucu App Store Connect API\'sinden okur (salt okunur).',
'cp.verifyText': 'Form kaydedildikten sonra sayfa metnini (veya planın belirttiği yakalama JSON\'unu) yapıştırın; storebound yapılandırmayla karşılaştırır (salt okunur).',
'cp.pasteLabel': 'Tamamlanan formun sayfa metni',
'cp.pastePlaceholder': 'Sayfa metnini buraya yapıştırın',
'cp.verified': '{matched} eşleşiyor, {mismatches} farklı',
'cp.vMatch': 'Eşleşiyor',
'cp.vMismatch': 'Farklı',
'cp.vNotFound': 'Bulunamadı',
'cp.foot': 'Planı kopyala, tüm planı (JSON) yapay zekâ aracınıza verir.',
'cp.copy': 'Planı kopyala',
'cp.copied': 'Plan kopyalandı',
'cp.verifyRun': 'Kontrol et',
'cp.appleAppRecordText': 'App Store Connect\'te uygulama kaydı oluşturacak API yok: Yeni Uygulama formu, Oluştur sizin.',
'cp.appleAgeRatingText': 'Yaş derecelendirmesinin API\'si var (apple appinfo): plan yalnızca nereye bakılacağını ve nasıl kontrol edileceğini gösterir.',
'cp.appleAppPrivacyText': 'API yok: her veri türü amaçları, bağlantı ve izleme yanıtlarıyla; Yayınla sizin.',
'cp.playStoreSettings': 'Play mağaza ayarları (Uygulama kategorisi)',
'cp.playStoreSettingsText': 'Play API\'si Uygulama kategorisini ayarlayamaz: Düzenle > Uygulama veya oyun > Kategori > Kaydet.',
'cp.playAppContent': 'Play Uygulama içeriği (tüm kartlar)',
'cp.playAppContentText': 'Her Uygulama içeriği kartı sayfasıyla sırayla, sahibin soruları tek seferde.',
'cp.playPrivacyPolicy': 'Play Uygulama içeriği: gizlilik politikası',
'cp.playAds': 'Play Uygulama içeriği: reklamlar',
'cp.playSignIn': 'Play Uygulama içeriği: oturum açma bilgileri',
'cp.playSignInText': 'Google incelemecileri için demo hesap: siz yazarsınız (storebound onu asla yazdırmaz).',
'cp.playAdId': 'Play Uygulama içeriği: reklam kimliği',
'cp.playGovernment': 'Play Uygulama içeriği: devlet uygulamaları',
'cp.playFinancial': 'Play Uygulama içeriği: finansal özellikler',
'cp.playHealth': 'Play Uygulama içeriği: sağlık uygulamaları',
'cp.cardText': 'Tek bir Uygulama içeriği kartı: sayfası, yapılandırmanızdaki yanıt ve son Kaydet.',
'cp.playCountries': 'Üretim ülkeleri',
'cp.playCountriesText': 'API üretim ülkelerini ayarlayamaz (countryAvailability salt okunur): konsolda seçin.',
'cp.playProductionRelease': 'Play: üretim sürümünü incelemeye gönder',
'cp.playProductionReleaseText': 'Sürümü düzenle > Sonraki > Kaydet, ardından Yayınlama özeti. "Değişiklikleri incelemeye gönder"in API\'si yok: o tıklama sizin.',
'sub.section': 'İncelemeye gönder',
'sub.appleTitle': 'App Store: incelemeye gönder',
'sub.appleSub': 'Henüz okunmadı: gönderim durumunu okuyun',
'sub.appleRead': 'App Store gönderim durumu',
'sub.read': 'Durumu oku',
'sub.notRead': 'Gönderim durumu henüz okunmadı',
'sub.notReadText': 'Göndermeden önce inceleme gönderimlerini ve yüklenen derlemeleri App Store Connect\'ten okuyun (salt okunur).',
'sub.submissions': 'İnceleme gönderimleri',
'sub.kWaiting': 'İnceleme bekliyor',
'sub.kInReview': 'İncelemede',
'sub.kUnresolved': 'App Review\'dan geri döndü (çözülmemiş sorunlar)',
'sub.kDraft': 'Taslak gönderim',
'sub.kEmptyDraft': 'Boş taslak',
'sub.kDone': 'Tamamlandı',
'sub.kOther': 'Gönderim',
'sub.harmless': 'zararsız: App Store Connect onu tutar ve iptal edemez; sonraki bir çalıştırma onu yeniden kullanır',
'sub.markVersion': 'yeni bir derlemeyle yeniden gönderdiğinizde çözüldü olarak işaretlenir',
'sub.markIap': 'App Review\'un istediğini düzelttikten sonra yalnızca aşağıdaki kutuyla çözüldü olarak işaretlenir',
'sub.noOpen': 'Açık inceleme gönderimi yok: gönderme bir tane oluşturur.',
'sub.busy': 'Bir gönderim {state} durumunda: App Review bitene kadar yanına bir şey gönderilemez.',
'sub.build': 'Derleme (numarayla)',
'sub.pickBuild': 'Yüklediğiniz derlemeyi seçin',
'sub.attachedTo': '{version} sürümüne ekli',
'sub.version': 'Sürüm',
'sub.noVersion': 'Düzenlenebilir sürüm yok',
'sub.buildHint': 'Yalnızca VALID derlemeler girebilir. Yüklediğiniz numarayı seçin: storebound asla "en son"u almaz.',
'sub.noBuilds': 'App Store Connect\'te henüz derleme yok: önce bir tane yükleyin (storebound apple upload).',
'sub.unresolvedText': 'App Review bu gönderimi geri gönderdi. İstediğini düzeltin, düzeltilmiş bir derleme yükleyin, burada seçin ve yeniden gönderin: reddedilen sürüm öğesi çözüldü olarak işaretlenir ve aynı gönderim geri gider.',
'sub.resolveIaps': 'Reddedilen uygulama içi satın alma öğelerini de çözüldü olarak işaretle',
'sub.resolveIapsNeeded': '(bir uygulama içi satın alma öğesi reddedildi: çözülene kadar Apple yeniden gönderimi kabul etmez)',
'sub.resubmit': 'Yeniden gönder',
'sub.resubmitted': 'App Review\'a yeniden gönderildi',
'sub.resubmitLead': 'Seçtiğiniz derlemeyi ekler, App Review\'dan dönen gönderimi yeniden kullanır (ikinci taslak yok), reddedilen öğeleri çözüldü olarak işaretler ve yeniden gönderir.',
'sub.submit': 'İncelemeye gönder',
'sub.submitted': 'App Review\'a gönderildi',
'sub.submitLead': 'Seçtiğiniz derlemeyi sürüme ekler, açık gönderimi yeniden kullanır (yalnızca açık gönderim yoksa yeni taslak), hazır uygulama içi satın almaları ekler ve App Review\'a gönderir.',
'sub.pickFirst': 'Önce bir derleme seçin',
'sub.iapTitle': 'Uygulama içi satın almalar (yapılandırmada {count})',
'sub.iapTitle_one': 'Uygulama içi satın almalar (yapılandırmada 1)',
'sub.iapText': 'Hazır ürünleri ve abonelikleri App Review\'a gönderir. Bir türün ilki, aynı gönderimde uygulama sürümüne ihtiyaç duyar.',
'sub.withVersion': 'Düzenlenebilir uygulama sürümüyle (uygulamayı da gönderir)',
'sub.iapSubmit': 'Uygulama içi satın almaları gönder',
'sub.iapLead': 'Hazır ürünleri ve abonelikleri açık inceleme gönderimine koyar (yeniden kullanılır, asla ikinci taslak yok) ve gönderir.',
'sub.playTitle': 'Google Play: üretim sürümü',
'sub.playSub': 'Henüz okunmadı: kanalları okuyun',
'sub.playRead': 'Google Play kanalları',
'sub.playNotReadText': 'Birini üretime göndermeden önce kanalları ve versionCode\'larını Google Play\'den okuyun (salt okunur).',
'sub.managedOff': 'Yönetilen yayınlama kapalı: Google sürümü onayladığında kendiliğinden yayına girer. Anı seçmek için önce Yayınlama özeti > Yönetilen yayınlama\'yı açın.',
'sub.managedUnset': 'Yönetilen yayınlama varsayılan olarak kapalı (play.managedPublishing ayarlı değil): Google sürümü onayladığında kendiliğinden yayına girer.',
'sub.managedOn': 'Yönetilen yayınlama açık: onaydan sonra sürümü Yayınlama özeti\'nde siz yayınlarsınız.',
'sub.prodNow': 'Şu an üretimde',
'sub.versionCode': 'versionCode (numarayla)',
'sub.pickCode': 'versionCode seçin',
'sub.inProduction': 'üretimde',
'sub.as': 'Şöyle gönder',
'sub.sCompleted': 'Herkese',
'sub.sStaged': 'Aşamalı dağıtım',
'sub.sDraft': 'Taslak',
'sub.codeHint': 'Yalnızca Play\'de (bir test kanalında) olan versionCode\'lar. Yüklediğinizi seçin: storebound asla "en son"u almaz.',
'sub.noCodes': 'Play\'de henüz versionCode yok: önce paketi bir test kanalına yükleyin.',
'sub.playSend': 'Üretime gönder',
'sub.playDraft': 'Üretim taslağı hazırla',
'sub.pickCodeFirst': 'Önce bir versionCode seçin',
'sub.playSent': 'Üretim sürümü gönderildi',
'sub.playDrafted': 'Üretim taslağı kaydedildi',
'sub.playLead': 'versionCode\'u her dilin Yenilikler metniyle üretim kanalına koyar. Google inceler; yönetilen yayınlama kapalıysa ardından kendiliğinden yayına girer.',
'sub.playDraftLead': 'Hiç yayınlanmamış bir uygulama: Play API üzerinden yalnızca taslak kabul eder. Gerisi (ülkeler, Değişiklikleri incelemeye gönder) aşağıdaki konsol adımlarındadır.',
'sub.sendChanges': 'Değişiklikleri incelemeye gönder',
'sub.consoleStepTitle': 'Bu Play adımlarının API\'si yok',
'sub.consoleStepText': 'Üretim ülkeleri ({countries}) ve Yayınlama özeti > "Değişiklikleri incelemeye gönder"in API\'si yok. Her birinin bir planı var: sayfayı açın, adımları izleyin ve son düğmeye kendiniz basın.',
'sub.countriesAll': 'yapılandırma: tüm ülkeler / bölgeler',
'sub.countriesN': 'yapılandırma: {count} ülke',
'sub.countriesN_one': 'yapılandırma: 1 ülke',
'tf.groupsSync': 'Eksik grupları oluştur',
'tf.groupsSynced': 'TestFlight grupları oluşturuldu',
'tf.groupsSyncHint': 'apple.testflight.groups içindeki eksik grupları oluşturur (var olanlar asla değiştirilmez); deneme çalıştırması önce onları listeler',
'act.priceProducts': 'Fiyat değişiklikleri (ürünler)',
'act.priceSubs': 'Fiyat değişiklikleri (abonelikler)',
'act.priceDone': 'Fiyat değişiklikleri uygulandı',
'act.priceLead': 'Normal bir eşitleme yayındaki bir ürünün fiyatını asla değiştirmez: bunları sizin için bekletir. Bu, aynı eşitlemeyi fiyat değişiklikleriyle, plandan ve sistem penceresindeki onayınızdan sonra çalıştırır.',
'act.priceHint': 'Mevcut ürünlerin fiyat değişiklikleri sizin kararınızdır: önce plan, sonra bir sistem penceresi',
'deps.sdkTitle': 'Android SDK',
'deps.sdkSub': 'play build onu şuralarda bulur: ANDROID_HOME, ANDROID_SDK_ROOT, local.properties içindeki sdk.dir, sonra Android Studio klasörü',
'deps.sdkPath': 'Klasör',
'deps.sdkFrom': 'Bulunduğu yer',
'deps.sdkNone': 'Bulunamadı. play build buna ihtiyaç duyar (Android Studio\'yu kurun veya ANDROID_HOME ayarlayın). Bakılan yerler:',
'ai.dsFrom': 'kaynak: {source}',
};