如何处理“动态嵌套定位”

时间:2019-06-28 14:09:55

标签: localization

简单的情况:要本地化的字符串是完全静态的。只需为其分配代码,然后使用它来检索所需语言的该字符串的本地化版本。

您的可本地化资源可能很简单,例如{id: string_id}

更复杂但还是很简单的情况:要本地化的字符串包含一个或多个动态部分。与其存储完整的本地化字符串(因为在运行时才没有动态部件,否则不能存储),而是将模板与动态部件的占位符一起存储,然后在检索到合适的模板后替换它们。 / p>

您的可本地化资源可能类似于{id: string_id: parts: [p1, p2]}

硬情况:有时您可能必须本地化由其他本地化字符串动态组成的字符串。一个示例可能是一条消息,通知用户他可以执行哪些操作,例如:

  

嗨,%username%,您现在的选择是:%action1%或%action2%或%action3%

在运行时获得action1,action2,action3的地方,它们的内容/编号可能会发生变化,例如:

  

迈克,您好,您现在的选择是:“播放”,“快进”,“下一个”

     

迈克,您好,您现在的选择是:“停止”,“暂停”

这有两个问题:

  1. 动态部分必须自己定位
  2. 您不知道会有多少个,如何放置占位符?

我自己可以提出一些建议,但是我想知道是否有一些最佳实践或普遍接受的方式来处理此问题。我很难在Google上找到关于它的任何信息。

0 个答案:

没有答案