通过Typoscript将翻译添加到TYPO3 Extension
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Typoscript将翻译添加到TYPO3 Extension相关的知识,希望对你有一定的参考价值。
有没有办法通过Typoscript替换/覆盖扩展的默认de.locallang.xlf?我希望以更新后的方式更改mindshape_cookie_hint的文本。
如果它是一个插件你可以override translations in TypoScript via _LOCAL_LANG
这也是mindshape_cookie_hint
suggests in its docs。
这要求您使用TypoScript管理翻译字符串,尽管这很不理想。一个更好,更通用的解决方案是注册custom translations via locallangXMLOverride
。这使您可以像其他地方一样管理这些翻译。
您正在寻找这个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>
使用下面的typoscript,您可以覆盖TYPO3扩展的各个翻译:
plugin.tx_myPlugin_pi1._LOCAL_LANG.de.key = value;
plugin.tx_myPlugin_pi1._LOCAL_LANG.en.key = value;
每个扩展通常很常见。希望对你有帮助!
问候!
以上是关于通过Typoscript将翻译添加到TYPO3 Extension的主要内容,如果未能解决你的问题,请参考以下文章
TYPO3/TypoScript - 在 DataProcessor 中使用 FIELD() 自定义排序
在 TYPO3 CMS 中调试 Typoscript 的最佳方法是啥?
TYPO3 6.2 性能、Typoscript 选择、Typoscript 缓存