我正在Go中开发一个API服务器,服务器(目前)处理客户端的所有翻译.当API客户端获取特定数据时,它还会询问给定部分可用的转换.
理想情况下,我想拥有以下文件夹结构:
/messages
/home.en
/home.fr
/home.sv
/news.en
/news.fr
/news.sv
Run Code Online (Sandbox Code Playgroud)
凡news和home是不同的模块.
现在我对Revel的问题是,是否可以获取给定模块和给定语言环境的所有语言字符串?例如,为en-US拉出所有主页字符串.
编辑:
我想输出(我可以返回给客户端)一个键:翻译的值字符串.
任何指导将不胜感激.
在我看来,revel 使用基于消息的翻译(就像 gettext 一样),因此您需要原始字符串来获取翻译。这些字符串存储在 Config 对象中,这些对象本身存储在i18n.gomessages中,按语言排序。
如您所见,此映射未导出,因此您无法访问它。解决此问题的最佳方法是根据需要编写一个函数(通过提供一种语言获取配置) 或导出现有函数之一并为 revel 创建拉取请求。
您可以通过复制 revel 的代码loadMessageFile或分叉您的 revel 版本并导出loadMessageFile或来解决此问题parseMessagesFile。这也是创建拉取请求的绝佳机会。
请注意,本地化存储在由 解析的 INI 文件格式中robfig/config,因此手动解析也是一种选择(尽管不推荐)。
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |