Add en-GB localisation (#289)
This commit is contained in:
parent
ba7af69592
commit
19acbddef5
@ -292,6 +292,7 @@ Partial internationalization (for non-admin, user-facing text) provided for a ha
|
|||||||
### Supported Languages
|
### Supported Languages
|
||||||
- `bd-bn`
|
- `bd-bn`
|
||||||
- `en-us`
|
- `en-us`
|
||||||
|
- `en-gb`
|
||||||
- `id-id`
|
- `id-id`
|
||||||
- `pt-br`
|
- `pt-br`
|
||||||
- `pt-pt`
|
- `pt-pt`
|
||||||
@ -300,7 +301,7 @@ Partial internationalization (for non-admin, user-facing text) provided for a ha
|
|||||||
|
|
||||||
To add support for a new language, open a PR following instructions in [/src/i18n/index.ts](https://github.com/sambecker/exif-photo-blog/blob/main/src/i18n/index.ts), using [en-us.ts](https://github.com/sambecker/exif-photo-blog/blob/main/src/i18n/locales/en-us.ts) as reference.
|
To add support for a new language, open a PR following instructions in [/src/i18n/index.ts](https://github.com/sambecker/exif-photo-blog/blob/main/src/i18n/index.ts), using [en-us.ts](https://github.com/sambecker/exif-photo-blog/blob/main/src/i18n/locales/en-us.ts) as reference.
|
||||||
|
|
||||||
Thank you ❤️ translators: [@sconetto](https://github.com/sconetto) (`pt-br`, `pt-pt`), [@brandnholl](https://github.com/brandnholl) (`id-id`), [@TongEc](https://github.com/TongEc) (`zh-cn`), [@xahidex](https://github.com/xahidex) (`bd-bn`), [@mehmetabak](https://github.com/mehmetabak) (`tr-tr`)
|
Thank you ❤️ translators: [@sconetto](https://github.com/sconetto) (`pt-br`, `pt-pt`), [@brandnholl](https://github.com/brandnholl) (`id-id`), [@TongEc](https://github.com/TongEc) (`zh-cn`), [@xahidex](https://github.com/xahidex) (`bd-bn`), [@mehmetabak](https://github.com/mehmetabak) (`tr-tr`), [@simondeeley](https://github.com/simondeeley) (`en-gb`)
|
||||||
|
|
||||||
📖 FAQ
|
📖 FAQ
|
||||||
-
|
-
|
||||||
|
|||||||
@ -24,6 +24,7 @@ const LOCALE_TEXT_IMPORTS: Record<
|
|||||||
'zh-cn': () => import('./locales/zh-cn').then(m => m.TEXT),
|
'zh-cn': () => import('./locales/zh-cn').then(m => m.TEXT),
|
||||||
'bd-bn': () => import('./locales/bd-bn').then(m => m.TEXT),
|
'bd-bn': () => import('./locales/bd-bn').then(m => m.TEXT),
|
||||||
'tr-tr': () => import('./locales/tr-tr').then(m => m.TEXT),
|
'tr-tr': () => import('./locales/tr-tr').then(m => m.TEXT),
|
||||||
|
'en-gb': () => import('./locales/en-gb').then(m => m.TEXT),
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getTextForLocale = async (locale: string): Promise<I18N> => {
|
export const getTextForLocale = async (locale: string): Promise<I18N> => {
|
||||||
|
|||||||
148
src/i18n/locales/en-gb.ts
Normal file
148
src/i18n/locales/en-gb.ts
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
import { I18N } from '..';
|
||||||
|
export { enGB as default } from 'date-fns/locale/en-GB';
|
||||||
|
|
||||||
|
export const TEXT: I18N = {
|
||||||
|
photo: {
|
||||||
|
photo: 'Photo',
|
||||||
|
photoPlural: 'Photos',
|
||||||
|
taken: 'Taken',
|
||||||
|
created: 'Created',
|
||||||
|
updated: 'Updated',
|
||||||
|
copied: 'Link to photo copied',
|
||||||
|
},
|
||||||
|
category: {
|
||||||
|
camera: 'Camera',
|
||||||
|
cameraPlural: 'Cameras',
|
||||||
|
cameraTitle: 'Shot on {{camera}}',
|
||||||
|
cameraShare: 'Photos shot on {{camera}}',
|
||||||
|
lens: 'Lens',
|
||||||
|
lensPlural: 'Lenses',
|
||||||
|
tag: 'Tag',
|
||||||
|
tagPlural: 'Tags',
|
||||||
|
tagged: 'Tagged',
|
||||||
|
taggedPhotos: 'Tagged Photos',
|
||||||
|
taggedPhrase: 'Photos tagged {{tag}}',
|
||||||
|
taggedFavs: 'Favorite Photos',
|
||||||
|
recipe: 'Recipe',
|
||||||
|
recipePlural: 'Recipes',
|
||||||
|
recipeShare: '{{recipe}} recipe photos',
|
||||||
|
film: 'Film',
|
||||||
|
filmPlural: 'Films',
|
||||||
|
filmShare: 'Photos shot on {{film}}',
|
||||||
|
focalLength: 'Focal Length',
|
||||||
|
focalLengthPlural: 'Focal Lengths',
|
||||||
|
focalLengthTitle: 'Focal Length {{focal}}',
|
||||||
|
focalLengthShare: 'Photos shot at {{focal}}',
|
||||||
|
year: 'Year',
|
||||||
|
yearPlural: 'Years',
|
||||||
|
yearShare: '{{year}} photos',
|
||||||
|
yearTitle: 'Photos taken in {{year}}',
|
||||||
|
recent: 'Recent',
|
||||||
|
recentPlural: 'Recents',
|
||||||
|
recentTitle: 'Recent Photos',
|
||||||
|
recentSubhead: 'Uploaded {{distance}} ago',
|
||||||
|
},
|
||||||
|
nav: {
|
||||||
|
home: 'Home',
|
||||||
|
full: 'Full',
|
||||||
|
grid: 'Grid',
|
||||||
|
admin: 'Admin',
|
||||||
|
search: 'Search',
|
||||||
|
prev: 'Previous',
|
||||||
|
prevShort: 'Prev',
|
||||||
|
next: 'Next',
|
||||||
|
nextShort: 'Next',
|
||||||
|
},
|
||||||
|
sort: {
|
||||||
|
sort: 'Sort',
|
||||||
|
newest: 'Newest',
|
||||||
|
oldest: 'Oldest',
|
||||||
|
descending: 'Descending',
|
||||||
|
ascending: 'Ascending',
|
||||||
|
newestFirst: 'Newest first',
|
||||||
|
oldestFirst: 'Oldest first',
|
||||||
|
viewNewest: 'View newest',
|
||||||
|
viewOldest: 'View oldest',
|
||||||
|
takenAt: 'Taken at',
|
||||||
|
byTakenAt: 'By taken at',
|
||||||
|
uploadedAt: 'Uploaded at',
|
||||||
|
byUploadedAt: 'By uploaded at',
|
||||||
|
uploadedAtShort: 'Uploaded',
|
||||||
|
color: 'Chromatic',
|
||||||
|
byColor: 'By colour',
|
||||||
|
clearSort: 'Clear sort',
|
||||||
|
},
|
||||||
|
cmdk: {
|
||||||
|
placeholder: 'Search photos, views, settings ...',
|
||||||
|
searching: 'Searching ...',
|
||||||
|
noResults: 'No results found',
|
||||||
|
pages: 'Pages',
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
'35mm': '35mm Equivalent',
|
||||||
|
zoom: 'Zoom In',
|
||||||
|
sharePhoto: 'Share Photo',
|
||||||
|
recipeInfo: 'Recipe Info',
|
||||||
|
recipeCopy: 'Copy Recipe Text',
|
||||||
|
download: 'Download Original File',
|
||||||
|
},
|
||||||
|
theme: {
|
||||||
|
theme: 'Theme',
|
||||||
|
system: 'System',
|
||||||
|
light: 'Light Mode',
|
||||||
|
dark: 'Dark Mode',
|
||||||
|
},
|
||||||
|
auth: {
|
||||||
|
signIn: 'Sign In',
|
||||||
|
signOut: 'Sign Out',
|
||||||
|
email: 'Admin Email',
|
||||||
|
password: 'Admin Password',
|
||||||
|
invalidEmailPassword: 'Invalid email/password',
|
||||||
|
},
|
||||||
|
admin: {
|
||||||
|
uploadPhotos: 'Upload Photos',
|
||||||
|
upload: 'Upload',
|
||||||
|
uploadPlural: 'Uploads',
|
||||||
|
uploading: 'Uploading',
|
||||||
|
update: 'Update',
|
||||||
|
updatePlural: 'Updates',
|
||||||
|
managePhotos: 'Manage Photos',
|
||||||
|
manageCameras: 'Manage Cameras',
|
||||||
|
manageLenses: 'Manage Lenses',
|
||||||
|
manageTags: 'Manage Tags',
|
||||||
|
manageRecipes: 'Manage Recipes',
|
||||||
|
batchEdit: 'Batch Edit Photos ...',
|
||||||
|
batchEditShort: 'Batch Edit ...',
|
||||||
|
batchExitEdit: 'Exit Batch Edit',
|
||||||
|
appInsights: 'App Insights',
|
||||||
|
appConfig: 'App Configuration',
|
||||||
|
edit: 'Edit',
|
||||||
|
favorite: 'Favourite',
|
||||||
|
unfavorite: 'Unfavourite',
|
||||||
|
private: 'Make Private',
|
||||||
|
public: 'Make Public',
|
||||||
|
download: 'Download',
|
||||||
|
sync: 'Sync',
|
||||||
|
delete: 'Delete',
|
||||||
|
deleteConfirm: 'Are you sure you want to delete "{{photoTitle}}?"',
|
||||||
|
},
|
||||||
|
onboarding: {
|
||||||
|
setupComplete: 'Setup Complete!',
|
||||||
|
setupIncomplete: 'Finish Setup',
|
||||||
|
setupSignIn: 'Sign in to upload photos',
|
||||||
|
setupFirstPhoto: 'Add your first photo',
|
||||||
|
// eslint-disable-next-line max-len
|
||||||
|
setupConfig: 'Change the site name and other configuration by editing environment variables referenced in',
|
||||||
|
},
|
||||||
|
misc: {
|
||||||
|
loading: 'Loading ...',
|
||||||
|
finishing: 'Finishing ...',
|
||||||
|
uploading: 'Uploading',
|
||||||
|
repo: 'Made with',
|
||||||
|
copyPhrase: '{{label}} copied',
|
||||||
|
},
|
||||||
|
utility: {
|
||||||
|
paginate: '{{index}} of {{count}}',
|
||||||
|
paginateAction: '{{action}} {{index}} of {{count}}',
|
||||||
|
},
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue
Block a user