Internationalization tools and content for RecipeRadar.
The RecipeRadar frontend application contains placeholders where human-readable text strings should appear. For example, the search:prompt-get-started
label in the application will be filled by instructions to help users begin using the application.
This repository contains gettext files that contain the list of placeholder labels (in .pot
files), and the corresponding machine-or-human-translated strings to fill those slots (in .po
files).
When developers are working on a feature that requires updated translations, they run a translation resource scan to regenerate the templates.
Default machine-translated strings for each placeholder in each language are provided by apertium, and human experts can provide improved translations. Expert-provided translations are stored arranged by language under the corrections
directory.
A script is provided to combine all current human corrections with the latest machine-translated strings:
$ ./translation-routing.sh
Finally, a developer performs a build of the frontend
application -- which includes a copy of this repository as a git submodule -- and the templates are bundled into the application by the webpack
configuration.
- A feature or change to the application requires internationalization
- The translation resource scan collects updated placeholders
- Machine translation generates 'default' per-language strings
- Human corrections override specific placeholders
- Updated templates and translations are committed to this repository
- The application is rebuilt using the updated translations
When the feature and translations are ready, pull request(s) are opened to offer the suggested changes for review and merge.