Skip to content

Commit aa6678b

Browse files
committed
🌐 add AI translations
1 parent c7878af commit aa6678b

30 files changed

Lines changed: 21591 additions & 1 deletion

angular.json

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,121 @@
1919
"baseHref": "en-US/"
2020
},
2121
"locales": {
22+
"af": {
23+
"translation": "src/locale/AI-translations/messages.af.xlf",
24+
"baseHref": "af/"
25+
},
26+
"ar": {
27+
"translation": "src/locale/AI-translations/messages.ar.xlf",
28+
"baseHref": "ar/"
29+
},
30+
"ca": {
31+
"translation": "src/locale/AI-translations/messages.ca.xlf",
32+
"baseHref": "ca/"
33+
},
34+
"cs": {
35+
"translation": "src/locale/AI-translations/messages.cs.xlf",
36+
"baseHref": "cs/"
37+
},
38+
"da": {
39+
"translation": "src/locale/AI-translations/messages.da.xlf",
40+
"baseHref": "da/"
41+
},
2242
"de-DE": {
2343
"translation": "src/locale/messages.de-DE.xlf",
2444
"baseHref": "de-DE/"
2545
},
46+
"el": {
47+
"translation": "src/locale/AI-translations/messages.el.xlf",
48+
"baseHref": "el/"
49+
},
50+
"es-ES": {
51+
"translation": "src/locale/AI-translations/messages.es-ES.xlf",
52+
"baseHref": "es-ES/"
53+
},
54+
"fi": {
55+
"translation": "src/locale/AI-translations/messages.fi.xlf",
56+
"baseHref": "fi/"
57+
},
58+
"fr": {
59+
"translation": "src/locale/AI-translations/messages.fr.xlf",
60+
"baseHref": "fr/"
61+
},
62+
"he": {
63+
"translation": "src/locale/AI-translations/messages.he.xlf",
64+
"baseHref": "he/"
65+
},
66+
"hu": {
67+
"translation": "src/locale/AI-translations/messages.hu.xlf",
68+
"baseHref": "hu/"
69+
},
70+
"it": {
71+
"translation": "src/locale/AI-translations/messages.it.xlf",
72+
"baseHref": "it/"
73+
},
74+
"ja": {
75+
"translation": "src/locale/AI-translations/messages.ja.xlf",
76+
"baseHref": "ja/"
77+
},
78+
"ko": {
79+
"translation": "src/locale/AI-translations/messages.ko.xlf",
80+
"baseHref": "ko/"
81+
},
82+
"nl": {
83+
"translation": "src/locale/AI-translations/messages.nl.xlf",
84+
"baseHref": "nl/"
85+
},
86+
"no": {
87+
"translation": "src/locale/AI-translations/messages.no.xlf",
88+
"baseHref": "no/"
89+
},
90+
"pl": {
91+
"translation": "src/locale/AI-translations/messages.pl.xlf",
92+
"baseHref": "pl/"
93+
},
94+
"pt-BR": {
95+
"translation": "src/locale/AI-translations/messages.pt-BR.xlf",
96+
"baseHref": "pt-BR/"
97+
},
98+
"pt-PT": {
99+
"translation": "src/locale/AI-translations/messages.pt-PT.xlf",
100+
"baseHref": "pt-PT/"
101+
},
102+
"ro": {
103+
"translation": "src/locale/AI-translations/messages.ro.xlf",
104+
"baseHref": "ro/"
105+
},
106+
"ru": {
107+
"translation": "src/locale/AI-translations/messages.ru.xlf",
108+
"baseHref": "ru/"
109+
},
110+
"sr": {
111+
"translation": "src/locale/AI-translations/messages.sr.xlf",
112+
"baseHref": "sr/"
113+
},
114+
"sv-SE": {
115+
"translation": "src/locale/AI-translations/messages.sv-SE.xlf",
116+
"baseHref": "sv-SE/"
117+
},
26118
"tr-TR": {
27119
"translation": "src/locale/messages.tr-TR.xlf",
28120
"baseHref": "tr-TR/"
29121
},
122+
"uk": {
123+
"translation": "src/locale/AI-translations/messages.uk.xlf",
124+
"baseHref": "uk/"
125+
},
126+
"vi": {
127+
"translation": "src/locale/AI-translations/messages.vi.xlf",
128+
"baseHref": "vi/"
129+
},
30130
"zh-CN": {
31131
"translation": "src/locale/messages.zh-CN.xlf",
32132
"baseHref": "zh-CN/"
133+
},
134+
"zh-TW": {
135+
"translation": "src/locale/AI-translations/messages.zh-TW.xlf",
136+
"baseHref": "zh-TW/"
33137
}
34138
}
35139
},

