Yii: GetText _() срещу Yii::t()

Когато превеждаме низове в Yii с GetText, трябва ли да използваме Yii::t($category,'message') или _('message') синтаксиса на gettext?

И тогава как да изтеглим низовете в PO файл?


person mae    schedule 28.05.2014    source източник


Отговори (4)


Можете да поставите низове чрез приложението POEdit: http://poedit.net/ Позволява ви да сканирате файловете на вашия проект и автоматично добавете всички необходими низове в .po файла.

Ако става въпрос за разлика между Yii::t($category,'message') и _('message') - трябва да използвате Yii::t($category,'message'). _('message') на GetText работи с доста различна po/mo каталожна структура.

Аз лично използвам POEdit като скенер на низове и работи като чар.

person Tomasz Szuba    schedule 04.02.2015

Винаги използвам Yii::t('xx','yy'), за да имам повече контрол върху локализацията. Мога да разделя още файлове под

message/LANG/file.php

с

<?php
  return array(
    'xx' => 'localized',
  );
?>

Това за Yii Framework 1.x

person carlo denaro    schedule 15.04.2015

Използвам го така:

когато имам например:

Yii::app()->language = en

в папка messages имам папка en и в тази папка имам файл lang.php

в тази папка lang.php имам например:

<?php
    return array(
        'example1'=>'search',
        'example2'=>'news',
    );

след това, когато имам нужда от превод на преглед на обаждането:

<?=Yii::t('lang','example1');?>

и резултатът е: search


когато променя: Yii::app()->language = de, трябва да имам messages/de/lang.php и в тази папка имам:

<?php
    return array(
        'example1'=>'Suche',
        'example2'=>'Nachrichten',
    );

след това, когато имам нужда от превод на преглед на обаждането:

<?=Yii::t('lang','example1');?>

резултатът е: Suche

person Ivošš    schedule 10.02.2015

Трябва да използвате Yii::t() за преводи. с вградената команда yiic message можете да генерирате целия текст в езиков файл.

пример-

 Yii::t('app', 'Hello World');
 Yii::t('email', 'Welcome');

Това ще генерира 2 файла app.php и email.php във вашата директория за съобщения. messages/en/app.php & messages/en/email.php

моля, намерете повече информация за преводите на Yii тук

https://www.yiiframework.com/doc/guide/2.0/en/tutorial-i18n https://www.yiiframework.com/doc/guide/1.1/en/topics.i18n

person Azraar Azward    schedule 22.06.2018