@ 流利/ langneg 
@fluent/langneg 为谈判语言提供API。 这是一部分
项目流利它的主要功能是提供环绕欧洲的功能
内通. 语言 以语言谈判、匹配和
选择.
安装
@fluent/langneg 可以在客户端和服务器端使用.
您可以从 npm 注册处安装, 或者将其作为独立的脚本使用 .
npm install @fluent/langneg
如何使用
import { negotiateLanguages } from "@fluent/langneg";
const supportedLocales = negotiateLanguages(
navigator.languages, // requested locales
["de", "en-US", "pl"], // available locales
{ defaultLocale: "en-US" }
);
API 参考文献见 https://projectfluent.org/fluent.js/langneg 页面存档备份,存于互联网档案馆。 。 。 .
战略
API支持三项谈判战略:
过滤( 默认)
在这个策略中,算法将尝试匹配尽可能多的可用地块 尽可能为每个请求的地址.
示例
请求 : ['de-DE','fr-FR'] 可用: ['it','de','en-US','fr-CA','de-DE','fr','de-AU']
支持: ['de-DE','de','fr','fr-CA']
匹配
在此策略中, 算法将寻找最佳匹配 每个请求的地块的地块 .
示例
请求 : ['de-DE','fr-FR'] 可用: ['it','de','en-US','fr-CA','de-DE','fr','de-AU']
支持 : ['de-DE','fr']
查询
在这个策略中,算法将尝试找到单一的最佳地盘 用于在可用的本地地址列表中查找所要求的本地地址列表.
示例
请求 : ['de-DE','fr-FR'] 可用: ['it','de','en-US','fr-CA','de-DE','fr','de-AU']
支持: ['de-DE']
API 用途 :
let supported = negotiateLanguages(requested, available, {
strategy: "matching",
});
可能是亚种
流利语言谈判模块载有它自己的可能 子数据,用于查找最可能可用的本地地址 如果所请求的语境过于笼统.
这种情形的一个例子是用户要求 en 语言,和
应用程序支持 en-GB 财务报告和审定财务报表 en-US。 。 。 .