Yii で GetText を使用して文字列を翻訳する場合Yii::t($category,'message')
、gettext の_('message')
構文を使用する必要がありますか?
And then how do we pull the strings into a PO file?
Yii で GetText を使用して文字列を翻訳する場合Yii::t($category,'message')
、gettext の_('message')
構文を使用する必要がありますか?
And then how do we pull the strings into a PO file?
私は常に Yii::t('xx','yy') を使用して、ローカライズをより細かく制御しています。より多くのファイルに分割できます
message/LANG/file.php
と
<?php
return array(
'xx' => 'localized',
);
?>
Yii Framework 1.x の場合
POEdit アプリ経由で文字列を配置できます: http://poedit.net/ プロジェクト ファイルをスキャンして、必要なすべての文字列を .po ファイルに自動的に追加できます。
Yii::t($category,'message') と _('message') の違いについては、Yii::t($category,'message') を使用する必要があります。GetText の _('message') は、まったく異なる po/mo カタログ構造で動作します。
私は個人的に POEdit を文字列スキャナーとして使用しており、魅力的に機能します。
私はこのように使用します:
たとえば、次の場合:
Yii::app()->language = en
フォルダーmessages
にはIフォルダーがen
あり、このフォルダーにはファイルがありますlang.php
このフォルダーlang.php
には、たとえば次のようなものがあります。
<?php
return array(
'example1'=>'search',
'example2'=>'news',
);
次に、ビューの翻訳を呼び出す必要がある場合:
<?=Yii::t('lang','example1');?>
結果は次のとおりです。search
when I change: Yii::app()->language = de
, I must have messages/de/lang.php
and on this foler I have:
<?php
return array(
'example1'=>'Suche',
'example2'=>'Nachrichten',
);
次に、ビューの翻訳を呼び出す必要がある場合:
<?=Yii::t('lang','example1');?>
結果は次のとおりです。Suche