在bash中使用gettext
发布时间:2020-12-15 21:50:11 所属栏目:安全 来源:网络整理
导读:如何在bash脚本中使用gettext? 我只找到了这个页面,但我不明白. Localization 我的脚本是这样编写的: #!/bin/bash . lang_file.sh echo $LANG_HELLO_WORLD 而lang_file.sh看起来像那样: #!/bin/bash LANG_HELLO_WORLD="Hello World" 我想使用gettext将lan
如何在bash脚本中使用gettext?
我只找到了这个页面,但我不明白. Localization 我的脚本是这样编写的: #!/bin/bash . lang_file.sh echo $LANG_HELLO_WORLD 而lang_file.sh看起来像那样: #!/bin/bash LANG_HELLO_WORLD="Hello World" 我想使用gettext将lang_file.sh更改为某些内容,如下所示: #!/bin/bash LANG_HELLO_WORLD=`some gettext command to get string in user language` 我想在Launchpad中使用代码,以便其他用户可以翻译它(.po,.pot文件) 抱歉英语不好,有什么建议吗? 解决方法
您需要执行以下步骤:
>确定您的项目名称是什么,gettext将其称为textdomain,您将需要它来检索项目的翻译.我们称之为“PRJ”. (我们称之为PRJ.sh) #!/bin/sh alias GETTEXT='gettext "PRJ"' ## Use GETTEXT to mark the string you want to translate HELLO_WORLD=$(GETTEXT "Hello world") echo "$HELLO_WORLD" >制作.pot文件,以便翻译人员可以使用它. 运行以下命令,它只查找GETTEXT,您实际想要翻译的那个. xgettext -o PRJ.pot -L Shell --keyword --keyword=GETTEXT PRJ.sh >(可选)生成.po文件. 对于要覆盖的每个区域设置. msginit -i PRJ.pot -l fr.UTF-8 请注意,“UTF-8”是建议的,否则msginit可能会错误地为您选择一些过时的编码. >检索已完成的.po文件,并将其转换为.mo文件 (机器可以读取的文件) msgfmt -v fr.po -o fr.mo >安装.mo文件 跑: sudo install fr.mo /usr/share/locale/fr/LC_MESSAGES/PRJ.mo 现在您可以尝试结果: LANGUAGE=fr ./PRJ.sh 你应该看看Hello world的法语翻译. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |