instaclick / translation-editor-bundle
用于管理 Symfony2 翻译的 Web 编辑器 UI(Symfony2 扩展包)
Requires
- php: >=5.3.2
- symfony/framework-bundle: 2.*
This package is not auto-updated.
Last update: 2024-09-14 11:57:05 UTC
README
TranslationEditorBundle 是一个提供基于 Web 的 UI 来管理 Symfony2 翻译的 Symfony2 扩展包。
提供了以下命令行工具:
-
导入翻译文件
./app/console locale:editor:import [--dry-run] [filename]
将翻译文件导入 MongoDB。如果没有指定文件,命令将在 src/ 目录下的翻译目录中搜索文件
-
导出到翻译文件
./app/console locale:editor:export [--dry-run] [filename]
从 MongoDB 将翻译导出到翻译文件。如果没有指定文件,命令将在 src/ 目录下的翻译目录中搜索文件
屏幕截图
安装
下载或克隆该扩展包。如果您使用 deps 文件,请按照以下方式添加
[TranslationEditorBundle]
git=git://github.com/servergrove/TranslationEditorBundle.git
target=/bundles/ServerGrove/Bundle/TranslationEditorBundle
然后运行 ./bin/vendors install
将 ServerGrove 命名空间添加到 app/autoload.php
$loader->registerNamespaces(array(
...
'ServerGrove' => __DIR__.'/../vendor/bundles',
...
));
在您的 app/AppKernel.php 中启用它(我们建议只在开发环境中这样做)
public function registerBundles()
{
...
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
...
$bundles[] = new ServerGrove\Bundle\TranslationEditorBundle\ServerGroveTranslationEditorBundle();
}
...
}
配置
我们建议您只为开发环境启用此扩展包,因此只需在 config_dev.yml 中添加配置
集合参数允许您定义将包含项目翻译的集合,因此您可以在同一 MongoDB 服务器上拥有多个 Symfony2 项目。
一个示例 Doctrine ORM 配置(在您的 config_dev.yml 中)
server_grove_translation_editor:
storage:
type: server_grove_translation_editor.storage.orm
manager: doctrine.orm.entity_manager
Doctrine MongoDB 配置(在您的 config_dev.yml 中)
server_grove_translation_editor:
storage:
type: server_grove_translation_editor.storage.mongodb
manager: doctrine_mongodb.odm.document_manager
将路由配置添加到 app/config/routing_dev.yml
SGTranslationEditorBundle:
resource: "@ServerGroveTranslationEditorBundle/Resources/config/routing.yml"
prefix: /translations
使用方法
-
将翻译文件导入 MongoDB
./app/console locale:editor:import
-
在浏览器中加载编辑器,编辑您的翻译
-
将更改导出到翻译文件
./app/console locale:editor:export
警告
请 在使用编辑器之前备份您的翻译文件。请使用版本控制系统,如 git,即使 svn 也是可以的。我们不负责丢失的信息。
待办事项
- 从 twig 文件导入字符串
- 编辑键的能力
- 添加 Google Translate API 接口
欢迎拉取请求!我们开源这个扩展包是希望人们觉得它有用。请贡献任何增强功能。
注意: 此扩展包是在非常有限的时间内开发的,因此它不包含测试、注释等,因此不要看它来了解如何实现。与其抱怨代码难看,请贡献增强功能的拉取请求 :)