D. *_*med 6 python django localization internationalization makemessages
当我运行此命令时:
django-admin makemessages -l ar
Run Code Online (Sandbox Code Playgroud)
它给出了这个错误:
Traceback (most recent call last):
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\utils\encoding.py", line 65, in force_text
s = str(s, encoding, errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3107: invalid continuation byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\Ahmed\AppData\Local\Programs\Python\Python36-32\Scripts\django-admin.exe\__main__.py", line 9, in <module>
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site- packages\django\core\management\__init__.py", line 371, in execute_from_command_line
utility.execute()
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site- packages\django\core\management\base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\base.py", line 335, in execute
output = self.handle(*args, **options)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 384, in handle
potfiles = self.build_potfiles()
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 426, in build_potfiles
self.process_files(file_list)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 522, in process_files
self.process_locale_dir(locale_dir, files)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\commands\makemessages.py", line 590, in process_locale_dir
msgs, errors, status = popen_wrapper(args)
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\core\management\utils.py", line 23, in popen_wrapper
force_text(output, stdout_encoding, strings_only=True, errors='strict'),
File "c:\users\ahmed\appdata\local\programs\python\python36-32\lib\site-packages\django\utils\encoding.py", line 69, in force_text
raise DjangoUnicodeDecodeError(s, *e.args)
django.utils.encoding.DjangoUnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 3107: invalid continuation byte. You passed in
Run Code Online (Sandbox Code Playgroud)
除了错误之外,html.py还会为每个 html 文件创建文件。例如: for index.html,index.html.py在模板文件夹中用它创建了一个。这些html.py文件只包含“X”和“B”字符以及一些要翻译的文本。
例如:
BBBBBBBB
BBBBB BBBBBBB
XXXX XXXXXXXXXXXXXXXXXXXXX
XXXX XXXXXXXXX XXXXX XXX
XXXX XXXXXXXXXXXXXXXXXX
XXXX XXXXXXXXXXXXX
XXXX XXXXXXXXXXXXXXXXXX XX
XXX XXXXXXXXXXXXXX gettext(u'Les appels à projet') XXXXX
XXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX
XXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX XXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXX
XXXXXX
XXXXXX
XXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXX XXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXX XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX
XXXXXXX
XXXX
XXXX gettext(u'Appel à projet') XXXXX
XXXX gettext(u'Date de lencement') XXXXX
XXXX gettext(u'Date de clature') XXXXX
XXXX gettext(u'Année budjitaire') XXXXX
XXXX gettext(u"N° d'apppel à projet") XXXXX
XXXX gettext(u"Etat d'appel") XXXXX
XXXX XXXX gettext(u'Action') XXXXX XXX
XXXXX
XXXXXXXX
XXXXXXX
BBB BBBBBB BB BBBBBBBBBBB
XXXX
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
我已经有一个.poAr 文件,其中包含一些要翻译的文本,这是我 2 个月前创建的,并且翻译得非常完美。
但是当我运行makemessages命令添加要翻译的新文本时,它给出了上述错误。
请问有什么想法吗?
我找到了解决方案,我只是忘记了一些基础知识:p
\n\n问题出在模板名称中,我有两个名为的模板文件Crit\xc3\xa9reGlobale.html,问题是文件名称中的Crit\xc3\xa9reSpecifique.html字符,在我将名称编辑为和\xc3\xa9CritereGlobale.htmlCritereSpecifique.html问题解决后,不再有 .html.py 文件,并且命令运行完美。
希望能帮助别人
\n| 归档时间: |
|
| 查看次数: |
843 次 |
| 最近记录: |