forked from XiaoMo/ChatGPT-Next-Web
Merge pull request #679 from muhammetdemirel/main
Added new language, Turkish.
This commit is contained in:
commit
ec985f6a1d
@ -72,6 +72,7 @@ const cn = {
|
|||||||
tw: "繁體中文",
|
tw: "繁體中文",
|
||||||
es: "Español",
|
es: "Español",
|
||||||
it: "Italiano",
|
it: "Italiano",
|
||||||
|
tr: "Türkçe",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Avatar: "头像",
|
Avatar: "头像",
|
||||||
|
@ -75,6 +75,7 @@ const en: LocaleType = {
|
|||||||
tw: "繁體中文",
|
tw: "繁體中文",
|
||||||
es: "Español",
|
es: "Español",
|
||||||
it: "Italiano",
|
it: "Italiano",
|
||||||
|
tr: "Türkçe",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Avatar: "Avatar",
|
Avatar: "Avatar",
|
||||||
|
@ -75,6 +75,7 @@ const es: LocaleType = {
|
|||||||
tw: "繁體中文",
|
tw: "繁體中文",
|
||||||
es: "Español",
|
es: "Español",
|
||||||
it: "Italiano",
|
it: "Italiano",
|
||||||
|
tr: "Türkçe",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Avatar: "Avatar",
|
Avatar: "Avatar",
|
||||||
|
@ -3,10 +3,11 @@ import EN from "./en";
|
|||||||
import TW from "./tw";
|
import TW from "./tw";
|
||||||
import ES from "./es";
|
import ES from "./es";
|
||||||
import IT from "./it";
|
import IT from "./it";
|
||||||
|
import TR from "./tr";
|
||||||
|
|
||||||
export type { LocaleType } from "./cn";
|
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];
|
type Lang = (typeof AllLangs)[number];
|
||||||
|
|
||||||
const LANG_KEY = "lang";
|
const LANG_KEY = "lang";
|
||||||
@ -50,6 +51,8 @@ export function getLang(): Lang {
|
|||||||
return "es";
|
return "es";
|
||||||
} else if (lang.includes("it")) {
|
} else if (lang.includes("it")) {
|
||||||
return "it";
|
return "it";
|
||||||
|
} else if (lang.includes("tr")) {
|
||||||
|
return "tr";
|
||||||
} else {
|
} else {
|
||||||
return "en";
|
return "en";
|
||||||
}
|
}
|
||||||
@ -60,4 +63,4 @@ export function changeLang(lang: Lang) {
|
|||||||
location.reload();
|
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()];
|
||||||
|
@ -75,6 +75,7 @@ const it: LocaleType = {
|
|||||||
tw: "繁體中文",
|
tw: "繁體中文",
|
||||||
es: "Español",
|
es: "Español",
|
||||||
it: "Italiano",
|
it: "Italiano",
|
||||||
|
tr: "Türkçe",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Avatar: "Avatar",
|
Avatar: "Avatar",
|
||||||
|
177
app/locales/tr.ts
Normal file
177
app/locales/tr.ts
Normal file
@ -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;
|
@ -73,6 +73,7 @@ const tw: LocaleType = {
|
|||||||
tw: "繁體中文",
|
tw: "繁體中文",
|
||||||
es: "Español",
|
es: "Español",
|
||||||
it: "Italiano",
|
it: "Italiano",
|
||||||
|
tr: "Türkçe",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Avatar: "大頭貼",
|
Avatar: "大頭貼",
|
||||||
|
Loading…
Reference in New Issue
Block a user