From a3a43c4e2c55fbf99df45937f3798d08dc56ed93 Mon Sep 17 00:00:00 2001 From: Ken-ichi Date: Thu, 26 Sep 2024 22:33:23 -0700 Subject: [PATCH] g11n audit (#2189) * chore: validate and normalize translations in addition to src strings * fix: globalize lat/lng/acc in LocationPicker * refactor: extract language picker into component * refactor: globalized text * feat: added a script to i18ncli called "checkify" that generates localization files prepended with a checkmark to help see strings that are not globalized * fix: localize date formatting (closes #1622) Closes #2102 --- src/components/About.js | 2 +- src/components/App.js | 4 +- src/components/Camera/Buttons/Zoom.tsx | 8 +- .../Camera/StandardCamera/PhotoCarousel.tsx | 2 +- .../hooks/usePrepareStoreAndNavigate.js | 6 +- src/components/Camera/hooks/useTakePhoto.ts | 5 +- src/components/Developer/Debug.tsx | 16 + src/components/Explore/Modals/FilterModal.tsx | 2 +- src/components/Explore/NumberBadge.tsx | 7 +- .../LocationPicker/DisplayLatLng.js | 30 +- .../LoginSignUp/AuthenticationService.ts | 1 - .../MediaViewer/MainMediaDisplay.js | 2 + .../Notifications/ObsNotification.js | 6 +- .../ActivityTab/DisagreementText.tsx | 72 ++-- src/components/ObsEdit/DatePicker.js | 16 +- src/components/Settings/LanguageSetting.tsx | 79 ++++ src/components/Settings/Settings.js | 92 +---- .../SharedComponents/DateDisplay.js | 28 +- .../SharedComponents/DisplayTaxonName.js | 2 +- src/components/SharedComponents/PhotoCount.js | 4 +- .../SharedComponents/ScientificName.js | 6 +- .../SharedComponents/Sheets/PickerSheet.js | 2 +- .../SharedComponents/Sheets/TextInputSheet.js | 2 +- .../Typography/Subheading1.tsx | 4 +- .../Suggestions/SuggestionsFooter.tsx | 2 +- .../TaxonDetails/TaxonomyScientificName.tsx | 6 +- src/components/UserProfile/UserProfile.js | 8 +- src/components/hooks/useChangeLocale.js | 8 +- src/i18n/i18ncli.js | 99 ++++- src/i18n/l10n/en.ftl | 84 ++++- src/i18n/l10n/en.ftl.json | 112 ++++-- src/i18n/l10n/es-MX.ftl | 4 +- src/i18n/l10n/es-MX.ftl.json | 6 +- src/i18n/l10n/es.ftl | 8 +- src/i18n/l10n/es.ftl.json | 10 +- src/i18n/l10n/fr.ftl | 15 +- src/i18n/l10n/fr.ftl.json | 8 +- src/i18n/strings.ftl | 84 ++++- src/realmModels/Observation.js | 4 +- src/sharedHelpers/dateAndTime.js | 133 ------- src/sharedHelpers/dateAndTime.ts | 356 ++++++++++++++++++ src/sharedHelpers/parseExif.js | 2 +- src/sharedHelpers/taxon.js | 80 ++++ src/stores/useStore.js | 3 + .../components/ObsDetails/ObsDetails.test.js | 6 +- .../__snapshots__/TaxonResult.test.js.snap | 3 +- tests/unit/helpers/dateAndTime.test.js | 86 ++++- tsconfig.json | 3 +- 48 files changed, 1112 insertions(+), 416 deletions(-) create mode 100644 src/components/Developer/Debug.tsx create mode 100644 src/components/Settings/LanguageSetting.tsx delete mode 100644 src/sharedHelpers/dateAndTime.js create mode 100644 src/sharedHelpers/dateAndTime.ts diff --git a/src/components/About.js b/src/components/About.js index 4e7e4fc22..016d58e1e 100644 --- a/src/components/About.js +++ b/src/components/About.js @@ -129,7 +129,7 @@ const About = (): Node => { className="items-center justify-center" onPress={() => onVersionPressed()} > - {`Version ${appVersion} (${buildVersion})`} + { t( "Version-app-build", { appVersion, buildVersion } )} {isDebug && (