当 sneetsher 编写的 shell 脚本运行时, 如何为 Ubuntu 制作一本迷你英汉词典?
我发现没有把所有的英文单词都翻译成中文,很明显所有没有翻译的单词都可以翻译成中文,为什么不把所有的单词都翻译出来呢?所有的单词都很简单,不难翻译。
答案1
我在这里只提一下胶水,软件翻译(L10n、I18n 或 G11n)是一个太深奥的话题。脚本查询的目录文件主要来自桌面环境包(LXDE 有自己的,与 KDE、Gnome 一样)。Unity 是一个特殊的例子,它没有使用任何。
LXDE 是基于 GTK 构建的。因此它使用
gettext
格式.po
进行翻译。但这种格式不用于.desktop
文件,Launchpad 也不支持其 Web 界面上的翻译。因此您必须直接更改源代码或通过提交补丁告诉其他人这样做。LXDE 不是 Ubuntu 项目,它是一个独立项目。因此 Launchpad 不是上游项目站点。每个项目都有自己的程序/规则。
http://lxde.org/→ 加入我们 → 翻译 LXDE 和项目文档
如何获取相关的上游项目?
我正在使用 Kubuntu 15.04,其所有目录文件都已翻译,只有一些属于 WineHq。
更改我之前的脚本以显示文件路径
#!/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'\t'$f ;; 1) echo -e $name_en'\t\t'$name_zh'\t'$f ;; 0) echo -e $name_en'\t\t\t'$name_zh'\t'$f ;; esac done
跑步
./extract_zh_translation.sh "/usr/share/desktop-directories/*.directory"
检查桌面所来自的相关包
dpkg -S /usr/share/desktop-directories/wine-Programs-Accessories.directory
输出:
wine1.6: /usr/share/desktop-directories/wine-Programs-Accessories.directory
在以下位置搜索 (
wine1.6
)http://packages.ubuntu.com- 在侧面板上,查看所有软件包信息、最重要的 Launchpad 页面和 Upstream 项目站点(外部资源:主页)
我差点忘了回答,为什么?
人力资源!!!这些属于免费社区,即使这些社区中有一家或多家核心公司来维持社区的运转,并帮助解决一些免费社区难以解决或只有少数开发人员感兴趣的开发问题。
当翻译由具有最低限度的技术知识来测试他所翻译的软件的母语人士进行时,翻译会更好/更容易。
这里的原因太广泛了,所以继续进行一些翻译吧,比如说一年或更长时间。然后如果你记得这个,就来写一个答案。
说话没那么容易。给我看代码。
Linus,http://lkml.org/lkml/2000/8/25/132
我的建议是,尝试计划维护一些你非常喜欢的软件/工具的翻译几年。这比几个月翻译很多软件/工具要好,然后你就会不知所措,最后只能放弃。
维护,我的意思是每次发布之前都需要审查翻译,更新旧条目并添加新条目。
顺便说一下,检查一下https://wiki.ubuntu.com/翻译了解 Ubuntu 的翻译过程。