ajax から読み込まれたデータに対して、magento のインライン変換が機能しません。
インストールには以下を使用しました: 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\app\etc\modules\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\app\locale\en_US
\magento\app\locale\zh_HK
したがって、管理側から英語と中国語のストアビューのインライン翻訳を有効にした後、うまく機能していますが、私の質問は、view.hmtl のデータが __('desired word');?> のように ajax から読み込まれない場合はどうなるかです。
view.phtml が次の場合の fox の例:
<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";
?>
だから、私はこのデータでもインライン翻訳が機能することを望みます。または、エコーの形式でphpにajaxのデータをロードする他の方法はありますか。詳細については自由に質問してください。インライン翻訳を構成するために必要なデータのほとんどを追加しようとしています。できるだけ早く回答を期待しています。よろしくお願いします