我在我的网络应用程序中使用Tower库为i18n和l10n。
我遇到了必须本地化“及时”的问题,即使用意料之外的字典,特别是未预料到的支持的语言环境。
我收到HTTP请求,我可以从中按优先顺序提取接受的语言环境,例如:
[:de :en-UK :en :fr-FR :fr]
另一方面,我必须从以下形式从数据库中提取的微词典进行本地化:
{:fr "En Français"
:en "In English"
:en-Uk "In English from UK"}
我想在我的计划中做的是找到这两个元素的最佳匹配翻译(在示例中,它是:en-UK
;请注意我可能事先不知道:de
不可用)。
我还没有找到一种方法来使用Tower库(我想避免重新发明轮子)。
有谁知道我怎么办?
提前致谢!
答案 0 :(得分:1)
根据此处的讨论,只需在Tower v2.1.0-SNAPSHOT
中为任意区域设置回退添加原生支持:https://github.com/ptaoussanis/tower/issues/43#issuecomment-42014418
现在可以请求(t [:fr-FR :en-US] :example/foo)
等翻译。
干杯! : - )
答案 1 :(得分:0)
您可以从地图中获取一系列键,获取两个序列共有的所有值,然后根据符合您要求的逻辑选择任何首选值。