首页 > 解决方案 > 嵌入式脚本语言的编译时本地化

问题描述

我一直在使用一种非常不受欢迎的脚本语言 Sourcepawn 开展一个项目。我目前需要本地化当前的软件。该脚本将始终以相同的语言运行,因此我的目标是编译时本地化,但我发现的只是运行时解决方案,其中大多数无法实现。我找到了https://github.com/pzavolinsky/baked-i18n但由于某种原因它没有维护并且与当前语法不兼容。

Sourcepawn 中的调用语法与 C 相同,所以我的目标是我可以做类似的事情

printf(_t("Hello!"));

处理文本后,得到如下结果:

printf("Hola!");

并使用外部文件进行翻译,就像我之前链接的项目一样,不幸的是它不起作用。是否有任何解决方案,也许是一些尝试像上面提到的那样“与语言无关”的解决方案,可以帮助我解决这个问题?

谢谢!

标签: localization

解决方案


您可以在 SourcePawn 中使用翻译,使用%T并传递翻译键,后跟客户端索引。

PrintToChat(client, "%T", "Hello", client);

https://wiki.alliedmods.net/Translations_(SourceMod_Scripting)


推荐阅读