是否可以通过Typoscript替换/覆盖扩展名的默认de.locallang.xlf?我想以一种可以在更新后保存下来的方式更改mindshape_cookie_hint的文本。
答案 0 :(得分:5)
如果它是插件,则可以override translations in TypoScript via _LOCAL_LANG
,也可以mindshape_cookie_hint
suggests in its docs。
这要求您在TypoScript中管理翻译字符串,尽管这远非理想。更好,更通用的解决方案是注册custom translations via locallangXMLOverride
。这样您就可以像其他地方一样管理这些翻译。
答案 1 :(得分:1)
您正在寻找这个https://wiki.typo3.org/TypoScript_language_additions,_override
正如Ghanshyam Bhava在他的回答中所写,您可以看看
文件系统中plugin文件夹中的locallang.xlf
文件,以概述扩展程序使用的密钥,然后将其写入TypoScript模板中:
plugin.tx_exampleplugin_pi1._LOCAL_LANG.it {
key1 = value1
key2 = value2
...
}
一般来说,如果我错了,请纠正我,我认为您已经修改了插件的原始.xlf文件;由于您面临的原因,不建议执行此过程:更新将删除您的更改。
例如,使用扩展名EXT:lfeditor(https://extensions.typo3.org/extension/lfeditor/)可以解决此问题。仔细阅读其手册。
我将从该页面摘录:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']
允许覆盖locallang-XML和XLIFF文件。实际上,这不仅仅是翻译。默认语言文件也可以被覆盖。对于XLIFF文件,语法如下(放置在扩展程序的ext_localconf.php
文件中):$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:cms/locallang_tca.xlf'][] = 'EXT:examples/Resources/Private/Language/custom.xlf'; $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de']['EXT:news/Resources/Private/Language/locallang_modadministration.xlf'][] = 'EXT:examples/Resources/Private/Language/Overrides/de.locallang_modadministration.xlf';
第一行显示如何使用默认语言覆盖文件,第二行显示如何覆盖德语(“ de”)翻译。德语文件看起来像这样:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> <file source-language="en" datatype="plaintext" original="messages" date="2013-03-09T18:44:59Z" product-name="examples"> <header/> <body> <trans-unit id="pages.title_formlabel" xml:space="preserve"> <source>Most important tile</source> <target>Wichtigster Titel</target> </trans-unit> </body> </file> </xliff>
答案 2 :(得分:0)
使用下面的打字稿,您可以覆盖TYPO3扩展程序的各个翻译:
plugin.tx_myPlugin_pi1._LOCAL_LANG.de.key = value;
plugin.tx_myPlugin_pi1._LOCAL_LANG.en.key = value;
通常每个扩展名都通用。希望这会对您有所帮助!
问候!