-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Localization Process
For documentation on how to add strings in the repo, please look into this wiki page.
The following document gives a step by step guide for the string localization process, meaning the import and the export of strings and their translations in our project.
The string import refers to the import of strings from the l10n repository to the Firefox for iOS repository. The string export refers to the reverse action, which is to export strings from the Firefox for iOS repository to the l10n repository. Both of those actions are handled by Github actions. The import action lives in Firefox for iOS, while the export action lives in the l10n repository. The Firefox for iOS team is responsible for reviewing the import PRs opened towards main and releases, and ensuring the strings added in the repo are following the l10n rules. See documentation on how to add strings for this.
String import from the firefoxios-l10n repository happens once a week and points to the main
branch. The Github action opens a PR, which then needs to be reviewed and merged by the developer team. Importing strings can also be done by pointing to a certain branch. For example, on hard freeze a string import can be triggered by running the Create a PR with changes after importing strings
workflow, and writing down the targeted version of the branch as shown in following picture:

String export happens by adding new strings into the Firefox for iOS strings file. Any developer adding new strings to the project should be familiar with the principles described in l10n documentation.
Steps to add strings to the strings.swift file:
- Add the new strings in the related
struct
. If there's nostruct
for a string, create one related to the feature or section this string will be under. - How to define a localized string can be found here.
- Once all strings are added, open a PR on Firefox for iOS.
- Once merged, the new strings will be exported automatically to the firefox l10n repository through the automated Github action. In case the export needs to be triggered sooner, ping Delphine so the export Github action can be triggered.