javascript - 检查客户端浏览器是否为 en-US、en-EG、en-AU、en-GB、en-CA 然后显示英文文件?

标签 javascript localization

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/

相关文章:

javascript - 如何使用 jquery 设置 data-url 属性的新值?

.net - 尝试从 CultureInfo 中丢失国家和地点

java - 如何在Struts 2中使项目国际化?

xaml - Xamarin.Forms 在运行时更改 UI 语言 (XAML)

javascript - HTML 保存指向文件的链接并在以后使用它们链接

javascript - 动态渲染局部 View

javascript - 获取点击事件的目标 URL - 客户端

javascript - 按具有空值的多个条件对对象数组进行排序

hibernate - 使用 Hibernate 处理国际化

unicode - 多字节语言的网站本地化