t3g / file-variants
TYPO3 中可翻译文件的原型
0.11.1
2024-06-13 11:03 UTC
Requires
- php: ^8.1
- psr/http-message: ^1.0.0
- typo3/cms-backend: ^11.5 || ^12.4
- typo3/cms-core: ^11.5 || ^12.4
- typo3/cms-extbase: ^11.5 || ^12.4
- typo3/cms-fluid: ^11.5 || ^12.4
- typo3/cms-install: ^11.5 || ^12.4
Requires (Dev)
- armin/editorconfig-cli: ^1.8
- ergebnis/composer-normalize: ^2.42
- friendsofphp/php-cs-fixer: ^3.0
- jangregor/phpstan-prophecy: ^1.0
- phpspec/prophecy: ^1.19
- phpspec/prophecy-phpunit: ^2.2
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- rector/rector: ^1.0
- saschaegerer/phpstan-typo3: ^1.10
- ssch/typo3-rector: ^2.2
- typo3/coding-standards: ^0.7.1
- typo3/testing-framework: ^7.0
Replaces
- t3g/file_variants: 0.11.1
This package is auto-updated.
Last update: 2024-09-01 07:08:24 UTC
README
本扩展作为TYPO3中可翻译文件的工作原型。
特性
- 使用文件列表模块上传语言变体,以在系统中透明地提供变体。
- 替换或删除变体(这会将默认语言的文件重置为文件)。
- 元数据记录可以像以前一样翻译,但不再指向同一个文件记录。
- 文件记录是可翻译的,但不能直接访问。所有编辑都通过元数据记录完成。
限制
- 仅在文件列表模块中提供文件变体。
- 使用
sys_language_uid=-1
(所有语言)已被禁用。
设置
- 通过Composer安装扩展:
composer require t3g/file-variants
- 激活扩展
- (可选) 使用扩展配置创建专用文件存储。如果您不使用专用存储,则在默认存储中会使用专用文件夹。
数据示例
- 默认语言英语,uid 0
- 第一语言德语(Deutsch),uid 1
- 第二语言西班牙语(Español),uid 2
- 第三语言俄语(Русский),uid 3
sys_file
(注意这里没有俄语变体。)
sys_file_metadata
tt_content
sys_file_reference
本地是 sys_file,外部是 tt_content
以下关系存在,并自动创建/维护
tt_content:1
(英语) ->sys_file_reference:1
->sys_file:1
(英语)tt_content:2
(德语) ->sys_file_reference:2
->sys_file:2
(德语)tt_content:3
(西班牙语) ->sys_file_reference:3
->sys_file:3
(西班牙语)tt_content:4
(俄语) ->sys_file_reference:4
->sys_file:1
(英语)
行为
安装后,文件列表模块中的文件元数据(sys_file_metadata
)编辑表单略有变化。默认语言没有任何变化。但是,创建/编辑文件元数据翻译允许上传新文件。上传方式与文件列表模块相同,位于文件信息旁边。此文件将位于专用翻译存储或文件夹中。上传后,文件信息元素的内容会改变并显示上传的文件。
然后有一个按钮可以重置为默认语言中使用的文件。 之前在此处使用的文件将永久删除! 此外,还会再次显示上传控件,因此可以随时上传新文件。
在此过程中,将搜索所有文件引用(sys_file_reference
),查找与默认文件的链接,并使用翻译后的一个更新。
对于每个包含FAL字段(如文件或图片)的记录的翻译操作,都会进行检查,以确定是否存在目标语言的文件变体。如果存在,则结果文件引用将链接到该文件变体,而不是默认文件。
这导致一致的行为,总结如下
- 如果特定语言有变体,则将使用该变体,无论何时何地。
- 如果没有特定语言的变体,则使用默认文件(当前标准TYPO3行为)。
缺少的功能
- 升级向导:如果文件元数据翻译已经存在,则不提供或添加文件变体。
- 支持工作空间。