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:
parent
33eb24a3dc
commit
2b101f0fd8
22 changed files with 1527 additions and 57 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue