Skip to content

Commit 806d75f

Browse files
authored
feat: add 34+ i18n language (#3018)
* feat: add 34+ i18n language * fix: update some i18n's FORMAT_SWITCH_DATE
1 parent 34fe33d commit 806d75f

36 files changed

+8230
-0
lines changed

packages/semi-ui/locale/_story/locale.stories.jsx

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,41 @@ import it from '@douyinfe/semi-ui/locale/source/it';
4747
import de from '@douyinfe/semi-ui/locale/source/de';
4848
import fr from '@douyinfe/semi-ui/locale/source/fr';
4949
import ro from '@douyinfe/semi-ui/locale/source/ro';
50+
import az from '@douyinfe/semi-ui/locale/source/az';
51+
import bg from '@douyinfe/semi-ui/locale/source/bg';
52+
import bn_IN from '@douyinfe/semi-ui/locale/source/bn_IN';
53+
import ca from '@douyinfe/semi-ui/locale/source/ca';
54+
import cs_CZ from '@douyinfe/semi-ui/locale/source/cs_CZ';
55+
import ceb_PH from '@douyinfe/semi-ui/locale/source/ceb_PH';
56+
import da from '@douyinfe/semi-ui/locale/source/da';
57+
import el_GR from '@douyinfe/semi-ui/locale/source/el_GR';
58+
import es_419 from '@douyinfe/semi-ui/locale/source/es_419';
59+
import et from '@douyinfe/semi-ui/locale/source/et';
60+
import fa_IR from '@douyinfe/semi-ui/locale/source/fa_IR';
61+
import fil_PH from '@douyinfe/semi-ui/locale/source/fil_PH';
62+
import fi_FI from '@douyinfe/semi-ui/locale/source/fi_FI';
63+
import fr_CA from '@douyinfe/semi-ui/locale/source/fr_CA';
64+
import ga from '@douyinfe/semi-ui/locale/source/ga';
65+
import he_IL from '@douyinfe/semi-ui/locale/source/he_IL';
66+
import hi_IN from '@douyinfe/semi-ui/locale/source/hi_IN';
67+
import hr from '@douyinfe/semi-ui/locale/source/hr';
68+
import hu_HU from '@douyinfe/semi-ui/locale/source/hu_HU';
69+
import is from '@douyinfe/semi-ui/locale/source/is';
70+
import jv_ID from '@douyinfe/semi-ui/locale/source/jv_ID';
71+
import kk from '@douyinfe/semi-ui/locale/source/kk';
72+
import km_KH from '@douyinfe/semi-ui/locale/source/km_KH';
73+
import lt from '@douyinfe/semi-ui/locale/source/lt';
74+
import lv from '@douyinfe/semi-ui/locale/source/lv';
75+
import my_MM from '@douyinfe/semi-ui/locale/source/my_MM';
76+
import nb from '@douyinfe/semi-ui/locale/source/nb';
77+
import pt from '@douyinfe/semi-ui/locale/source/pt';
78+
import sk from '@douyinfe/semi-ui/locale/source/sk';
79+
import sl from '@douyinfe/semi-ui/locale/source/sl';
80+
import sq from '@douyinfe/semi-ui/locale/source/sq';
81+
import sw from '@douyinfe/semi-ui/locale/source/sw';
82+
import uk_UA from '@douyinfe/semi-ui/locale/source/uk_UA';
83+
import ur from '@douyinfe/semi-ui/locale/source/ur';
84+
import uz from '@douyinfe/semi-ui/locale/source/uz';
5085
import { IconUser, IconSemiLogo, IconStar } from '@douyinfe/semi-icons';
5186

5287
const { Option } = Select;
@@ -531,6 +566,41 @@ class I18nDemo extends React.Component {
531566
it,
532567
fr,
533568
ro,
569+
bn_IN: bn_IN,
570+
az,
571+
bg,
572+
ca,
573+
cs_CZ,
574+
ceb_PH,
575+
da,
576+
el_GR,
577+
es_419,
578+
et,
579+
fa_IR,
580+
fil_PH,
581+
fi_FI,
582+
fr_CA,
583+
ga,
584+
he_IL,
585+
hi_IN,
586+
hr,
587+
hu_HU,
588+
is,
589+
jv_ID,
590+
kk,
591+
km_KH,
592+
lt,
593+
lv,
594+
my_MM,
595+
nb,
596+
pt,
597+
sk,
598+
sl,
599+
sq,
600+
sw,
601+
uk_UA,
602+
ur,
603+
uz,
534604
};
535605
this.setState({ locale: language[code], localeCode: code });
536606
}
@@ -564,6 +634,41 @@ class I18nDemo extends React.Component {
564634
<Select.Option value="it">意大利语</Select.Option>
565635
<Select.Option value="fr">法语</Select.Option>
566636
<Select.Option value="ro">罗马尼亚语</Select.Option>
637+
<Select.Option value="bn_IN">孟加拉语</Select.Option>
638+
<Select.Option value="az">阿塞拜疆语 az</Select.Option>
639+
<Select.Option value="bg">保加利亚语 bg</Select.Option>
640+
<Select.Option value="ca">加泰罗尼亚语 ca</Select.Option>
641+
<Select.Option value="cs_CZ">捷克语 cs_CZ</Select.Option>
642+
<Select.Option value="ceb_PH">宿务语 ceb_PH</Select.Option>
643+
<Select.Option value="da">丹麦语 da</Select.Option>
644+
<Select.Option value="el_GR">希腊语 el_GR</Select.Option>
645+
<Select.Option value="es_419">西班牙语(拉美)es_419</Select.Option>
646+
<Select.Option value="et">爱沙尼亚语 et</Select.Option>
647+
<Select.Option value="fa_IR">波斯语 fa_IR</Select.Option>
648+
<Select.Option value="fil_PH">菲律宾语 fil_PH</Select.Option>
649+
<Select.Option value="fi_FI">芬兰语 fi_FI</Select.Option>
650+
<Select.Option value="fr_CA">法语(加)fr_CA</Select.Option>
651+
<Select.Option value="ga">爱尔兰语 ga</Select.Option>
652+
<Select.Option value="he_IL">希伯来语 he_IL</Select.Option>
653+
<Select.Option value="hi_IN">印地语 hi_IN</Select.Option>
654+
<Select.Option value="hr">克罗地亚语 hr</Select.Option>
655+
<Select.Option value="hu_HU">匈牙利语 hu_HU</Select.Option>
656+
<Select.Option value="is">冰岛语 is</Select.Option>
657+
<Select.Option value="jv_ID">爪哇语 jv_ID</Select.Option>
658+
<Select.Option value="kk">哈萨克语 kk</Select.Option>
659+
<Select.Option value="km_KH">高棉语 km_KH</Select.Option>
660+
<Select.Option value="lt">立陶宛语 lt</Select.Option>
661+
<Select.Option value="lv">拉脱维亚语 lv</Select.Option>
662+
<Select.Option value="my_MM">缅甸语 my_MM</Select.Option>
663+
<Select.Option value="nb">挪威语 nb</Select.Option>
664+
<Select.Option value="pt">葡萄牙语 pt</Select.Option>
665+
<Select.Option value="sk">斯洛伐克语 sk</Select.Option>
666+
<Select.Option value="sl">斯洛文尼亚语 sl</Select.Option>
667+
<Select.Option value="sq">阿尔巴尼亚语 sq</Select.Option>
668+
<Select.Option value="sw">斯瓦希里语 sw</Select.Option>
669+
<Select.Option value="uk_UA">乌克兰语 uk_UA</Select.Option>
670+
<Select.Option value="ur">乌尔都语 ur</Select.Option>
671+
<Select.Option value="uz">乌兹别克语 uz</Select.Option>
567672
</Select>
568673
</div>
569674
<LocaleProvider locale={locale}>
Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
import { az } from 'date-fns/locale';
2+
import { Locale } from '../interface';
3+
4+
const local: Locale = {
5+
code: 'az',
6+
dateFnsLocale: az,
7+
currency: 'AZN',
8+
Pagination: {
9+
pageSize: 'Hər səhifədə elementlər: ${pageSize}',
10+
total: 'Səhifələrin ümumi sayı: ${total}',
11+
jumpTo: 'Keçid et',
12+
page: ' səhifə',
13+
},
14+
Modal: {
15+
confirm: 'Təsdiq et',
16+
cancel: 'Ləğv et',
17+
},
18+
Tabs: {
19+
more: "Daha çox"
20+
},
21+
TimePicker: {
22+
placeholder: {
23+
time: 'Vaxt seçin',
24+
timeRange: 'Vaxt intervalı seçin',
25+
},
26+
begin: 'Başlama vaxtı',
27+
end: 'Bitmə vaxtı',
28+
hour: '',
29+
minute: '',
30+
second: '',
31+
AM: 'Səhər',
32+
PM: 'Günortadan sonra',
33+
},
34+
DatePicker: {
35+
placeholder: {
36+
date: 'Tarix seçin',
37+
dateTime: 'Tarix və vaxt seçin',
38+
dateRange: ['Başlama tarixi', 'Bitmə tarixi'],
39+
dateTimeRange: ['Başlama tarixi', 'Bitmə tarixi'],
40+
monthRange: ['Başlama ayı', 'Bitmə ayı'],
41+
},
42+
presets: 'Hazır tənzimləmələr',
43+
footer: {
44+
confirm: 'Təsdiq et',
45+
cancel: 'Ləğv et',
46+
},
47+
selectDate: 'Tarix seçin',
48+
selectTime: 'Vaxt seçin',
49+
year: 'il',
50+
month: 'ay',
51+
day: 'gün',
52+
monthText: '${month} ${year}',
53+
months: {
54+
1: 'Yan',
55+
2: 'Fev',
56+
3: 'Mar',
57+
4: 'Apr',
58+
5: 'may',
59+
6: 'İyn',
60+
7: 'İyl',
61+
8: 'Avq',
62+
9: 'Sen',
63+
10: 'Okt',
64+
11: 'Noy',
65+
12: 'Dek',
66+
},
67+
fullMonths: {
68+
1: 'yanvar',
69+
2: 'fevral',
70+
3: 'mart',
71+
4: 'aprel',
72+
5: 'may',
73+
6: 'iyun',
74+
7: 'iyul',
75+
8: 'avqust',
76+
9: 'sentyabr',
77+
10: 'oktyabr',
78+
11: 'noyabr',
79+
12: 'dekabr',
80+
},
81+
weeks: {
82+
Mon: 'B.e.',
83+
Tue: 'Ç.a.',
84+
Wed: 'Ç.',
85+
Thu: 'C.a.',
86+
Fri: 'C.',
87+
Sat: 'Ş.',
88+
Sun: 'B.',
89+
},
90+
localeFormatToken: {
91+
FORMAT_SWITCH_DATE: 'dd.MM.yyyy',
92+
},
93+
},
94+
Popconfirm: {
95+
confirm: 'Təsdiq et',
96+
cancel: 'Ləğv et',
97+
},
98+
Navigation: {
99+
collapseText: 'Yan paneli yığışdır',
100+
expandText: 'Yan paneli genişləndir',
101+
},
102+
Table: {
103+
emptyText: 'Nəticə yoxdur',
104+
pageText: '${total}-dan ${currentStart} - ${currentEnd} göstərilir',
105+
descend: 'Azalan şəkildə etmək üçün klikləyin',
106+
ascend: 'Artan şəkildə etmək üçün klikləyin',
107+
cancelSort: 'Çeşidləməni ləğv edin',
108+
},
109+
Select: {
110+
emptyText: 'Nəticə yoxdur',
111+
createText: 'Yarat',
112+
},
113+
Cascader: {
114+
emptyText: 'Nəticə yoxdur',
115+
},
116+
Tree: {
117+
emptyText: 'Nəticə yoxdur',
118+
searchPlaceholder: 'Axtarış',
119+
},
120+
List: {
121+
emptyText: 'Nəticə yoxdur',
122+
},
123+
Calendar: {
124+
allDay: 'Bütün gün',
125+
AM: 'Səhər ${time}',
126+
PM: 'Günortadan sonra ${time}',
127+
datestring: '',
128+
remaining: '${remained} daha',
129+
},
130+
Upload: {
131+
mainText: 'Faylı yükləmək və ya faylı bura sürükləmək üçün klikləyin',
132+
illegalTips: 'Bu fayl növü dəstəklənmir',
133+
legalTips: 'Buraxın və yükləməyə başlayın',
134+
retry: 'Təkrar cəhd et',
135+
replace: 'Faylı əvəzlə',
136+
clear: 'Təmizlə',
137+
selectedFiles: 'Seçilmiş fayllar',
138+
illegalSize: 'Qanunsuz fayl ölçüsü',
139+
fail: 'Yüklənmədi',
140+
},
141+
TreeSelect: {
142+
searchPlaceholder: 'Axtarış',
143+
},
144+
Typography: {
145+
copy: 'Kopiyala',
146+
copied: 'Kopiyalandı',
147+
expand: 'Genişləndir',
148+
collapse: 'Yığcamlaşdır',
149+
},
150+
Transfer: {
151+
emptyLeft: 'Məlumat yoxdur',
152+
emptySearch: 'Axtarış nəticəsi yoxdur',
153+
emptyRight: 'Kontent yoxdur, soldan yoxlayın',
154+
placeholder: 'Axtarış',
155+
clear: 'Təmizlə',
156+
selectAll: 'Hamısını seçin',
157+
clearSelectAll: 'Hamısının seçimini ləğv edin',
158+
total: 'Elementlərin ümumi sayı: ${total}',
159+
selected: 'Seçilmiş elementlər: ${total}',
160+
},
161+
Form: {
162+
optional: '(könüllü)',
163+
},
164+
Image: {
165+
preview: 'Önizləmə',
166+
loading: 'Yüklənir',
167+
loadError: 'Yükləmək alınmadı',
168+
prevTip: 'Əvvəlki',
169+
nextTip: 'Növbəti',
170+
zoomInTip: 'Böyüt',
171+
zoomOutTip: 'Kiçilt',
172+
rotateTip: 'Fırlat',
173+
downloadTip: 'Endir',
174+
adaptiveTip: 'Səhifəyə uyğunlaşdır',
175+
originTip: 'Orijinal ölçü',
176+
},
177+
Chat: {
178+
deleteConfirm: 'Bu seansı silmək istədiyinizdən əminsiniz?',
179+
clearContext: 'Kontekst təmizləndi',
180+
copySuccess: 'Uğurla kopiyalandı.',
181+
stop: 'Dayandır',
182+
copy: 'Kopiyala',
183+
copied: 'Kopiyalandı',
184+
dropAreaText: 'Faylı bura qoyun',
185+
},
186+
UserGuide: {
187+
skip: 'Ötür',
188+
next: 'Növbəti',
189+
prev: 'Əvvəlki',
190+
finish: 'Bitir',
191+
},
192+
InputNumber: {},
193+
JsonViewer: {
194+
search: 'Axtarış',
195+
replace: 'Əvəz et',
196+
replaceAll: 'Hamısını əvəz et',
197+
},
198+
VideoPlayer: {
199+
rateChange: 'Sürəti ${rate} olaraq dəyişin',
200+
qualityChange: 'Keyfiyyəti ${quality} olaraq dəyişin',
201+
routeChange: 'Marşrutu ${route} olaraq dəyişin',
202+
mirror: 'Əksetmə',
203+
cancelMirror: 'Əksetməni ləğv et',
204+
loading: 'Yüklənir...',
205+
stall: 'Yüklənmədi',
206+
noResource: 'Resurs yoxdur',
207+
videoError: 'Video yükləməsi xətası',
208+
},
209+
AIChatDialogue: {
210+
delete: 'Silin',
211+
deleteConfirm: 'Bu mesajı silmək istədiyinizdən əminsiniz?',
212+
deleteContent: 'Bu mesaj həmişəlik silinəcək və onu bərpa etmək mümkün olmayacaq.',
213+
copySuccess: 'Uğurla kopiyalandı',
214+
loading: 'Yüklənir...',
215+
reasoning: {
216+
completed: 'Məntiq yürütmə tamamlandı',
217+
thinking: 'Düşünür...'
218+
},
219+
annotationText: 'məlumat mənbəsi'
220+
},
221+
Feedback: {
222+
submit: 'Təqdim edin',
223+
cancel: 'Ləğv edin'
224+
},
225+
AIChatInput: {
226+
template: 'Şablon',
227+
configure: 'Konfiqurasiya',
228+
selected: 'Seçilmiş ${count} element',
229+
}
230+
};
231+
232+
// [i18n-Azerbaijani]
233+
export default local;

0 commit comments

Comments
 (0)