2014-02-25 34 views
2

如何將字符串翻譯添加到felogin插件?我慢慢開始獲取模板的約定(指向插件的typoscript配置中的修改後的模板),但不適用於locallang。原始郵件採用xlf格式的英文,位於插件的文件夾中。我知道這可以在TypoScript中完成,但我不喜歡將這些字符串定義得非常緊密。 (我想修改原始文件不是正確的方法。)如何擴展felogin的locallang?

回答

-1

您可以使用BE語言模塊爲您需要的每種語言下載預配置的本地語言。 這些文件存儲在例如typo3conf /本地化/日/ fe_login。

您可以在l10n中手動編輯這些文件以獲取自己的字符串,或者使用擴展名如snowbabal在BE模塊中進行編輯。

+0

並不這些翻譯在本地化文件夾(可能由我修改)獲得一些occassions覆蓋(如插件更新或添加/刪除)? –

+0

不,擴展更新通常會影響l10n文件夾。如果您通過TYPO3後端再次下載語言,很可能會被覆蓋。 – Daniel

6

通過TypoScript覆蓋標籤是要走的路。手動編輯l10n文件是一個非常糟糕的主意 - 這些文件在更新翻譯時被覆蓋。如果擴展程序獲取更新並添加新標籤,則需要執行更新。

從用於翻譯的XML文件到XLIFF格式的更改沒有改變您應該根據需要調整標籤所使用的最佳做法。這是另一種帶有標準化翻譯服務器(Pootle)的格式,(理論上)允許一些特殊功能,例如,複數形式。

結論:使用TypoScript。

對於默認語言(不config.language組)使用:

plugin.tx_felogin_pi1._LOCAL_LANG.default { 
    key = value 
} 

對於一個特定的語言,例如德國,使用

plugin.tx_felogin_pi1._LOCAL_LANG.de { 
    key = value 
} 
+0

我不喜歡插件中的編輯文件。但我想避免使用TypoScript解決方案,並且Typo3(xlf)採用了新的翻譯標準,所以當我通過TypoScript進行翻譯時,它的用途是什麼(不提及混合兩種翻譯方式同時)? –

+0

我編輯了我的答案來回答你關於xlf的問題。 – lorenz

0

的最好方法是使用下面的代碼:

ext_tables.php,例如你的主題擴展與

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:felogin/Resources/Private/Language/locallang.xlf'][] = 'EXT:theme/Resources/Private/Language/locallang_felogin.xlf'; 

,並在這個文件中,你可以使用類似

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<xliff version="1.0"> 
    <file source-language="en" datatype="plaintext" original="messages" date="2015-06-30T21:14:27Z"> 
     <header> 
      <description>Language labels for felogin</description> 
     </header> 
     <body> 
      <trans-unit id="permalogin"> 
       <source>An diesem Rechner angemeldet bleiben</source> 
      </trans-unit> 
      <trans-unit id="ll_forgot_header"> 
       <source>Passwort vergessen?</source> 
      </trans-unit> 
      <trans-unit id="ll_welcome_header"> 
       <source>Sie betreten den Händlerbereich</source> 
      </trans-unit> 
      <trans-unit id="ll_welcome_message"> 
       <source>Bitte loggen Sie sich ein.</source> 
      </trans-unit> 
     </body> 
    </file> 
</xliff>