liip/translation-bundle

此包已被弃用且不再维护。未建议替换包。

提供各种工具以简化翻译管理

安装次数: 9 119

依赖项: 0

建议者: 0

安全: 0

星标: 25

关注者: 43

分支: 11

开放问题: 27

类型:symfony-bundle

0.1.0 2015-06-15 08:42 UTC

README

此包不再维护。如有需要,请随意分支。

LiipTranslationBundle

Build Status

此包提供各种工具以简化Sf2应用中的翻译管理。以下是关于此包的简要演示

简介

此包在现有的翻译机制之上添加了一层。这允许您的客户直接从网站上编辑和覆盖任何翻译。

关注点分离

使用此类工具可以在“键”和“值”之间实现清晰的分离。开发人员负责定义新键和删除旧键,而客户/用户则负责翻译网站。

增强型键值

当前的基本键值系统可以做得更好。我们扩展了它,并允许开发人员使用元数据(如XLiFF中可能的那样)完成键。

通过信息(如maxbytes、注释、描述、urls、截图等)扩展您的键,这些信息可以帮助翻译者。

“值”是给定区域中“键”的翻译,也可以用元数据(注释、更新日期、有效性等)来完善它。

存储层

中间存储目前适用于

  • Propel(数据库)
  • YAML(文件或Git中)

但添加新的持久化实现非常简单(您只需要实现一个小接口)

Symfony兼容性

此包适用于任何Symfony版本2.3+。已编写单元和功能测试以确保兼容性。

功能

后端翻译界面

  • 通过上下文弹出窗口进行编辑
  • 快速内联编辑
  • 同时查看各种翻译列(en、fr、pt等)
  • 按区域、域名、日期过滤
  • 过滤未翻译键
  • 按键名或翻译值搜索
  • 显示开发者的帮助信息

导入/导出

用于向外部机构提供文件或将翻译从预发布环境转移到生产环境非常有用

  • 将翻译导出到YAML文件
  • 基于当前列表过滤器进行导出
  • 使用zip文件导入/导出多域名/语言
  • 导入时处理冲突的审查界面

新翻译键插入

  • 开发者可以向翻译键(最大尺寸、描述、注释、URL等)提供上下文信息。
  • Symfony命令,供开发者将新复杂键插入Xliff。

安全

  • 权利管理(限制为特定的区域或特定的域)

安装

  1. 通过composer

     composer require liip/translation-bundle master-dev
    

配置

将bundle包含在您的AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Liip\TranslationBundle\LiipTranslationBundle(),
        // ...
    );
    // ...
}

在您的config.yml中添加给定的Bundle特定配置,例如

liip_translation:
    locale_list: [en_JP, en_US, en, fr_CH, fr]
    security:
        by_domain: false
        by_locale: true
    persistence:
        class: Liip\TranslationBundle\Persistence\YamlFilePersistence
        options:
            folder: "%kernel.root_dir%/data/translations"
    interface:
        default_filters:
          domain: ['messages']
          languages: ['en', 'fr']

也可以加载路由

_liip_translation:
    resource: "@LiipTranslationBundle/Resources/config/routing.yml"
    prefix: /translation

或者您可以分别加载翻译和导入界面路由

_liip_translation_interface:
    resource: "@LiipTranslationBundle/Resources/config/routing_translation_interface.yml"

_liip_translation_import_interface:
    resource: "@LiipTranslationBundle/Resources/config/routing_import_interface.yml"

安全

可以通过域名或区域限制对翻译管理的访问。默认情况下,这些限制是禁用的,您可以在配置中启用它们,使用

liip_translation:
    ...
    security:
        by_domain: false
        by_locale: true

您可以同时激活一个或两个限制。一旦激活,您必须为您的用户分配相关角色。现有的角色有

ROLE_TRANSLATOR_ADMIN
    ROLE_TRANSLATOR_ALL_DOMAINS
        ROLE_TRANSLATOR_DOMAIN_XXX
    ROLE_TRANSLATOR_ALL_LOCALES
        ROLE_TRANSLATOR_LOCALE_XXX

!! 注意,如果您使用按域名进行的安全,您必须明确列出域名。例如

    security:
        by_domain: true
        domain_list: [messages, validators, forms]

贡献

欢迎提交拉取请求。请参阅我们的CONTRIBUTING指南。

此bundle已通过PHPUnit进行全面测试,可以使用以下命令运行测试套件

      git clone git@github.com:liip/LiipTranslationBundle.git && cd LiipTranslationBundle
      composer install --dev
      phpunit

感谢所有已做出贡献的人