Localization

本地化 ownCloud 主題

  • February 25, 2016

是否可以本地化被 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在我的主題目錄中將條目附加(並且最好覆蓋)到數組中。

關於主題的官方文件不是最新的(看起來它是從以前的版本中復製而來的,沒有適應變化)並且根本不包括本地化。關於翻譯的文件也沒有幫助。

隨著 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 $$.php 要在 javascript 中翻譯文本,請使用:t('appname','text to translate');

引用自:https://serverfault.com/questions/607460