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şın0>.',
+ description:
+ "OPENAI_TOKEN'ınızı kullanabilirsiniz, kılavuzu <0>buradan0> 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',
+};