fluidtypo3 / flll
FluidTYPO3 本地化文件自动生成器
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-12 03:57:09 UTC
README
这是一个仅用于开发的工具,可以自动创建和更新 locallang.xml
和 locallang.xlf
,添加任何缺失的标签。涵盖所有翻译方法 - 在 Extbase、Fluid、TCA、FlexForms、TypoScript 中; literally every method. 使用时,例如 f:translate
可以使用,无需语言文件。 FLLL
然后创建文件,并开始添加所有标签,带有默认值。
警告!不适用于生产环境!
此扩展会在运行时更新扩展文件,因此它 绝不能安装在生产网站上。无视此建议,自行承担风险 - 记住:损坏的语言文件可能会破坏整个 TYPO3 网站,并且使用此类自动化工具永远不完全无风险。
它做什么?
FLLL
使在 TCA、Fluid、Extbase、TypoScript、FlexForms 等中使用可翻译标签变得极其容易。
FLLL
创建和更新 TYPO3 翻译文件,格式为 xml
或 xliff
,添加您尝试使用但不存在任何标签。简单来说,它可以在运行时自动生成默认翻译文件值,您可以在以后进行翻译。
它在 TYPO3 可以执行的所有类型的翻译上触发,从最老的方式到最新的,如 f:translate
视图助手。这意味着,例如,您可以为使用已翻译标签的 Fluid 模板创建模板,而无需关注翻译文件的 内容。当您准备好开始翻译时,文件将为您准备好 - 填满了默认标签值。
注意:因为写入是在您尝试使用缺失标签后立即发生的,所以
FLLL
无法确定您是否键入了一个拼写错误或错写了标签名称。如果发生这种情况,并且您已经翻译了标签,您必须手动修复它 - 就像如果没有安装FLLL
一样:编辑文件,更改每个语言的标签名称,保存。
它是如何工作的?
技术上:FLLL
替换了原始 TYPO3 LocalizationFactory
类,并且该新类返回代理类型对象(实现 ArrayAccess),该对象将始终从 offsetExists
返回 TRUE,并在读取非现有标签时添加此标签,并带有默认值。在每个请求结束时,每个代理对象然后将任何新标签写入语言文件,如果缺少则创建语言文件。
FLLL
还为您的网站上的每个(活动)语言添加新的语言节点和翻译文件。当然,它保留所有现有标签以避免被覆盖 - 它只会添加真正缺失的标签。
FLLL
不会为 系统扩展 写入 LLL 标签,但它为 全局安装的扩展 写入标签。如果您需要排除全局安装的扩展,请使用白名单和黑名单功能。
注意:
FLLL
还会对它添加的标签进行字母排序 - 这非常适合 Extbase 推崇的prefix.labelName
语法,以逻辑地组织您的标签。
注意:翻译文件在TYPO3中会被缓存 - 您需要清除缓存才能看到添加的标签。然而,
FLLL
不会向您的文件写入重复内容,因此您不需要不断地清除缓存。偶尔清除一次就足够了。
注意:
FLLL
仅在您的语言文件首次被缓存时触发;这样做是为了防止在重建语言缓存内容时出现问题。
如何使用它?
简单安装它 - 如果愿意,通过扩展管理器配置FLLL
为特定扩展密钥的LLL写入启用白名单或黑名单。然后,每当TYPO3尝试渲染一个不存在于文件中的翻译标签时,FLLL
就会立即开始更新您的语言文件。