内联转换不适用于从ajax加载的数据。
我用过以下安装: http://blog.chapagain.com.np/magento-language-translation-for-custom-module-step-by-step-guide/
我创建了以下模板文件,用于显示我的产品详细信息。
magento\app\design\frontend\default\default\template\catalog\product\view.phtml
它有以下代码:
<?php $_helper = $this->helper('catalog/output'); ?>
<?php $_product = $this->getProduct(); ?>
<?php echo $this->__('desired word') ?>
我已经为内联翻译创建了一个自定义模块,以便为我的所有自定义模块加载csv文件。
\magento\app\code\local\Translations\Inline\etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Translations_Inline>
<version>0.1.0</version>
</Translations_Inline>
</modules>
<frontend>
<translate>
<modules>
<translations>
<files>
<default>Translations.csv</default>
</files>
</translations>
</modules>
</translate>
</frontend>
<adminhtml>
<translate>
<modules>
<translations>
<files>
<default>Translations.csv</default>
</files>
</translations>
</modules>
</translate>
</adminhtml>
<global>
<helpers>
<inline>
<class>Translations_Inline_Helper</class>
</inline>
</helpers>
</global>
</config>
要激活模块, \ Magento的\应用\等\模块\ Translations_Inline.xml
<?xml version="1.0"?>
<config>
<modules>
<Translations_Inline>
<active>true</active>
<codePool>local</codePool>
<version>0.1.0</version>
</Translations_Inline>
</modules>
</config>
我在以下文件夹中添加了Translation.csv:
\ Magento的\应用\区域\ EN_US
\ Magento的\应用\区域\了zh_HK
所以,在从管理端启用英文和中文storeview的内联翻译之后,它运行良好,但我的问题是如果我的数据在view.hmtl是从ajax加载而不是像 __(&#39;所需的单词&#39;);?&gt;
fox exmaple如果view.phtml如下:
<script type="text/javascript">
var url_magento = '<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); ?>';
var j = jQuery.noConflict();
j(document).ready(function()
{
getcontent();
});
function getcontent()
{
jQuery.ajax({
url:url_magento+'hi.php',
type:'POST',
beforeSend: function(){
jQuery('#product_app').html('loading');
},
ajaxError : function() {
jQuery('#product_app').html('Error: Can not load page');
},
success: function(data){
//alert(data);
jQuery('#product_app').html(data);
}
});
}
</script>
<div id='product_app'></div>
现在hi.php如下:
<?php
echo "hi.This is the page that gives product's detail";
?>
所以,我希望内联翻译也能为这些数据工作。或者还有其他任何方式以echo的形式在php中加载ajax的数据。 您可以自由地询问更多详细信息。我尝试添加大部分所需数据以配置内联translation.hoping以获得答案asap.thank提前
答案 0 :(得分:1)
如果您专门谈论内联翻译,那么您认为此代码不可翻译是正确的。这是因为Magento尚未在hi.php
内初始化 - 您只是输出文本。您需要做的是设置一个控制器来处理您的AJAX调用,然后 将Mage初始化,因此您将可以访问整个Magento框架。
请注意,我也不会对大多数内容使用内联翻译,而是在主题的translate.csv
文件中定义翻译。
有关创建控制器的教程,请参阅this之类的教程,或者还有很多其他教程。