gpt4 book ai didi

go - 在 Revel 中输出所有语言字符串?

转载 作者:IT王子 更新时间:2023-10-29 01:27:56 29 4
gpt4 key购买 nike

我正在用 Go 开发一个 API 服务器,该服务器(目前)为客户端处理所有翻译。当 API 客户端获取特定数据时,它还会询问可用于给定部分的翻译。

理想情况下,我希望具有以下文件夹结构:

/messages
/home.en
/home.fr
/home.sv
/news.en
/news.fr
/news.sv

newshome 是不同的模块。

现在我对 Revel 的问题是是否可以获取给定模块和给定语言环境的所有语言字符串?例如,为 en-US 拉取所有主字符串。

编辑:

我想要输出(我可以返回给客户的东西)一个键值对的翻译字符串。

如有任何指导,我们将不胜感激。

最佳答案

在我看来,revel 使用基于消息的翻译(就像 gettext 一样),所以你需要获取翻译的原始字符串。这些字符串存储在 Config 对象中,它们本身存储在 i18n.gomessages 中, 按语言排序。

如您所见,此映射未导出,因此您无法访问它。最好的方法解决这个问题是为你想要的编写一个函数(通过提供一种语言来获取配置)导出其中一个现有函数并为 revel 创建拉取请求。

您可以通过复制 loadMessageFile 的代码来解决此问题或者通过 fork 你的版本 revel 和导出 loadMessageFileparseMessagesFile。这也是一个很好的机会创建拉取请求。

请注意,本地化信息以 robfig/config 解析的 INI 文件格式存储。 ,所以手动解析也是一种选择(尽管不推荐)。

关于go - 在 Revel 中输出所有语言字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598877/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com