From d7edcadec776d283d038cf98649ca79bd91fa247 Mon Sep 17 00:00:00 2001 From: Muhammet Demirel Date: Mon, 10 Apr 2023 12:04:30 +0300 Subject: [PATCH] Added new language, Turkish. --- app/locales/cn.ts | 1 + app/locales/en.ts | 1 + app/locales/es.ts | 1 + app/locales/index.ts | 7 +- app/locales/it.ts | 1 + app/locales/tr.ts | 177 +++++++++++++++++++++++++++++++++++++++++++ app/locales/tw.ts | 1 + 7 files changed, 187 insertions(+), 2 deletions(-) create mode 100644 app/locales/tr.ts diff --git a/app/locales/cn.ts b/app/locales/cn.ts index 9bd4b0a3..d3df950b 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -72,6 +72,7 @@ const cn = { tw: "繁體中文", es: "Español", it: "Italiano", + tr: "Türkçe", }, }, Avatar: "头像", diff --git a/app/locales/en.ts b/app/locales/en.ts index 73130903..6b63f21b 100644 --- a/app/locales/en.ts +++ b/app/locales/en.ts @@ -75,6 +75,7 @@ const en: LocaleType = { tw: "繁體中文", es: "Español", it: "Italiano", + tr: "Türkçe", }, }, Avatar: "Avatar", diff --git a/app/locales/es.ts b/app/locales/es.ts index 06277f6b..eac504dd 100644 --- a/app/locales/es.ts +++ b/app/locales/es.ts @@ -75,6 +75,7 @@ const es: LocaleType = { tw: "繁體中文", es: "Español", it: "Italiano", + tr: "Türkçe", }, }, Avatar: "Avatar", diff --git a/app/locales/index.ts b/app/locales/index.ts index 5c41eeb7..d7a1aefe 100644 --- a/app/locales/index.ts +++ b/app/locales/index.ts @@ -3,10 +3,11 @@ import EN from "./en"; import TW from "./tw"; import ES from "./es"; import IT from "./it"; +import TR from "./tr"; export type { LocaleType } from "./cn"; -export const AllLangs = ["en", "cn", "tw", "es", "it"] as const; +export const AllLangs = ["en", "cn", "tw", "es", "it", "tr"] as const; type Lang = (typeof AllLangs)[number]; const LANG_KEY = "lang"; @@ -50,6 +51,8 @@ export function getLang(): Lang { return "es"; } else if (lang.includes("it")) { return "it"; + } else if (lang.includes("tr")) { + return "tr"; } else { return "en"; } @@ -60,4 +63,4 @@ export function changeLang(lang: Lang) { location.reload(); } -export default { en: EN, cn: CN, tw: TW, es: ES, it: IT }[getLang()]; +export default { en: EN, cn: CN, tw: TW, es: ES, it: IT, tr: TR }[getLang()]; diff --git a/app/locales/it.ts b/app/locales/it.ts index 70967d96..3c11e708 100644 --- a/app/locales/it.ts +++ b/app/locales/it.ts @@ -75,6 +75,7 @@ const it: LocaleType = { tw: "繁體中文", es: "Español", it: "Italiano", + tr: "Türkçe", }, }, Avatar: "Avatar", diff --git a/app/locales/tr.ts b/app/locales/tr.ts new file mode 100644 index 00000000..35478681 --- /dev/null +++ b/app/locales/tr.ts @@ -0,0 +1,177 @@ +import { SubmitKey } from "../store/app"; +import type { LocaleType } from "./index"; + +const tr: LocaleType = { + WIP: "Çalışma devam ediyor...", + Error: { + Unauthorized: + "Yetkisiz erişim, lütfen erişim kodunu ayarlar sayfasından giriniz.", + }, + ChatItem: { + ChatItemCount: (count: number) => `${count} mesaj`, + }, + Chat: { + SubTitle: (count: number) => `ChatGPT tarafından ${count} mesaj`, + Actions: { + ChatList: "Sohbet Listesine Git", + CompressedHistory: "Sıkıştırılmış Geçmiş Bellek Komutu", + Export: "Tüm Mesajları Markdown Olarak Dışa Aktar", + Copy: "Kopyala", + Stop: "Durdur", + Retry: "Tekrar Dene", + }, + Rename: "Sohbeti Yeniden Adlandır", + Typing: "Yazıyor…", + Input: (submitKey: string) => { + var inputHints = `Göndermek için ${submitKey}`; + if (submitKey === String(SubmitKey.Enter)) { + inputHints += ", kaydırmak için Shift + Enter"; + } + return inputHints + ", komutları aramak için / (eğik çizgi)"; + }, + Send: "Gönder", + }, + Export: { + Title: "Tüm Mesajlar", + Copy: "Tümünü Kopyala", + Download: "İndir", + MessageFromYou: "Sizin Mesajınız", + MessageFromChatGPT: "ChatGPT'nin Mesajı", + }, + Memory: { + Title: "Bellek Komutları", + EmptyContent: "Henüz değil.", + Send: "Belleği Gönder", + Copy: "Belleği Kopyala", + Reset: "Oturumu Sıfırla", + ResetConfirm: + "Sıfırlama, geçerli görüşme geçmişini ve geçmiş belleği siler. Sıfırlamak istediğinizden emin misiniz?", + }, + Home: { + NewChat: "Yeni Sohbet", + DeleteChat: "Seçili sohbeti silmeyi onaylıyor musunuz?", + DeleteToast: "Sohbet Silindi", + Revert: "Geri Al", + }, + Settings: { + Title: "Ayarlar", + SubTitle: "Tüm Ayarlar", + Actions: { + ClearAll: "Tüm Verileri Temizle", + ResetAll: "Tüm Ayarları Sıfırla", + Close: "Kapat", + ConfirmResetAll: { + Confirm: "Tüm ayarları sıfırlamak istediğinizden emin misiniz?", + }, + ConfirmClearAll: { + Confirm: "Tüm sohbeti sıfırlamak istediğinizden emin misiniz?", + }, + }, + Lang: { + Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` + Options: { + cn: "简体中文", + en: "English", + tw: "繁體中文", + es: "Español", + it: "Italiano", + tr: "Türkçe", + }, + }, + Avatar: "Avatar", + FontSize: { + Title: "Yazı Boyutu", + SubTitle: "Sohbet içeriğinin yazı boyutunu ayarlayın", + }, + Update: { + Version: (x: string) => `Sürüm: ${x}`, + IsLatest: "En son sürüm", + CheckUpdate: "Güncellemeyi Kontrol Et", + IsChecking: "Güncelleme kontrol ediliyor...", + FoundUpdate: (x: string) => `Yeni sürüm bulundu: ${x}`, + GoToUpdate: "Güncelle", + }, + SendKey: "Gönder Tuşu", + Theme: "Tema", + TightBorder: "Tam Ekran", + SendPreviewBubble: "Mesaj Önizleme Balonu", + Prompt: { + Disable: { + Title: "Otomatik tamamlamayı devre dışı bırak", + SubTitle: "Otomatik tamamlamayı kullanmak için / (eğik çizgi) girin", + }, + List: "Komut Listesi", + ListCount: (builtin: number, custom: number) => + `${builtin} yerleşik, ${custom} kullanıcı tanımlı`, + Edit: "Düzenle", + }, + HistoryCount: { + Title: "Ekli Mesaj Sayısı", + SubTitle: "İstek başına ekli gönderilen mesaj sayısı", + }, + CompressThreshold: { + Title: "Geçmiş Sıkıştırma Eşiği", + SubTitle: + "Sıkıştırılmamış mesajların uzunluğu bu değeri aşarsa sıkıştırılır", + }, + Token: { + Title: "API Anahtarı", + SubTitle: "Erişim kodu sınırını yoksaymak için anahtarınızı kullanın", + Placeholder: "OpenAI API Anahtarı", + }, + Usage: { + Title: "Hesap Bakiyesi", + SubTitle(used: any, total: any) { + return `Bu ay kullanılan $${used}, abonelik $${total}`; + }, + IsChecking: "Kontrol ediliyor...", + Check: "Tekrar Kontrol Et", + NoAccess: "Bakiyeyi kontrol etmek için API anahtarını girin", + }, + AccessCode: { + Title: "Erişim Kodu", + SubTitle: "Erişim kontrolü etkinleştirme", + Placeholder: "Erişim Kodu Gerekiyor", + }, + Model: "Model", + Temperature: { + Title: "Gerçeklik", + SubTitle: "Daha büyük bir değer girildiğinde gerçeklik oranı düşer ve daha rastgele çıktılar üretir", + }, + MaxTokens: { + Title: "Maksimum Belirteç", + SubTitle: "Girdi belirteçlerinin ve oluşturulan belirteçlerin maksimum uzunluğu", + }, + PresencePenlty: { + Title: "Varlık Cezası", + SubTitle: + "Daha büyük bir değer, yeni konular hakkında konuşma olasılığını artırır", + }, + }, + Store: { + DefaultTopic: "Yeni Konuşma", + BotHello: "Merhaba! Size bugün nasıl yardımcı olabilirim?", + Error: "Bir şeyler yanlış gitti. Lütfen daha sonra tekrar deneyiniz.", + Prompt: { + History: (content: string) => + "Bu, yapay zeka ile kullanıcı arasındaki sohbet geçmişinin bir özetidir: " + + content, + Topic: + "Lütfen herhangi bir giriş, noktalama işareti, tırnak işareti, nokta, sembol veya ek metin olmadan konuşmamızı özetleyen dört ila beş kelimelik bir başlık oluşturun. Çevreleyen tırnak işaretlerini kaldırın.", + Summarize: + "Gelecekteki bağlam için bir bilgi istemi olarak kullanmak üzere tartışmamızı en fazla 200 kelimeyle özetleyin.", + }, + ConfirmClearAll: "Tüm sohbet ve ayar verilerini temizlemeyi onaylıyor musunuz?", + }, + Copy: { + Success: "Panoya kopyalandı", + Failed: "Kopyalama başarısız oldu, lütfen panoya erişim izni verin", + }, + Context: { + Toast: (x: any) => `${x} bağlamsal bellek komutu`, + Edit: "Bağlamsal ve Bellek Komutları", + Add: "Yeni Ekle", + }, +}; + +export default tr; diff --git a/app/locales/tw.ts b/app/locales/tw.ts index 3861a671..89924b72 100644 --- a/app/locales/tw.ts +++ b/app/locales/tw.ts @@ -73,6 +73,7 @@ const tw: LocaleType = { tw: "繁體中文", es: "Español", it: "Italiano", + tr: "Türkçe", }, }, Avatar: "大頭貼",