samdark / yiiframework-ru

yiiframework.ru
http://yiiframework.ru/
Other
52 stars 21 forks source link

Есть ли смысл использовать Yii::t на русскоязычном сайте? #105

Open rugabarbo opened 7 years ago

rugabarbo commented 7 years ago

Заметил, что местами Yii::t используется, а местами - нет. Есть ли смысл и дальше использовать его? Ведь сайт русскоязычный. Если да, то на какие языки планируется перевод?

samdark commented 7 years ago

Нет, в этом случае смысла особо нет.

rugabarbo commented 7 years ago

Тогда можем постепенно вычищать из проекта вызовы Yii::t() и папку messages? Мне видится, что это немного упростит поддержку и развитие.

samdark commented 7 years ago

Да.

samdark commented 7 years ago

Ещё чуть вычистил https://github.com/samdark/yiiframework-ru/commit/71af41f8e38c4b82873db4109548f38f3bfb3c29

Carsak commented 6 years ago

Считаю, что лучше оставить. Почему? Это централизованнное хранение сообщений и текста на сайте. Меняем только в одном месте. Например, Yii::t('app', 'username'). Раньше было "логин". Решили вдруг переименовать в "имя пользователя", меняем только в одном месте.

Также люди всегда будут знать где искать тексты в структуре проекта. Это как с контролеррами, решили все хранить в папке controllers, так и делаем, так и пишем, нет разногласий.

Так что считаю, наоборот, все тексты хранить в центральном хранилище. Пока писал, появилась мысль, что круто было сделать вложенность или категорий текстов. Что это? Например, в хранилище текста (text.php) пишешь

user => [
  errors => [
    register => 'Ошибка регистрации'
    login => 'Ошибка при входе'
  ]
]

А в коде вызываешь Yii::getText('user.errors.register');

githubjeka commented 6 years ago

Раньше было "логин". Решили вдруг переименовать в "имя пользователя", меняем только в одном месте.

Лучше в этом случае пройтись через CTRL+F и заменить в коде....не такая уж частая эта задача.

Составлять переводы eng->rus для КАЖДОГО текста - это безрассудная трата калорий в данном случае. Тексты бывают сложные и длинные!

Yii::getText - избыточен тоже, в зависимости от того где это используется - могу предложить альтернативы: $this->render или Widget или Enum::label($code)