Intereting Posts
Как использовать SSL с помощью WordPress Network? Как передать логическое значение в wp_localize_script <? php wp_list_comments (); ?> возможно ли получить полный код на странице comments.php Пользователям удалось зарегистрироваться на сайте без кнопки регистрации? Индивидуальная настройка типа страницы – обычные решения не помогают Wp_deregister_script () не работает Название и подписи в WordPress Почему я должен дважды нажать кнопку «Обновить», чтобы сохранить значения метаданных? Добавление дополнительного адреса электронной почты, который получает электронную почту, например, admin – woocommerce Измените human_time_diff (), чтобы сократить «дни» до «d» и «часы» до «h» и т. Д. laoding bloginfo url в массиве функций? Существуют ли какие-либо проблемы безопасности при установке константы WP_INSTALLING в значение true? WP insert post и пользовательская таксономия wp_nav_menu () с несколькими классами Ключ API статистики WordPress

Как i18n текст, поступающий из db или из внешнего источника

Я пишу плагин, и я хочу правильно записать текст, который я храню в db или во внешнем файле. Как мне это сделать? На данный момент мы создаем файлы pot с wordpress, и поэтому весь текст Translatable находится в вызовах

__( 'text', 'plugin_name'); 

Но есть некоторый текст, который я хотел бы хранить в db или в другом формате, и что я не знаю, как помещать файлы POT.

Единственное, что приходит мне на ум – использовать массивы для этих структур данных, чтобы я мог переводить значения, но есть ли другие варианты?

Solutions Collecting From Web of "Как i18n текст, поступающий из db или из внешнего источника"

Короткий ответ: нет. Не с функциями I18N. Данные в базе данных – это данные, которые могут быть изменены и должны быть переведены с помощью отдельных средств. Данные в коде жестко закодированы и не изменяются и могут быть переведены через функции I18N.

Если вы хотите сохранить весь свой переводный текст в одном файле PHP в виде массива, а затем ссылаться на него из другого места в коде, то это отлично работает.

Но есть некоторый текст, который я хотел бы хранить в db или в другом формате, и что я не знаю, как помещать файлы POT.

Если текст находится в базе данных, вы не можете перевести его с помощью файла POT. Весь смысл перевода – настроить поиск по статическим строкам, используемым в вашем коде. Если текст находится в базе данных, он не является статичным и не может быть переведен.

Ну, по крайней мере, не со стандартной функцией i18n, которую вы пытаетесь использовать.