#content-management-system #silverstripe
#система управления контентом #silverstripe
Вопрос:
Я заметил, что в модуле blog для SS есть жестко закодированные фрагменты текста, которые мне нужно перевести (на французский). Я обнаружил, что код находится в /blog/ templates /Includes/BlogSummary.ss, но когда я его изменяю, во внешнем интерфейсе ничего не меняется…
Я пытался запустить /dev /build /?flush =all, но ничего … по-прежнему.
Есть идея? Буду признателен за помощь. Заранее спасибо.
Комментарии:
1. вы добавили? сброс = Все на саму страницу, о которой идет речь?
Ответ №1:
Вы установили свой языковой стандарт? Недавно я создал сайт на английском и испанском языках и использовал эту настройку.
// add similar code to your _config.php file
#Translatable::set_default_locale('en_US');
#Translatable::set_allowed_locales(array(
# 'en_US',
# 'es_US'
#));
Кроме того, мне пришлось добавить код i18n::set_locale() к функции init () в моем content controller, чтобы заставить работать переводы шаблонов.
<?php
class SmartLanguageExtension extends DataObjectDecorator {
function contentcontrollerInit() {
i18n::set_locale(Translatable::get_current_locale());
}
}
В моем случае я добавил расширение к классу Page_Controller для повторного использования позже.
// _config.php file
Object::add_extension('Page', 'SmartLanguageExtension');
Комментарии:
1. Спасибо за помощь! На самом деле, я должен был упомянуть, что я не использую Translatable module. Я нашел решение! Поскольку я создаю свой первый сайт SS, у меня не было папки / silverstripe-cache / на моем сайте (никогда не видел этот шаг ни в одной из документов, которые я читал). Теперь я могу вручную удалить кэш, чтобы увидеть результат моих изменений. Остался один вопрос… Почему эта папка не является частью установочного пакета SS …? Все еще остается загадкой.
2. Кроме того, я не знаю, куда направлялись кэшированные файлы до того, как я создал папку. Но в одном можно быть уверенным: были созданы кэшированные файлы.