【发布时间】:2017-05-04 07:01:58
【问题描述】:
我正在使用 Python 3.5.2 和 Django 1.10。
我收到了法语翻译的.po文件,可以运行compilemessages命令而不会收到任何错误。
但是,当我运行该网站时,许多页面拒绝加载。
我怀疑这是因为法语翻译 .po 文件在翻译字符串中包含许多单引号 (')。
例如,
#: .\core\constants\address_country_style_types.py:274
msgid "Ascension Island"
msgstr "Île de l'Ascension"
我记得在某处(但在任何地方都找不到该引用)读到单引号必须在它们之前有一个正斜杠或反斜杠。所以我尝试了,但是当我运行 compilemessage 命令时,我收到了一条错误消息:
C:\Users\me\desktop\myapp\myapp\locale\fr\LC_MESSAGES\django.po:423:18: invalid control sequence
那么我该如何转义字符串中的法语单引号问题呢?
这是我的法语 .po 文件的标题:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-04 12:55+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
【问题讨论】:
-
我不确定是不是这个问题,我参与过许多 django 项目,其中包括法语,但我不记得有这个问题。
-
这可能是字符编码(又名“编解码器”)问题。不是 ' 字符。你确定这些文件是有效的 utf8(用一个好的文本编辑器检查)。
-
@Jonas Giuro - 你使用标准单引号吗?例如:
'? -
是的,我是这样使用它的
"Île de l'Ascension",根据我的经验,混乱的翻译呈现为混乱的翻译,它们不会阻止整个页面的呈现。 -
@Jonas Giuro - 我用过
′,它工作正常 - compilemessage 命令工作和页面加载。不确定'的问题是什么。您认为使用′-"Île de l′Ascension"进行法语翻译可以吗?法语语法正确吗?
标签: python django translation language-translation