From e3595b10dcf5281702f9e39feeabfd45abd2196d Mon Sep 17 00:00:00 2001 From: navidik Date: Thu, 2 Oct 2025 14:01:35 +0530 Subject: [PATCH 1/4] feat(i18n): add Tamil (ta-IN) language support --- packages/javascript/src/i18n/ta-IN.ts | 161 ++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 packages/javascript/src/i18n/ta-IN.ts diff --git a/packages/javascript/src/i18n/ta-IN.ts b/packages/javascript/src/i18n/ta-IN.ts new file mode 100644 index 00000000..40040060 --- /dev/null +++ b/packages/javascript/src/i18n/ta-IN.ts @@ -0,0 +1,161 @@ +/** + * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/* eslint-disable sort-keys */ + +import {I18nTranslations, I18nMetadata, I18nBundle} from '../models/i18n'; + +const translations: I18nTranslations = { + /* |---------------------------------------------------------------| */ + /* | Elements | */ + /* |---------------------------------------------------------------| */ + + /* Buttons */ + 'elements.buttons.signIn': 'உள்நுழை', + 'elements.buttons.signOut': 'வெளியேறு', + 'elements.buttons.signUp': 'பதிவு செய்', + 'elements.buttons.facebook': 'Facebook மூலம் தொடரவும்', + 'elements.buttons.google': 'Google மூலம் தொடரவும்', + 'elements.buttons.github': 'GitHub மூலம் தொடரவும்', + 'elements.buttons.microsoft': 'Microsoft மூலம் தொடரவும்', + 'elements.buttons.linkedin': 'LinkedIn மூலம் தொடரவும்', + 'elements.buttons.ethereum': 'Ethereum மூலம் உள்நுழை', + 'elements.buttons.multi.option': '{connection} மூலம் தொடரவும்', + 'elements.buttons.social': '{connection} மூலம் தொடரவும்', + + /* Fields */ + 'elements.fields.placeholder': '{field} உள்ளிடவும்', + + /* |---------------------------------------------------------------| */ + /* | Widgets | */ + /* |---------------------------------------------------------------| */ + + /* Base Sign In */ + 'signin.title': 'உள்நுழை', + 'signin.subtitle': 'தொடர உங்கள் சான்றுகளை உள்ளிடவும்.', + + /* Base Sign Up */ + 'signup.title': 'பதிவு செய்', + 'signup.subtitle': 'தொடங்க புதிய கணக்கை உருவாக்கவும்.', + + /* Email OTP */ + 'email.otp.title': 'OTP சரிபார்ப்பு', + 'email.otp.subtitle': 'உங்கள் மின்னஞ்சலுக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்.', + 'email.otp.submit.button': 'தொடரவும்', + + /* Identifier First */ + 'identifier.first.title': 'உள்நுழை', + 'identifier.first.subtitle': 'பயனர்பெயர் அல்லது மின்னஞ்சல் முகவரியை உள்ளிடவும்.', + 'identifier.first.submit.button': 'தொடரவும்', + + /* SMS OTP */ + 'sms.otp.title': 'OTP சரிபார்ப்பு', + 'sms.otp.subtitle': 'உங்கள் தொலைபேசிக்கு அனுப்பப்பட்ட குறியீட்டை உள்ளிடவும்.', + 'sms.otp.submit.button': 'தொடரவும்', + + /* TOTP */ + 'totp.title': 'உங்கள் அடையாளத்தை சரிபார்க்கவும்', + 'totp.subtitle': 'உங்கள் அங்கீகரிப்பு செயலியில் உள்ள குறியீட்டை உள்ளிடவும்.', + 'totp.submit.button': 'தொடரவும்', + + /* Username Password */ + 'username.password.submit.button': 'தொடரவும்', + 'username.password.title': 'உள்நுழை', + 'username.password.subtitle': 'தொடர உங்கள் பயனர்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிடவும்.', + + /* |---------------------------------------------------------------| */ + /* | User Profile | */ + /* |---------------------------------------------------------------| */ + + 'user.profile.title': 'சுயவிவரம்', + 'user.profile.update.generic.error': + 'உங்கள் சுயவிவரத்தை புதுப்பிக்கும் போது பிழை ஏற்பட்டது. மீண்டும் முயற்சிக்கவும்.', + + /* |---------------------------------------------------------------| */ + /* | Organization Switcher | */ + /* |---------------------------------------------------------------| */ + + 'organization.switcher.select.organization': 'அமைப்பை தேர்ந்தெடு', + 'organization.switcher.switch.organization': 'அமைப்பை மாற்று', + 'organization.switcher.loading.organizations': 'அமைப்புகள் ஏற்றப்படுகின்றன...', + 'organization.switcher.members': 'உறுப்பினர்கள்', + 'organization.switcher.member': 'உறுப்பினர்', + 'organization.switcher.create.organization': 'அமைப்பை உருவாக்கு', + 'organization.switcher.manage.organizations': 'அமைப்புகளை நிர்வகிக்கவும்', + 'organization.switcher.manage.button': 'நிர்வகி', + 'organization.switcher.organizations.title': 'அமைப்புகள்', + 'organization.switcher.switch.button': 'மாற்று', + 'organization.switcher.no.access': 'அணுகல் இல்லை', + 'organization.switcher.status.label': 'நிலை:', + 'organization.switcher.showing.count': 'மொத்த {total} அமைப்புகளில் {showing} காட்டப்படுகிறது', + 'organization.switcher.refresh.button': 'புதுப்பி', + 'organization.switcher.load.more': 'மேலும் அமைப்புகளை ஏற்று', + 'organization.switcher.loading.more': 'ஏற்றப்படுகிறது...', + 'organization.switcher.no.organizations': 'எந்த அமைப்பும் கிடைக்கவில்லை', + 'organization.switcher.error.prefix': 'பிழை:', + + 'organization.profile.title': 'அமைப்பு சுயவிவரம்', + 'organization.profile.loading': 'அமைப்பை ஏற்றுகிறது...', + 'organization.profile.error': 'அமைப்பை ஏற்ற முடியவில்லை', + + 'organization.create.title': 'அமைப்பை உருவாக்கு', + 'organization.create.name.label': 'அமைப்பின் பெயர்', + 'organization.create.name.placeholder': 'அமைப்பின் பெயரை உள்ளிடவும்', + 'organization.create.handle.label': 'அமைப்பின் கைப்பிடி', + 'organization.create.handle.placeholder': 'my-organization', + 'organization.create.description.label': 'விளக்கம்', + 'organization.create.description.placeholder': 'அமைப்பின் விளக்கத்தை உள்ளிடவும்', + 'organization.create.button': 'அமைப்பை உருவாக்கு', + 'organization.create.creating': 'உருவாக்கப்படுகிறது...', + 'organization.create.cancel': 'ரத்து செய்', + + /* |---------------------------------------------------------------| */ + /* | Messages | */ + /* |---------------------------------------------------------------| */ + + 'messages.loading': 'ஏற்றப்படுகிறது...', + + /* |---------------------------------------------------------------| */ + /* | Errors | */ + /* |---------------------------------------------------------------| */ + + 'errors.title': 'பிழை', + 'errors.sign.in.initialization': 'தொடக்கத்தில் பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.', + 'errors.sign.in.flow.failure': 'உள்நுழைவு செயல்பாட்டின் போது பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.', + 'errors.sign.in.flow.completion.failure': + 'உள்நுழைவு செயல்பாட்டை முடிக்கும் போது பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.', + 'errors.sign.in.flow.passkeys.failure': + 'பாஸ்கீக்கள் மூலம் உள்நுழையும்போது பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.', + 'errors.sign.in.flow.passkeys.completion.failure': + 'பாஸ்கீ உள்நுழைவு முடிக்கும் போது பிழை ஏற்பட்டது. பின்னர் மீண்டும் முயற்சிக்கவும்.', +}; + +const metadata: I18nMetadata = { + localeCode: 'ta-IN', + countryCode: 'IN', + languageCode: 'ta', + displayName: 'தமிழ் (இலங்கை)', + direction: 'ltr', +}; + +const ta_IN: I18nBundle = { + metadata, + translations, +}; + +export default ta_IN; From 7c0c954256f817969795ff490713d11c7cd13411 Mon Sep 17 00:00:00 2001 From: navidik Date: Sat, 4 Oct 2025 17:36:41 +0530 Subject: [PATCH 2/4] move the ta-IN.ts file to the new @asgardeo/i18n package --- packages/{javascript/src => }/i18n/ta-IN.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/{javascript/src => }/i18n/ta-IN.ts (100%) diff --git a/packages/javascript/src/i18n/ta-IN.ts b/packages/i18n/ta-IN.ts similarity index 100% rename from packages/javascript/src/i18n/ta-IN.ts rename to packages/i18n/ta-IN.ts From ecfd7b731f96c1791a264707026188800d0f7944 Mon Sep 17 00:00:00 2001 From: navidik Date: Sun, 5 Oct 2025 21:49:47 +0530 Subject: [PATCH 3/4] =?UTF-8?q?chore:=20add=20changeset=20=F0=9F=A6=8B.=20?= =?UTF-8?q?=20=20and=20Export=20the=20ta-IN=20from=20the=20index.ts:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/twelve-meals-warn.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/twelve-meals-warn.md diff --git a/.changeset/twelve-meals-warn.md b/.changeset/twelve-meals-warn.md new file mode 100644 index 00000000..ba80d55c --- /dev/null +++ b/.changeset/twelve-meals-warn.md @@ -0,0 +1,5 @@ +--- +'@asgardeo/i18n': minor +--- + +chore: add `Tamil ta-IN` language support From 3500e4fd98bf8acd0705b018f147adccffed8022 Mon Sep 17 00:00:00 2001 From: navidik Date: Sun, 5 Oct 2025 22:04:09 +0530 Subject: [PATCH 4/4] =?UTF-8?q?chore:=20add=20changeset=20=F0=9F=A6=8B=20a?= =?UTF-8?q?nd=20Export=20the=20ta-IN=20from=20the=20index.ts:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/i18n/src/translations/index.ts | 1 + packages/i18n/{ => src/translations}/ta-IN.ts | 0 2 files changed, 1 insertion(+) rename packages/i18n/{ => src/translations}/ta-IN.ts (100%) diff --git a/packages/i18n/src/translations/index.ts b/packages/i18n/src/translations/index.ts index 51f67c07..1ac7e7e3 100644 --- a/packages/i18n/src/translations/index.ts +++ b/packages/i18n/src/translations/index.ts @@ -19,3 +19,4 @@ export {default as en_US} from './en-US'; export {default as fr_FR} from './fr-FR'; export {default as hi_IN} from './hi-IN'; +export {default as ta_IN} from './ta-IN'; diff --git a/packages/i18n/ta-IN.ts b/packages/i18n/src/translations/ta-IN.ts similarity index 100% rename from packages/i18n/ta-IN.ts rename to packages/i18n/src/translations/ta-IN.ts