From 596b6542e80c87a1526b2f7b6c4616c6222eaaa5 Mon Sep 17 00:00:00 2001 From: ki-ask Date: Wed, 5 Jul 2023 23:55:14 +0600 Subject: [PATCH] Added support for Bangla language --- app/locales/bn.ts | 265 +++++++++++++++++++++++++++------------------- 1 file changed, 158 insertions(+), 107 deletions(-) diff --git a/app/locales/bn.ts b/app/locales/bn.ts index e6d20486..5f98ba21 100644 --- a/app/locales/bn.ts +++ b/app/locales/bn.ts @@ -1,236 +1,276 @@ import { SubmitKey } from "../store/config"; -import { RequiredLocaleType } from "./index"; +import { LocaleType } from "./index"; -const bn: RequiredLocaleType = { +const bn: LocaleType = { WIP: "শীঘ্রই আসছে...", Error: { Unauthorized: - "অননুমোদিত অ্যাক্সেস, দয়া করে [অথোরিটি](/#/auth) পৃষ্ঠায় অ্যাক্সেস কোড ইনপুট করুন।", + "অননুমোদিত অ্যাক্সেস, অনুগ্রহ করে [অথোরাইজশন](/#/auth) পৃষ্ঠায় অ্যাক্সেস কোড ইনপুট করুন।", }, Auth: { - Title: "অ্যাক্সেস কোড প্রয়োজন", + Title: "একটি অ্যাক্সেস কোড প্রয়োজন", Tips: "নীচে অ্যাক্সেস কোড ইনপুট করুন", Input: "অ্যাক্সেস কোড", - Confirm: "কনফার্ম", + Confirm: "নিশ্চিত করুন", Later: "পরে", }, ChatItem: { - ChatItemCount: (count: number) => `${count} মেসেজ`, + ChatItemCount: (count: number) => `${count} টি বার্তা`, }, Chat: { - SubTitle: (count: number) => `${count} মেসেজ ChatGPT সঙ্গে`, + SubTitle: (count: number) => `${count} টি বার্তা`, Actions: { - ChatList: "চ্যাট লিস্টে যান", + ChatList: "চ্যাট তালিকায় যান", CompressedHistory: "সংক্ষিপ্ত ইতিহাস মেমোরি প্রম্পট", - Export: "সমস্ত মেসেজ মার্কডাউন হিসাবে এক্সপোর্ট করুন", - Copy: "অনুলিপি", + Export: "সমস্ত বার্তা মার্কডাউন হিসাবে রপ্তানি করুন", + Copy: "কপি", Stop: "বন্ধ করুন", Retry: "পুনরায় চেষ্টা করুন", + Pin: "পিন করুন", + PinToastContent: "পিন করা হয়েছে ২টি বার্তা প্রম্পটে", + PinToastAction: "দেখুন", Delete: "মুছে ফেলুন", + Edit: "সম্পাদন করুন", + }, + Commands: { + new: "নতুন চ্যাট শুরু করুন", + newm: "মাস্ক সহ নতুন চ্যাট শুরু করুন", + next: "পরবর্তী চ্যাট", + prev: "পূর্ববর্তী চ্যাট", + clear: "সংশ্লিষ্টতাবদ্ধকরণ পরিষ্কার করুন", + del: "চ্যাট মুছুন", }, InputActions: { Stop: "বন্ধ করুন", - ToBottom: "সর্বশেষে যান", + ToBottom: "সর্বশেষতম দিকে", Theme: { - auto: "স্বয়ংক্রিয়", + auto: "অটো", light: "হালকা থিম", dark: "ডার্ক থিম", }, - Prompt: "প্রম্পট", - Masks: "মাস্ক", - Clear: "সংকেত সাফ করুন", + Prompt: "প্রম্পটগুলিতে", + Masks: "মাস্কগুলি", + Clear: "সংশ্লিষ্টতাবদ্ধকরণ পরিষ্কার করুন", Settings: "সেটিংস", }, - Rename: "চ্যাটের নাম পরিবর্তন করুন", - Typing: "টাইপ হচ্ছে...", + Rename: "চ্যাট পুনঃনামকরণ করুন", + Typing: "টাইপিং...", Input: (submitKey: string) => { - var inputHints = `${submitKey} পাঠানোর জন্য`; + var inputHints = `${submitKey} to send`; if (submitKey === String(SubmitKey.Enter)) { - inputHints += ", ওয়ার্প করার জন্য Shift + Enter"; + inputHints += ", Shift + Enter to wrap"; } - return inputHints + ", / প্রম্পট অনুসন্ধান করতে"; + return inputHints + ", / to search prompts, : to use commands"; }, - Send: "পাঠান", + Send: "প্রেরণ করুন", Config: { - Reset: "ডিফল্টে পুনরায় সেট করুন", + Reset: "ডিফল্টে রিসেট করুন", SaveAs: "মাস্ক হিসাবে সংরক্ষণ করুন", }, }, Export: { - Title: "মেসেজ এক্সপোর্ট করুন", - Copy: "সমস্ত অনুলিপি করুন", + Title: "বার্তা রপ্তানিকরণ", + Copy: "সমস্তটি কপি করুন", Download: "ডাউনলোড করুন", - MessageFromYou: "আপনার মেসেজ", - MessageFromChatGPT: "TheChatGPT থেকে মেসেজ", - Share: "কিয়াস্ক শেয়ার এ শেয়ার করুন", + MessageFromYou: "আপনার বার্তা", + MessageFromChatGPT: "চ্যাটজিপিটির বার্তা", + Share: "শেয়ার করুন শেয়ারজিপিটি তে", Format: { - Title: "এক্সপোর্ট ফর্ম্যাট", - SubTitle: "মার্কডাউন বা পিএনজি ইমেজ", + Title: "রপ্তানি ফরম্যাট", + SubTitle: "মার্কডাউন বা পিএনজি চিত্র", }, IncludeContext: { - Title: "সংশ্লিষ্ট প্রম্পট অন্তর্ভুক্ত করুন", - SubTitle: "মাস্কে সংশ্লিষ্ট প্রম্পট নির্যাতন করুন কিনা", + Title: "মাস্ক অন্তর্ভুক্ত করুন", + SubTitle: "মাস্কগুলি সংরক্ষণ করবেন না কি", }, Steps: { Select: "নির্বাচন করুন", - Preview: "পূর্বরূপ", + Preview: "প্রিভিউ করুন", }, }, Select: { Search: "অনুসন্ধান করুন", - All: "সব নির্বাচন করুন", - Latest: "সর্বশেষ নির্বাচন করুন", - Clear: "সাফ করুন", + All: "সমস্তটি নির্বাচন করুন", + Latest: "সর্বশেষতমটি নির্বাচন করুন", + Clear: "পরিষ্কার করুন", }, Memory: { Title: "মেমোরি প্রম্পট", EmptyContent: "এখনও কিছুই নেই।", - Send: "মেমোরি পাঠান", - Copy: "মেমোরি অনুলিপি করুন", - Reset: "সেশন পুনরায় সেট করুন", + Send: "মেমোরি প্রেরণ করুন", + Copy: "মেমোরি কপি করুন", + Reset: "পুনরায় নিশ্চিত করুন", ResetConfirm: - "রিসেট করলে বর্তমান চ্যাট ইতিহাস এবং ঐতিহাসিক মেমোরি সাফ হয়ে যাবে। আপনি কি নিশ্চিত যে আপনি রিসেট করতে চান?", + "রিসেট করলে বর্তমান চ্যাট ইতিহাস এবং ঐতিহাসিক মেমোরি মুছে যাবে। পুনরায় নির্দিষ্ট করতে চান তা নিশ্চিত করতে চান?", }, Home: { NewChat: "নতুন চ্যাট", - DeleteChat: "নির্বাচিত কনভার্সেশন মুছতে নিশ্চিত করুন?", - DeleteToast: "চ্যাট মুছে ফেলা হয়েছে", - Revert: "পূর্ববর্তী অবস্থানে ফিরে যান", + DeleteChat: "নির্বাচিত সংলাপটি মুছতে নিশ্চিত করুন?", + DeleteToast: "চ্যাটটি মুছেছেন", + Revert: "পুনরায়", }, Settings: { Title: "সেটিংস", SubTitle: "সমস্ত সেটিংস", - Actions: { - ClearAll: "সমস্ত ডেটা সাফ করুন", - ResetAll: "সমস্ত সেটিংস পুনরায় সেট করুন", - Close: "বন্ধ করুন", - ConfirmResetAll: "আপনি কি নিশ্চিত যে আপনি সমস্ত কনফিগারেশন পুনরায় সেট করতে চান?", - ConfirmClearAll: "আপনি কি নিশ্চিত যে আপনি সমস্ত ডেটা পুনরায় সেট করতে চান?", + Danger: { + Reset: { + Title: "সমস্ত সেটিংস পুনঃনির্দেশ দিন", + SubTitle: "সকল সেটিংস ডিফল্টে পুনঃনির্দেশ দিতে", + Action: "পুনঃনির্দেশ দিন", + Confirm: "সমস্ত সেটিংস ডিফল্টে পুনঃনির্দেশ করতে নিশ্চিত করতে?", + }, + Clear: { + Title: "সমস্ত তথ্য মুছুন", + SubTitle: "সমস্ত বার্তা এবং সেটিংস মুছুন", + Action: "মুছুন", + Confirm: "সমস্ত বার্তা এবং সেটিংস মুছে ফেলতে নিশ্চিত করতে?", + }, }, Lang: { - Name: "Bangla", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` + Name: "বাংলা", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` All: "সমস্ত ভাষা", }, Avatar: "অবতার", FontSize: { Title: "ফন্ট সাইজ", - SubTitle: "চ্যাটের সন্তুষ্টির ফন্ট সাইজ সংযোজন করুন", + SubTitle: "চ্যাট সামগ্রীর ফন্ট সাইজ সংশোধন করুন", }, + + InputTemplate: { + Title: "ইনপুট টেমপ্লেট", + SubTitle: "নতুনতম বার্তা এই টেমপ্লেটে পূরণ হবে", + }, + Update: { - Version: (x: string) => `সংস্করণ: ${x}`, - IsLatest: "সর্বশেষ সংস্করণ", - CheckUpdate: "আপডেট চেক করুন", - IsChecking: "চেক করা হচ্ছে...", - FoundUpdate: (x: string) => `নতুন সংস্করণ পাওয়া গেছে: ${x}`, - GoToUpdate: "আপডেট করুন", + Version: (x: string) => `Version: ${x}`, + IsLatest: "Latest version", + CheckUpdate: "Check Update", + IsChecking: "Checking update...", + FoundUpdate: (x: string) => `Found new version: ${x}`, + GoToUpdate: "Update", }, - SendKey: "কী পাঠান", + SendKey: "প্রেরণ চাবি", Theme: "থিম", - TightBorder: "সঙ্গতিহীন বর্ডার", + TightBorder: "সঙ্গতি সীমা", SendPreviewBubble: { - Title: "পূর্বরূপ বুদ্ধিমান বুদ্ধি", - SubTitle: "বুড়ি মধ্যে মার্কডাউন পূর্বরূপ প্রদর্শন করুন", + Title: "প্রিভিউ বুলবুল প্রেরণ করুন", + SubTitle: "বুলবুলে মার্কডাউন প্রিভিউ করুন", }, Mask: { - Title: "মাস্ক স্প্ল্যাশ স্ক্রিন", - SubTitle: "নতুন চ্যাট শুরু করার আগে একটি মাস্ক স্প্ল্যাশ স্ক্রিন দেখান", + Splash: { + Title: "মাস্ক স্প্ল্যাশ স্ক্রিন", + SubTitle: "নতুন চ্যাট শুরু করার আগে মাস্ক স্প্ল্যাশ স্ক্রিন প্রদর্শন করুন", + }, + Builtin: { + Title: "মূলত মাস্ক গোপন করুন", + SubTitle: "মাস্ক তালিকা থেকে মূলত মাস্কগুলি লুকান", + }, }, Prompt: { Disable: { - Title: "অটো-সম্পূর্ণতা অক্ষম করুন", + Title: "অটো-সম্পূর্ণতা নিষ্ক্রিয় করুন", SubTitle: "অটো-সম্পূর্ণতা চালু করতে / ইনপুট করুন", }, List: "প্রম্পট তালিকা", ListCount: (builtin: number, custom: number) => - `${builtin} অভিন্নতম, ${custom} ব্যবহারকারী নির্ধারিত`, + `${builtin} built-in, ${custom} user-defined`, Edit: "সম্পাদন করুন", Modal: { Title: "প্রম্পট তালিকা", Add: "একটি যোগ করুন", - Search: "প্রম্পট অনুসন্ধান করুন", + Search: "সন্ধান প্রম্পট", }, EditModal: { - Title: "প্রম্পট সম্পাদনা করুন", + Title: "সম্পাদন করুন প্রম্পট", }, }, HistoryCount: { - Title: "সংযুক্ত মেসেজ সংখ্যা", - SubTitle: "প্রতি অনুরোধে প্রেরিত মেসেজের সংখ্যা", + Title: "সংযুক্ত বার্তা সংখ্যা", + SubTitle: "প্রতি অনুরোধে প্রেরণ করা গেলে প্রেরণ করা হবে", }, CompressThreshold: { - Title: "ইতিহাস সংক্ষিপ্ত করার সীমা", + Title: "ইতিহাস সঙ্কুচিত করার সীমা", SubTitle: - "যদি অসংক্ষিপ্ত মেসেজের দৈর্ঘ্য এই মানের চেয়ে বেশি হয়", + "নকুল বার্তা দৈর্ঘ্য সীমা অতিক্রান্ত হলে ঐ বার্তাটি সঙ্কুচিত হবে", }, Token: { - Title: "API কী", - SubTitle: "অ্যাক্সেস কোড সীমা উপেক্ষা করতে আপনার কী ব্যবহার করুন", - Placeholder: "অপেনএআই এপিআই কী", + Title: "অ্যাপি কী", + SubTitle: "অ্যাক্সেস কোড সীমা উপেক্ষা করতে আপনার কীটি ব্যবহার করুন", + Placeholder: "OpenAI API কী", }, Usage: { - Title: "অ্যাকাউন্ট ব্যালেন্স", + Title: "একাউন্ট ব্যালেন্স", SubTitle(used: any, total: any) { - return `মাসে ব্যবহৃত $${used}, সাবস্ক্রিপশন $${total}`; + return `এই মাসে ব্যবহৃত $${used}, সাবস্ক্রিপশন $${total}`; }, IsChecking: "চেক করা হচ্ছে...", - Check: "চেক করুন", - NoAccess: "ব্যালেন্স চেক করতে API কী প্রবেশ করুন", + Check: "চেক", + NoAccess: "ব্যালেন্স চেক করতে অ্যাপি কী ইনপুট করুন", }, AccessCode: { Title: "অ্যাক্সেস কোড", - SubTitle: "অ্যাক্সেস নিয়ন্ত্রণ সক্ষম", + SubTitle: "অ্যাক্সেস নিয়ন্ত্রণ সক্রিয়", Placeholder: "অ্যাক্সেস কোড প্রয়োজন", }, Endpoint: { - Title: "এন্ডপয়েন্ট", - SubTitle: "কাস্টম এন্ডপয়েন্ট একটি http(s):// দিয়ে শুরু হতে হবে", + Title: "ইনটারপয়েন্ট", + SubTitle: "কাস্টম এন্ডপয়েন্টটি হতে হবে http(s):// দিয়ে শুরু হতে হবে", }, Model: "মডেল", Temperature: { Title: "তাপমাত্রা", - SubTitle: "বড় মান বেশি একটি যিনির্দিষ্ট আউটপুট তৈরি করে", + SubTitle: "আরতি মান বেশি করলে বেশি এলোমেলো আউটপুট হবে", + }, + TopP: { + Title: "শীর্ষ পি", + SubTitle: "তাপমাত্রা সঙ্গে এই মান পরিবর্তন করবেন না", }, MaxTokens: { Title: "সর্বাধিক টোকেন", - SubTitle: "ইনপুট টোকেন এবং জেনারেট টোকেনের সর্বাধিক দৈর্ঘ্য", + SubTitle: "ইনপুট টোকেন এবং উৎপাদিত টোকেনের সর্বাধিক দৈর্ঘ্য", }, PresencePenalty: { Title: "উপস্থিতির জরিমানা", - SubTitle: "বড় মান নতুন বিষয় সম্পর্কে কথা বলার সম্ভাবনা বাড়ায়", + SubTitle: "আরতি মান বেশি করলে নতুন বিষয়গুলি সম্ভাব্যতা বাড়াতে পারে", + }, + FrequencyPenalty: { + Title: "ফ্রিকুয়েন্সি জরিমানা", + SubTitle: + "আরতি মান বাড়ালে একই লাইন পুনরায় ব্যাবহার করার সম্ভাবনা হ্রাস পায়", }, }, Store: { - DefaultTopic: "নতুন কনভার্সেশন", - BotHello: "হ্যালো! আমি আপনাকে কিভাবে সাহায্য করতে পারি?", - Error: "কিছু ভুল হয়েছে, দয়া করে পরে আবার চেষ্টা করুন।", + DefaultTopic: "নতুন সংলাপ", + BotHello: "হ্যালো! আজকে আপনাকে কিভাবে সাহায্য করতে পারি?", + Error: "কিছু নিয়ে ভুল হয়েছে, পরে আবার চেষ্টা করুন।", Prompt: { History: (content: string) => - "এটি একটি চ্যাট ইতিহাসের সংক্ষিপ্ত সংক্ষেপণ হিসাবে: " + content, + "এটি চ্যাট ইতিহাসের সংক্ষিপ্ত সংকলনের মতো: " + content, Topic: - "অনুগ্রহ করে আমাদের কথোপকথনটির সংক্ষেপের জন্য একটি চার থেকে পাঁচ শব্দের শিরোনাম তৈরি করুন যাতে কোনো প্রবেশদ্বার, বিরামচিহ্ন, উদ্ধৃতি চিহ্ন, পূর্ণবিরাম, প্রতীক অথবা অতিরিক্ত লেখা না থাকে। আবর্তনযোগ্য উদ্ধৃতি চিহ্ন সরান।", + "আমাদের সংলাপটির চার থেকে পাঁচ শব্দের একটি শিরোনাম তৈরি করুন যা আমাদের আলাপের সংক্ষিপ্তসার হিসাবে যোগ হবে না, যেমন অভিবৃত্তি, বিন্যাস, উদ্ধৃতি, পূর্বচালক চিহ্ন, পূর্বরোবক্তির যেকোনো চিহ্ন বা অতিরিক্ত পাঠ। মেয়াদশেষ উদ্ধৃতি চেষ্টা করুন।", Summarize: - "আসলে আলোচনাটি সংক্ষেপে সংক্ষিপ্তসারে বর্ণনা করুন, যা ভবিষ্যতে প্রম্পট হিসাবে ব্যবহার করা যাবে।", + "২০০ শব্দের লম্বা হয়ে মুহূর্তে আলোচনা সংক্ষেপের রপ্তানি করুন, যেটি ভবিষ্যতের প্রম্পট হিসাবে ব্যবহার করবেন।", }, }, Copy: { Success: "ক্লিপবোর্ডে কপি করা হয়েছে", - Failed: "কপি ব্যর্থ হয়েছে, দয়া করে ক্লিপবোর্ডে অ্যাক্সেসের অনুমতি প্রদান করুন", + Failed: "কপি ব্যর্থ, অনুমতি প্রদান করার জন্য অনুমতি প্রদান করুন", }, Context: { - Toast: (x: any) => `${x} সংযুক্তকালীন প্রম্পটসহ`, - Edit: "সংযুক্তকালীন এবং মেমোরি প্রম্পটসমূহ", + Toast: (x: any) => `With ${x} contextual prompts`, + Edit: "বর্তমান চ্যাট সেটিংস", Add: "একটি প্রম্পট যোগ করুন", - Clear: "সংকেত সাফ করুন", + Clear: "সঙ্গতি পরিস্কার করুন", Revert: "পূর্ববর্তী অবস্থানে ফিরে যান", }, Plugin: { - Name: "প্লাগিন", + Name: "প্লাগইন", }, Mask: { Name: "মাস্ক", Page: { Title: "প্রম্পট টেমপ্লেট", - SubTitle: (count: number) => `${count} প্রম্পট টেমপ্লেট`, + SubTitle: (count: number) => `${count} টি প্রম্পট টেমপ্লেট`, Search: "টেমপ্লেট অনুসন্ধান করুন", Create: "তৈরি করুন", }, @@ -244,7 +284,7 @@ const bn: RequiredLocaleType = { }, EditModal: { Title: (readonly: boolean) => - `প্রম্পট টেমপ্লেট সম্পাদনা করুন ${readonly ? "(পঠনযোগ্য)" : ""}`, + `প্রম্পট টেমপ্লেট সম্পাদন করুন ${readonly ? "(readonly)" : ""}`, Download: "ডাউনলোড করুন", Clone: "ক্লোন করুন", }, @@ -254,31 +294,42 @@ const bn: RequiredLocaleType = { Sync: { Title: "গ্লোবাল কনফিগ ব্যবহার করুন", SubTitle: "এই চ্যাটে গ্লোবাল কনফিগ ব্যবহার করুন", - Confirm: "কাস্টম কনফিগগুলি গ্লোবাল কনফিগের সাথে পরিবর্তন করতে নিশ্চিত করুন?", + Confirm: "গ্লোবাল কনফিগ দ্বারা কাস্টম কনফিগ ওভাররাইড করতে নিশ্চিত করতে?", }, HideContext: { - Title: "সংশ্লিষ্ট প্রম্পট লুকান", - SubTitle: "চ্যাটে সংশ্লিষ্ট প্রম্পট দেখান না", + Title: "সংশ্লিষ্টতা প্রম্পটগুলি লুকান", + SubTitle: "চ্যাটে সংশ্লিষ্টতা প্রম্পটগুলি দেখাবেন না", + }, + Share: { + Title: "এই মাস্কটি শেয়ার করুন", + SubTitle: "এই মাস্কের একটি লিঙ্ক তৈরি করুন", + Action: "লিঙ্ক কপি করুন", }, }, }, NewChat: { Return: "ফিরে যান", - Skip: "শুধুমাত্র শুরু করুন", - Title: "একটি মাস্ক নির্বাচন করুন", - SubTitle: "মাস্কের পিছনে মনের চ্যাট করুন", - More: "আরও খুঁজুন", - NotShow: "আর প্রদর্শন করবেন না", - ConfirmNoShow: "নিষ্ক্রিয় করতে নিশ্চিত করুন? পরে সেটিংসে এটি চালু করতে পারবেন।", + Skip: "শুরু করুন", + Title: "মাস্ক নির্বাচন করুন", + SubTitle: "মাস্কের পিছনে আত্মার সঙ্গে চ্যাট করুন", + More: "আরো খুঁজুন", + NotShow: "এখনও দেখাবেন না", + ConfirmNoShow: "নিষ্ক্রিয় করতে নিশ্চিত করুন? পরে আপনি এটি সেটিংসে সক্ষম করতে পারবেন।", }, UI: { - Confirm: "কনফার্ম", - Cancel: "বাতিল", + Confirm: "নিশ্চিত করুন", + Cancel: "বাতিল করুন", Close: "বন্ধ করুন", Create: "তৈরি করুন", Edit: "সম্পাদন করুন", }, + Exporter: { + Model: "মডেল", + Messages: "বার্তা", + Topic: "টপিক", + Time: "সময়", + }, }; export default bn; \ No newline at end of file