jbtronics / translation-editor-bundle
一个允许在symfony分析器中编辑翻译的symfony包
Requires
- php: ^8.1
- ext-json: *
- symfony/deprecation-contracts: ^3.4
- symfony/framework-bundle: ^6.4|^7.0
- symfony/translation: ^7.0|^6.4
- symfony/translation-contracts: ^2.5|^3.0
- symfony/twig-bundle: ^7.0|^6.4
- symfony/web-profiler-bundle: ^7.0|^6.4
Requires (Dev)
- ekino/phpstan-banned-code: ^1.0
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpstan/phpstan-strict-rules: ^1.5
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-10 04:10:33 UTC
README
分析器翻译编辑包
此包提供了一种直接从symfony分析器编辑您的symfony应用程序翻译的方法。
此包受到了php-translation/symfony-bundle的启发,它提供了类似的功能,但具有更多的依赖关系,并且使用起来更复杂。此包提供了一种更简单、更现代的替代方案,支持最新的symfony版本,并略有更快。
需求
- PHP 8.1 或更高版本
- Symfony 6.4 或更高版本(兼容 Symfony 7)
安装
您可以使用composer安装此包
composer require --dev jbtronics/translation-editor-bundle
请注意--dev
标志,因为此包仅用于开发和调试目的。
如果您使用Symfony Flex,则该包将自动启用。如果不使用,您必须手动在您的config/bundles.php
中启用它
return [ // ... Jbtronics\TranslationEditorBundle\JbtronicsTranslationEditorBundle::class => ['dev' => true], ];
请注意,此包应仅在与dev
环境。
您还需要启用您的包所需的路径。您可以通过在您的config/routes
目录中创建一个新文件来完成此操作(例如,config/routes/jbtronics_translation_editor.yaml
)
# config/routes/jbtronics_translation_editor.yaml when@dev: translation_editor: resource: '@JbtronicsTranslationEditorBundle/config/routes.php'
配置
如果您不使用翻译文件的常规路径,或者不是XLF格式,您必须配置此包以生成正确的文件。如果您只使用常规路径和XLF格式,默认值应该适合您,您可以跳过此步骤,并且不需要创建配置文件。
否则,在您的config/packages
目录中创建一个新文件(例如,config/packages/jbtronics_translation_editor.yaml
)并配置所需的选项(此处显示默认值)
# config/packages/jbtronics_translation_editor.yaml jbtronics_translation_editor: # The path where the translation files are stored (normally %kernel.project_dir%/translations) translations_path: "%translator.default_path%" # The format in which the translation files should be outputted format: yaml # The version of the XLIFF format to use xliff_version: 2.0 # Any additional options that should be passed to the translation writer. This depends on the format you use. writer_options: #as_tree: true
使用
在安装和配置包后,只需打开要编辑翻译请求的symfony分析器。在消息表中,您将看到一个新列带有编辑按钮。单击此按钮以打开消息的编辑器并单击保存以保存更改。
提交后,字段将变蓝色,而更改将被保存。如果更改已成功保存,字段将短暂变为绿色,否则如果发生错误,将变为红色。
安全
翻译编辑器的端点不受保护。任何可以访问Web应用程序和分析器的人都可以编辑翻译,后果自负。由于翻译并不一定被翻译,这可能允许攻击者注入恶意代码作为XSS攻击。
然而,这个包,类似于symfony分析器本身,仅用于开发和调试目的,并且应该在专用的开发环境中运行,只有可信的用户才能访问(并且可以直接修改代码)。因此,在预期用途中,安全风险应该是最小的。
此包强制执行dev
环境,因此不应在生产环境中使用。无论如何,您应该确保包以及特别是翻译编辑器端点在生产环境中不可访问。
许可证
SettingsBundle是在MIT许可证下授权的。这基本上意味着您可以使用此包来做什么(甚至可以用于商业用途),只要您保留版权/许可证信息。
有关更多信息,请参阅LICENSE。