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

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

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

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 массив в моем каталоге темы.

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

3
задан 24 June 2014 в 11:26
1 ответ

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

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

1
ответ дан 3 December 2019 в 07:29

Теги

Похожие вопросы