当你打开你的Ubuntu时,会用到很多英文单词。例如,配件,教育,图形,互联网,办公室,其他,声音,视频,系统工具,优先,跑步, 和登出都将出现在 GUI 中。
如何获取 Ubuntu GUI 中使用的所有英语单词列表?
我想要一份所有英文单词的列表,以便将它们翻译成中文,为 Ubuntu 创建词汇表:从中文到英文的 Ubuntu 术语指南。这将起到一个迷你词典的作用:一个两列文件,左边是英文,右边是中文。
仅通过查看 GUI 上的单词来编写整个内容简直是笑话。我想要一种聪明的方法来完成任务。是否有 Ubuntu 使用的所有单词的列表?
当我在 GUI 中遇到单词时手动输入是一种愚蠢的完成任务的方法。
- 当语言环境设置为 时,从 GUI 中逐个复制出所有英文单词
en_us
。 - 当语言环境设置为 时,从 GUI 中逐个复制出所有中文单词
zh
。 - 把它们放在一个文件中,左边是英文,右边是中文。
有没有更聪明的方法来做到这一点?
/usr/lib/locale/locale-archive 中的哪个字符?
答案1
根据 GUI 工具包或规范,有很多种方法可用于存储国际化字符串。
屏幕截图中显示的是菜单文件。使用与freedesktop 项目
.directory
相同的标准。请参阅.desktop
桌面输入规范:键的本地化值这里有一个提取它们的脚本
创建 shell 文件
nano extract_zh_translation.sh
添加
#!/bin/bash for f in $(ls $1) do name_en=`sed -n -e '0,/Name/{s/^\s*Name\s*=\s*//p}' $f` name_zh=`sed -n -e '0,/Name\[zh_CN\]/{s/^\s*Name\[zh_CN\]\s*=\s*//p}' $f` case `echo ${#name_en}/8 | bc` in 3|2) echo -e $name_en'\t'$name_zh ;; 1) echo -e $name_en'\t\t'$name_zh ;; 0) echo -e $name_en'\t\t\t'$name_zh ;; esac done
使其可执行
chmod +x extract_zh_translation.sh
在菜单目录条目上运行它
./extract_zh_translation.sh "/usr/share/desktop-directories/*.directory"
这是输出样本
如果您也想要应用程序菜单条目
./extract_zh_translation.sh "/usr/share/applications/*.desktop"
这是输出样本
Unity GUI 的其他翻译正在使用
gettext
。.gmo
具有或扩展名的文件.mo
是最终的二进制格式。检查:locate -br .mo$ | grep zh_CN
源文件有
.po
扩展名,你可以从https://translations.launchpad.net/或者下载完整源代码,例如:apt-get source unity
Qt 和 Java 等其他 GUI 工具包使用不同的格式。
答案2
搜索 Ubuntu 翻译https://wiki.ubuntu.com/翻译/
您可以在那里获得表达和翻译。
答案3
我认为他指的是另一个问题。在我的 Ubuntu 上,我设置了英语、希伯来语和法语。您必须转到系统设置、语言支持并添加其他语言。
要以不同的语言启动,请将首选语言拖到列表顶部。对我来说,它非常有效。
答案4
Ubuntu 有一个中文版本可用并受支持:优麒麟
除了不同的功能之外,我认为这种英文类型但没有删除任何功能实际上会相当不错。