HOWTO 的这一部分主要面向开发者——尽管对内部原理感兴趣的用户也可以阅读 ;-)。但是,开发者不应从这里开始——他/她应首先阅读前面的章节,为孟加拉语支持设置系统。
开发中心是 www.Bengalinux.org 网站。 遵循的模型是通用的 FLOSS 类型的“集市”模型(稍微本地化的版本 ;-),您可以获得所有好东西(CVS、shell 访问权限、scp、电子邮件列表等)。如果您有兴趣参与开发,请发送邮件至<core@bengalinux.org>声明您的意图。
开发者必须订阅他或她正在从事的项目邮件列表——请参阅 Bengalinux.org 的 Projects 部分。
通常的网络礼仪适用于所有列表——保持礼貌/温和,不要发送 HTML 邮件,不要大喊大叫等。
必须知道如何读写正确的孟加拉语(至少语法应该没问题)。
必须拥有某种可以用来编辑 Unicode 编码的孟加拉语的编辑器。(不建议使用专有编辑器——不提供支持。)
(这是可选的)——必须对 l10n 有基本了解(如果可能,通过阅读 GNU gettext 信息页面 RTFM)。
必须愿意在为项目开发时遵循通用的 FLOSS 哲学和程序——并且总的来说要表现得像圣人 ;-)。
翻译非常简单——您需要编辑*.po(可移植对象)文件。要获取 PO 文件——从 http://developer.gnome.org/projects/gtp/status/gnome-2.2/bn/index.html 检查哪些文件未翻译。下载任何未翻译的文件,并在支持孟加拉语的编辑器中打开它(抱歉——vi/emacs 在这里不起作用)。我个人使用 Yudit ——其他可能的选择是 Lekho 和优秀的旧版 Gedit2。
![]() | 在您开始处理某项内容之前,请确保您在<gnome-translations@bengalinux.org>宣布您正在处理的文件。这可以节省很多麻烦和挫败感 ;-)。 |
在文件开头,您将看到一些字段,用于填写翻译者的姓名、电子邮件、翻译时间、软件包名称等。填写它们,然后继续下一部分。
您会找到一些像这样的行
#: atk/atkobject.c:1183 msgid "invalid" msgstr "" |
第一行指定文件名以及第二行中的字符串出现的位置。第二行包含要翻译的实际字符串,第三行是孟加拉语翻译字符串的占位符。因此,在翻译后的文件中,这组行将如下所示
#: atk/atkobject.c:1183 msgid "invalid" msgstr "bhul" |
![]() | 在这里,由于当今技术的限制,我用英语写了单词 bhul 。但是,当您进行实际翻译时,您需要用孟加拉语而不是英语写出翻译后的字符串。 |
您必须翻译 po 文件中的所有行组,然后才能认为它已完成。完成后,将其邮寄到翻译列表<gnome-translation@bengalinux.org>,以便其他开发者也可以查看它。
![]() | 在将翻译作为最终版本提交之前——请使用命令检查文件 bash$ msgfmt -c filename_bn.po -o /dev/null 其中filename_bn.po是您正在处理的文件。 |
翻译时,请记住不要扼杀语言 ;-)。不要过度翻译——不要使用 Sadhu Basha (古典孟加拉语)。此外,当计算机向用户讲话时,使用 samman-shuchak (karun, balun, etc)(敬语,例如:请做,请说等),而当用户向计算机讲话时,使用 karo, balo, etc(非敬语,例如:做,说等)。如果孟加拉语的等价词听起来太不寻常——保留英语单词(用孟加拉语脚本)——以后总是可以更改/改进。不要过度做任何事情。
此外,保持专有名词和商标/品牌名称不变。(Bourne Again Shell (BASH) 不应称为 Aabaar Bourne Shell)。
使用更常用的词(jaanlaa (窗户)而不是 gabaakhya(窗户,较正式的词))。还要始终记住,这些词不一定非常适用于实际操作——十九世纪的英国人甚至无法猜到 “Save” 在计算机中能做什么 ;-)。
如果您对某个翻译后的字符串有意见,请写下(用 “#” 注释掉),以便我们稍后可以查看。如果您心中有多个等效的字符串,请写下所有字符串,并注释掉除您认为最好的字符串之外的所有字符串。
但是,在注释时,请记住您不能在 msgid 和 msgstr 行之间有任何注释。
这意味着
#: atk/atkobject.c:1183 msgid "invalid" # yadayadayada msgstr "bhul" |
是无效的。相反,您应该写——
#: atk/atkobject.c:1183 msgid "invalid" msgstr "bhul" # yadayadayada |
还有...最后但同样重要的是,拼写检查,拼写检查,拼写检查。在翻译会话期间——始终带着您的字典,甚至更好的是,孟加拉国孟加拉学院的 Bangla Baanaan Abhidhan (孟加拉语拼写词典)。来自 Bengalinux 的 bspeller 在这里可能很有用。
另一本推荐的书是 Sahitya Samsad 出版的 Ashok Mukherjee 的 Samartha-ShabdaKosh (孟加拉语同义词词典)。
对于翻译者来说,最棘手的事情之一是理解上下文。例如,仅通过查看 pofile,翻译者将不知道 Open 是指 Kholo (打开)还是 Khola (已打开)。为了进行上下文相关的翻译,翻译者必须在实际操作中检查他/她的翻译,即在应用程序界面中。本节介绍了一种无需重新编译程序即可查看翻译的技巧。
![]() | 此过程适用于大多数使用 GDM 作为登录管理器的系统。但是,我不能保证这在您的系统上有效。 |
完成后,将所有翻译后的 pofile 放在机器上的一个文件夹中(以避免混乱),并使用命令逐个将它们转换为 MO 文件
bash$ msgfmt -o file.mo file.version.gnomeversion_bn.po
![]() | 执行此操作时,请记住从 mo 文件的名称中删除所有版本和语言信息,即,gnome-games.gnome-2-4.bn.po应转换为gnome-games.mo. 如果您不确定软件包,请执行 rpm -ql packagename,您将获得软件包的命名方案。例如,rpm -ql gdm 的部分输出读取
由此,很明显,必须为 GDM 软件包发出命令 msgfmt -o gdm-2.4.mo gdm2.gnome-2-2.bn.po 。 |
完成后,将 MO 文件复制到/usr/share/locale/bn_IN.UTF-8或/usr/share/locale/bn_BD.UTF-8,具体取决于您如何设置区域设置。
现在,打开/etc/X11/gdm/locale.alias并将以下行添加到其中。
Bengali bn_IN.UTF-8,bn_IN |
之后,重新启动 X,在语言菜单中选择孟加拉语,然后重新登录到 GNOME。您将看到一个孟加拉语系统。
![]() | 要测试单个应用程序,您不必完成所有这些操作。只需设置区域设置,安装字体并将 MO 文件放在正确的位置。现在,启动 xterm,并发出命令 export LANG=bn_IN.UTF-8 或 export LANG=bn_BD.UTF-8。之后,从 xterm 本身启动您要检查的程序,它将以孟加拉语界面启动。 |