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:
80
src/client/locales/en/common.json
Normal file
80
src/client/locales/en/common.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"nav": {
|
||||
"home": "Home",
|
||||
"collection": "Collection",
|
||||
"setups": "Setups",
|
||||
"discover": "Discover",
|
||||
"settings": "Settings",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Search catalog...",
|
||||
"profile": "Profile"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Save",
|
||||
"cancel": "Cancel",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"create": "Create",
|
||||
"close": "Close",
|
||||
"back": "Back",
|
||||
"confirm": "Confirm",
|
||||
"continue": "Continue",
|
||||
"tryAgain": "Try again",
|
||||
"dismiss": "Dismiss",
|
||||
"saving": "Saving...",
|
||||
"deleting": "Deleting...",
|
||||
"creating": "Creating...",
|
||||
"loading": "Loading...",
|
||||
"addItem": "Add Item",
|
||||
"saveChanges": "Save Changes",
|
||||
"revoke": "Revoke",
|
||||
"skipStep": "Skip this step"
|
||||
},
|
||||
"errors": {
|
||||
"somethingWentWrong": "Something went wrong",
|
||||
"unexpectedError": "An unexpected error occurred",
|
||||
"nameRequired": "Name is required",
|
||||
"positiveNumber": "Must be a positive number",
|
||||
"validUrl": "Must be a valid URL (https://...)"
|
||||
},
|
||||
"auth": {
|
||||
"signIn": "Sign in",
|
||||
"signOut": "Sign out",
|
||||
"joinGearBox": "Join GearBox",
|
||||
"signInToGearBox": "Sign in to GearBox",
|
||||
"signInDescription": "To manage your own collection, sign in or sign up.",
|
||||
"createAccount": "Create account",
|
||||
"redirectDescription": "You will be redirected to sign in with your account."
|
||||
},
|
||||
"confirm": {
|
||||
"deleteItem": "Delete Item",
|
||||
"deleteItemMessage": "Are you sure you want to delete <bold>{{name}}</bold>? This action cannot be undone.",
|
||||
"deleteCandidate": "Delete Candidate",
|
||||
"deleteCandidateMessage": "Are you sure you want to delete <bold>{{name}}</bold>? This action cannot be undone.",
|
||||
"pickWinner": "Pick Winner",
|
||||
"pickWinnerMessage": "Pick <bold>{{name}}</bold> as the winner? This will add it to your collection and archive the thread."
|
||||
},
|
||||
"externalLink": {
|
||||
"title": "You are about to leave GearBox",
|
||||
"redirectMessage": "You will be redirected to:"
|
||||
},
|
||||
"fab": {
|
||||
"addToCollection": "Add to Collection",
|
||||
"startNewThread": "Start New Thread",
|
||||
"newSetup": "New Setup"
|
||||
},
|
||||
"empty": {
|
||||
"noResults": "No results found",
|
||||
"noItems": "No items match your search"
|
||||
},
|
||||
"stats": {
|
||||
"items": "Items",
|
||||
"totalWeight": "Total Weight",
|
||||
"totalSpent": "Total Spent"
|
||||
},
|
||||
"filter": {
|
||||
"showing": "Showing {{filtered}} of {{total}} items",
|
||||
"searchItems": "Search items...",
|
||||
"allCategories": "All Categories"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user