Intereting Posts
Как сделать жесткие коды Пользовательские пункты меню Как разрешить пользователям выбирать, где искать сообщения? Добавление отдельного поля ввода текста в пользовательский виджет панели инструментов Сценарий для замены блогов в блогах по умолчанию с ссылками на мои URL-адреса социальных сетей Ссылки элементов меню не работают должным образом и добавлены изображения Удаление файла cookie wordpress с сайта, отличного от WordPress. Использование данных cookie для цикла WP_Query Внедрение JQuery не работает при перезагрузке страницы Выполнение действия после публикации сохраняется со всеми связанными записями post_meta (данные) Сценарии работают только на домашней странице wp_handle_upload: получить настраиваемое значение флажка из медиа-загрузчика Содержимое страницы WordPress вне WordPress pre_get_posts Удалить сообщения, основанные на мета-значении, с помощью 'post__not_in' Профилирование веб-сайта WordPress для развертывания на общем хостинге? Проблема с циклом WP_Query и поисковым термином

Как перевести многострочные строки?

Если в PHP существует длинная строка:

<?php $text = "Some ... very very... long string"; 

Может ли он быть локализован GetText, обертывая его в __() , например

 <?php $text = __("Some ... very very... long string", "domain"); 

? Я слышал, что GetText не поддерживает многострочные строки, и действительно, когда я пытаюсь сканировать такой файл в poEdit, он не находит его.

Как ты с этим справляешься? Кажется, что исходные файлы WordPress используют очень длинные строки, так что это путь? (Очевидно, что разделить строки на несколько меньших строк, которые я бы предпочел избежать).

Изменить : проблема заключалась в том, что у меня была ссылка на переменные в моей строке, например __("string $someVar") которую не может поддерживать GetText. Моя вина.

Solutions Collecting From Web of "Как перевести многострочные строки?"

__() а остальные функции l18n будут обрабатывать любую строку, которую вы им даете, включая разрывы строк. По моему опыту, poEdit распознает их просто отлично, но если у вас возникли проблемы, вы можете рассмотреть возможность использования разрывов строк UNIX \n вместо фактических разрывов строк внутри строк; в этом случае обязательно используйте двойные кавычки, чтобы они не отображались буквально.