为什么我的translate.csv和翻译文件不起作用?


16

我正在尝试一个新主题,但似乎无法正确获得翻译。如果我在文件中搜索英语短语,则可以找到:

“您没有可比较的项目。”,Sie haben keine Artikel auf der Vergleichsliste。

在文件中:Mage_Catalog.csv app / design / frontend / MYTHEME / default / locale / de_DE /基本上应该已经显示德语句子,对吗?

另外,我添加了一个似乎无法正常运行的translate.csv。

这可能是我的主题或某些Magento设置存在问题吗?

在我的app / design / frontend / MYTHEME / default / template / catalog / product / compare / sidebar.phtml中,我看到以下代码:

    <?php else: ?>
    <p class="empty"><?php echo $this->__('You have no items to compare.') ?></p>
<?php endif; ?>

对我来说也很好!(正在使用此文件-如果我更改了文件中的内容,它将立即显示在站点上)。


我只是尝试了内联翻译而已。但是,当我阅读时,这些数据将存储在数据库中。不错-但是如果德语文件已经存在并且我安装了德语语言包-如果模板似乎正确实现了,为什么不使用它呢?
克里斯,克里斯

我无法使其正常运行,我也不明白为什么。到目前为止已尝试:geekieblog.com/2011/10/add-a-new-language-to-magento inchoo.net/ecommerce/magento/adding-a-new-language-in-magento hellothemes.com/support-category/入门 /…magentocommerce.com/knowledge-base/entry/…但没有一个起作用。即使我使用德语版本,customer / account / login /仍然保持英语。为什么会这样呢?我的安装有什么问题吗?
克里斯(Chris)

Answers:


28

在某些情况下,Magento有多个模块尝试翻译同一项目。以Add to Cart为例。在Magento的模块Mage_CatalogMage_CheckoutMage_ReportsMage_SalesMage_TagMage_WishlistMage_XmlConnect所有尝试这个字符串翻译。

在这些情况下,有帮助的是指定您要否决哪个模块的翻译。您可以通过添加双冒号来做到这一点,如下所示:

"Mage_Catalog::Add to Cart","Bestellen"
"Mage_Catalog::Add to Wishlist","Toevoegen aan favorieten"

某些部分的工作方式如您所说-添加类和::其他部分似乎已硬编码到模板或其他模块中-不好:-S
克里斯(Chris)

大提示!工作
jruzafa

8

以下可能是任何原因,也可能是多种原因结合在一起。所以我写下所有这些:

  1. 必须有德语商店视图(“ 系统”>“管理商店”);
  2. 转到系统>配置>常规/常规>区域设置选项。从“ 当前配置范围”(左上角)中选择德语视图。确保选择了德语语言环境;
  3. 确保要翻译的字符串与translate.csv中的字符串完全相同。Magento臭名昭著的是对基础文本的细微调整-标点符号,大写字母等;
  4. 确保Web服务器具有足够的特权来读取translate.csv文件;
  5. 确保没有优先顺序进行内联翻译。检查core_translate表;

我检查了您的所有观点,一切似乎都很好。我的第一个问题是:“ ...在文件中:Mage_Catalog.csv app / design / frontend / MYTHEME / default / locale / de_DE /基本上应该已经显示了德语句子,对吗?”
克里斯(Chris)

1

确保在CMS中添加主题

system > config > design > translations <theme-name>

否则,translate.csv将不会加载。


1
好电话!在检查了以上所有内容之后,这就是我的问题!谢谢
cygnus digital

0

您应该在theme / locale / de_DE文件夹中创建translate.csv文件。在那里,您应该添加此条目。&确保当我们使用excel或其他应用程序时,您的csv有时用逗号分隔,不会使csv字段用逗号分隔,但可能是制表符分隔。


还检查了-很好。似乎该模板不会使用应使用的文件。
克里斯(Chris)

0

当前在同一条船上,调试翻译不起作用。另外两个可能对翻译任务有帮助的建议:

  1. 确保已完全清除所有缓存。
  2. 构建扩展时,请使用扩展的数据助手来加载翻译: Mage::helper('my_extension')->__('String to translate');
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.