当您打开 Ubuntu 时,会使用许多英语单词。例如,附件、教育、图形、互联网、办公、其他、声音、视频、系统工具、首选项、运行和注销都将出现在 GUI 中。
如何获得 Ubuntu GUI 中使用的所有英语单词的列表?
我想要一个所有英文单词的列表,以便我可以将它们翻译成中文,以便为 Ubuntu 创建一个词汇表:英文 Ubuntu 术语的中文指南。这将用作迷你词典:一个两列文件,左边是英文,右边是中文。
仅通过查看 GUI 上的文字就可以写出整个内容是一个笑话。我想要一种聪明的方式来完成这项任务。是否有 Ubuntu 使用的所有单词的列表?
当我在 GUI 中遇到单词时手动输入是完成任务的愚蠢方式。
en_us.zh。有没有更聪明的方法来做到这一点?
我的 /usr/lib/locale/locale-archive 中的哪个字符?
根据 GUI 工具包或规范,有多种方式用于存储国际化字符串。
屏幕截图中显示的内容来自菜单.directory文件。使用与.desktopfreedesktop 项目相同的标准。请参阅桌面条目规范:键的本地化值
这里有一个脚本来提取它们
创建一个外壳文件
nano extract_zh_translation.sh
Run Code Online (Sandbox Code Playgroud)
添加
#!/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
Run Code Online (Sandbox Code Playgroud)使其可执行
chmod +x extract_zh_translation.sh
Run Code Online (Sandbox Code Playgroud)在菜单目录条目上运行它
./extract_zh_translation.sh "/usr/share/desktop-directories/*.directory"
Run Code Online (Sandbox Code Playgroud)
这是一个输出示例
如果您也想要应用程序菜单条目
./extract_zh_translation.sh "/usr/share/applications/*.desktop"
Run Code Online (Sandbox Code Playgroud)
这是一个输出示例
Unity GUI 的其他翻译是使用gettext.
具有.gmo或.mo扩展名的文件是最终的二进制格式。查看:
locate -br .mo$ | grep zh_CN
Run Code Online (Sandbox Code Playgroud)
源文件有.po扩展名,您可以从https://translations.launchpad.net/下载它们,或者下载完整的源代码,例如:
apt-get source unity
Run Code Online (Sandbox Code Playgroud)Qt 和 Java 等其他 GUI 工具包使用不同的格式。
| 归档时间: |
|
| 查看次数: |
812 次 |
| 最近记录: |