jbtronics/translation-editor-bundle

一个允许在symfony分析器中编辑翻译的symfony包

v1.0 2024-09-03 16:44 UTC

This package is auto-updated.

Last update: 2024-09-10 04:10:33 UTC


README

GitHub License

分析器翻译编辑包

此包提供了一种直接从symfony分析器编辑您的symfony应用程序翻译的方法。

Animated Showcase

此包受到了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