There's a problem with Crowdin CLI or our config that results in the source
text getting removed from this file after sync, so we're just omitting it for
now.
* Add Fastlate app store metadata files as Crowdin translation sources
* Update i18ncli.js to move and rename translations so Fastlane can use them
* Update `fastlane prod` so it prompts for public release notes and cues a new
release in the App Store that still requires the manual attachment of a
build
* Add `fastlane android upload_metadata` to upload metadata to Play Store
Closes#2248
---------
Co-authored-by: Ken-ichi <kenichi.ueda@gmail.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
* Use a wrapper around Text for all typography components that sets
app-specific defaults, allowing default RTL to work
* feat: make iOS permission prompt text translatable
* fix: allow RTL layout of char limit on text input bottom sheet
* fix: allow RTL photo carousel on ObsDetails and TaxonDetails
Removes react-native-reanimated-carousel, which needs to be patched to support
RTL and maybe wasn't providing anything beyond FlatList for us anyway.
InfoPlist.xcstrings will not be automatically updated on Crowdin sync pending
a Crowdin bug.
Work toward #2099
Github Actions and scripts to
* push strings.ftl to Crowdin when it changes
* pull translations from Crowdin every day and a PR should get made if there are changes
* FTL validation and normalization happens in the action and will prevent a PR from being created
Closes#2103Closes#2104
* Support localization with i18next and Fluent
* src/i18n/strings.ftl holds all application strings. If you're going to add a
string, add it there
* src/i18n/l10n/ has all the translations (or localizations), both .ftl files
in Fluent format and .ftl.json files in which the file structure is JSON
but the values are Fluent strings
* src/i18n/i18ncli.js is a CLI tool to generate files and code given
localizations in .ftl files
So the process for adding strings looks like
1. Update src/i18n/strings.ftl
2. Add strings to code using the useTranslation hook
3. Run `node src/i18n/i18ncli.js ftl2json`
4. Build
* Set up for use with Crowdin CLI or github integration
* Added some example strings that might not change
* Expanded README to explain how to add new text