Intereting Posts
Easy Digital Download Pagination возвращает те же элементы на странице 2 Аутентификация возвращаемого значения Как настроить found_posts так, чтобы он учитывал смещение и разбиение на страницы Переопределение файла шаблона CPT через functions.php Почему archive.php используется для моей страницы Пользовательский тип сообщения не работает wpdb-> ошибка обновления Бронирование Woocommerce Изменение цены Программно Идентификатор администратора сайта сайта в текущем блоге внутри ссылки Категории товаров Woocommerce заказать Я разбил разбивку на страницы, те же сообщения на всех страницах (index.php) Добавить меню пользовательских списков на странице «Объявления» в панели администратора Как поместить форму с php-кодом в переменную или короткий код? Как добавить загрузку изображения, настраиваемое поле в продукт WooCommerce? Почему мой пользовательский тип сообщения отображается не в том месте?

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

Если в 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 вместо фактических разрывов строк внутри строк; в этом случае обязательно используйте двойные кавычки, чтобы они не отображались буквально.