I have list of languages in array as shown below; I currently have english js file as import and use for localization depending on browser language.
//从 './locale/en' 导入 en;
//包含所有国家语言的语言列表
const list_Of_Languages = [
'AR-DZ', 'AR-MA', 'AR-TN', 'DA', 'en', 'en-US', 'en-AU', 'en-GB',
'en-CA', 'en-NZ', 'en-IE', 'fr', ........... ]
//及下面,我使用过滤 list_Of_Languages,然后加载我导入的 en-US 或 en js 文件
const language_Filter = { 恩, 'en-US': en, };
Below is my function to check browser language and then filter through each item inside list_Of_Languages, by default, I am loading en file
function get_locale() {
const client = navigator.language;
const language = list_Of_Languages.filter(item => item.includes(client));
let [set_Language] = language;
set_Language = set_Language|| en;
return language_Filter[set_Language];
//If found then I set the language and then return the localization file inside language_Filter
}
//当前问题
如果浏览器设置为 en、en-US,那么它可以正常工作,但如果浏览器语言设置为其他英语,则我的英语文件无法加载。
如果客户端浏览器设置为任何 en 语言,是否有正确且干净的方法来加载我的英语文件。即..en-CA、en-AU、en-IE
最佳答案
//我修改了 get_locale 函数,如下所示,现在它对于客户端浏览器中的任何 en 语言设置都像魅力一样工作;
function get_locale() {
const client = navigator.language;
const language = list_Of_Languages.filter(item => item.includes(client));
let set_language;
if (language.length > 0) {
set_language = language[0];
if (client.includes('en')) {
set_language = 'en';
}
set_language= 'en';
}
return list_Of_Languages[set_language];
}
关于javascript - 检查客户端浏览器是否为 en-US、en-EG、en-AU、en-GB、en-CA 然后显示英文文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58533502/