Skip to content

Commit

Permalink
feat(i18n): add bn translation
Browse files Browse the repository at this point in the history
  • Loading branch information
heysagnik authored Oct 20, 2023
1 parent 720e2f2 commit 0bf47a5
Show file tree
Hide file tree
Showing 5 changed files with 144 additions and 3 deletions.
6 changes: 4 additions & 2 deletions frontend/elements/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,7 @@ Markup:

Translations are currently available for the following languages:

- "bn" - Bengali
- "de" - German
- "en" - English
- "fr" - French
Expand All @@ -580,11 +581,12 @@ You can import them individually:
// "https://cdn.jsdelivr.net/npm/@teamhanko/hanko-elements/dist/i18n/{en|de|all|...}.js"
// if you're using CDN.

import { bn } from "@teamhanko/hanko-elements/i18n/bn";
import { de } from "@teamhanko/hanko-elements/i18n/de";
import { en } from "@teamhanko/hanko-elements/i18n/en";
import { fr } from "@teamhanko/hanko-elements/i18n/fr";
import { zh } from "@teamhanko/hanko-elements/i18n/zh";
import { ptBR } from "@teamhanko/hanko-elements/i18n/pt-BR";
import { zh } from "@teamhanko/hanko-elements/i18n/zh";
```

Or import all translations at once:
Expand All @@ -596,7 +598,7 @@ import { all } from "@teamhanko/hanko-elements/i18n/all";
After importing, provide the translations through the `register()` function:

```typescript
register("https://hanko.yourdomain.com", { translations: { de, en, fr, ptBR, zh } });
register("https://hanko.yourdomain.com", { translations: { bn, de, en, fr, ptBR, zh } });

// or

