Translations

The Translations step shows you the status of all of your app’s localizable strings. By comparing the localizable strings that are present in your code with what’s been uploaded and translated in your translations provider, Runway can intelligently compute and surface the status of each string and its associated translations, showing you at a glance whether your code’s translations are in sync with your provider, or whether they need to be updated (either on the provider or in the code). Keeping your localizable strings synced and ensuring all necessary translations have been merged into the release branch can help avoid issues involving missing translations in your release.

The Translations release step

Localizable string items

In the Translations step view, Runway pulls together your app’s localizable strings by merging together localizable string keys found in your translations provider with those found in your codebase on the selected branch. Each localizable string row shows:

  • The source key’s value

  • The file the source key is in

  • The source key’s associated localized strings for each supported locale

  • The computed status of the source key

  • Source keys that are new or have been updated since the last release (highlighted with a star icon)

Localizable string statuses

Each localizable string will have a status that reflects the state of the string relative to the code on the target branch and the string on the translations provider. There are a few states that a localizable string can be in:

  • Synced — The source key’s value matches the value in the translations provider, and the translations in all languages match what’s found in the code on the target branch

  • Upload needed — The source key’s value in the code has diverged from the source key’s value in the translations provider. This indicates that a change has been made in the code that requires the updated localizable string file to be uploaded for translation.

  • Translations pending — The source key’s value in the code matches the value in the translations provider, but one or more languages have not been translated.

  • Export needed — The source key’s value in the code matches the value in the translations provider, and the key has been translated to all languages. The key and its translations are ready to be exported back into the codebase.

  • Branch update needed — The source key’s value in the code matches the value in the provider, and the key has been translated to all languages and exported to the working branch, but the updated translations have not been pulled into the release branch.

Pending / Done sections

Localizable string items are divided into two tables:

  • Pending — Localizable string items are considered Pending if the source key’s value in the selected branch’s code does not match the value in your app’s translations provider, or if any of the source key’s translations in the selected branch’s code do not match the translations in the translations provider. This indicates that either an upload to the provider for translation, or an export from the provider to the code is needed to get the key in sync.

  • Done — Localizable string items are considered Done when the source key’s value and all its translations match between the selected branch’s code and the app’s translations provider. This indicates that the localizable string is fully synced.

Use the Show new and updated only filter button to only see localizable strings that were newly added or updated in the current release.

Syncing localizable strings

When one or more of your localizable strings are out of sync with your translations provider, actions to resolve the state of your localizable strings are available right from the Translations step:

  • “Upload localizable strings for translation” — Any localization files that have at least one localizable string with an Upload needed status will be uploaded to your translations provider for re-translation.

  • “Export strings to release branch” — Runway will open a PR against your target branch containing updated localizable string files for any locales containing strings that have been updated in the translations provider.

  • “Sync” — Use this action to let Runway intelligently perform any necessary upload or export (or both) as needed, based on the current state of your localizable strings.

Approving the Translations step

Your team may choose to go ahead with the release even though not all localizable strings are fully translated and synced. Users with the correct permissions can use the “Approve translations” button to approve the Translations step, regardless of the sync status of localizable strings.

Last updated

Was this helpful?