diff --git a/public/locales/ja/about.json b/public/locales/ja/about.json new file mode 100644 index 0000000..8ac06ef --- /dev/null +++ b/public/locales/ja/about.json @@ -0,0 +1,27 @@ +{ + "description": "Better ChatGPTは、OpenAIのChatGPT APIを無料でお試しいただける素晴らしいオープンソースのWebアプリです!", + "sourceCode": "GitHubで<0>ソースコードをチェックして、⭐️を付けてください!", + "initiative": { + "description": "<0>Open ChatGPTイニシアチブをチェックしてください!", + "link": "https://medium.com/@ayaka_45434/the-open-chatgpt-initiative-e76b0b62a3ae" + }, + "support": { + "title": "サポート", + "paragraph1": "Better ChatGPTでは、お客様に24時間365日、便利で素晴らしい機能を提供することを目指しています。そして、どんなプロジェクトでも、皆様からのサポートと励ましが、私たちが前進し続ける原動力となります!", + "paragraph2": "アプリをお楽しみいただけた場合は、この<0>プロジェクトに⭐️を付けていただけると嬉しいです。皆様からの応援が私たちの励みとなり、より良い体験を提供するために努力する原動力となります。", + "paragraph3": "チームをサポートしたい場合は、以下の方法でスポンサーになっていただくことを検討してください。どんなに小さな寄付でも、サービスの維持・向上に役立ちます。", + "paragraph4": "私たちのコミュニティの一員であることに感謝し、今後もより良いサービスを提供していくことを楽しみにしています。", + "alipay": "Alipay", + "wechatPay": "WeChat" + }, + "discordServer": { + "title": "Discordサーバー", + "paragraph1": "Discordコミュニティへのご参加をお待ちしております!Discordサーバーでは、ChatGPTに関するアイデアやヒントの交換、Better ChatGPTの機能リクエストの提出などができます。Better ChatGPTの開発者や、同じAIに情熱を持つ他のエンスージアストと交流する機会もあります。", + "paragraph2": "サーバーに参加するには、次のリンクをクリックしてください:<0>https://discord.gg/g3Qnwy4V6A。お待ちしております!" + }, + "privacyStatement": { + "title": "プライバシーに関する声明", + "paragraph1": "私たちは皆様のプライバシーを非常に重要視し、ユーザーのプライバシーを保護することに力を入れています。OpenAIサーバーから入力または受信したテキストは一切収集・保存していません。この声明の確認のために、ソースコードを公開しています。", + "paragraph2": "皆様のAPIキーのセキュリティを最優先にし、最大限の注意を払って取り扱っています。独自のAPIキーを使用する場合、キーはブラウザ上でのみ保存され、第三者とは一切共有されません。キーはOpenAI APIにアクセスする目的でのみ使用され、他の無許可の使用には利用されません。" + } +} diff --git a/public/locales/ja/api.json b/public/locales/ja/api.json new file mode 100644 index 0000000..9ca0737 --- /dev/null +++ b/public/locales/ja/api.json @@ -0,0 +1,18 @@ +{ + "securityMessage": "APIキーのセキュリティを最優先し、細心の注意を払って取り扱っています。キーはお客様のブラウザにのみ保存され、第三者とは一切共有されません。OpenAI APIにアクセスする目的でのみ使用され、他の不正な目的で使用されることはありません。", + "apiEndpoint": { + "option": "無料で利用する", + "inputLabel": "APIエンドポイント", + "description": "<0>アヤカさんによって提供された無料のAPIエンドポイントに感謝します:https://chatgpt-api.shn.hk/v1/", + "note": "無料エンドポイントの利用可能期間は無期限ではないことにご注意ください。資金が限られているため、いずれ枯渇します。独自のAPIキーを持つユーザーは、BetterChatGPTを中断することなく引き続き利用できます。" + }, + "apiKey": { + "option": "独自のAPIキーを使用する", + "howTo": "個人用APIキーは<0>こちらで取得できます", + "inputLabel": "APIキー" + }, + "customEndpoint": "カスタムAPIエンドポイントを使用する", + "shareGPT": "<0>ShareGPTをチェックしてください。これは、https://sharegpt.churchless.tech/share/v1/chat を駆動するAPIキーシェアリングツールです。", + "advancedConfig": "詳細なAPI設定は<0>こちらで表示できます。", + "noApiKeyWarning": "APIキーが入力されていません!API設定を確認してください。" +} diff --git a/public/locales/ja/main.json b/public/locales/ja/main.json new file mode 100644 index 0000000..3caa45f --- /dev/null +++ b/public/locales/ja/main.json @@ -0,0 +1,36 @@ +{ + "save": "保存", + "saveAndSubmit": "保存して送信", + "cancel": "キャンセル", + "confirm": "確認", + "warning": "警告", + "clearMessageWarning": "このメッセージを送信すると、以降のメッセージがすべて削除されることに注意してください!", + "clearConversationWarning": "この操作を確認すると、すべてのメッセージが削除されることに注意してください!", + "clearConversation": "会話をクリア", + "import": "インポート", + "export": "エクスポート", + "author": "Jing Hua制作", + "about": "概要 & スポンサー", + "api": "API", + "personal": "個人", + "free": "無料", + "downloadChat": "チャットをダウンロード", + "user": "ユーザー", + "assistant": "アシスタント", + "system": "システム", + "newChat": "新しいチャット", + "lightMode": "ライトモード", + "darkMode": "ダークモード", + "setting": "設定", + "image": "画像", + "autoTitle": "タイトルを自動生成", + "prompt": "プロンプト", + "promptLibrary": "プロンプトライブラリ", + "name": "名前", + "search": "検索", + "morePrompts": "ここでさらにプロンプトを見つけることができます:", + "postOnShareGPT": { + "title": "ShareGPTに投稿", + "warning": "ShareGPTに会話を投稿すると、誰でもアクセスして閲覧できるようになることに注意してください。一度投稿すると、会話は非表示にできず、削除もできません。また、他の人がアーカイブや共有する可能性があります。このプラットフォームで機密性のある情報や個人情報を共有しないように注意してください。" + } +} diff --git a/public/locales/ja/model.json b/public/locales/ja/model.json new file mode 100644 index 0000000..69e7743 --- /dev/null +++ b/public/locales/ja/model.json @@ -0,0 +1,28 @@ +{ + "configuration": "設定", + "model": "モデル", + "token": { + "label": "最大トークン数", + "description": "チャット完了時に生成するトークンの最大数。入力トークンと生成されたトークンの合計長は、モデルのコンテキスト長で制限されます。" + }, + "default": "デフォルト", + "temperature": { + "label": "温度", + "description": "使用するサンプリング温度。0から2までの間で指定します。0.8などの高い値は、出力をよりランダムにします。一方、0.2などの低い値は、より焦点を絞って決定論的にします。通常、これまたはtop pを変更することをお勧めしますが、両方を変更しないでください。(デフォルト:1)" + }, + "presencePenalty": { + "label": "存在ペナルティ", + "description": "-2.0から2.0までの数値。正の値は、新しいトークンがテキストに現れるかどうかに基づいて新しいトピックについて話すモデルの可能性を高めるため、新しいトークンにペナルティを課します。(デフォルト:0)" + }, + "topP": { + "label": "トップp", + "description": "0から1の数値。温度を使ったサンプリングの代わりに、モデルはトップp確率質量を持つトークンの結果を考慮する核サンプリングと呼ばれる手法を使用します。つまり、0.1は確率質量の上位10%を占めるトークンのみが考慮されます。通常、これまたは温度のどちらか一方を変更することをお勧めします。(デフォルト:1)" + }, + "frequencyPenalty": { + "label": "頻度ペナルティ", + "description": "-2.0から2.0の数値。正の値は、テキスト内での新しいトークンの既存の頻度に基づいて新しいトークンにペナルティを課し、同じ行をそのまま繰り返す可能性を減らします。(デフォルト:0)" + }, + "defaultChatConfig": "デフォルトチャット設定", + "defaultSystemMessage": "デフォルトシステムメッセージ", + "resetToDefault": "デフォルトにリセット" +} diff --git a/public/locales/ms/about.json b/public/locales/ms/about.json new file mode 100644 index 0000000..9941191 --- /dev/null +++ b/public/locales/ms/about.json @@ -0,0 +1,27 @@ +{ + "description": "Better ChatGPT merupakan aplikasi web sumber terbuka yang menakjubkan yang membolehkan anda bermain dengan API ChatGPT OpenAI secara percuma!", + "sourceCode": "Lihat <0>kod sumber di GitHub dan beri ia ⭐️!", + "initiative": { + "description": "Lihat <0>Inisiatif ChatGPT Terbuka!", + "link": "https://medium.com/@ayaka_45434/the-open-chatgpt-initiative-e76b0b62a3ae" + }, + "support": { + "title": "Sokongan", + "paragraph1": "Di Better ChatGPT, kami berusaha untuk menyediakan anda dengan ciri-ciri berguna dan menakjubkan sepanjang masa. Dan seperti mana-mana projek, sokongan dan motivasi anda akan membantu kami untuk terus maju!", + "paragraph2": "Jika anda menikmati penggunaan aplikasi kami, kami dengan rendah hati meminta anda memberi <0>projek ini ⭐️. Dukungan anda sangat bermakna kepada kami dan mendorong kami untuk bekerja lebih keras dalam menyediakan pengalaman terbaik.", + "paragraph3": "Jika anda ingin menyokong pasukan kami, pertimbangkan untuk menaja kami melalui salah satu kaedah di bawah. Setiap sumbangan, tidak kira seberapa kecil, membantu kami untuk mengekalkan dan meningkatkan perkhidmatan kami.", + "paragraph4": "Terima kasih kerana menjadi sebahagian daripada komuniti kami, dan kami tidak sabar untuk melayani anda dengan lebih baik pada masa hadapan.", + "alipay": "Alipay", + "wechatPay": "WeChat" + }, + "discordServer": { + "title": "Server Discord", + "paragraph1": "Kami menjemput anda untuk menyertai komuniti Discord kami! Server Discord kami adalah tempat yang hebat untuk bertukar idea dan petua ChatGPT, serta mengemukakan permintaan ciri untuk Better ChatGPT. Anda akan berpeluang berinteraksi dengan para pembangun di sebalik Better ChatGPT serta peminat AI lain yang berkongsi minat anda.", + "paragraph2": "Untuk menyertai server kami, hanya klik pautan berikut: <0>https://discord.gg/g3Qnwy4V6A. Kami tidak sabar untuk melihat anda di sana!" + }, + "privacyStatement": { + "title": "Kenyataan Privasi", + "paragraph1": "Kami sangat menghargai privasi anda dan komited untuk melindungi privasi pengguna kami. Kami tidak mengumpul atau menyimpan teks yang anda masukkan atau terima dari pelayan OpenAI dalam bentuk apa pun. Kod sumber kami boleh diakses untuk pemeriksaan anda bagi mengesahkan kenyataan ini.", + "paragraph2": "Kami mengutamakan keselamatan kunci API anda dan mengendalikannya dengan penuh berhati-hati. Jika anda menggunakan kunci API anda sendiri, kunci tersebut hanya disimpan di pelayar anda dan tidak dikongsi dengan mana-mana entiti pihak ketiga. Ia hanya digunakan untuk tujuan yang dimaksudkan, iaitu mengakses API OpenAI dan bukan untuk penggunaan yang tidak sah." + } +} diff --git a/public/locales/ms/api.json b/public/locales/ms/api.json new file mode 100644 index 0000000..88eef36 --- /dev/null +++ b/public/locales/ms/api.json @@ -0,0 +1,18 @@ +{ + "securityMessage": "Kami mengutamakan keselamatan kunci API anda dan mengendalikannya dengan penuh berhati-hati. Kunci anda disimpan secara eksklusif di pelayar anda dan tidak pernah dikongsi dengan mana-mana entiti pihak ketiga. Ia hanya digunakan untuk tujuan yang dimaksudkan untuk mengakses API OpenAI dan bukan untuk penggunaan yang tidak sah.", + "apiEndpoint": { + "option": "Guna secara percuma", + "inputLabel": "Hujung API", + "description": "Terima kasih kepada <0>Ayaka kerana menyediakan hujung API percuma: https://chatgpt-api.shn.hk/v1/", + "note": "Sila ambil perhatian bahawa ketersediaan hujung API percuma ini tidak kekal, kerana pembiayaannya terhad dan akhirnya akan habis. Pengguna dengan kunci API mereka sendiri boleh terus menggunakan BetterChatGPT tanpa gangguan." + }, + "apiKey": { + "option": "Gunakan kunci API anda sendiri", + "howTo": "Dapatkan kunci API peribadi anda <0>di sini", + "inputLabel": "Kunci API" + }, + "customEndpoint": "Gunakan hujung API tersuai", + "shareGPT": "Lihat <0>ShareGPT, alat perkongsian kunci API yang membolehkan https://sharegpt.churchless.tech/share/v1/chat", + "advancedConfig": "Lihat konfigurasi API lanjutan <0>di sini", + "noApiKeyWarning": "Tiada kunci API yang dibekalkan! Sila periksa tetapan API anda." +} diff --git a/public/locales/ms/main.json b/public/locales/ms/main.json new file mode 100644 index 0000000..09b7b28 --- /dev/null +++ b/public/locales/ms/main.json @@ -0,0 +1,36 @@ +{ + "save": "Simpan", + "saveAndSubmit": "Simpan & Hantar", + "cancel": "Batal", + "confirm": "Sahkan", + "warning": "Amaran", + "clearMessageWarning": "Sila ambil perhatian bahawa dengan menghantar mesej ini, semua mesej seterusnya akan dipadam!", + "clearConversationWarning": "Sila ambil perhatian bahawa dengan mengesahkan tindakan ini, semua mesej akan dipadam!", + "clearConversation": "Padam Perbualan", + "import": "Import", + "export": "Eksport", + "author": "Dibuat oleh Jing Hua", + "about": "Mengenai & Penaja", + "api": "API", + "personal": "Peribadi", + "free": "Percuma", + "downloadChat": "Muat Turun Perbualan", + "user": "Pengguna", + "assistant": "Pembantu", + "system": "Sistem", + "newChat": "Perbualan Baru", + "lightMode": "Mod Terang", + "darkMode": "Mod Gelap", + "setting": "Tetapan", + "image": "Imej", + "autoTitle": "Jana tajuk secara automatik", + "prompt": "Arahan", + "promptLibrary": "Pustaka Arahan", + "name": "Nama", + "search": "Cari", + "morePrompts": "Anda boleh mencari lebih banyak arahan di sini: ", + "postOnShareGPT": { + "title": "Siarkan di ShareGPT", + "warning": "Sila ambil perhatian bahawa dengan menyiarkan perbualan anda di ShareGPT, ia akan menjadi boleh diakses dan dilihat oleh sesiapa sahaja. Setelah disiarkan, perbualan tidak boleh disembunyikan atau dipadam, dan mungkin diarkibkan atau dikongsi oleh orang lain. Kami menasihatkan anda untuk mempertimbangkan dengan teliti dan mengelakkan berkongsi maklumat sensitif atau peribadi di platform ini." + } +} diff --git a/public/locales/ms/model.json b/public/locales/ms/model.json new file mode 100644 index 0000000..cb163da --- /dev/null +++ b/public/locales/ms/model.json @@ -0,0 +1,28 @@ +{ + "configuration": "Konfigurasi", + "model": "Model", + "token": { + "label": "Token Maksimum", + "description": "Jumlah token maksimum untuk dijana dalam lengkapan sembang. Panjang keseluruhan token input dan token yang dijana adalah terhad oleh panjang konteks model." + }, + "default": "Lalai", + "temperature": { + "label": "Suhu", + "description": "Suhu pensampelan yang digunakan, antara 0 dan 2. Nilai yang lebih tinggi seperti 0.8 akan menjadikan keluaran lebih rawak, manakala nilai yang lebih rendah seperti 0.2 akan menjadikannya lebih terarah dan deterministik. Kami secara umumnya mengesyorkan mengubah ini atau atas p tetapi bukan kedua-duanya. (Lalai: 1)" + }, + "presencePenalty": { + "label": "Hukuman Kehadiran", + "description": "Nombor antara -2.0 dan 2.0. Nilai positif menghukum token baru berdasarkan sama ada mereka muncul dalam teks sejauh ini, meningkatkan kemungkinan model untuk bercakap mengenai topik baru. (Lalai: 0)" + }, + "topP": { + "label": "Top-p", + "description": "Nombor antara 0 dan 1. Alternatif kepada pensampelan dengan suhu, dipanggil pensampelan nukleus, di mana model mempertimbangkan hasil token dengan jisim kebarangkalian top p. Jadi 0.1 bermaksud hanya token yang terdiri daripada 10% jisim kebarangkalian teratas dipertimbangkan. Secara umumnya, kami mengesyorkan untuk mengubah suhu atau nilai paling atas tetapi bukan kedua-duanya. (Lalai: 1)" + }, + "frequencyPenalty": { + "label": "Penalti Frekuensi", + "description": "Nombor antara -2.0 dan 2.0. Nilai positif memberi hukuman kepada token baru berdasarkan frekuensi sedia ada mereka dalam teks sejauh ini, mengurangkan kebarangkalian model untuk mengulangi baris yang sama secara harfiah. (Lalai: 0)" + }, + "defaultChatConfig": "Konfigurasi Cakap Lalai", + "defaultSystemMessage": "Mesej Sistem Lalai", + "resetToDefault": "Set Semula ke Lalai" +} diff --git a/src/i18n.ts b/src/i18n.ts index c4aade5..ad735da 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -5,9 +5,12 @@ import Backend from 'i18next-http-backend'; import LanguageDetector from 'i18next-browser-languagedetector'; export const i18nLanguages = [ + 'ar', 'da', 'en', 'es', + 'ja', + 'ms', 'nb', 'sv', 'zh-CN',