From d9fcbeec726b7bde9f7d202bf09dc6b617e3ad80 Mon Sep 17 00:00:00 2001 From: emircanakpinar <42803227+emircanakpinar@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:00:30 +0300 Subject: [PATCH] fix(i18n): add Turkish translations (#315) * fix(i18n): add missing Turkish translations * fix translation build --------- Co-authored-by: Guy Ben-Aharon --- src/i18n/i18n.ts | 3 + src/i18n/locales/tr.ts | 389 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 392 insertions(+) create mode 100644 src/i18n/locales/tr.ts diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index fd2ed881..d944c40a 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -16,6 +16,7 @@ import { zh_CN, zh_CNMetadata } from './locales/zh_CN'; import { zh_TW, zh_TWMetadata } from './locales/zh_TW'; import { ne, neMetadata } from './locales/ne'; import { mr, mrMetadata } from './locales/mr'; +import { tr, trMetadata } from './locales/tr'; export const languages: LanguageMetadata[] = [ enMetadata, @@ -32,6 +33,7 @@ export const languages: LanguageMetadata[] = [ zh_TWMetadata, neMetadata, mrMetadata, + trMetadata, ]; const resources = { @@ -49,6 +51,7 @@ const resources = { zh_TW, ne, mr, + tr, }; i18n.use(LanguageDetector) diff --git a/src/i18n/locales/tr.ts b/src/i18n/locales/tr.ts new file mode 100644 index 00000000..d857a22c --- /dev/null +++ b/src/i18n/locales/tr.ts @@ -0,0 +1,389 @@ +import type { LanguageMetadata, LanguageTranslation } from '../types'; + +export const tr: LanguageTranslation = { + translation: { + menu: { + file: { + file: 'Dosya', + new: 'Yeni', + open: 'Aç', + save: 'Kaydet', + import_database: 'Veritabanı İçe Aktar', + export_sql: 'SQL Olarak Dışa Aktar', + export_as: 'Olarak Dışa Aktar', + delete_diagram: 'Diyagramı Sil', + exit: 'Çıkış', + }, + edit: { + edit: 'Düzenle', + undo: 'Geri Al', + redo: 'Yinele', + clear: 'Temizle', + }, + view: { + view: 'Görünüm', + show_sidebar: 'Kenar Çubuğunu Göster', + hide_sidebar: 'Kenar Çubuğunu Gizle', + hide_cardinality: 'Kardinaliteyi Gizle', + show_cardinality: 'Kardinaliteyi Göster', + zoom_on_scroll: 'Kaydırarak Yakınlaştır', + theme: 'Tema', + show_dependencies: 'Bağımlılıkları Göster', + hide_dependencies: 'Bağımlılıkları Gizle', + }, + // TODO: Translate + share: { + share: 'Share', + export_diagram: 'Export Diagram', + import_diagram: 'Import Diagram', + }, + help: { + help: 'Yardım', + visit_website: "ChartDB'yi Ziyaret Et", + join_discord: "Discord'a Katıl", + schedule_a_call: 'Bize Ulaş!', + }, + }, + + delete_diagram_alert: { + title: 'Diyagramı Sil', + description: + 'Bu işlem geri alınamaz. Diyagram kalıcı olarak silinecektir.', + cancel: 'İptal', + delete: 'Sil', + }, + + clear_diagram_alert: { + title: 'Diyagramı Temizle', + description: + 'Bu işlem geri alınamaz. Diyagramdaki tüm veriler kalıcı olarak silinecektir.', + cancel: 'İptal', + clear: 'Temizle', + }, + + reorder_diagram_alert: { + title: 'Diyagramı Yeniden Sırala', + description: + 'Bu işlem tüm tabloları yeniden düzenleyecektir. Devam etmek istiyor musunuz?', + reorder: 'Yeniden Sırala', + cancel: 'İptal', + }, + + multiple_schemas_alert: { + title: 'Birden Fazla Şema', + description: + 'Bu diyagramda {{schemasCount}} şema var. Şu anda görüntülenen: {{formattedSchemas}}.', + dont_show_again: 'Tekrar gösterme', + change_schema: 'Değiştir', + none: 'yok', + }, + + theme: { + system: 'Sistem', + light: 'Açık', + dark: 'Koyu', + }, + + zoom: { + on: 'Açık', + off: 'Kapalı', + }, + + last_saved: 'Son kaydedilen', + saved: 'Kaydedildi', + diagrams: 'Diyagramlar', + + loading_diagram: 'Diyagram yükleniyor...', + deselect_all: 'Hepsini Seçme', + select_all: 'Hepsini Seç', + clear: 'Temizle', + show_more: 'Daha Fazla Göster', + show_less: 'Daha Az Göster', + copy_to_clipboard: 'Panoya Kopyala', + copied: 'Kopyalandı!', + side_panel: { + schema: 'Şema:', + filter_by_schema: 'Şemaya Göre Filtrele', + search_schema: 'Şema ara...', + no_schemas_found: 'Şema bulunamadı.', + view_all_options: 'Tüm Seçenekleri Gör...', + tables_section: { + tables: 'Tablolar', + add_table: 'Tablo Ekle', + filter: 'Filtrele', + collapse: 'Hepsini Daralt', + table: { + fields: 'Alanlar', + nullable: 'Boş Bırakılabilir?', + primary_key: 'Birincil Anahtar', + indexes: 'İndeksler', + comments: 'Yorumlar', + no_comments: 'Yorum yok', + add_field: 'Alan Ekle', + add_index: 'İndeks Ekle', + index_select_fields: 'Alanları Seç', + no_types_found: 'Tür bulunamadı', + field_name: 'Ad', + field_type: 'Tür', + field_actions: { + title: 'Alan Özellikleri', + unique: 'Tekil', + comments: 'Yorumlar', + no_comments: 'Yorum yok', + delete_field: 'Alanı Sil', + }, + index_actions: { + title: 'İndeks Özellikleri', + name: 'Ad', + unique: 'Tekil', + delete_index: 'İndeksi Sil', + }, + table_actions: { + title: 'Tablo İşlemleri', + change_schema: 'Şemayı Değiştir', + add_field: 'Alan Ekle', + add_index: 'İndeks Ekle', + // TODO: Translate + duplicate_table: 'Duplicate Table', + delete_table: 'Tabloyu Sil', + }, + }, + empty_state: { + title: 'Tablo yok', + description: 'Başlamak için bir tablo oluşturun', + }, + }, + relationships_section: { + relationships: 'İlişkiler', + filter: 'Filtrele', + add_relationship: 'İlişki Ekle', + collapse: 'Hepsini Daralt', + relationship: { + primary: 'Birincil Tablo', + foreign: 'Referans Tablo', + cardinality: 'Kardinalite', + delete_relationship: 'Sil', + relationship_actions: { + title: 'İşlemler', + delete_relationship: 'Sil', + }, + }, + empty_state: { + title: 'İlişki yok', + description: 'Tabloları bağlamak için bir ilişki oluşturun', + }, + }, + dependencies_section: { + dependencies: 'Bağımlılıklar', + filter: 'Filtrele', + collapse: 'Hepsini Daralt', + dependency: { + table: 'Tablo', + dependent_table: 'Bağımlı Görünüm', + delete_dependency: 'Sil', + dependency_actions: { + title: 'İşlemler', + delete_dependency: 'Sil', + }, + }, + empty_state: { + title: 'Bağımlılık yok', + description: 'Başlamak için bir görünüm oluşturun', + }, + }, + }, + toolbar: { + zoom_in: 'Yakınlaştır', + zoom_out: 'Uzaklaştır', + save: 'Kaydet', + show_all: 'Hepsini Gör', + undo: 'Geri Al', + redo: 'Yinele', + reorder_diagram: 'Diyagramı Yeniden Sırala', + highlight_overlapping_tables: 'Çakışan Tabloları Vurgula', + }, + new_diagram_dialog: { + database_selection: { + title: 'Veritabanınız nedir?', + description: + 'Her veritabanının kendine özgü özellikleri ve yetenekleri vardır.', + check_examples_long: 'Örnekleri Kontrol Et', + check_examples_short: 'Örnekler', + }, + import_database: { + title: 'Veritabanını İçe Aktar', + database_edition: 'Veritabanı Sürümü:', + step_1: 'Bu komut dosyasını veritabanınızda çalıştırın:', + step_2: 'Komut dosyası sonucunu buraya yapıştırın:', + script_results_placeholder: 'Komut dosyası sonuçları burada...', + ssms_instructions: { + button_text: 'SSMS Talimatları', + title: 'Talimatlar', + step_1: "Araçlar > Seçenekler > Sorgu Sonuçları > SQL Server'a gidin.", + step_2: 'Eğer "Sonuçlar Izgaraya" kullanıyorsanız, Maksimum Karakterlerin Alınması için XML olmayan veriler (9999999 olarak ayarlanmış) değiştirin.', + }, + instructions_link: + 'Yardıma mı ihtiyacınız var? İzlemek için tıklayın', + check_script_result: 'Komut Dosyası Sonucunu Kontrol Et', + }, + // TODO: Translate + import_from_file: 'Import from File', + cancel: 'İptal', + back: 'Geri', + empty_diagram: 'Boş diyagram', + continue: 'Devam', + import: 'İçe Aktar', + }, + open_diagram_dialog: { + title: 'Diyagramı Aç', + description: 'Aşağıdaki listeden açmak için bir diyagram seçin.', + table_columns: { + name: 'Ad', + created_at: 'Oluşturulma Tarihi', + last_modified: 'Son Değiştirme', + tables_count: 'Tablolar', + }, + cancel: 'İptal', + open: 'Aç', + }, + + export_sql_dialog: { + title: 'SQL Olarak Dışa Aktar', + description: + 'Diyagram şemanızı {{databaseType}} betiğine dışa aktarın', + close: 'Kapat', + loading: { + text: 'AI, SQL oluşturuyor {{databaseType}}...', + description: 'Bu işlem en fazla 30 saniye sürecektir.', + }, + error: { + message: + 'SQL betiği oluşturulurken hata oluştu. Lütfen daha sonra tekrar deneyin veya <0>bize ulaşın.', + description: + "OPENAI_TOKEN'ınızı kullanabilirsiniz, kılavuzu <0>buradan görebilirsiniz.", + }, + }, + create_relationship_dialog: { + title: 'İlişki Oluştur', + primary_table: 'Birincil Tablo', + primary_field: 'Birincil Alan', + referenced_table: 'Referans Tablo', + referenced_field: 'Referans Alan', + primary_table_placeholder: 'Tablo seç', + primary_field_placeholder: 'Alan seç', + referenced_table_placeholder: 'Tablo seç', + referenced_field_placeholder: 'Alan seç', + no_tables_found: 'Tablo bulunamadı', + no_fields_found: 'Alan bulunamadı', + create: 'Oluştur', + cancel: 'İptal', + }, + import_database_dialog: { + title: 'Mevcut Diyagrama İçe Aktar', + override_alert: { + title: 'Veritabanını İçe Aktar', + content: { + alert: 'Bu diyagramı içe aktarmak mevcut tabloları ve ilişkileri etkileyecektir.', + new_tables: + '{{newTablesNumber}} yeni tablo eklenecek.', + new_relationships: + '{{newRelationshipsNumber}} yeni ilişki oluşturulacak.', + tables_override: + '{{tablesOverrideNumber}} tablo üzerine yazılacak.', + proceed: 'Devam etmek istiyor musunuz?', + }, + import: 'İçe Aktar', + cancel: 'İptal', + }, + }, + export_image_dialog: { + title: 'Resmi Dışa Aktar', + description: 'Dışa aktarım için ölçek faktörünü seçin:', + scale_1x: '1x Normal', + scale_2x: '2x (Önerilen)', + scale_3x: '3x', + scale_4x: '4x', + cancel: 'İptal', + export: 'Dışa Aktar', + }, + new_table_schema_dialog: { + title: 'Şema Seç', + description: + 'Şu anda birden fazla şema görüntülenmektedir. Yeni tablo için birini seçin.', + cancel: 'İptal', + confirm: 'Onayla', + }, + update_table_schema_dialog: { + title: 'Şemayı Değiştir', + description: 'Tablo "{{tableName}}" şemasını güncelle', + cancel: 'İptal', + confirm: 'Değiştir', + }, + star_us_dialog: { + title: 'Bize yardım et!', + description: + "Bizi GitHub'da yıldızlamak ister misiniz? Sadece bir tık uzakta!", + close: 'Şimdi Değil', + confirm: 'Tabii ki!', + }, + // TODO: Translate + export_diagram_dialog: { + title: 'Export Diagram', + description: 'Choose the format for export:', + format_json: 'JSON', + cancel: 'Cancel', + export: 'Export', + error: { + title: 'Error exporting diagram', + description: + 'Something went wrong. Need help? chartdb.io@gmail.com', + }, + }, + // TODO: Translate + import_diagram_dialog: { + title: 'Import Diagram', + description: 'Paste the diagram JSON below:', + cancel: 'Cancel', + import: 'Import', + error: { + title: 'Error importing diagram', + description: + 'The diagram JSON is invalid. Please check the JSON and try again. Need help? chartdb.io@gmail.com', + }, + }, + relationship_type: { + one_to_one: 'Bir Bir', + one_to_many: 'Bir Çok', + many_to_one: 'Çok Bir', + many_to_many: 'Çok Çok', + }, + canvas_context_menu: { + new_table: 'Yeni Tablo', + new_relationship: 'Yeni İlişki', + }, + table_node_context_menu: { + edit_table: 'Tabloyu Düzenle', + delete_table: 'Tabloyu Sil', + // TODO: Translate + duplicate_table: 'Duplicate Table', + }, + + // TODO: Translate + snap_to_grid_tooltip: 'Snap to Grid (Hold {{key}})', + + // TODO: Translate + tool_tips: { + double_click_to_edit: 'Double-click to edit', + }, + + language_select: { + change_language: 'Dil', + }, + }, +}; + +export const trMetadata: LanguageMetadata = { + nativeName: 'Türkçe', + name: 'Turkish', + code: 'tr', +};