2015-06-12 5 views
0

Я не хочу вручную вводить текст «my_theme_textdomain» или «my_plugin_textdomain» каждый раз.переменная в TextDomain Gettext & wordpress, плохая практика?

поэтому вместо

$hello = __('Hello, dear user!', 'my-text-domain'); 

Я использую

$my_txtdomain = "my-text-domain"; 
$hello = __('Hello, dear user!', $my_txtdomain); 

Я чувствую, что это не должно быть проблемой, так как $ my_txtdomain является essentialy просто строка. Но разве это плохая практика?

+0

Но что у вас есть _gained_? Вы не собираетесь изменять значение '$ my_txtdomain' во время выполнения, не так ли? –

+0

Нет. Это избавит меня от проблем массового «поиска и замены», когда я дублирую тему/плагин, чтобы создать новую. –

ответ

0

Оказывается, это «своего рода» плохая практика, но на самом деле. Но это сработает. Вы можете прочитать обсуждение ниже: https://markjaquith.wordpress.com/2011/10/06/translating-wordpress-plugins-and-themes-dont-get-clever/

И они думают про себя «гм, я уверен, что я набрав строку„имя-мой-плагин“ много. Я применил бы принцип DRY (Do not Repeat Yourself) и выбросил эту строку в переменную или константу ! »

Стоп! Ты слишком умный! Это не будет работать! *


домен аргумент не разбирается вообще. Он используется только тогда, когда строка переведена, чтобы выбрать правильный .mo-файл, и это отлично ОК, чтобы быть переменной.

Смежные вопросы