* feat(i18n): add Greek translation (#1061)

* i18n: complete Turkish (tr) translation (#1075)

Fill in the remaining ~2100 UI strings in shared/src/i18n/tr so Turkish
matches the English catalog. Brand names, URLs, and technical placeholders
are left untranslated by design.

* chore: prettier + lint

* chore: enforce prettier & lint on shared package

---------

Co-authored-by: Dimitris Kafetzis <39215021+Dkafetzis@users.noreply.github.com>
Co-authored-by: Ahmet Yılmaz <70577707+sharkpaw@users.noreply.github.com>
This commit is contained in:
Julien G.
2026-05-27 17:53:55 +02:00
committed by GitHub
parent 4ff4435f8b
commit 17264ef745
87 changed files with 5177 additions and 2243 deletions
+89 -90
View File
@@ -1,14 +1,14 @@
import type { TranslationStrings } from '../types';
const dashboard: TranslationStrings = {
'dashboard.title': 'Gezilerim',
'dashboard.subtitle.loading': 'Geziler yükleniyor...',
'dashboard.subtitle.trips': '{count} gezi ({archived} arşivlenmiş)',
'dashboard.subtitle.empty': 'İlk gezinizi başlatın',
'dashboard.subtitle.activeOne': '{count} aktif gezi',
'dashboard.subtitle.activeMany': '{count} aktif gezi',
'dashboard.subtitle.archivedSuffix': ' · {count} arşivlendi',
'dashboard.newTrip': 'Yeni gezi',
'dashboard.title': 'Seyahatlerim',
'dashboard.subtitle.loading': 'Seyahatler yükleniyor...',
'dashboard.subtitle.trips': '{count} seyahat ({archived} arşivde)',
'dashboard.subtitle.empty': 'İlk seyahatinizi başlatın',
'dashboard.subtitle.activeOne': '{count} etkin seyahat',
'dashboard.subtitle.activeMany': '{count} etkin seyahat',
'dashboard.subtitle.archivedSuffix': ' · {count} arşivde',
'dashboard.newTrip': 'Yeni Seyahat',
'dashboard.newTripSub': 'Start blank · or import from another planner',
'dashboard.gridView': 'Izgara görünümü',
'dashboard.listView': 'Liste görünümü',
@@ -16,108 +16,107 @@ const dashboard: TranslationStrings = {
'dashboard.timezone': 'Saat dilimleri',
'dashboard.localTime': 'Yerel',
'dashboard.timezoneCustomTitle': 'Özel saat dilimi',
'dashboard.timezoneCustomLabelPlaceholder': 'Etiket (opsiyonel)',
'dashboard.timezoneCustomTzPlaceholder': 'örn. Europe/Istanbul',
'dashboard.timezoneCustomLabelPlaceholder': 'Etiket (isteğe bağlı)',
'dashboard.timezoneCustomTzPlaceholder': 'örn. America/New_York',
'dashboard.timezoneCustomAdd': 'Ekle',
'dashboard.timezoneCustomErrorEmpty': 'Bir saat dilimi kimliği girin',
'dashboard.timezoneCustomErrorEmpty': 'Saat dilimi tanımlayıcısı girin',
'dashboard.timezoneCustomErrorInvalid':
'Geçersiz saat dilimi. Europe/Istanbul gibi bir format kullanın',
'dashboard.timezoneCustomErrorDuplicate': 'Zaten eklendi',
'dashboard.emptyTitle': 'Henüz gezi yok',
'dashboard.emptyText': 'İlk gezinizi oluşturun ve planlamaya başlayın!',
'dashboard.emptyButton': 'İlk geziyi oluştur',
'dashboard.nextTrip': 'Sıradaki gezi',
'Geçersiz saat dilimi. Europe/Berlin gibi bir biçim kullanın',
'dashboard.timezoneCustomErrorDuplicate': 'Zaten ekli',
'dashboard.emptyTitle': 'Henüz seyahat yok',
'dashboard.emptyText': 'İlk seyahatinizi oluşturup planlamaya başlayın!',
'dashboard.emptyButton': 'İlk Seyahati Oluştur',
'dashboard.nextTrip': 'Sonraki Seyahat',
'dashboard.shared': 'Paylaşılan',
'dashboard.sharedBy': '{name} tarafından paylaşıldı',
'dashboard.days': 'Gün',
'dashboard.places': 'Yer',
'dashboard.members': 'Arkadaş',
'dashboard.sharedBy': '{name} paylaştı',
'dashboard.days': 'Günler',
'dashboard.places': 'Yerler',
'dashboard.members': 'Arkadaşlar',
'dashboard.archive': 'Arşivle',
'dashboard.copyTrip': 'Kopyala',
'dashboard.copySuffix': 'kopya',
'dashboard.restore': 'Geri yükle',
'dashboard.restore': 'Geri al',
'dashboard.archived': 'Arşivlendi',
'dashboard.status.ongoing': 'Devam ediyor',
'dashboard.status.today': 'Bugün',
'dashboard.status.tomorrow': 'Yarın',
'dashboard.status.past': 'Geçmiş',
'dashboard.status.daysLeft': '{count} gün kaldı',
'dashboard.toast.loadError': 'Failed to load trips',
'dashboard.toast.created': 'Trip created successfully!',
'dashboard.toast.createError': 'Failed to create trip',
'dashboard.toast.updated': 'Trip updated!',
'dashboard.toast.updateError': 'Failed to update trip',
'dashboard.toast.deleted': 'Trip deleted',
'dashboard.toast.deleteError': 'Failed to delete trip',
'dashboard.toast.archived': 'Trip archived',
'dashboard.toast.archiveError': 'Failed to archive trip',
'dashboard.toast.restored': 'Trip restored',
'dashboard.toast.restoreError': 'Failed to restore trip',
'dashboard.toast.copied': 'Trip copied!',
'dashboard.toast.copyError': 'Failed to copy trip',
'dashboard.toast.loadError': 'Seyahatler yüklenemedi',
'dashboard.toast.created': 'Seyahat oluşturuldu!',
'dashboard.toast.createError': 'Seyahat oluşturulamadı',
'dashboard.toast.updated': 'Seyahat güncellendi!',
'dashboard.toast.updateError': 'Seyahat güncellenemedi',
'dashboard.toast.deleted': 'Seyahat silindi',
'dashboard.toast.deleteError': 'Seyahat silinemedi',
'dashboard.toast.archived': 'Seyahat arşivlendi',
'dashboard.toast.archiveError': 'Arşivlenemedi',
'dashboard.toast.restored': 'Seyahat geri alındı',
'dashboard.toast.restoreError': 'Geri alınamadı',
'dashboard.toast.copied': 'Seyahat kopyalandı!',
'dashboard.toast.copyError': 'Kopyalanamadı',
'dashboard.confirm.delete':
'Delete trip "{title}"? All places and plans will be permanently deleted.',
'dashboard.confirm.copy.title': 'Copy this trip?',
'dashboard.confirm.copy.willCopy': 'Will be copied',
'dashboard.confirm.copy.will1': 'Days, places & day assignments',
'dashboard.confirm.copy.will2': 'Accommodations & reservations',
'dashboard.confirm.copy.will3': 'Budget items & category order',
'dashboard.confirm.copy.will4': 'Packing lists (unchecked)',
'dashboard.confirm.copy.will5': 'TODOs (unassigned & unchecked)',
'dashboard.confirm.copy.will6': 'Day notes',
'"{title}" seyahatini sil? Tüm yerler ve planlar kalıcı olarak silinir.',
'dashboard.confirm.copy.title': 'Bu seyahat kopyalansın mı?',
'dashboard.confirm.copy.willCopy': 'Kopyalanacak',
'dashboard.confirm.copy.will1': 'Günler, yerler ve gün atamaları',
'dashboard.confirm.copy.will2': 'Konaklama ve rezervasyonlar',
'dashboard.confirm.copy.will3': 'Bütçe kalemleri ve kategori sırası',
'dashboard.confirm.copy.will4': 'Paket listeleri (işaretlenmemiş)',
'dashboard.confirm.copy.will5': 'Yapılacaklar (atanmamış ve işaretlenmemiş)',
'dashboard.confirm.copy.will6': 'Gün notları',
'dashboard.confirm.copy.wontCopy': "Won't be copied",
'dashboard.confirm.copy.wont1': 'Collaborators & member assignments',
'dashboard.confirm.copy.wont2': 'Collab notes, polls & messages',
'dashboard.confirm.copy.wont3': 'Files & photos',
'dashboard.confirm.copy.wont4': 'Share tokens',
'dashboard.confirm.copy.confirm': 'Copy trip',
'dashboard.editTrip': 'Geziyi düzenle',
'dashboard.createTrip': 'Yeni gezi oluştur',
'dashboard.confirm.copy.wont1': 'İşbirlikçiler ve üye atamaları',
'dashboard.confirm.copy.wont2': 'Collab notları, anketler ve mesajlar',
'dashboard.confirm.copy.wont3': 'Dosyalar ve fotoğraflar',
'dashboard.confirm.copy.wont4': 'Paylaşım jetonları',
'dashboard.confirm.copy.confirm': 'Seyahati kopyala',
'dashboard.editTrip': 'Seyahati Düzenle',
'dashboard.createTrip': 'Yeni Seyahat Oluştur',
'dashboard.tripTitle': 'Başlık',
'dashboard.tripTitlePlaceholder': 'e.g. Summer in Japan',
'dashboard.tripTitlePlaceholder': 'örn. Japonya yaz tatili',
'dashboard.tripDescription': 'Açıklama',
'dashboard.tripDescriptionPlaceholder': 'What is this trip about?',
'dashboard.startDate': 'Başlangıç tarihi',
'dashboard.endDate': 'Bitiş tarihi',
'dashboard.tripDescriptionPlaceholder': 'Bu seyahat ne hakkında?',
'dashboard.startDate': 'Başlangıç Tarihi',
'dashboard.endDate': 'Bitiş Tarihi',
'dashboard.dayCount': 'Gün sayısı',
'dashboard.dayCountHint':
'How many days to plan for when no travel dates are set.',
'dashboard.dayCountHint': 'Seyahat tarihi yoksa kaç gün planlanacağı.',
'dashboard.noDateHint':
'No date set — 7 default days will be created. You can change this anytime.',
'dashboard.coverImage': 'Kapak resmi',
'dashboard.addCoverImage': 'Add cover image (or drag & drop)',
'Tarih yok — varsayılan 7 gün oluşturulur. İstediğiniz zaman değiştirebilirsiniz.',
'dashboard.coverImage': 'Kapak Görseli',
'dashboard.addCoverImage': 'Kapak ekle (sürükleyip bırakabilirsiniz)',
'dashboard.addMembers': 'Seyahat arkadaşları',
'dashboard.addMember': 'Üye ekle',
'dashboard.coverSaved': 'Cover image saved',
'dashboard.coverUploadError': 'Failed to upload',
'dashboard.coverRemoveError': 'Failed to remove',
'dashboard.titleRequired': 'Başlık zorunludur',
'dashboard.endDateError': 'Bitiş tarihi başlangıç tarihinden sonra olmalıdır',
'dashboard.greeting.morning': 'Good morning,',
'dashboard.greeting.afternoon': 'Good afternoon,',
'dashboard.greeting.evening': 'Good evening,',
'dashboard.mobile.liveNow': 'Live Now',
'dashboard.mobile.tripProgress': 'Trip progress',
'dashboard.mobile.daysLeft': '{count} days left',
'dashboard.mobile.places': 'Places',
'dashboard.mobile.buddies': 'Buddies',
'dashboard.mobile.newTrip': 'New Trip',
'dashboard.mobile.currency': 'Currency',
'dashboard.mobile.timezone': 'Timezone',
'dashboard.mobile.upcomingTrips': 'Upcoming Trips',
'dashboard.mobile.yourTrips': 'Your Trips',
'dashboard.mobile.trips': 'trips',
'dashboard.mobile.starts': 'Starts',
'dashboard.mobile.duration': 'Duration',
'dashboard.mobile.day': 'day',
'dashboard.mobile.days': 'days',
'dashboard.mobile.ongoing': 'Ongoing',
'dashboard.mobile.startsToday': 'Starts today',
'dashboard.mobile.tomorrow': 'Tomorrow',
'dashboard.mobile.inDays': 'In {count} days',
'dashboard.mobile.inMonths': 'In {count} months',
'dashboard.mobile.completed': 'Completed',
'dashboard.mobile.currencyConverter': 'Currency Converter',
'dashboard.coverSaved': 'Kapak kaydedildi',
'dashboard.coverUploadError': 'Yüklenemedi',
'dashboard.coverRemoveError': 'Kaldırılamadı',
'dashboard.titleRequired': 'Başlık gerekli',
'dashboard.endDateError': 'Bitiş tarihi başlangıçtan sonra olmalı',
'dashboard.greeting.morning': 'Günaydın,',
'dashboard.greeting.afternoon': 'İyi günler,',
'dashboard.greeting.evening': 'İyi akşamlar,',
'dashboard.mobile.liveNow': 'Canlı',
'dashboard.mobile.tripProgress': 'Seyahat ilerlemesi',
'dashboard.mobile.daysLeft': '{count} gün kaldı',
'dashboard.mobile.places': 'Yerler',
'dashboard.mobile.buddies': 'Arkadaşlar',
'dashboard.mobile.newTrip': 'Yeni Seyahat',
'dashboard.mobile.currency': 'Para birimi',
'dashboard.mobile.timezone': 'Saat dilimi',
'dashboard.mobile.upcomingTrips': 'Yaklaşan Seyahatler',
'dashboard.mobile.yourTrips': 'Seyahatleriniz',
'dashboard.mobile.trips': 'seyahat',
'dashboard.mobile.starts': 'Başlıyor',
'dashboard.mobile.duration': 'Süre',
'dashboard.mobile.day': 'gün',
'dashboard.mobile.days': 'gün',
'dashboard.mobile.ongoing': 'Devam ediyor',
'dashboard.mobile.startsToday': 'Bugün başlıyor',
'dashboard.mobile.tomorrow': 'Yarın',
'dashboard.mobile.inDays': '{count} Gün sonra',
'dashboard.mobile.inMonths': '{count} Ay sonra',
'dashboard.mobile.completed': 'Tamamlandı',
'dashboard.mobile.currencyConverter': 'Para birimi dönüştürücü',
'dashboard.filter.planned': 'Planned',
'dashboard.hero.badgeLive': 'LIVE NOW',
'dashboard.hero.badgeToday': 'STARTS TODAY',