如何处理翻译字符串中的单引号?

2024-04-26 23:31:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python3.5.2和django1.10。在

我已经收到了法语翻译.po文件,可以运行compilemessages命令而不会收到任何错误。在

但是,当我运行这个站点时,很多页面拒绝加载。在

我怀疑这是因为法语translation.po文件在翻译字符串中包含许多单引号(')。在

例如

#: .\core\constants\address_country_style_types.py:274
msgid "Ascension Island"
msgstr "Île de l'Ascension"

我记得在某个地方读到过(但在任何地方都找不到引用),单引号前面必须有正斜杠或反斜杠。所以我试过了,但是当我运行compilemessage命令时,我收到一条错误消息:

^{pr2}$

那么我如何避开字符串中的法语单引号问题呢?

这是我的法语.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"

Tags: 文件the字符串命令packageemail地方错误
2条回答

正确的方法是“转义”单引号,但是,您需要知道使用文本的端点。就像你用反斜杠发现的,比如: 我升天

相信我,没有一个法国人会喜欢看后面的话。回到90年代的DOS时代,从视觉上看,几乎没有区别。现在字体变丑了。在

因为您是为web制作的,所以使用HTML替代品,比如'

请参阅本文: Why shouldn't `&apos;` be used to escape single quotes?

我不确定这个问题的原因是什么(可能是翻译程序不知怎么损坏了文件?)。在

但是,解决方法不是使用标准的单引号',我使用了这个单引号(取自MS-Word中的符号):

我还没有检查这个法语翻译,但它看起来和工作正常。在

我希望这对某人有帮助。在

相关问题 更多 >