我在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更改而其他单词没有更改?你能帮我吗?非常感谢你!
答案 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%';
从结果中,您可以看到带有字符串的块或页面的名称。转到后端并进行编辑。