相关疑难解决方法(0)

用于检测浏览器语言首选项的JavaScript

我一直在尝试使用JavaScript检测浏览器语言首选项.

如果我在IE中设置浏览器语言Tools>Internet Options>General>Languages,如何使用JavaScript读取此值?

Firefox的问题相同.我无法检测到tools>options>content>languages使用的设置navigator.language.

使用时 navigator.userLanguage ,它会检测通过Start>ControlPanel>RegionalandLanguageOptions>Regional Options选项卡完成的设置 .

我曾与测试navigator.browserLanguage,并navigator.systemLanguage但没有返回第一个设置的值(Tools>InternetOptions>General>Languages)

我找到了一个详细讨论这个问题的链接,但问题仍然没有答案:(

javascript localization internationalization

424
推荐指数
18
解决办法
47万
查看次数

根据浏览器语言设置角度LOCALE_ID

我正在尝试在我的多语言应用程序中使用 Kendo 组件。为了正确设置日期格式,Kendo 需要LOCALE_ID设置 Angular 的 。我不知道如何以干净的方式实现这一点。

目前,我正在使用 来HTTP_ACCEPT_LANGUAGE查找应该使用哪种语言来提供我的应用程序。我在nginx.conf中这样做:

# Parse AcceptLanguage header
  # en,es,pl,fr
  # en,es;q=0.8,pl;q=0.7,fr;q=0.6
  set $first_language $http_accept_language;
  if ($http_accept_language ~* '^(.+?),') {
    set $first_language $1;
  }

  set $language_suffix 'en';
  if ($first_language ~* 'fr') {
    set $language_suffix 'fr';
  }

  root /usr/share/nginx/html/$language_suffix;
Run Code Online (Sandbox Code Playgroud)

这有效。使用正确的 .xlf 文件并且消息显示为已翻译。

现在,我需要设置LOCALE_ID以使我的 Kendo 组件以正确的格式呈现日期。我尝试通过获取浏览器当前语言来设置它。以下是我尝试实现这一目标的方法:

应用程序模块.ts

...
import { LOCALE_ID, NgModule } from '@angular/core';
import { LocaleService } from './shared/service/locale.service';
...

@NgModule({
  declarations: [
    ...
  ],
  imports: [ …
Run Code Online (Sandbox Code Playgroud)

localization kendo-ui kendo-ui-angular2 angular

5
推荐指数
1
解决办法
1万
查看次数