首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento:翻译文件中的单引号无效翻译

问Magento:翻译文件中的单引号无效翻译
EN

Stack Overflow用户
提问于 2011-09-30 10:38:13
回答 4查看 7.4K关注 0票数 2

我正在尝试从Magento 1.5.x安装翻译一些字符串,当有双引号时它工作得很好,但我不能正确转义单引号。

代码语言:javascript
复制
"Hello, <strong>\'.Mage::getSingleton(\'customer/session\')->getCustomer()->getName().\'!</strong>","Hello, <strong>\'.Mage::getSingleton(\'customer/session\')->getCustomer()->getName().\'!</strong>","Ol&aacute;, <strong>\'.Mage::getSingleton(\'customer/session\')->getCustomer()->getName().\'!</strong>"

"<button class=""form-button"" onclick=""setLocation(\'%s\')"" type=""button""><span>Login or Register</span></button>","<button class=""form-button"" onclick=""setLocation(\'%s\')"" type=""button""><span>Login ou Cadastro</span></button>"

我按原样尝试了原始字符串,并使用反斜杠进行了转义。我尝试过用反斜杠和双单引号对翻译后的字符串进行转义。

我试着搜索magento论坛,但只有两个人发表了关于这个问题的帖子,没有得到任何回复。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-04 00:38:59

事实证明,PHP中字符串的输出方式与Magento的翻译引擎不兼容。修复包括PHP文件的更改,而不是转换文件的语法更改。PHP文件现在显示为:

代码语言:javascript
复制
echo $this->__('Hello') . ', <strong>'.Mage::getSingleton('customer/session')->getCustomer()->getName().'!</strong>';

echo ('<button class="form-button" onclick="setLocation(\'' . $this->getUrl('customer/account/login') . '\')" type="button"><span>') . $this->__('Login or Register') . '</span></button>';

而不是将所有内容都放在一个echo $this->__('String to be translated . phpcode. String to be translated . phpcode . etc . etc')中

票数 0
EN

Stack Overflow用户

发布于 2012-12-31 10:33:56

在.phtml文件中使用反斜杠对单引号进行转义时,需要从.csv文件中的转换字符串中删除反斜杠。

示例:

代码语言:javascript
复制
<?php echo $this->__('Click <a href="%s" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl())

应在.csv文件中:

代码语言:javascript
复制
"Click <a href=""%s"" onclick=""this.target='_blank'"">here to print</a> a copy of your order confirmation.", "Click <a href=""%s"" onclick=""this.target='_blank'"">here to print</a> a copy of your order confirmation."

没有反斜杠,否则字符串将不会被翻译。像往常一样,.csv中的双引号必须用另一个双引号进行转义。

Magento 1.7.0.2中的一些.csv转换文件在单引号之前仍然有这些反斜杠,这是一个需要修复的小错误。

票数 10
EN

Stack Overflow用户

发布于 2012-03-16 19:22:16

尝尝这个

另一种选择是将错误消息放在双引号中,如下所示

__(“请指定产品的选项。”);

在翻译文件中,你可以通过简单的这样做

列一|列两

请指定产品的选项。|该文件的翻译

从翻译文件和代码中删除\,使其成为双引号而不是单引号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7605424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档