Expand Down
8 changes: 8 additions & 0 deletions frontend/elements/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
"i18n/zh": [
"dist/i18n/zh.d.ts"
],
"i18n/bn":[
"dist/i18n/bn.d.ts"
],
"i18n/all": [
"dist/i18n/all.d.ts"
]
Expand Down Expand Up @@ -68,6 +71,11 @@
"import": "./dist/i18n/zh.js",
"require": "./dist/i18n/zh.js"
},
"./i18n/bn": {
"types": "./dist/i18n/bn.d.ts",
"import": "./dist/i18n/bn.js",
"require": "./dist/i18n/bn.js"
},
"./i18n/all": {
"types": "./dist/i18n/all.d.ts",
"import": "./dist/i18n/all.js",
Expand Down
3 changes: 2 additions & 1 deletion frontend/elements/src/i18n/all.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { Translations } from "./translations";
import { bn } from "./bn";
import { de } from "./de";
import { en } from "./en";
import { fr } from "./fr";
import { ptBR } from "./pt-BR";
import { zh } from "./zh";
export const all: Translations = { de, en, fr, ptBR, zh };
export const all: Translations = { bn, de, en, fr, ptBR, zh };
123 changes: 123 additions & 0 deletions frontend/elements/src/i18n/bn.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
import { Translation } from "./translations";

export const bn: Translation = {
headlines: {
error: "একটি ত্রুটি উৎপন্ন হয়েছে",
loginEmail: "সাইন ইন করুন অথবা নিবন্ধন করুন",
loginEmailNoSignup: "সাইন ইন",
loginFinished: "সফল লগইন",
loginPasscode: "পাসকোড দিন",
loginPassword: "পাসওয়ার্ড লিখুন",
registerAuthenticator: "একটি পাসকি তৈরি করুন",
registerConfirm: "অ্যাকাউন্ট তৈরি করুন",
registerPassword: "নতুন পাসওয়ার্ড সেট করুন",
profileEmails: "ইমেইল",
profilePassword: "পাসওয়ার্ড",
profilePasskeys: "পাসকি",
isPrimaryEmail: "প্রাথমিক ইমেইল",
setPrimaryEmail: "প্রাথমিক ইমেল সেট করুন",
emailVerified: "যাচাইকৃত ",
emailUnverified: "অযাচাইকৃত",
emailDelete: "মুছে ফেলা",
renamePasskey: "পাসকির নাম পরিবর্তন করুন",
deletePasskey: "পাসকি মুছুন",
lastUsedAt: "শেষবার ব্যবহার করা হয়েছে",
createdAt: "এ নির্মিত",
connectedAccounts: "সংযুক্ত অ্যাকাউন্ট",
deleteAccount: "অ্যাকাউন্ট মুছে ফেলুন",
accountNotFound: "অ্যাকাউন্ট পাওয়া যাচ্ছে না",
},
texts: {
enterPasscode: 'যে পাসকোডটি পাঠানো হয়েছিল "{emailAddress}" এ তা লিখুন.',
setupPasskey:
"একটি পাসকি দিয়ে সহজে এবং নিরাপদে আপনার অ্যাকাউন্টে সাইন ইন করুন। দ্রষ্টব্য: আপনার বায়োমেট্রিক ডেটা শুধুমাত্র আপনার ডিভাইসে সংরক্ষিত থাকে এবং কখনই কারো সাথে শেয়ার করা হবে না।",
createAccount:
'"{emailAddress}"-এর জন্য কোনো অ্যাকাউন্ট বিদ্যমান নেই। আপনি একটি নতুন অ্যাকাউন্ট তৈরি করতে চান?',
passwordFormatHint:
"{minLength} এবং {maxLength} অক্ষরের মধ্যে হতে হবে।",
manageEmails:
"পাসকোড প্রমাণীকরণের জন্য ব্যবহৃত হয়।",
changePassword: "একটি নতুন পাসওয়ার্ড সেট করুন।",
managePasskeys: "আপনার পাসকিগুলি আপনাকে এই অ্যাকাউন্টে সাইন ইন করতে দেয়৷",
isPrimaryEmail:
"এই ইমেলটি আপনার পাসকিগুলির জন্য ব্যবহারকারীর নাম হিসাবে ব্যবহার করা হবে৷",
setPrimaryEmail:
"নতুন পাসকিগুলির জন্য ব্যবহারকারীর নাম হিসাবে ব্যবহার করার জন্য এই ইমেলটি সেট করুন৷",
emailVerified: "এই ইমেল ঠিকানা যাচাই করা হয়েছে.",
emailUnverified: "এই ইমেল ঠিকানা যাচাই করা হয়নি.",
emailDelete:
"আপনি এই ইমেল ঠিকানা মুছে ফেললে, এটি আর সাইন ইন করতে ব্যবহার করা যাবে না.",
emailDeleteThirdPartyConnection:
"আপনি এই ইমেল ঠিকানা মুছে ফেললে, এটি আর সাইন ইন করতে ব্যবহার করা যাবে না.",
emailDeletePrimary:
"প্রাথমিক ইমেল ঠিকানা মুছে ফেলা যাবে না.",
renamePasskey:
"পাসকির জন্য একটি নাম সেট করুন।",
deletePasskey:
"আপনার অ্যাকাউন্ট থেকে এই পাসকি মুছুন.",
deleteAccount:
"আপনি কি এই অ্যাকাউন্টটি মুছে ফেলার বিষয়ে নিশ্চিত? সমস্ত ডেটা অবিলম্বে মুছে ফেলা হবে এবং পুনরুদ্ধার করা যাবে না।",
noAccountExists:
'"{emailAddress}"-এর জন্য কোনো অ্যাকাউন্ট বিদ্যমান নেই।',
},
labels: {
or: "বা",
no: "না",
yes: "হ্যাঁ",
email: "ইমেইল",
continue: "চালিয়ে যান",
skip: "এড়িয়ে যান",
save: "সংরক্ষণ",
password: "পাসওয়ার্ড",
signInPassword: "একটি পাসওয়ার্ড দিয়ে সাইন ইন",
signInPasscode: "একটি পাসকোড দিয়ে সাইন ইন করুন",
forgotYourPassword: "আপনি কি পাসওয়ার্ড ভুলে গেছেন?",
back: "পেছনে",
signInPasskey: "একটি পাসকি দিয়ে সাইন ইন করুন",
registerAuthenticator: "একটি পাসকি তৈরি করুন",
signIn: "সাইন ইন করুন",
signUp: "সাইন আপ",
sendNewPasscode: "নতুন কোড পাঠান",
passwordRetryAfter: "{passwordRetryAfter} এ আবার চেষ্টা করুন",
passcodeResendAfter: "{passcodeResendAfter} এ একটি নতুন কোডের অনুরোধ করুন",
unverifiedEmail: "অযাচাইকৃত",
primaryEmail: "প্রাথমিক",
setAsPrimaryEmail: "প্রাথমিক হিসাবে সেট করুন",
verify: "যাচাই করুন",
delete: "মুছুন",
newEmailAddress: "নতুন ইমেইল ঠিকানা",
newPassword: "নতুন পাসওয়ার্ড",
rename: "নাম পরিবর্তন করুন",
newPasskeyName: "নতুন পাসকি নাম",
addEmail: "ইমেল যোগ করুন",
changePassword: "পাসওয়ার্ড পরিবর্তন করুন",
createPasskey: "একটি পাসকি তৈরি করুন",
webauthnUnsupported: "পাসকিগুলি আপনার ব্রাউজার দ্বারা সমর্থিত নয়৷",
signInWith: "{provider} দিয়ে সাইন ইন করুন",
deleteAccount: "হ্যাঁ, এই অ্যাকাউন্টটি মুছুন.",
},
errors: {
somethingWentWrong:
"একটি প্রযুক্তিগত ত্রুটি ঘটেছে. অনুগ্রহ করে একটু পরে আবার চেষ্টা করুন.",
requestTimeout: "অনুরোধ সময় শেষ হয়েছে.",
invalidPassword: "ভুল ইমেইল বা পাসওয়ার্ড।",
invalidPasscode: "দেওয়া পাসকোড সঠিক ছিল না।",
passcodeAttemptsReached:
"পাসকোডটি অনেকবার ভুলভাবে প্রবেশ করানো হয়েছে৷ একটি নতুন কোড অনুরোধ করুন.",
tooManyRequests:
"অনেক অনুরোধ করা হয়েছে. অনুগ্রহ করে অনুরোধকৃত অপারেশন পুনরাবৃত্তি করার জন্য অপেক্ষা করুন।",
unauthorized: "আপনার সেশনের মেয়াদ শেষ হয়ে গেছে। অনুগ্রহ পূর্বক আরো একবার প্রবেশ করুন.",
invalidWebauthnCredential: "এই পাসকি আর ব্যবহার করা যাবে না।",
passcodeExpired: "পাসকোড মেয়াদ শেষ হয়েছে. একটি নতুন অনুরোধ করুন.",
userVerification:
"ব্যবহারকারী যাচাইকরণ প্রয়োজন. অনুগ্রহ করে নিশ্চিত করুন যে আপনার প্রমাণীকরণকারী ডিভাইসটি একটি পিন বা বায়োমেট্রিক দ্বারা সুরক্ষিত।",
emailAddressAlreadyExistsError: "ইমেল ঠিকানাটি ইতিমধ্যেই বিদ্যমান।",
maxNumOfEmailAddressesReached: "আর কোন ইমেল ঠিকানা যোগ করা যাবে না.",
thirdPartyAccessDenied:
"অ্যাক্সেস অস্বীকার করা হয়েছে৷ অনুরোধটি ব্যবহারকারীর দ্বারা বাতিল করা হয়েছে বা প্রদানকারী অন্যান্য কারণে অ্যাক্সেস অস্বীকার করেছে৷",
thirdPartyMultipleAccounts:
"অ্যাকাউন্ট শনাক্ত করতে পারে না। ইমেল ঠিকানা একাধিক অ্যাকাউন্ট দ্বারা ব্যবহৃত হয়।",
thirdPartyUnverifiedEmail:
"ইমেল যাচাইকরণ প্রয়োজন. অনুগ্রহ করে আপনার প্রদানকারীর সাথে ব্যবহৃত ইমেল ঠিকানা যাচাই করুন।",
},
};
7 changes: 7 additions & 0 deletions frontend/elements/webpack.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ module.exports = {
type: "module",
},
},
bn: {
filename: "i18n/bn.js",
import: "./src/i18n/bn.ts",
library: {
type: "module",
},
},
all: {
filename: "i18n/all.js",
import: "./src/i18n/all.ts",
Expand Down

0 comments on commit 0bf47a5

Please sign in to comment.