Project Icon

i18next-browser-languageDetector

i18next浏览器多语言检测插件

i18next-browser-languageDetector是一款浏览器语言检测插件,支持cookie、localStorage、navigator等多种检测方式。该插件易于集成,提供灵活配置,允许自定义检测顺序和缓存策略。它还支持添加自定义检测功能,为多语言网站开发提供便捷解决方案。

简介

npm 版本

这是一个用于在浏览器中检测用户语言的 i18next 语言检测插件,支持以下方式:

  • cookie(设置 cookie i18next=LANGUAGE)
  • sessionStorage(设置键 i18nextLng=LANGUAGE)
  • localStorage(设置键 i18nextLng=LANGUAGE)
  • navigator(设置浏览器语言)
  • querystring(在 URL 后附加 ?lng=LANGUAGE
  • htmlTag(添加 HTML 语言标签 <html lang="LANGUAGE" ...)
  • path(http://my.site.com/LANGUAGE/...)
  • subdomain(http://LANGUAGE.site.com/...)

入门

可以通过 npm、bower 加载源代码,或从本仓库下载

# npm 包
$ npm install i18next-browser-languagedetector

# bower
$ bower install i18next-browser-languagedetector
  • 如果您不使用模块加载器,它将被添加到 window.i18nextBrowserLanguageDetector

连接方式:

import i18next from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

i18next.use(LanguageDetector).init({
  supportedLngs: ['de', 'en', 'fr'],
  ...i18nextOptions
});

与所有模块一样,您可以将构造函数(类)传递给 i18next.use 或传递给具体实例。

supportedLngs 是可选的,但允许 i18next 从检测到的语言列表中选择最佳匹配。如果未设置,则 language 将被设置为第一个检测到的语言,无论您的应用程序是否有该语言的翻译。

检测器选项

默认选项可以在这里找到。

{
  // 检测用户语言的顺序和来源
  order: ['querystring', 'cookie', 'localStorage', 'sessionStorage', 'navigator', 'htmlTag', 'path', 'subdomain'],

  // 用于查找语言的键或参数
  lookupQuerystring: 'lng',
  lookupCookie: 'i18next',
  lookupLocalStorage: 'i18nextLng',
  lookupSessionStorage: 'i18nextLng',
  lookupFromPathIndex: 0,
  lookupFromSubdomainIndex: 0,

  // 缓存用户语言的位置
  caches: ['localStorage', 'cookie'],
  excludeCacheFor: ['cimode'], // 不持久化的语言(cookie、localStorage)

  // 可选的 cookie 过期时间和域名
  cookieMinutes: 10,
  cookieDomain: 'myDomain',

  // 可选的带有 lang 属性的 htmlTag,默认为:
  htmlTag: document.documentElement,

  // 可选的设置 cookie 选项,参考:[MDN Set-Cookie 文档](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie)
  cookieOptions: { path: '/', sameSite: 'strict' },

  // 可选的用于修改检测到的语言代码的转换函数
  convertDetectedLanguage: 'Iso15897',
  convertDetectedLanguage: (lng) => lng.replace('-', '_')
}

可以通过以下方式传递选项:

推荐 - 在 i18next.init 中设置 options.detection:

import i18next from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

i18next.use(LanguageDetector).init({
  detection: options,
});

在构造时:

import LanguageDetector from 'i18next-browser-languagedetector';
const languageDetector = new LanguageDetector(null, options);

通过调用 init:

import LanguageDetector from 'i18next-browser-languagedetector';
const languageDetector = new LanguageDetector();
languageDetector.init(options);

添加自定义检测功能

接口

export default {
  name: 'myDetectorsName',

  lookup(options) {
    // options -> 传入的选项
    return 'en';
  },

  cacheUserLanguage(lng, options) {
    // options -> 传入的选项
    // lng -> 当前语言,将在初始化和更改语言时调用
    // 存储它
  },
};

添加方法

import LanguageDetector from 'i18next-browser-languagedetector';
const languageDetector = new LanguageDetector();
languageDetector.addDetector(myDetector);

i18next.use(languageDetector).init({
  detection: options,
});

请注意:您必须将检测器的名称(在本例中为 myDetectorsName)添加到 options 对象中的 order 数组中。否则,您的检测器将不会被使用。详见检测器选项部分


金牌赞助商


本地化即服务 - locize.com

需要翻译管理?想要使用上下文编辑器编辑翻译?使用 i18next 维护者为您提供的原始服务!

locize

使用 locize 可以直接支持 i18next 和 react-i18next 的未来发展。


项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号