From 2cf0a1b840646e33a5cc42088e6db6dc1be3a95a Mon Sep 17 00:00:00 2001 From: Mehmet Abak <70433403+mehmetabak@users.noreply.github.com> Date: Thu, 31 Jul 2025 17:04:36 +0300 Subject: [PATCH] Added Turkish language support (#285) * Create tr-tr.ts * Update index.ts * Update README.md --- README.md | 3 +- src/i18n/index.ts | 1 + src/i18n/locales/tr-tr.ts | 142 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 src/i18n/locales/tr-tr.ts diff --git a/README.md b/README.md index f29b7939..ac382061 100644 --- a/README.md +++ b/README.md @@ -292,10 +292,11 @@ Partial internationalization (for non-admin, user-facing text) provided for a ha - `id-id` - `zh-cn` - `bd-bn` +- `tr-tr` 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`) +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`) 📖  FAQ - diff --git a/src/i18n/index.ts b/src/i18n/index.ts index 8ff55222..566738bc 100644 --- a/src/i18n/index.ts +++ b/src/i18n/index.ts @@ -23,6 +23,7 @@ const LOCALE_TEXT_IMPORTS: Record< 'id-id': () => import('./locales/id-id').then(m => m.TEXT), 'zh-cn': () => import('./locales/zh-cn').then(m => m.TEXT), 'bd-bn': () => import('./locales/bd-bn').then(m => m.TEXT), + 'tr-tr': () => import('./locales/tr-tr').then(m => m.TEXT), }; export const getTextForLocale = async (locale: string): Promise => { diff --git a/src/i18n/locales/tr-tr.ts b/src/i18n/locales/tr-tr.ts new file mode 100644 index 00000000..890ad5e9 --- /dev/null +++ b/src/i18n/locales/tr-tr.ts @@ -0,0 +1,142 @@ +export { tr as default } from 'date-fns/locale/tr'; + +export const TEXT = { + photo: { + photo: 'Fotoğraf', + photoPlural: 'Fotoğraflar', + taken: 'Çekildi', + created: 'Oluşturuldu', + updated: 'Güncellendi', + copied: 'Fotoğraf bağlantısı kopyalandı', + }, + category: { + camera: 'Kamera', + cameraPlural: 'Kameralar', + cameraTitle: '{{camera}} ile çekildi', + cameraShare: '{{camera}} ile çekilmiş fotoğraflar', + lens: 'Lens', + lensPlural: 'Lensler', + tag: 'Etiket', + tagPlural: 'Etiketler', + tagged: 'Etiketli', + taggedPhotos: 'Etiketli Fotoğraflar', + taggedPhrase: '{{tag}} etiketiyle fotoğraflar', + taggedFavs: 'Favori Fotoğraflar', + recipe: 'Tarif', + recipePlural: 'Tarifler', + recipeShare: '{{recipe}} tarifi fotoğrafları', + film: 'Film', + filmPlural: 'Filmler', + filmShare: '{{film}} ile çekilmiş fotoğraflar', + focalLength: 'Odak Uzaklığı', + focalLengthPlural: 'Odak Uzaklıkları', + focalLengthTitle: '{{focal}} Odak Uzaklığı', + focalLengthShare: '{{focal}} odak uzaklığında çekilmiş fotoğraflar', + year: 'Yıl', + yearPlural: 'Yıllar', + yearShare: '{{year}} yılına ait fotoğraflar', + yearTitle: '{{year}} yılında çekilmiş fotoğraflar', + recent: 'Son', + recentPlural: 'Son Eklenenler', + recentTitle: 'Son Yüklenen Fotoğraflar', + recentSubhead: '{{distance}} önce yüklendi', + }, + nav: { + home: 'Anasayfa', + full: 'Tam', + grid: 'Izgara', + admin: 'Yönetici', + search: 'Ara', + prev: 'Önceki', + prevShort: 'Önceki', + next: 'Sonraki', + nextShort: 'Sonraki', + }, + sort: { + sort: 'Sırala', + newest: 'En Yeni', + oldest: 'En Eski', + newestFirst: 'En Yeniden Eskiye', + oldestFirst: 'En Eskiden Yeniye', + viewNewest: 'En yeniye bak', + viewOldest: 'En eskiye bak', + takenAt: 'Çekilme Zamanı', + byTakenAt: 'Çekilme zamanına göre', + uploadedAt: 'Yüklenme Zamanı', + byUploadedAt: 'Yüklenme zamanına göre', + uploadedAtShort: 'Yüklenme', + clearSort: 'Sıralamayı temizle', + }, + cmdk: { + placeholder: 'Fotoğraflar, görünümler, ayarlar ara ...', + searching: 'Aranıyor ...', + noResults: 'Sonuç bulunamadı', + pages: 'Sayfalar', + }, + tooltip: { + '35mm': '35mm Eşdeğeri', + zoom: 'Yakınlaştır', + sharePhoto: 'Fotoğrafı Paylaş', + recipeInfo: 'Tarif Bilgisi', + recipeCopy: 'Tarifi Kopyala', + download: 'Orijinal Dosyayı İndir', + }, + theme: { + theme: 'Tema', + system: 'Sistem', + light: 'Aydınlık Mod', + dark: 'Karanlık Mod', + }, + auth: { + signIn: 'Giriş Yap', + signOut: 'Çıkış Yap', + email: 'Yönetici E-posta', + password: 'Yönetici Şifre', + invalidEmailPassword: 'Geçersiz e-posta/şifre', + }, + admin: { + uploadPhotos: 'Fotoğraf Yükle', + upload: 'Yükle', + uploadPlural: 'Yüklemeler', + uploading: 'Yükleniyor', + update: 'Güncelle', + updatePlural: 'Güncellemeler', + managePhotos: 'Fotoğrafları Yönet', + manageCameras: 'Kameraları Yönet', + manageLenses: 'Lensleri Yönet', + manageTags: 'Etiketleri Yönet', + manageRecipes: 'Tarifleri Yönet', + batchEdit: 'Toplu Fotoğraf Düzenleme ...', + batchEditShort: 'Toplu Düzenleme ...', + batchExitEdit: 'Toplu Düzenlemeyi Kapat', + appInsights: 'Uygulama Analizi', + appConfig: 'Uygulama Yapılandırması', + edit: 'Düzenle', + favorite: 'Favori', + unfavorite: 'Favoriden Çıkar', + private: 'Gizli Yap', + public: 'Herkese Açık Yap', + download: 'İndir', + sync: 'Senkronize Et', + delete: 'Sil', + deleteConfirm: '"{{photoTitle}}" adlı fotoğrafı silmek istediğinize emin misiniz?', + }, + onboarding: { + setupComplete: 'Kurulum Tamamlandı!', + setupIncomplete: 'Kurulumu Tamamla', + setupSignIn: 'Fotoğraf yüklemek için giriş yap', + setupFirstPhoto: 'İlk fotoğrafını ekle', + setupConfig: 'Site adını ve diğer ayarları değiştirmek için şu ortam değişkenlerini düzenleyin:', + }, + misc: { + loading: 'Yükleniyor ...', + finishing: 'Tamamlanıyor ...', + uploading: 'Yükleniyor', + repo: 'Hazırlayan:', + copyPhrase: '{{label}} kopyalandı', + }, + utility: { + paginate: '{{count}} fotoğrafın {{index}}.si', + paginateAction: '{{action}} - {{count}} fotoğrafın {{index}}.si', + }, +};