Add en-GB localisation (#289)

This commit is contained in:
Simon 2025-08-14 15:53:52 +01:00 committed by GitHub
parent ba7af69592
commit 19acbddef5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 152 additions and 2 deletions

View File

@ -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
- -

View File

@ -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
View 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}}',
},
};