feat(locale): add Tamil translation

This commit is contained in:
Harsh Vardan
2026-01-21 14:21:24 +13:00
committed by mayswind
parent fc9581580c
commit 80e1223505
22 changed files with 2610 additions and 8 deletions
+3
View File
@@ -42,6 +42,9 @@ var AllLanguages = map[string]*LocaleInfo{
"sl": { "sl": {
Content: sl, Content: sl,
}, },
"ta": {
Content: ta,
},
"th": { "th": {
Content: th, Content: th,
}, },
+33
View File
@@ -0,0 +1,33 @@
package locales
import (
"github.com/mayswind/ezbookkeeping/pkg/core"
)
var ta = &LocaleTextItems{
GlobalTextItems: &GlobalTextItems{
AppName: "ezBookkeeping",
},
DefaultTypes: &DefaultTypes{
DecimalSeparator: core.DECIMAL_SEPARATOR_DOT,
DigitGroupingSymbol: core.DIGIT_GROUPING_SYMBOL_COMMA,
},
DataConverterTextItems: &DataConverterTextItems{
Alipay: "Alipay",
WeChatWallet: "Wallet",
},
VerifyEmailTextItems: &VerifyEmailTextItems{
Title: "மின்னஞ்சல் சரிபார்ப்பு",
SalutationFormat: "வணக்கம் %s,",
DescriptionAboveBtn: "உங்கள் மின்னஞ்சல் முகவரியை உறுதிப்படுத்த கீழே உள்ள இணைப்பைக் கிளிக் செய்யவும்.",
VerifyEmail: "மின்னஞ்சலை சரிபார்க்கவும்",
DescriptionBelowBtnFormat: "நீங்கள் %s கணக்கிற்கு பதிவு செய்யவில்லை என்றால், இந்த மின்னஞ்சலை புறக்கணிக்கவும். மேலே உள்ள இணைப்பைக் கிளிக் செய்ய முடியவில்லை என்றால், மேலே உள்ள URL ஐ நகலெடுத்து உங்கள் உலாவியில் ஒட்டவும். மின்னஞ்சல் சரிபார்ப்பு இணைப்பு %v நிமிடங்களுக்குப் பிறகு காலாவதியாகும்.",
},
ForgetPasswordMailTextItems: &ForgetPasswordMailTextItems{
Title: "உங்கள் கடவுச்சொல்லை மீட்டமைக்கவும்",
SalutationFormat: "வணக்கம் %s,",
DescriptionAboveBtn: "உங்கள் கடவுச்சொல்லை மீட்டமைக்க சமீபத்தில் கோரிக்கை பெற்றோம். உங்கள் கடவுச்சொல்லை மீட்டமைக்க கீழே உள்ள இணைப்பைக் கிளிக் செய்யவும்.",
ResetPassword: "கடவுச்சொல்லை மீட்டமை",
DescriptionBelowBtnFormat: "உங்கள் கடவுச்சொல்லை மீட்டமைக்க நீங்கள் கோரவில்லை என்றால், இந்த மின்னஞ்சலை புறக்கணிக்கவும். மேலே உள்ள இணைப்பைக் கிளிக் செய்ய முடியவில்லை என்றால், மேலே உள்ள URL ஐ நகலெடுத்து உங்கள் உலாவியில் ஒட்டவும். கடவுச்சொல் மீட்டமைப்பு இணைப்பு %v நிமிடங்களுக்குப் பிறகு காலாவதியாகும்.",
},
}
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portugiesisch (Brasilien)", "Portuguese (Brazil)": "Portugiesisch (Brasilien)",
"Russian": "Russisch", "Russian": "Russisch",
"Slovenian": "Slowenisch", "Slovenian": "Slowenisch",
"Tamil": "Tamil",
"Thai": "Thailändisch", "Thai": "Thailändisch",
"Turkish": "Türkisch", "Turkish": "Türkisch",
"Ukrainian": "Ukrainisch", "Ukrainian": "Ukrainisch",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portuguese (Brazil)", "Portuguese (Brazil)": "Portuguese (Brazil)",
"Russian": "Russian", "Russian": "Russian",
"Slovenian": "Slovenian", "Slovenian": "Slovenian",
"Tamil": "Tamil",
"Thai": "Thai", "Thai": "Thai",
"Turkish": "Turkish", "Turkish": "Turkish",
"Ukrainian": "Ukrainian", "Ukrainian": "Ukrainian",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portugués (Brasil)", "Portuguese (Brazil)": "Portugués (Brasil)",
"Russian": "Ruso", "Russian": "Ruso",
"Slovenian": "Esloveno", "Slovenian": "Esloveno",
"Tamil": "Tamil",
"Thai": "Tailandés", "Thai": "Tailandés",
"Turkish": "Turco", "Turkish": "Turco",
"Ukrainian": "Ucraniano", "Ukrainian": "Ucraniano",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portugais (Brésil)", "Portuguese (Brazil)": "Portugais (Brésil)",
"Russian": "Russe", "Russian": "Russe",
"Slovenian": "Slovène", "Slovenian": "Slovène",
"Tamil": "Tamoul",
"Thai": "Thaï", "Thai": "Thaï",
"Turkish": "Turc", "Turkish": "Turc",
"Ukrainian": "Ukrainien", "Ukrainian": "Ukrainien",
+8
View File
@@ -6,6 +6,7 @@ import it from './it.json';
import ja from './ja.json'; import ja from './ja.json';
import kn from './kn.json'; import kn from './kn.json';
import ko from './ko.json'; import ko from './ko.json';
import ta from './ta.json';
import nl from './nl.json'; import nl from './nl.json';
import ru from './ru.json'; import ru from './ru.json';
import sl from './sl.json'; import sl from './sl.json';
@@ -120,6 +121,13 @@ export const ALL_LANGUAGES: Record<string, LanguageInfo> = {
textDirection: 'ltr', textDirection: 'ltr',
content: sl content: sl
}, },
'ta': {
name: 'Tamil',
displayName: 'தமிழ்',
alternativeLanguageTag: 'ta-IN',
textDirection: 'ltr',
content: ta
},
'th': { 'th': {
name: 'Thai', name: 'Thai',
displayName: 'ภาษาไทย', displayName: 'ภาษาไทย',
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portoghese (Brasile)", "Portuguese (Brazil)": "Portoghese (Brasile)",
"Russian": "Russo", "Russian": "Russo",
"Slovenian": "Sloveno", "Slovenian": "Sloveno",
"Tamil": "Tamil",
"Thai": "Thailandese", "Thai": "Thailandese",
"Turkish": "Turco", "Turkish": "Turco",
"Ukrainian": "Ucraino", "Ukrainian": "Ucraino",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "ポルトガル語 (ブラジル)", "Portuguese (Brazil)": "ポルトガル語 (ブラジル)",
"Russian": "ロシア語", "Russian": "ロシア語",
"Slovenian": "スロベニア語", "Slovenian": "スロベニア語",
"Tamil": "タミル語",
"Thai": "タイ語", "Thai": "タイ語",
"Turkish": "トルコ語", "Turkish": "トルコ語",
"Ukrainian": "ウクライナ語", "Ukrainian": "ウクライナ語",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "ಪೋರ್ಚುಗೀಸ್ (ಬ್ರೆಜಿಲ್)", "Portuguese (Brazil)": "ಪೋರ್ಚುಗೀಸ್ (ಬ್ರೆಜಿಲ್)",
"Russian": "ರಶಿಯನ್", "Russian": "ರಶಿಯನ್",
"Slovenian": "ಸ್ಲೋವೇನಿಯನ್", "Slovenian": "ಸ್ಲೋವೇನಿಯನ್",
"Tamil": "ತಮಿಳು",
"Thai": "ಥಾಯ್", "Thai": "ಥಾಯ್",
"Turkish": "ಟರ್ಕಿಶ್", "Turkish": "ಟರ್ಕಿಶ್",
"Ukrainian": "ಉಕ್ರೇನಿಯನ್", "Ukrainian": "ಉಕ್ರೇನಿಯನ್",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "포르투갈어 (브라질)", "Portuguese (Brazil)": "포르투갈어 (브라질)",
"Russian": "러시아어", "Russian": "러시아어",
"Slovenian": "슬로베니아어", "Slovenian": "슬로베니아어",
"Tamil": "타밀어",
"Thai": "태국어", "Thai": "태국어",
"Turkish": "터키어", "Turkish": "터키어",
"Ukrainian": "우크라이나어", "Ukrainian": "우크라이나어",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portugees (Brazilië)", "Portuguese (Brazil)": "Portugees (Brazilië)",
"Russian": "Russisch", "Russian": "Russisch",
"Slovenian": "Sloveens", "Slovenian": "Sloveens",
"Tamil": "Tamil",
"Thai": "Thais", "Thai": "Thais",
"Turkish": "Turks", "Turkish": "Turks",
"Ukrainian": "Oekraïens", "Ukrainian": "Oekraïens",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Português (Brasil)", "Portuguese (Brazil)": "Português (Brasil)",
"Russian": "Russo", "Russian": "Russo",
"Slovenian": "Esloveno", "Slovenian": "Esloveno",
"Tamil": "Tâmil",
"Thai": "Tailandês", "Thai": "Tailandês",
"Turkish": "Turco", "Turkish": "Turco",
"Ukrainian": "Ucraniano", "Ukrainian": "Ucraniano",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Португальский (Бразилия)", "Portuguese (Brazil)": "Португальский (Бразилия)",
"Russian": "Русский", "Russian": "Русский",
"Slovenian": "Словенский", "Slovenian": "Словенский",
"Tamil": "Тамильский",
"Thai": "Тайский", "Thai": "Тайский",
"Turkish": "Турецкий", "Turkish": "Турецкий",
"Ukrainian": "Украинский", "Ukrainian": "Украинский",
+3 -2
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portugalščina (Brazilija)", "Portuguese (Brazil)": "Portugalščina (Brazilija)",
"Russian": "Ruščina", "Russian": "Ruščina",
"Slovenian": "Slovenščina", "Slovenian": "Slovenščina",
"Tamil": "Tamilščina",
"Thai": "Tajščina", "Thai": "Tajščina",
"Turkish": "Turščina", "Turkish": "Turščina",
"Ukrainian": "Ukrajinščina", "Ukrainian": "Ukrajinščina",
@@ -342,7 +343,7 @@
"Haiti": "Haiti", "Haiti": "Haiti",
"Havana": "Havana", "Havana": "Havana",
"Indiana (East)": "Indiana (vzhod)", "Indiana (East)": "Indiana (vzhod)",
"Turks and Caicos": "Otoki Turks\u00A0in Caicos", "Turks and Caicos": "Otoki Turks in Caicos",
"Asuncion": "Asuncion", "Asuncion": "Asuncion",
"Atlantic Time (Canada)": "Atlantski čas (Kanada)", "Atlantic Time (Canada)": "Atlantski čas (Kanada)",
"Caracas": "Caracas", "Caracas": "Caracas",
@@ -1738,7 +1739,7 @@
"Delete Explorer": "Izbriši raziskovanje", "Delete Explorer": "Izbriši raziskovanje",
"Change Explorer Display Order": "Change Explorer Display Order", "Change Explorer Display Order": "Change Explorer Display Order",
"Explorer Name": "Ime raziskovanja", "Explorer Name": "Ime raziskovanja",
"Add Query": "Dodaj poizvedbo", "Add Query": "Dodaj poizvedbo",
"Remove Query": "Odstrani poizvedbo", "Remove Query": "Odstrani poizvedbo",
"Modify Query Name": "Spremeni ime poizvedbe", "Modify Query Name": "Spremeni ime poizvedbe",
"Add Condition": "Dodaj pogoj", "Add Condition": "Dodaj pogoj",
+2540
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "ภาษาโปรตุเกส (บราซิล)", "Portuguese (Brazil)": "ภาษาโปรตุเกส (บราซิล)",
"Russian": "ภาษารัสเซีย", "Russian": "ภาษารัสเซีย",
"Slovenian": "ภาษาสโลวีเนีย", "Slovenian": "ภาษาสโลวีเนีย",
"Tamil": "ทมิฬ",
"Thai": "ภาษาไทย", "Thai": "ภาษาไทย",
"Turkish": "ภาษาตุรกี", "Turkish": "ภาษาตุรกี",
"Ukrainian": "ภาษายูเครน", "Ukrainian": "ภาษายูเครน",
+6 -5
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Portekizce (Brezilya)", "Portuguese (Brazil)": "Portekizce (Brezilya)",
"Russian": "Rusça", "Russian": "Rusça",
"Slovenian": "Slovence", "Slovenian": "Slovence",
"Tamil": "Tamilce",
"Thai": "Tayca", "Thai": "Tayca",
"Turkish": "Türkçe", "Turkish": "Türkçe",
"Ukrainian": "Ukraynaca", "Ukrainian": "Ukraynaca",
@@ -1270,11 +1271,11 @@
"invalid oauth2 token": "Geçersiz OAuth 2.0 jetonu", "invalid oauth2 token": "Geçersiz OAuth 2.0 jetonu",
"cannot retrieve user info from oauth2 provider": "OAuth 2.0 sağlayıcısından kullanıcı bilgisi alınamıyor", "cannot retrieve user info from oauth2 provider": "OAuth 2.0 sağlayıcısından kullanıcı bilgisi alınamıyor",
"oauth2 user already bound to another user": "OAuth 2.0 kullanıcısı zaten başka bir kullanıcıya bağlı", "oauth2 user already bound to another user": "OAuth 2.0 kullanıcısı zaten başka bir kullanıcıya bağlı",
"user name and email from oauth2 provider are both empty": "User name and email from OAuth 2.0 provider are both empty", "user name and email from oauth2 provider are both empty": "User name and email from OAuth 2.0 provider are both empty",
"user name from oauth2 provider is empty": "User name from OAuth 2.0 provider is empty", "user name from oauth2 provider is empty": "User name from OAuth 2.0 provider is empty",
"email from oauth2 provider is empty": "Email from OAuth 2.0 provider is empty", "email from oauth2 provider is empty": "Email from OAuth 2.0 provider is empty",
"user name from oauth2 provider is empty, cannot register new user": "User name from OAuth 2.0 provider is empty, cannot register new user", "user name from oauth2 provider is empty, cannot register new user": "User name from OAuth 2.0 provider is empty, cannot register new user",
"email from oauth2 provider is empty, cannot register new user": "Email from OAuth 2.0 provider is empty, cannot register new user", "email from oauth2 provider is empty, cannot register new user": "Email from OAuth 2.0 provider is empty, cannot register new user",
"explorer id is invalid": "Explorer ID is invalid", "explorer id is invalid": "Explorer ID is invalid",
"explorer not found": "Explorer is not found", "explorer not found": "Explorer is not found",
"explorer data is invalid": "Explorer data is invalid", "explorer data is invalid": "Explorer data is invalid",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Португальська (Бразилія)", "Portuguese (Brazil)": "Португальська (Бразилія)",
"Russian": "Російська", "Russian": "Російська",
"Slovenian": "Словенська", "Slovenian": "Словенська",
"Tamil": "Тамільська",
"Thai": "Тайська", "Thai": "Тайська",
"Turkish": "Турецька", "Turkish": "Турецька",
"Ukrainian": "Українська", "Ukrainian": "Українська",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "Tiếng Bồ Đào Nha (Brazil)", "Portuguese (Brazil)": "Tiếng Bồ Đào Nha (Brazil)",
"Russian": "Tiếng Nga", "Russian": "Tiếng Nga",
"Slovenian": "Tiếng Slovenia", "Slovenian": "Tiếng Slovenia",
"Tamil": "Tiếng Tamil",
"Thai": "Tiếng Thái", "Thai": "Tiếng Thái",
"Turkish": "Tiếng Thổ Nhĩ Kỳ", "Turkish": "Tiếng Thổ Nhĩ Kỳ",
"Ukrainian": "Tiếng Ukraina", "Ukrainian": "Tiếng Ukraina",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "葡萄牙语 (巴西)", "Portuguese (Brazil)": "葡萄牙语 (巴西)",
"Russian": "俄语", "Russian": "俄语",
"Slovenian": "斯洛文尼亚语", "Slovenian": "斯洛文尼亚语",
"Tamil": "泰米尔语",
"Thai": "泰语", "Thai": "泰语",
"Turkish": "土耳其语", "Turkish": "土耳其语",
"Ukrainian": "乌克兰语", "Ukrainian": "乌克兰语",
+1
View File
@@ -17,6 +17,7 @@
"Portuguese (Brazil)": "葡萄牙語 (巴西)", "Portuguese (Brazil)": "葡萄牙語 (巴西)",
"Russian": "俄語", "Russian": "俄語",
"Slovenian": "斯洛維尼亞語", "Slovenian": "斯洛維尼亞語",
"Tamil": "泰米爾語",
"Thai": "泰語", "Thai": "泰語",
"Turkish": "土耳其語", "Turkish": "土耳其語",
"Ukrainian": "烏克蘭語", "Ukrainian": "烏克蘭語",