是否可以使用类似gettext的内容来翻译R脚本。如果是这样,怎么样?如果没有,我还有其他选择吗?
答案 0 :(得分:11)
您可以使用base :: gettext / ngettext,base :: bindtextdomain和tools :: xgettext2pot函数。
例如:
myFunction <- function()
{
bindtextdomain("R-myProgram","/my/translation/dir")
gettext("Hello",domain="R-myProgram")
}
然后,假设此函数位于路径为“/my/dir/R/myfile.R”的文件内,请使用:tools::xgettext2pot("/my/dir", "/my/translation/dir/pot/R-myProgram.pot")
然后使用msginit,msgfmt等创建.mo文件{{ 1}}。如果您的语言环境是法语,myFunction()现在应该打印“Bonjour”而不是“Hello”。
其他几点:
/my/translation/dir/fr/LC_MESSAGES/R-myProgram.mo
参数默认情况下是调用gettext()