我有一个下拉菜单,该下拉菜单具有特定于语言(i18n)的属性。
我目前的解决方案是:
$('.ui.dropdown').dropdown({
fullTextSearch: true,
match: "text"
});
$('.ui.dropdown.de').dropdown({
fullTextSearch: true,
match: "text",
message: {
noResults: 'Keine Resultate gefunden.'
}
});
如您所见,我必须复制所有“非i18n”特定的属性!
使用语义UI的正确方法是什么。
答案 0 :(得分:1)
您需要为所有应用程序实施某种i18n策略。这不是语义ui特有的。
一种简单的方法是保留一本包含所有句子的字典,并加载当前语言所需的句子。
示例:
const languages = {
'en-US': {
'noResults': 'No Results found.',
},
'de-DE': {
'noResults' : 'Keine Resultate gefunden.',
},
};
const i18n = languages[currentLanguage];
$('.ui.dropdown').dropdown({
fullTextSearch: true,
match: "text",
message: {
noResults: i18n[noResults],
}
});
还有一些库可以帮助您解决问题,例如http://airbnb.io/polyglot.js/