Возможно ли лучший способ хранения больших объемов текста для локализации в laravel? Было бы легко, если бы вся моя страница была просто чистым текстом, но некоторые из моих страниц имеют сложные макеты, и мне нужно добавить несколько строк, чтобы обернуть текст вокруг контента, такого как images/links/media.
Это боль, если мне когда-либо понадобится выделить курсивом/полужирным шрифтом или сделать любой HTML-код для текста, а также мне нужно разбить их на разделы, чтобы иметь возможность сделать это.
Пример того, что я использую:
return array(
'exchange_rate' => array(
'title' => 'Exchange Rate',
'p1' => 'Disclaimer',
'p2' => 'Currency rate displayed is subject to change.',
'p3' => 'View All Rates to Date'
),
Первый массив - это страница, второй - содержимое страницы. Мне часто приходится делать несколько массивов глубже для более сложных макетов, таких как:
return array(
'exchange_rate' => array(
'title' => 'Exchange Rate',
'p1' => 'Disclaimer',
'p2' => 'Currency rate displayed is subject to change.',
'p3' => 'View All Rates to Date',
'table1' => array(
'title' => 'Currency Table',
'row1' => array(
'l1' => 'Current Rate'
),
'row2' => array('etc')
)
);
Я делаю это правильно? Есть ли лучший способ отформатировать мои языковые файлы, чтобы я мог работать с макетами в своих представлениях? Мне просто интересно, как крупные сайты управляют локализацией.
Любая помощь очень ценится, спасибо!
EDIT: Я также знаю, что вы можете добавлять заполнители внутри своих локализационных массивов, например:
'title' => ':title'
Но добавление держателей мест для всех моих ссылок, изображений и мультимедиа на одной странице может стать беспорядочным. Laravel также не поддерживает HTML внутри языковых массивов, поэтому я не могу просто плюнуть в содержимое внутри языковых файлов. - Да, он делает
В настоящее время, кажется, есть два разных способа пойти сюда.
- Продолжайте разбивать их на небольшие разделы, чтобы форматировать текст по-разному.
- Вставьте текст страницы в один массив "content" на странице, используйте Waavi для передачи их в базу данных, а затем правильно отформатируйте их с помощью редактора WYSIWYG на самом веб-сайте, чтобы отформатировать запись в базе данных. (Хотя это также имеет проблемы, потому что тогда вы не можете использовать шаблоны blade-модулей, поскольку Lang:: get() возвращает только безопасный текст)
EDIT (10 февраля 2015 г.):
После многократного поиска я создал пакет, который соответствует моим потребностям. Он полностью устраняет необходимость в любых текстовых массивах в laravel. Он автоматически добавит текст в базу данных и переведет его в ваш локальный набор. Кроме того, вам не нужно управлять и расшифровывать точечные пути перевода.