如何用python编写多语言项目?

时间:2019-09-18 14:51:12

标签: python gettext

我想构建一个多语言的python程序。基于这些链接(12),我以以下格式构造和构建了程序。

+---commandHandlers
|   |   agreements.py
|   |   basics.py
|   |   __init__.py
|
+---responseTexts
|   |   agreementResponces.py
|   |   basicResponces.py
|   |   __init__.py
|   |
|   +---locales
|   |   |   default.pot
|   |   |   ReadMe.md
|   |   |
|   |   \---fa
|   |       \---LC_MESSAGES
|   |               default.mo
|   |               default.po

我有两个问题。

第一件事是,每当我添加需要翻译的新文本时,我都应该使用以下命令,这会破坏我之前翻译的数据。

cd responseTexts
xgettext -d default -o locales/default.pot basicResponces.py agreementResponces.py
cp locales/default.pot locales/fa/LC_MESSAGES/default.po
msgfmt -o locales/fa/LC_MESSAGES/default.mo locales/fa/LC_MESSAGES/default

我知道我可以复制粘贴新生成的文本,而不必使用cp,但是您知道这非常无聊且不合理。

第二个问题是如何更改default.pot的标头

"Content-Type: text/plain; charset=CHARSET\n"

"Content-Type: text/plain; charset=UTF-8\n"

在我忘记之前,是否可以通过任何方法将目录作为Windows中xgettext的输入?因为下面的命令对我不起作用。

xgettext -d default -o locales/default.pot -D .

已更新

使用msgmerge作为msgmerge locales/fa/LC_MESSAGES/default.po locales/default.pot > locales/fa/LC_MESSAGES/default.po也不起作用:))

0 个答案:

没有答案