Browse Source

Add Bangla (বাংলা) translation and language support to wg-easy (#2112)

Bangla translation added
pull/2118/head
WebX Beyond 4 weeks ago
committed by GitHub
parent
commit
0b32ab899c
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      src/i18n/i18n.config.ts
  2. 240
      src/i18n/locales/bn.json
  3. 5
      src/nuxt.config.ts

2
src/i18n/i18n.config.ts

@ -9,6 +9,7 @@ import ko from './locales/ko.json';
import es from './locales/es.json';
import ptbr from './locales/pt-BR.json';
import tr from './locales/tr.json';
import bn from './locales/bn.json';
export default defineI18nConfig(() => ({
legacy: false,
@ -25,5 +26,6 @@ export default defineI18nConfig(() => ({
es,
'pt-BR': ptbr,
tr,
bn,
},
}));

240
src/i18n/locales/bn.json

@ -0,0 +1,240 @@
{
"pages": {
"me": "অ্যাকাউন্ট",
"clients": "ক্লায়েন্টস",
"admin": {
"panel": "অ্যাডমিন প্যানেল",
"general": "সাধারণ",
"config": "কনফিগ",
"interface": "ইন্টারফেস",
"hooks": "হুকস"
}
},
"user": {
"email": "ই-মেইল"
},
"me": {
"currentPassword": "বর্তমান পাসওয়ার্ড",
"enable2fa": "দুই স্তরের যাচাইকরণ চালু করুন",
"enable2faDesc": "আপনার অথেন্টিকেটর অ্যাপ দিয়ে QR কোড স্ক্যান করুন অথবা কীটি ম্যানুয়ালি প্রবেশ করুন।",
"2faKey": "TOTP কী",
"2faCodeDesc": "আপনার অথেন্টিকেটর অ্যাপ থেকে কোডটি প্রবেশ করুন।",
"disable2fa": "দুই স্তরের যাচাইকরণ বন্ধ করুন",
"disable2faDesc": "দুই স্তরের যাচাইকরণ বন্ধ করতে আপনার পাসওয়ার্ড দিন।"
},
"general": {
"name": "নাম",
"username": "ইউজারনেম",
"password": "পাসওয়ার্ড",
"newPassword": "নতুন পাসওয়ার্ড",
"updatePassword": "পাসওয়ার্ড আপডেট করুন",
"mtu": "MTU",
"allowedIps": "অনুমোদিত IPs",
"dns": "DNS",
"persistentKeepalive": "স্থায়ী কিপ-এলাইভ",
"logout": "লগআউট",
"continue": "চালিয়ে যান",
"host": "হোস্ট",
"port": "পোর্ট",
"yes": "হ্যাঁ",
"no": "না",
"confirmPassword": "পাসওয়ার্ড নিশ্চিত করুন",
"loading": "লোড হচ্ছে...",
"2fa": "দুই স্তরের যাচাইকরণ",
"2faCode": "TOTP কোড"
},
"setup": {
"welcome": "wg-easy এর প্রথম সেটআপে স্বাগতম",
"welcomeDesc": "আপনি WireGuard ইনস্টল ও পরিচালনার সবচেয়ে সহজ উপায় পেয়েছেন",
"existingSetup": "আপনার কি পূর্ববর্তী সেটআপ আছে?",
"createAdminDesc": "প্রথমে একটি অ্যাডমিন ইউজারনেম এবং শক্তিশালী পাসওয়ার্ড দিন। এই তথ্য অ্যাডমিন প্যানেলে লগইন করতে ব্যবহৃত হবে।",
"setupConfigDesc": "হোস্ট এবং পোর্ট তথ্য দিন। এটি ক্লায়েন্ট কনফিগারেশনের জন্য ব্যবহৃত হবে যখন WireGuard তাদের ডিভাইসে সেটআপ করা হবে।",
"setupMigrationDesc": "আপনার পূর্ববর্তী wg-easy থেকে নতুন সেটআপে ডেটা স্থানান্তর করতে চাইলে ব্যাকআপ ফাইল দিন।",
"upload": "আপলোড",
"migration": "ব্যাকআপ পুনরুদ্ধার করুন:",
"createAccount": "অ্যাকাউন্ট তৈরি করুন",
"successful": "সেটআপ সফল হয়েছে",
"hostDesc": "পাবলিক হোস্টনেম ক্লায়েন্টরা সংযোগ করবে",
"portDesc": "পাবলিক UDP পোর্ট ক্লায়েন্টরা সংযোগ করবে এবং WireGuard শুনবে"
},
"update": {
"updateAvailable": "একটি আপডেট উপলব্ধ!",
"update": "আপডেট"
},
"theme": {
"dark": "ডার্ক থিম",
"light": "লাইট থিম",
"system": "সিস্টেম থিম"
},
"layout": {
"toggleCharts": "চার্ট দেখান/লুকান",
"donate": "ডোনেট"
},
"login": {
"signIn": "সাইন ইন",
"rememberMe": "মনে রাখুন",
"rememberMeDesc": "ব্রাউজার বন্ধ করার পরেও লগইন থাকুন",
"insecure": "অনিরাপদ সংযোগে লগইন করা যাবে না। HTTPS ব্যবহার করুন।",
"2faRequired": "দুই স্তরের যাচাইকরণ প্রয়োজন",
"2faWrong": "দুই স্তরের যাচাইকরণ ভুল"
},
"client": {
"empty": "এখনো কোনো ক্লায়েন্ট নেই।",
"newShort": "নতুন",
"sort": "সাজান",
"create": "ক্লায়েন্ট তৈরি করুন",
"created": "ক্লায়েন্ট তৈরি হয়েছে",
"new": "নতুন ক্লায়েন্ট",
"name": "নাম",
"expireDate": "মেয়াদ শেষের তারিখ",
"expireDateDesc": "যেদিন ক্লায়েন্ট নিষ্ক্রিয় হবে। স্থায়ী করতে ফাঁকা রাখুন",
"deleteClient": "ক্লায়েন্ট মুছে ফেলুন",
"deleteDialog1": "আপনি কি নিশ্চিতভাবে মুছে ফেলতে চান",
"deleteDialog2": "এই কাজটি পূর্বাবস্থায় ফেরানো যাবে না।",
"enabled": "সক্রিয়",
"address": "ঠিকানা",
"serverAllowedIps": "সার্ভার অনুমোদিত IPs",
"otlDesc": "সংক্ষিপ্ত একবারের লিঙ্ক তৈরি করুন",
"permanent": "স্থায়ী",
"createdOn": "তৈরি হয়েছে",
"lastSeen": "শেষ দেখা হয়েছে",
"totalDownload": "মোট ডাউনলোড: ",
"totalUpload": "মোট আপলোড: ",
"newClient": "নতুন ক্লায়েন্ট",
"disableClient": "ক্লায়েন্ট নিষ্ক্রিয় করুন",
"enableClient": "ক্লায়েন্ট সক্রিয় করুন",
"noPrivKey": "এই ক্লায়েন্টের কোনো ব্যক্তিগত কী নেই। কনফিগারেশন তৈরি করা যাবে না।",
"showQR": "QR কোড দেখান",
"downloadConfig": "কনফিগারেশন ডাউনলোড করুন",
"allowedIpsDesc": "কোন IPs VPN এর মাধ্যমে রাউট হবে (গ্লোবাল কনফিগ ওভাররাইড করবে)",
"serverAllowedIpsDesc": "কোন IPs সার্ভার ক্লায়েন্টে রাউট করবে",
"mtuDesc": "VPN টানেলের জন্য সর্বাধিক প্যাকেট সাইজ নির্ধারণ করে",
"persistentKeepaliveDesc": "কিপ-এলাইভ প্যাকেটের জন্য ইন্টারভাল (সেকেন্ডে)। 0 হলে বন্ধ",
"hooks": "হুকস",
"hooksDescription": "হুকস শুধুমাত্র wg-quick এর সাথে কাজ করে",
"hooksLeaveEmpty": "শুধুমাত্র wg-quick এর জন্য। অন্যথায় ফাঁকা রাখুন",
"dnsDesc": "DNS সার্ভার ক্লায়েন্টরা ব্যবহার করবে (গ্লোবাল কনফিগ ওভাররাইড করবে)",
"notConnected": "ক্লায়েন্ট সংযুক্ত নয়",
"endpoint": "এন্ডপয়েন্ট",
"endpointDesc": "ক্লায়েন্টের IP যেখান থেকে WireGuard সংযোগ স্থাপন করা হয়েছে"
},
"dialog": {
"change": "পরিবর্তন করুন",
"cancel": "বাতিল করুন",
"create": "তৈরি করুন"
},
"toast": {
"success": "সফলতা",
"saved": "সংরক্ষিত",
"error": "ত্রুটি"
},
"form": {
"actions": "কর্মসমূহ",
"save": "সংরক্ষণ করুন",
"revert": "পূর্বাবস্থায় ফেরান",
"sectionGeneral": "সাধারণ",
"sectionAdvanced": "উন্নত",
"noItems": "কোনো আইটেম নেই",
"nullNoItems": "কোনো আইটেম নেই। গ্লোবাল কনফিগ ব্যবহার হচ্ছে",
"add": "যোগ করুন"
},
"admin": {
"general": {
"sessionTimeout": "সেশন টাইমআউট",
"sessionTimeoutDesc": "মনে রাখুনের জন্য সেশন সময়কাল (সেকেন্ডে)",
"metrics": "মেট্রিক্স",
"metricsPassword": "পাসওয়ার্ড",
"metricsPasswordDesc": "মেট্রিক্স এন্ডপয়েন্টের জন্য বেয়ারার পাসওয়ার্ড (পাসওয়ার্ড বা argon2 হ্যাশ)",
"json": "JSON",
"jsonDesc": "JSON ফরম্যাটে মেট্রিক্সের রুট",
"prometheus": "Prometheus",
"prometheusDesc": "Prometheus মেট্রিক্সের রুট"
},
"config": {
"connection": "সংযোগ",
"hostDesc": "পাবলিক হোস্টনেম ক্লায়েন্টরা সংযোগ করবে (কনফিগ বাতিল হবে)",
"portDesc": "পাবলিক UDP পোর্ট ক্লায়েন্টরা সংযোগ করবে (কনফিগ বাতিল হবে, আপনি সম্ভবত ইন্টারফেস পোর্টও পরিবর্তন করতে চাইবেন)",
"allowedIpsDesc": "অনুমোদিত IPs ক্লায়েন্টরা ব্যবহার করবে (গ্লোবাল কনফিগ)",
"dnsDesc": "DNS সার্ভার ক্লায়েন্টরা ব্যবহার করবে (গ্লোবাল কনফিগ)",
"mtuDesc": "MTU ক্লায়েন্টরা ব্যবহার করবে (শুধুমাত্র নতুন ক্লায়েন্টের জন্য)",
"persistentKeepaliveDesc": "সার্ভারে কিপ-এলাইভ পাঠানোর ইন্টারভাল (সেকেন্ডে)। 0 = বন্ধ (শুধুমাত্র নতুন ক্লায়েন্টের জন্য)",
"suggest": "পরামর্শ",
"suggestDesc": "হোস্ট ফিল্ডের জন্য একটি IP-ঠিকানা বা হোস্টনেম নির্বাচন করুন"
},
"interface": {
"cidrSuccess": "CIDR পরিবর্তন হয়েছে",
"device": "ডিভাইস",
"deviceDesc": "ইথারনেট ডিভাইস যার মাধ্যমে wireguard ট্রাফিক ফরওয়ার্ড হবে",
"mtuDesc": "WireGuard ব্যবহার করবে এমন MTU",
"portDesc": "UDP পোর্ট WireGuard শুনবে (আপনি সম্ভবত কনফিগ পোর্টও পরিবর্তন করতে চাইবেন)",
"changeCidr": "CIDR পরিবর্তন করুন",
"restart": "ইন্টারফেস রিস্টার্ট করুন",
"restartDesc": "WireGuard ইন্টারফেস রিস্টার্ট করুন",
"restartWarn": "আপনি কি নিশ্চিতভাবে ইন্টারফেস রিস্টার্ট করতে চান? এতে সব ক্লায়েন্ট সংযোগ বিচ্ছিন্ন হবে।",
"restartSuccess": "ইন্টারফেস রিস্টার্ট হয়েছে"
},
"introText": "অ্যাডমিন প্যানেলে স্বাগতম।\n\nএখানে আপনি সাধারণ সেটিংস, কনফিগারেশন, ইন্টারফেস সেটিংস এবং হুকস পরিচালনা করতে পারবেন।\n\nসাইডবার থেকে একটি বিভাগ নির্বাচন করে শুরু করুন।"
},
"zod": {
"generic": {
"required": "{0} আবশ্যক",
"validNumber": "{0} একটি বৈধ সংখ্যা হতে হবে",
"validString": "{0} একটি বৈধ স্ট্রিং হতে হবে",
"validBoolean": "{0} একটি বৈধ বুলিয়ান হতে হবে",
"validArray": "{0} একটি বৈধ অ্যারে হতে হবে",
"stringMin": "{0} কমপক্ষে {1} অক্ষর হতে হবে",
"numberMin": "{0} কমপক্ষে {1} হতে হবে"
},
"client": {
"id": "ক্লায়েন্ট আইডি",
"name": "নাম",
"expiresAt": "মেয়াদ শেষ",
"address4": "IPv4 ঠিকানা",
"address6": "IPv6 ঠিকানা",
"serverAllowedIps": "সার্ভার অনুমোদিত IPs"
},
"user": {
"username": "ইউজারনেম",
"password": "পাসওয়ার্ড",
"remember": "মনে রাখুন",
"name": "নাম",
"email": "ই-মেইল",
"emailInvalid": "ই-মেইল একটি বৈধ ই-মেইল হতে হবে",
"passwordMatch": "পাসওয়ার্ড মিলতে হবে",
"totpEnable": "TOTP চালু",
"totpEnableTrue": "TOTP চালু সত্য হতে হবে",
"totpCode": "TOTP কোড"
},
"userConfig": {
"host": "হোস্ট"
},
"general": {
"sessionTimeout": "সেশন টাইমআউট",
"metricsEnabled": "মেট্রিক্স",
"metricsPassword": "মেট্রিক্স পাসওয়ার্ড"
},
"interface": {
"cidr": "CIDR",
"device": "ডিভাইস",
"cidrValid": "CIDR বৈধ হতে হবে"
},
"otl": "একবারের লিঙ্ক",
"stringMalformed": "স্ট্রিং বিকৃত",
"body": "বডি একটি বৈধ অবজেক্ট হতে হবে",
"hook": "হুক",
"enabled": "সক্রিয়",
"mtu": "MTU",
"port": "পোর্ট",
"persistentKeepalive": "স্থায়ী কিপ-এলাইভ",
"address": "IP ঠিকানা",
"dns": "DNS",
"allowedIps": "অনুমোদিত IPs",
"file": "ফাইল"
},
"hooks": {
"preUp": "PreUp",
"postUp": "PostUp",
"preDown": "PreDown",
"postDown": "PostDown"
}
}

5
src/nuxt.config.ts

@ -83,6 +83,11 @@ export default defineNuxtConfig({
language: 'tr-TR',
name: 'Türkçe',
},
{
code: 'bn',
language: 'bn-BD',
name: 'বাংলা',
},
],
defaultLocale: 'en',
vueI18n: './i18n.config.ts',

Loading…
Cancel
Save