在Travis-CI中设置语言环境(当不允许使用sudo时)
问题描述:
我有一个用R语言编写的多语言(英语和意大利语)应用程序,在Travis-CI的可信环境下部署,我想测试所有的本地化消息。该应用程序正在使用gettext模型。在Travis-CI中设置语言环境(当不允许使用sudo时)
本地化版本位于LC_MESSAGES
子文件夹下,它们应该位于该文件夹下。
我已经安装了意大利语的language-pack-it
,但Ubuntu似乎并没有切换到意大利语。
这是我的语言环境集时,我改用意大利语:
LC_CTYPE=it_IT.UTF-8
LC_NUMERIC=C
LC_TIME=it_IT.UTF-8
LC_COLLATE=it_IT.UTF-8
LC_MONETARY=it_IT.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_NAME=C
LC_ADDRESS=C
LC_TELEPHONE=C
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=C
它看起来像开关不是“完全”(寻找前的LC_MESSAGES
值。)
我不能使用sudo locale-gen "it_IT.UTF-8"
(不知道它会解决什么问题),因为Travis不允许在容器上使用sudo
。
有没有解决这个问题的另一种方法?
fyi这里是我试图构建的app。
tnx提前!
答
解决方案如预期的那样更加简单:默认情况下,LC_ALL
未设置LC_MESSAGES
,所以我只需将其设置在set env命令中即可解决问题。