src/app/app.component.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ <h1 i18n>Rclone WebUI</h1>
126126
(click)="activateLanguage(language.code)"
127127
>
128128
{{ language.display }}
129+
<!-- eslint-disable-next-line @angular-eslint/template/i18n -->
130+
<span *ngIf="language.isAI"> (🤖AI) </span>
129131
</button>
130132
</mat-menu>
131133
<button

src/app/app.component.ts

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,152 @@ export class AppComponent implements OnInit {
2323
{
2424
display: 'English',
2525
code: 'en-US',
26+
isAI: false,
27+
},
28+
{
29+
display: 'Afrikaans',
30+
code: 'af',
31+
isAI: true,
32+
},
33+
{
34+
display: 'العربية',
35+
code: 'ar',
36+
isAI: true,
37+
},
38+
{
39+
display: 'Català',
40+
code: 'ca',
41+
isAI: true,
42+
},
43+
{
44+
display: 'Čeština',
45+
code: 'cs',
46+
isAI: true,
47+
},
48+
{
49+
display: 'Dansk',
50+
code: 'da',
51+
isAI: true,
2652
},
2753
{
2854
display: 'Deutsch',
2955
code: 'de-DE',
56+
isAI: false,
57+
},
58+
{
59+
display: 'Ελληνικά',
60+
code: 'el',
61+
isAI: true,
62+
},
63+
{
64+
display: 'Español',
65+
code: 'es-ES',
66+
isAI: true,
67+
},
68+
{
69+
display: 'Suomi',
70+
code: 'fi',
71+
isAI: true,
72+
},
73+
{
74+
display: 'Français',
75+
code: 'fr',
76+
isAI: true,
77+
},
78+
{
79+
display: 'עברית',
80+
code: 'he',
81+
isAI: true,
82+
},
83+
{
84+
display: 'Magyar',
85+
code: 'hu',
86+
isAI: true,
87+
},
88+
{
89+
display: 'Italiano',
90+
code: 'it',
91+
isAI: true,
92+
},
93+
{
94+
display: '日本語',
95+
code: 'ja',
96+
isAI: true,
97+
},
98+
{
99+
display: '한국어',
100+
code: 'ko',
101+
isAI: true,
102+
},
103+
{
104+
display: 'Nederlands',
105+
code: 'nl',
106+
isAI: true,
107+
},
108+
{
109+
display: 'Norsk',
110+
code: 'no',
111+
isAI: true,
112+
},
113+
{
114+
display: 'Polski',
115+
code: 'pl',
116+
isAI: true,
117+
},
118+
{
119+
display: 'Português (Brasil)',
120+
code: 'pt-BR',
121+
isAI: true,
122+
},
123+
{
124+
display: 'Português (Portugal)',
125+
code: 'pt-PT',
126+
isAI: true,
127+
},
128+
{
129+
display: 'Română',
130+
code: 'ro',
131+
isAI: true,
132+
},
133+
{
134+
display: 'Русский',
135+
code: 'ru',
136+
isAI: true,
137+
},
138+
{
139+
display: 'Српски',
140+
code: 'sr',
141+
isAI: true,
142+
},
143+
{
144+
display: 'Svenska',
145+
code: 'sv-SE',
146+
isAI: true,
30147
},
31148
{
32149
display: 'Türkçe',
33150
code: 'tr-TR',
151+
isAI: false,
152+
},
153+
{
154+
display: 'Українська',
155+
code: 'uk',
156+
isAI: true,
157+
},
158+
{
159+
display: 'Tiếng Việt',
160+
code: 'vi',
161+
isAI: true,
34162
},
35163
{
36164
display: '简体中文',
37165
code: 'zh-CN',
166+
isAI: false,
167+
},
168+
{
169+
display: '繁體中文',
170+
code: 'zh-TW',
171+
isAI: true,
38172
},
39173
];
40174

src/i18n-index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
window.location.href = "./" + savedLanguage + "/";
1414
return;
1515
}
16-
available = ["de-DE", "en-US", "tr-TR", "zh-CN"];
16+
available = ["af", "ar", "ca", "cs", "da", "de-DE", "el", "en-US", "es-ES", "fi", "fr", "he", "hu", "it", "ja", "ko", "nl", "no", "pl", "pt-BR", "pt-PT", "ro", "ru", "sr", "sv-SE", "tr-TR", "uk", "vi", "zh-CN", "zh-TW"];
1717
preference = navigator.languages;
1818
for (i = 0; i < preference.length; i++) {
1919
for (j = 0; j < available.length; j++) {

0 commit comments

Comments
 (0)