无法更改我网站英文版中的某些字词

时间:2016-11-09 10:12:21

标签: view block frontend magento-1.9 multilingual

我在Magento 1.9中有一个电子商务网站,有两个版本:英语和法语。我要改变英文版和法文版中的一些词。例如,在英文版中,我要更改单词" BAG"在主页菜单中。

我已经取代" BAG"用"购物袋"但是,插入字符串" BAG"," SHOPPING BAG" (或" bag","购物袋"或" Bag","购物袋")到主题的translate.csv(在英文文件夹)任何更改都显示在前端。激活英文版的路径提示我注意到构建包含此菜单的块的phtml文件如下:

<meta http-equiv="Content-Type" content="<?php echo $this->getContentType() ?>" />
<title><?php echo $this->getTitle()?></title>
<meta name="description" content="<?php echo htmlspecialchars($this->getDescription()) ?>" />
<meta name="keywords" content="<?php echo htmlspecialchars($this->getKeywords()) ?>" />
<meta name="robots" content="<?php echo htmlspecialchars($this->getRobots()) ?>" />
<link rel="icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon" />
<?php
    $currentUrl = Mage::helper('core/url')->getCurrentUrl();
    if (preg_match('/^https/', $currentUrl)) {
        $currentUrl = str_replace('https://', 'http://', $currentUrl);
    }

    $exclusions = array(
        'checkout/',
        'customer/account/'
    );
    $regexUrl = '/^' . str_replace(array('/', '.'), array('\\/', '\\.'), Mage::getBaseUrl() . '(?:(?:' . implode(')|(?:', $exclusions) . '))') . '/';
    if (!preg_match($regexUrl, $currentUrl)) {
        echo '<link rel="canonical" href="' . $currentUrl . '" />';
    }
?>
<!--[if lt IE 7]>
<script type="text/javascript">
//<![CDATA[
    var BLANK_URL = '<?php echo $this->helper('core/js')->getJsUrl('blank.html') ?>';
    var BLANK_IMG = '<?php echo $this->helper('core/js')->getJsUrl('spacer.gif') ?>';
//]]>
</script>
<![endif]-->

<?php echo $this->getCssJsHtml() ?>
<?php echo $this->getChildHtml() ?>
<?php echo $this->getIncludes() ?>

我认为有一些函数(可能是getHtmlChild())会覆盖我的翻译,因为其他单词被翻译为将新字符串添加到traslate.csv中。

我要更改哪个文件或功能以查看&#34;购物袋&#34;在我网站的前端?为什么有些单词会被translate.csv更改而其他单词没有更改?你能帮我吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

首先,翻译文件中的所有字符串都是区分大小写的。

当我寻找一个词来翻译例如“添加到我的购物车”时,我通常会这样做: 打开终端并转到magento商店的根目录并运行:

cd app
git grep  "add to my cart" | grep csv 

这将获得整个项目中所有翻译文件的所有匹配。 我的结果如下:

design/frontend/fortis/eke/locale/sv_SE/translate.csv:1:"Add to Cart","add to my cart"
locale/sv_SE/Mage_Catalog.csv:33:"Add to Cart","add to my cart"

在结果中,首先是文件的路径,然后是翻译。 在我的例子中,字符串已被翻译。但现在你确切知道基本字符串是什么。在您自己的翻译文件中使用它。

如果您没有在翻译文件中受到影响,那么单词或句子可能来自cms-block或cms-page。要在那里搜索它,你必须连接到你的SQL服务器并运行这样的一些查询(当时一个):

select * from cms_block where content like '%add to my cart%';
select * from cms_page where content like '%add to my cart%';

从结果中,您可以看到带有字符串的块或页面的名称。转到后端并进行编辑。