Назад | Перейти на главную страницу

Локализация темы ownCloud

Можно ли локализовать в ownCloud файл, который заменен настраиваемой темой?

В соответствии с эта проблема в багтрекере вы можете переопределить файлы темы, просто поместив их в свою папку темы и отредактировав их. В случае шаблонов электронной почты, которые отправляются, когда вы делитесь файлом с кем-то, это выглядит так:

print_unescaped($l->t("Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n", array($_['user_displayname'], $_['filename'], $_['link'])));

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

Я нашел файлы локализации в <owncloud>/core/l10n/de_DE.php, которые выглядят так:

$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s hat »%s« mit Ihnen geteilt",
"Couldn't send mail to following users: %s " => "An folgende Benutzer konnte keine E-Mail gesendet werden: %s",
// ...
);

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

Я бы хотел иметь возможность добавлять (а в идеале переопределять) записи в $TRANSLATIONS массив в моем каталоге тем.

В официальная документация по тематике устарела (похоже, она была скопирована из предыдущей версии без адаптации к изменениям) и вообще не охватывает локализацию. В документация о переводе тоже не помогает.

С выпуском ownCloud 7 вы можете редактировать шаблоны электронной почты через панель управления администратора. О локализации вашего текста на этот ссылка хорошо объясняет, как вы можете создавать новые языковые файлы.

Если ссылка не работает: сделайте текст переводимым в HTML или PHP, оберните его следующим образом <?php p($l->t('This is some text'));?> или это <?php print_unescaped($l->t('This is some text'));?> Для правильного формата даты используйте <?php p($l->l('date', time()));?>. Измените способ отображения дат, отредактировав /core/l10n/l10n-[lang visible.php Для перевода текста в javascript используйте: t('appname','text to translate');