From cb79fcf4db22a6b1ba748e25aa14e5960f06933e Mon Sep 17 00:00:00 2001 From: Jahidul Islam Date: Mon, 8 Sep 2025 17:34:32 +0400 Subject: [PATCH] Add Hindi (#307) --- README.md | 2 +- src/i18n/index.ts | 1 + src/i18n/locales/hi-in.ts | 148 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 src/i18n/locales/hi-in.ts diff --git a/README.md b/README.md index d5d479cc..27a025f1 100644 --- a/README.md +++ b/README.md @@ -388,7 +388,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. -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`) +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`,`hi-in` ), [@mehmetabak](https://github.com/mehmetabak) (`tr-tr`), [@simondeeley](https://github.com/simondeeley) (`en-gb`) 📖  FAQ - diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 017ef0a7..0ef82b2e 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -20,6 +20,7 @@ const LOCALE_TEXT_IMPORTS: Record< > = { 'bd-bn': () => import('./locales/bd-bn').then(m => m.TEXT), 'en-gb': () => import('./locales/en-gb').then(m => m.TEXT), + 'hi-in': () => import('./locales/hi-in').then(m => m.TEXT), 'id-id': () => import('./locales/id-id').then(m => m.TEXT), 'pt-br': () => import('./locales/pt-br').then(m => m.TEXT), 'pt-pt': () => import('./locales/pt-pt').then(m => m.TEXT), diff --git a/src/i18n/locales/hi-in.ts b/src/i18n/locales/hi-in.ts new file mode 100644 index 00000000..747f1fd5 --- /dev/null +++ b/src/i18n/locales/hi-in.ts @@ -0,0 +1,148 @@ +import { I18N } from '..'; +export { hi as default } from 'date-fns/locale/hi'; + +export const TEXT = { + photo: { + photo: 'फोटो', + photoPlural: 'फोटोवां', + taken: 'लिया गया', + created: 'निर्मित', + updated: 'अद्यतनित', + copied: 'फोटो का लिंक कॉपी किया गया', + }, + category: { + camera: 'कैमरा', + cameraPlural: 'कैमरे', + cameraTitle: '{{camera}} पर लिया गया शॉट', + cameraShare: '{{camera}} पर लिया गया फोटो', + lens: 'लेंस', + lensPlural: 'लेंस', + tag: 'टैग', + tagPlural: 'टैग्स', + tagged: 'टैग किया गया', + taggedPhotos: 'टैग की गई फोटो', + taggedPhrase: 'फोटो टैग किया गया {{tag}}', + taggedFavs: 'प्रिय फोटो', + recipe: 'रेसिपी', + recipePlural: 'रेसिपियां', + recipeShare: '{{recipe}} रेसिपी फोटो', + film: 'फिल्म', + filmPlural: 'फिल्में', + filmShare: '{{film}} पर लिया गया फोटो', + focalLength: 'फोकल लंबाई', + focalLengthPlural: 'फोकल लंबाईयां', + focalLengthTitle: 'फोकल लंबाई {{focal}}', + focalLengthShare: '{{focal}} पर लिया गया फोटो', + year: 'वर्ष', + yearPlural: 'वर्ष', + yearShare: '{{year}} फोटो', + yearTitle: '{{year}} में ली गई फोटो', + recent: 'हाल ही में', + recentPlural: 'हाल ही में', + recentTitle: 'हाल ही में ली गई फोटो', + recentSubhead: '{{distance}} पहले अपलोड किया गया', + }, + nav: { + home: 'होम', + full: 'पूर्ण', + grid: 'ग्रिड', + admin: 'एडमिन', + search: 'खोज', + prev: 'पिछला', + prevShort: 'पिछला', + next: 'अगला', + nextShort: 'अगला', + }, + sort: { + sort: 'क्रमबद्ध करें', + newest: 'नवीनतम', + oldest: 'सबसे पुराना', + descending: 'घटता हुआ', + ascending: 'बढ़ता हुआ', + newestFirst: 'नवीनतम पहले', + oldestFirst: 'सबसे पुराना पहले', + viewNewest: 'नवीनतम देखें', + viewOldest: 'सबसे पुराना देखें', + takenAt: 'यहां लिया गया', + byTakenAt: 'के द्वारा लिया गया', + uploadedAt: 'अपलोड की गई', + byUploadedAt: 'के द्वारा अपलोड की गई', + uploadedAtShort: 'अपलोड किया गया', + color: 'रंग', + byColor: 'रंग के अनुसार', + clearSort: 'क्रमबद्धता स्पष्ट करें', + }, + cmdk: { + placeholder: 'फोटो, दृश्य, सेटिंग्स खोजें...', + searching: 'खोज रहे हैं...', + noResults: 'कोई परिणाम नहीं मिला', + pages: 'पृष्ठ', + }, + tooltip: { + '35mm': '35mm समकक्ष', + zoom: 'जूम इन करें', + sharePhoto: 'फोटो साझा करें', + recipeInfo: 'रेसिपी जानकारी', + recipeCopy: 'रेसिपी पाठ कॉपी करें', + download: 'मूल फ़ाइल डाउनलोड करें', + }, + theme: { + theme: 'थीम', + system: 'सिस्टम', + light: 'लाइट मोड', + dark: 'डार्क मोड', + }, + auth: { + signIn: 'साइन इन करें', + signOut: 'साइन आउट करें', + email: 'एडमिन ईमेल', + password: 'एडमिन पासवर्ड', + invalidEmailPassword: 'अमान्य ईमेल/पासवर्ड', + }, + admin: { + uploadPhotos: 'फोटो अपलोड करें', + upload: 'अपलोड करें', + uploadPlural: 'अपलोड', + uploading: 'अपलोड हो रहा है', + update: 'अद्यतन करें', + updatePlural: 'अद्यतन', + managePhotos: 'फोटो प्रबंधित करें', + manageCameras: 'कैमरे प्रबंधित करें', + manageLenses: 'लेंस प्रबंधित करें', + manageTags: 'टैग प्रबंधित करें', + manageRecipes: 'रेसिपी प्रबंधित करें', + batchEdit: 'फोटो बैच संपादित करें...', + batchEditShort: 'बैच संपादित करें...', + batchExitEdit: 'बैच संपादन से बाहर निकलें', + appInsights: 'ऐप इनसाइट्स', + appConfig: 'ऐप कॉन्फ़िगरेशन', + edit: 'संपादित करें', + favorite: 'पसंदीदा', + unfavorite: 'पसंदीदा नहीं', + private: 'प्राइवेट बनाएं', + public: 'सार्वजनिक बनाएं', + download: 'डाउनलोड करें', + sync: 'सिंक करें', + delete: 'हटाएं', + deleteConfirm: 'क्या आप सुनिश्चित हैं कि "{{photoTitle}}" को हटाना चाहते हैं?', + }, + onboarding: { + setupComplete: 'सेटअप पूरा हुआ!', + setupIncomplete: 'सेटअप पूरा करें', + setupSignIn: 'फोटो अपलोड करने के लिए साइन इन करें', + setupFirstPhoto: 'अपनी पहली फोटो जोड़ें', + // eslint-disable-next-line max-len + setupConfig: 'साइट का नाम और अन्य कॉन्फ़िगरेशन बदलने के लिए पर्यावरण चर संपादित करें जो कि', + }, + misc: { + loading: 'लोड हो रहा है...', + finishing: 'समाप्त कर रहे हैं...', + uploading: 'अपलोड हो रहा है', + repo: 'निर्मित', + copyPhrase: '{{label}} कॉपी किया गया', + }, + utility: { + paginate: '{{index}} / {{count}}', + paginateAction: '{{action}} - {{index}} / {{count}}', + }, +};