示例
开始翻译的示例
以法语为例:
git pull cd webwml mkdir french cd french cp ../english/.wmlrc ../english/Make.* . echo 'include $(subst webwml/french,webwml/english,$(CURDIR))/Makefile' > Makefile mkdir po git add Make* .wmlrc cp Makefile po make -C po init-po git add po/Makefile po/*.fr.po
编辑 .wmlrc 文件并修改:
- 将 '-D CUR_LANG=English' 改为 '-D CUR_LANG=French'
- 将 '-D CUR_ISO_LANG=en' 改为 '-D CUR_ISO_LANG=fr'
- 将 '-D CUR_LOCALE=en_US' 改为 '-D CUR_LOCALE=fr_FR'
- 将 '-D CHARSET=iso-8859-1' 改为适当的值。
法语正好与英语使用相同的字符编码,所以不需要修改,但是新语言很可能需要调整这个设置。
编辑 Make.lang 并将 'LANGUAGE := en' 改为 'LANGUAGE := fr'。如果您要翻译的语言使用多字节字符集,您可能需要修改该文件中的其他一些变量,更多信息请阅读 ../Makefile.common 以及其他工作示例(如中文翻译)。
进入 french/po 目录并翻译 PO 文件中的条目。这应该是相当简单的。
务必确保将 Makefile 复制到您翻译的每个目录中。这是必要的,因为程序 make
用于将 .wml 文件转换为 HTML,而 make
需要使用 Makefile。
当您完成添加和编辑页面时,在 webwml 目录中执行:
git commit -m "Add your commit message here" git push现在您可以开始翻译页面了。
翻译页面的示例
以翻译社会契约的法语版本为例:
cd webwml ./copypage.pl english/social_contract.wml cd french
这将自动添加 translation-check 标头,指向被复制的原始文件的版本。如果缺失,它还会创建目标目录和 Makefile。
编辑 social_contract.wml 并翻译文本。不要尝试翻译任何链接或以任何方式修改它们 - 如果您想修改任何内容,请在 debian-www 列表中提出请求。完成后,输入:
git add social_contract.wml git commit -m "Translated social contract to french" git push
添加新目录的示例
此示例显示法语翻译添加 intro/ 目录:
cd webwml/french mkdir intro cd intro cp ../Makefile . git add Makefile git commit -m "added the intro dir to git" git push确保新目录有 Makefile 并且它已提交到 git。否则,运行 make 会给其他试图使用的人带来错误。
冲突的示例
此示例显示了一个无法工作的提交,因为自您上次执行 git pull 以来,仓库中的副本已被修改。
您对文件 foo.wml 进行了一些修改。然后:
git add foo.wml git commit -m "fixed a broken link" git push将输出:
To salsa.debian.org:webmaster-team/webwml.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@salsa.debian.org:webmaster-team/webwml.git'
或者类似的内容 :)
这意味着由于冲突,您的更改尚未推送到 git 仓库。
您需要检查出了什么问题,解决冲突,然后再次尝试提交/推送。