feat(i18n): install react-i18next, create English locale files, and initialize i18n framework

- Install i18next, react-i18next, i18next-browser-languagedetector
- Create 6 namespace JSON files (common, collection, threads, setups, onboarding, settings)
- Initialize i18n with language detection (localStorage + navigator)
- Wire i18n import in main.tsx before React rendering

Phase 34, Plan 01
This commit is contained in:
2026-04-13 18:13:55 +02:00
parent de82eefa74
commit 8c0fb31df2
10 changed files with 323 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
{
"title": "Settings",
"language": {
"title": "Language",
"description": "Change the display language of the app"
},
"weightUnit": {
"title": "Weight Unit",
"description": "Choose the unit used to display weights across the app"
},
"currency": {
"title": "Currency",
"description": "Changes the currency symbol displayed. This does not convert values."
},
"apiKeys": {
"title": "API Keys",
"description": "API keys allow programmatic access to GearBox (e.g., from Claude Desktop or scripts).",
"copyWarning": "Copy this key now — it won't be shown again:",
"namePlaceholder": "Key name (e.g., claude-desktop)"
},
"importExport": {
"title": "Import / Export",
"description": "Export your gear collection as a CSV file, or import items from a CSV.",
"export": "Export CSV",
"import": "Import CSV",
"importing": "Importing...",
"imported": "{{count}} items imported.",
"imported_one": "{{count}} item imported.",
"newCategories": "New categories: {{categories}}",
"noItemsFound": "No items found in the CSV."
}
}