duankun9280 2018-03-10 20:57
浏览 49

搜索Golang翻译

I have a package which is reusable but also needs translations. For the first binary that uses it, all is well - for the second one I may forget some tokens that need translations. Subsequentially this leads to texts not being translated.

Therefore I am looking for a way to have translations, that enables the compiler (or something else) to find all translation-tokens that are used in any of the to-be compiled packages.

I have thought of maybe using go:generate. This would make a translation look like so:

//go:generate collectTranslation "TOKEN_FOR_TEXT" "Default text"
translator.Translate("TOKEN_FOR_TEXT", "Default text")

This approach however has two problems:

Problem 1) Redundancy - I have to remember to add a go:generate everywhere I use a translation. I would REALLY prefer a way that is more robust against human error.

Problem 2) go generate does not automatically dereference dependencies. I need to get fancy with go list -f '{{ .Deps }}' to get the dependencies and then run go generate for those. (Obviously I don't do this by hand but automated.)


Anyways my solutions while working feel like patchworks to the problem. Is there a cleaner solution?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 mmocr的训练错误,结果全为0
    • ¥15 python的qt5界面
    • ¥15 无线电能传输系统MATLAB仿真问题
    • ¥50 如何用脚本实现输入法的热键设置
    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