Added Turkish language support (#285)

* Create tr-tr.ts

* Update index.ts

* Update README.md
This commit is contained in:
Mehmet Abak 2025-07-31 17:04:36 +03:00 committed by GitHub
parent 2a2ffeba3c
commit 2cf0a1b840
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 145 additions and 1 deletions

View File

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

View File

@ -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<I18N> => {

142
src/i18n/locales/tr-tr.ts Normal file
View File

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