tr.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. import { SubmitKey } from "../store/config";
  2. import type { PartialLocaleType } from "./index";
  3. import { getClientConfig } from "../config/client";
  4. const isApp = !!getClientConfig()?.isApp;
  5. const tr: PartialLocaleType = {
  6. WIP: "Çalışma devam ediyor...",
  7. Error: {
  8. Unauthorized: isApp
  9. ? "Geçersiz API Anahtarı tespit edildi, lütfen API Anahtarını doğru şekilde yapılandırmak için [Ayarlar](/#/settings) sayfasına gidin."
  10. : "Erişim şifresi yanlış veya boş, lütfen doğru erişim şifresini girmek için [Giriş](/#/auth) sayfasına gidin veya kendi OpenAI API Anahtarınızı [Ayarlar](/#/settings) sayfasına girin.",
  11. },
  12. Auth: {
  13. Title: "Şifre Gerekli",
  14. Tips: "Yönetici şifre doğrulamasını etkinleştirdi, lütfen aşağıya erişim kodunu girin",
  15. SubTips: "Veya OpenAI veya Google API anahtarınızı girin",
  16. Input: "Erişim kodunu buraya girin",
  17. Confirm: "Onayla",
  18. Later: "Sonra",
  19. },
  20. ChatItem: {
  21. ChatItemCount: (count: number) => `${count} konuşma`,
  22. },
  23. Chat: {
  24. SubTitle: (count: number) => `Toplam ${count} konuşma`,
  25. EditMessage: {
  26. Title: "Mesaj Kayıtlarını Düzenle",
  27. Topic: {
  28. Title: "Sohbet Konusu",
  29. SubTitle: "Geçerli sohbet konusunu değiştir",
  30. },
  31. },
  32. Actions: {
  33. ChatList: "Mesaj listesine bak",
  34. CompressedHistory: "Sıkıştırılmış geçmişi gör",
  35. Export: "Sohbet kayıtlarını dışa aktar",
  36. Copy: "Kopyala",
  37. Stop: "Durdur",
  38. Retry: "Yeniden dene",
  39. Pin: "Sabitlenmiş",
  40. PinToastContent: "1 konuşma varsayılan ifadeye sabitlendi",
  41. PinToastAction: "Görünüm",
  42. Delete: "Sil",
  43. Edit: "Düzenle",
  44. },
  45. Commands: {
  46. new: "Yeni sohbet",
  47. newm: "Maske ile yeni sohbet oluştur",
  48. next: "Sonraki sohbet",
  49. prev: "Önceki sohbet",
  50. clear: "Konteksti temizle",
  51. del: "Sohbeti sil",
  52. },
  53. InputActions: {
  54. Stop: "Yanıtı durdur",
  55. ToBottom: "En alta git",
  56. Theme: {
  57. auto: "Otomatik tema",
  58. light: "Açık mod",
  59. dark: "Koyu mod",
  60. },
  61. Prompt: "Kısayol komutu",
  62. Masks: "Tüm maskeler",
  63. Clear: "Sohbeti temizle",
  64. Settings: "Sohbet ayarları",
  65. UploadImage: "Resim yükle",
  66. },
  67. Rename: "Sohbeti yeniden adlandır",
  68. Typing: "Yazıyor…",
  69. Input: (submitKey: string) => {
  70. var inputHints = `${submitKey} gönder`;
  71. if (submitKey === String(SubmitKey.Enter)) {
  72. inputHints += " Shift + Enter satır sonu için";
  73. }
  74. return inputHints + " / tamamlama için, : komutlar için";
  75. },
  76. Send: "Gönder",
  77. Config: {
  78. Reset: "Hafızayı temizle",
  79. SaveAs: "Maske olarak kaydet",
  80. },
  81. IsContext: "Varsayılan ifade",
  82. },
  83. Export: {
  84. Title: "Sohbet kayıtlarını paylaş",
  85. Copy: "Hepsini kopyala",
  86. Download: "Dosyayı indir",
  87. Share: "ShareGPT'ye paylaş",
  88. MessageFromYou: "Kullanıcı",
  89. MessageFromChatGPT: "ChatGPT",
  90. Format: {
  91. Title: "Dışa aktarma formatı",
  92. SubTitle: "Markdown metni veya PNG resmi olarak dışa aktarabilirsiniz",
  93. },
  94. IncludeContext: {
  95. Title: "Maske bağlamını dahil et",
  96. SubTitle: "Mesajlarda maske bağlamını göstermek ister misiniz",
  97. },
  98. Steps: {
  99. Select: "Seç",
  100. Preview: "Önizleme",
  101. },
  102. Image: {
  103. Toast: "Ekran görüntüsü oluşturuluyor",
  104. Modal: "Resmi uzun basın veya sağ tıklayın ve kaydedin",
  105. },
  106. },
  107. Select: {
  108. Search: "Mesajları ara",
  109. All: "Hepsini seç",
  110. Latest: "Son birkaç mesaj",
  111. Clear: "Seçimi temizle",
  112. },
  113. Memory: {
  114. Title: "Geçmiş Özeti",
  115. EmptyContent: "Sohbet içeriği çok kısa, özetleme gerek yok",
  116. Send: "Sohbet kayıtlarını otomatik olarak sıkıştır ve bağlam olarak gönder",
  117. Copy: "Özeti kopyala",
  118. Reset: "[kullanılmadı]",
  119. ResetConfirm: "Geçmiş özetini temizlemek istediğinize emin misiniz?",
  120. },
  121. Home: {
  122. NewChat: "Yeni sohbet",
  123. DeleteChat: "Seçilen sohbeti silmek istediğinize emin misiniz?",
  124. DeleteToast: "Sohbet silindi",
  125. Revert: "Geri al",
  126. },
  127. Settings: {
  128. Title: "Ayarlar",
  129. SubTitle: "Tüm ayar seçenekleri",
  130. Danger: {
  131. Reset: {
  132. Title: "Tüm ayarları sıfırla",
  133. SubTitle: "Tüm ayarları varsayılan değerlere sıfırla",
  134. Action: "Hemen sıfırla",
  135. Confirm: "Tüm ayarları sıfırlamak istediğinizden emin misiniz?",
  136. },
  137. Clear: {
  138. Title: "Tüm verileri temizle",
  139. SubTitle: "Tüm sohbet ve ayar verilerini temizle",
  140. Action: "Hemen temizle",
  141. Confirm:
  142. "Tüm sohbet ve ayar verilerini temizlemek istediğinizden emin misiniz?",
  143. },
  144. },
  145. Lang: {
  146. Name: "Language", // Dikkat: yeni bir çeviri eklemek isterseniz, bu değeri çevirmeyin, `Language` olarak bırakın
  147. All: "Tüm diller",
  148. },
  149. Avatar: "Profil Resmi",
  150. FontSize: {
  151. Title: "Yazı Boyutu",
  152. SubTitle: "Sohbet içeriğinin yazı boyutu",
  153. },
  154. InjectSystemPrompts: {
  155. Title: "Sistem Seviyesi İpucu Enjeksiyonu",
  156. SubTitle: "Her isteğin başına ChatGPT benzeri bir sistem ipucu ekle",
  157. },
  158. InputTemplate: {
  159. Title: "Kullanıcı Girdisi Ön İşleme",
  160. SubTitle: "Kullanıcının en son mesajı bu şablona doldurulur",
  161. },
  162. Update: {
  163. Version: (x: string) => `Mevcut sürüm: ${x}`,
  164. IsLatest: "En son sürüm",
  165. CheckUpdate: "Güncellemeleri kontrol et",
  166. IsChecking: "Güncellemeler kontrol ediliyor...",
  167. FoundUpdate: (x: string) => `Yeni sürüm bulundu: ${x}`,
  168. GoToUpdate: "Güncellemeye git",
  169. },
  170. SendKey: "Gönderme Tuşu",
  171. Theme: "Tema",
  172. TightBorder: "Sınır Yok Modu",
  173. SendPreviewBubble: {
  174. Title: "Önizleme Balonu",
  175. SubTitle: "Markdown içeriğini önizleme balonunda görüntüle",
  176. },
  177. AutoGenerateTitle: {
  178. Title: "Başlığı Otomatik Oluştur",
  179. SubTitle: "Sohbet içeriğine göre uygun başlık oluştur",
  180. },
  181. Sync: {
  182. CloudState: "Bulut Verisi",
  183. NotSyncYet: "Henüz senkronize edilmedi",
  184. Success: "Senkronizasyon başarılı",
  185. Fail: "Senkronizasyon başarısız",
  186. Config: {
  187. Modal: {
  188. Title: "Bulut Senkronizasyonu Yapılandır",
  189. Check: "Kullanılabilirliği kontrol et",
  190. },
  191. SyncType: {
  192. Title: "Senkronizasyon Türü",
  193. SubTitle: "Tercih ettiğiniz senkronizasyon sunucusunu seçin",
  194. },
  195. Proxy: {
  196. Title: "Proxy'yi Etkinleştir",
  197. SubTitle:
  198. "Tarayıcıda senkronize ederken proxy'yi etkinleştirin, aksi takdirde çapraz kaynak kısıtlamalarıyla karşılaşabilirsiniz",
  199. },
  200. ProxyUrl: {
  201. Title: "Proxy Adresi",
  202. SubTitle: "Sadece bu projeye ait çapraz kaynak proxy için",
  203. },
  204. WebDav: {
  205. Endpoint: "WebDAV Adresi",
  206. UserName: "Kullanıcı Adı",
  207. Password: "Şifre",
  208. },
  209. UpStash: {
  210. Endpoint: "UpStash Redis REST Url",
  211. UserName: "Yedekleme Adı",
  212. Password: "UpStash Redis REST Token",
  213. },
  214. },
  215. LocalState: "Yerel Veri",
  216. Overview: (overview: any) => {
  217. return `${overview.chat} konuşma, ${overview.message} mesaj, ${overview.prompt} ipucu, ${overview.mask} maske`;
  218. },
  219. ImportFailed: "İçeri aktarma başarısız",
  220. },
  221. Mask: {
  222. Splash: {
  223. Title: "Maske Başlangıç Sayfası",
  224. SubTitle:
  225. "Yeni sohbet başlatıldığında maske başlangıç sayfasını göster",
  226. },
  227. Builtin: {
  228. Title: "Yerleşik Maskeleri Gizle",
  229. SubTitle: "Tüm maskeler listesindeki yerleşik maskeleri gizle",
  230. },
  231. },
  232. Prompt: {
  233. Disable: {
  234. Title: "İpucu Tamamlamayı Devre Dışı Bırak",
  235. SubTitle:
  236. "Giriş kutusunun başına / yazarak otomatik tamamlamayı tetikle",
  237. },
  238. List: "Özelleştirilmiş İpucu Listesi",
  239. ListCount: (builtin: number, custom: number) =>
  240. `Yerleşik ${builtin} tane, kullanıcı tanımlı ${custom} tane`,
  241. Edit: "Düzenle",
  242. Modal: {
  243. Title: "İpucu Listesi",
  244. Add: "Yeni Ekle",
  245. Search: "İpucu Ara",
  246. },
  247. EditModal: {
  248. Title: "İpucu Düzenle",
  249. },
  250. },
  251. HistoryCount: {
  252. Title: "Ekli Geçmiş Mesaj Sayısı",
  253. SubTitle: "Her istekte taşınan geçmiş mesaj sayısı",
  254. },
  255. CompressThreshold: {
  256. Title: "Geçmiş Mesaj Uzunluğu Sıkıştırma Eşiği",
  257. SubTitle:
  258. "Sıkıştırılmamış geçmiş mesaj bu değeri aştığında sıkıştırma yapılır",
  259. },
  260. Usage: {
  261. Title: "Bakiye Sorgulama",
  262. SubTitle(used: any, total: any) {
  263. return `Bu ay kullanılan $${used}, toplam abonelik ücreti $${total}`;
  264. },
  265. IsChecking: "Kontrol ediliyor…",
  266. Check: "Yeniden kontrol et",
  267. NoAccess:
  268. "Bakiye görüntülemek için API Anahtarı veya erişim şifresi girin",
  269. },
  270. Access: {
  271. AccessCode: {
  272. Title: "Erişim Şifresi",
  273. SubTitle: "Yönetici şifreli erişimi etkinleştirdi",
  274. Placeholder: "Erişim şifrenizi girin",
  275. },
  276. CustomEndpoint: {
  277. Title: "Özelleştirilmiş API",
  278. SubTitle:
  279. "Özelleştirilmiş Azure veya OpenAI hizmeti kullanmak ister misiniz?",
  280. },
  281. Provider: {
  282. Title: "Model Sağlayıcısı",
  283. SubTitle: "Farklı sağlayıcılara geçiş yapın",
  284. },
  285. OpenAI: {
  286. ApiKey: {
  287. Title: "API Anahtarı",
  288. SubTitle:
  289. "Özelleştirilmiş OpenAI Anahtarı kullanarak şifreli erişim kısıtlamalarını atlayın",
  290. Placeholder: "OpenAI API Anahtarı",
  291. },
  292. Endpoint: {
  293. Title: "API Adresi",
  294. SubTitle: "Varsayılan adres dışında, http(s):// içermelidir",
  295. },
  296. },
  297. Azure: {
  298. ApiKey: {
  299. Title: "API Anahtarı",
  300. SubTitle:
  301. "Özelleştirilmiş Azure Anahtarı kullanarak şifreli erişim kısıtlamalarını atlayın",
  302. Placeholder: "Azure API Anahtarı",
  303. },
  304. Endpoint: {
  305. Title: "API Adresi",
  306. SubTitle: "Örnek:",
  307. },
  308. ApiVerion: {
  309. Title: "API Versiyonu (azure api version)",
  310. SubTitle: "Belirli bir versiyonu seçin",
  311. },
  312. },
  313. Anthropic: {
  314. ApiKey: {
  315. Title: "API Anahtarı",
  316. SubTitle:
  317. "Özelleştirilmiş Anthropic Anahtarı kullanarak şifreli erişim kısıtlamalarını atlayın",
  318. Placeholder: "Anthropic API Anahtarı",
  319. },
  320. Endpoint: {
  321. Title: "API Adresi",
  322. SubTitle: "Örnek:",
  323. },
  324. ApiVerion: {
  325. Title: "API Versiyonu (claude api version)",
  326. SubTitle: "Belirli bir API versiyonunu seçin",
  327. },
  328. },
  329. Google: {
  330. ApiKey: {
  331. Title: "API Anahtarı",
  332. SubTitle: "Google AI'den API Anahtarınızı alın",
  333. Placeholder: "Google AI Studio API Anahtarınızı girin",
  334. },
  335. Endpoint: {
  336. Title: "Uç Nokta Adresi",
  337. SubTitle: "Örnek:",
  338. },
  339. ApiVersion: {
  340. Title: "API Versiyonu (sadece gemini-pro)",
  341. SubTitle: "Belirli bir API versiyonunu seçin",
  342. },
  343. GoogleSafetySettings: {
  344. Title: "Google Güvenlik Filtreleme Seviyesi",
  345. SubTitle: "İçerik filtreleme seviyesini ayarlayın",
  346. },
  347. },
  348. Baidu: {
  349. ApiKey: {
  350. Title: "API Anahtarı",
  351. SubTitle: "Özelleştirilmiş Baidu API Anahtarı kullanın",
  352. Placeholder: "Baidu API Anahtarı",
  353. },
  354. SecretKey: {
  355. Title: "Secret Anahtarı",
  356. SubTitle: "Özelleştirilmiş Baidu Secret Anahtarı kullanın",
  357. Placeholder: "Baidu Secret Anahtarı",
  358. },
  359. Endpoint: {
  360. Title: "API Adresi",
  361. SubTitle: "Özelleştirilmiş yapılandırma için .env'ye gidin",
  362. },
  363. },
  364. ByteDance: {
  365. ApiKey: {
  366. Title: "API Anahtarı",
  367. SubTitle: "Özelleştirilmiş ByteDance API Anahtarı kullanın",
  368. Placeholder: "ByteDance API Anahtarı",
  369. },
  370. Endpoint: {
  371. Title: "API Adresi",
  372. SubTitle: "Örnek:",
  373. },
  374. },
  375. Alibaba: {
  376. ApiKey: {
  377. Title: "API Anahtarı",
  378. SubTitle: "Özelleştirilmiş Alibaba Cloud API Anahtarı kullanın",
  379. Placeholder: "Alibaba Cloud API Anahtarı",
  380. },
  381. Endpoint: {
  382. Title: "API Adresi",
  383. SubTitle: "Örnek:",
  384. },
  385. },
  386. CustomModel: {
  387. Title: "Özelleştirilmiş Model Adı",
  388. SubTitle:
  389. "Özelleştirilmiş model seçenekleri ekleyin, İngilizce virgül ile ayırın",
  390. },
  391. },
  392. Model: "Model (model)",
  393. Temperature: {
  394. Title: "Rastgelelik (temperature)",
  395. SubTitle: "Değer arttıkça yanıt daha rastgele olur",
  396. },
  397. TopP: {
  398. Title: "Nükleer Örnekleme (top_p)",
  399. SubTitle:
  400. "Rastgeleliğe benzer, ancak rastgelelik ile birlikte değiştirmeyin",
  401. },
  402. MaxTokens: {
  403. Title: "Tek Yanıt Limiti (max_tokens)",
  404. SubTitle: "Tek etkileşimde kullanılan maksimum Token sayısı",
  405. },
  406. PresencePenalty: {
  407. Title: "Konu Tazeliği (presence_penalty)",
  408. SubTitle: "Değer arttıkça, yeni konulara geçiş olasılığı artar",
  409. },
  410. FrequencyPenalty: {
  411. Title: "Frekans Cezası (frequency_penalty)",
  412. SubTitle:
  413. "Değer arttıkça, tekrar eden kelimelerin azalması olasılığı artar",
  414. },
  415. },
  416. Store: {
  417. DefaultTopic: "Yeni Sohbet",
  418. BotHello: "Size nasıl yardımcı olabilirim?",
  419. Error: "Bir hata oluştu, lütfen daha sonra tekrar deneyin",
  420. Prompt: {
  421. History: (content: string) => "Bu, geçmiş sohbetin özeti: " + content,
  422. Topic:
  423. "Bu cümlenin dört ila beş kelimelik kısa başlığını doğrudan verin, açıklama yapmayın, noktalama işareti, duygu kelimesi veya fazla metin eklemeyin, kalın yapmayın. Başlık yoksa, doğrudan 'Sohbet' yanıtını verin.",
  424. Summarize:
  425. "Sohbet içeriğini kısaca özetleyin, bu özet sonraki bağlam ipucu olarak kullanılacaktır, 200 kelime içinde tutun",
  426. },
  427. },
  428. Copy: {
  429. Success: "Panoya yazıldı",
  430. Failed: "Kopyalama başarısız, lütfen panoya erişim izni verin",
  431. },
  432. Download: {
  433. Success: "İçerik dizininize indirildi.",
  434. Failed: "İndirme başarısız.",
  435. },
  436. Context: {
  437. Toast: (x: any) => `${x} tane önceden tanımlı ipucu içeriyor`,
  438. Edit: "Mevcut sohbet ayarları",
  439. Add: "Yeni bir sohbet ekle",
  440. Clear: "Bağlam temizlendi",
  441. Revert: "Bağlamı geri getir",
  442. },
  443. Plugin: {
  444. Name: "Eklenti",
  445. },
  446. FineTuned: {
  447. Sysmessage: "Sen bir asistansın",
  448. },
  449. Mask: {
  450. Name: "Maske",
  451. Page: {
  452. Title: "Önceden Tanımlı Karakter Maskeleri",
  453. SubTitle: (count: number) =>
  454. `${count} tane önceden tanımlı karakter tanımı`,
  455. Search: "Karakter maskesi ara",
  456. Create: "Yeni oluştur",
  457. },
  458. Item: {
  459. Info: (count: number) => `${count} tane önceden tanımlı sohbet içeriyor`,
  460. Chat: "Sohbet",
  461. View: "Görüntüle",
  462. Edit: "Düzenle",
  463. Delete: "Sil",
  464. DeleteConfirm: "Silmek istediğinizden emin misiniz?",
  465. },
  466. EditModal: {
  467. Title: (readonly: boolean) =>
  468. `Önceden Tanımlı Maskeyi Düzenle ${readonly ? " (Salt Okunur)" : ""}`,
  469. Download: "Önceden Tanımlı Maskeyi İndir",
  470. Clone: "Önceden Tanımlı Maskeyi Kopyala",
  471. },
  472. Config: {
  473. Avatar: "Karakter Profil Resmi",
  474. Name: "Karakter Adı",
  475. Sync: {
  476. Title: "Küresel Ayarları Kullan",
  477. SubTitle: "Mevcut sohbet küresel model ayarlarını mı kullanacak?",
  478. Confirm:
  479. "Mevcut sohbetin özelleştirilmiş ayarları otomatik olarak üzerine yazılacaktır, küresel ayarları etkinleştirmek istediğinizden emin misiniz?",
  480. },
  481. HideContext: {
  482. Title: "Önceden Tanımlı Sohbetleri Gizle",
  483. SubTitle:
  484. "Gizlendiğinde, önceden tanımlı sohbetler sohbet ekranında görünmeyecek",
  485. },
  486. Share: {
  487. Title: "Bu Maskeyi Paylaş",
  488. SubTitle: "Bu maskenin doğrudan bağlantısını oluştur",
  489. Action: "Bağlantıyı Kopyala",
  490. },
  491. },
  492. },
  493. NewChat: {
  494. Return: "Geri dön",
  495. Skip: "Doğrudan başla",
  496. NotShow: "Bir daha gösterme",
  497. ConfirmNoShow:
  498. "Devre dışı bırakmak istediğinizden emin misiniz? Devre dışı bıraktıktan sonra ayarlardan tekrar etkinleştirebilirsiniz.",
  499. Title: "Bir Maske Seçin",
  500. SubTitle:
  501. "Şimdi başlayın ve maskenin arkasındaki zihinle etkileşimde bulunun",
  502. More: "Tümünü Gör",
  503. },
  504. URLCommand: {
  505. Code: "Bağlantıda erişim kodu bulundu, otomatik olarak doldurulsun mu?",
  506. Settings:
  507. "Bağlantıda önceden tanımlı ayarlar bulundu, otomatik olarak doldurulsun mu?",
  508. },
  509. UI: {
  510. Confirm: "Onayla",
  511. Cancel: "İptal et",
  512. Close: "Kapat",
  513. Create: "Yeni oluştur",
  514. Edit: "Düzenle",
  515. Export: "Dışa Aktar",
  516. Import: "İçe Aktar",
  517. Sync: "Senkronize et",
  518. Config: "Yapılandır",
  519. },
  520. Exporter: {
  521. Description: {
  522. Title: "Sadece bağlam temizlendikten sonraki mesajlar gösterilecektir",
  523. },
  524. Model: "Model",
  525. Messages: "Mesajlar",
  526. Topic: "Konu",
  527. Time: "Zaman",
  528. },
  529. };
  530. export default tr;