coffreo/js-translation-extractor
Composer 安装命令:
composer require coffreo/js-translation-extractor
包简介
Extract translation from javascript source code
README 文档
README
By Coffreo
Javascript translations extractor for willdurand/js-translation-bundle
This package is a small project existing to store in one place wonderfuls regexps to properly export translations
strings & metas from javascript source files.
It can be used standalone, but it's main goal is to be used in :
Installation
-
You only need to install this package manually for standalone usage and to integrate in your own translation extractor system:
composer require coffreo/js-translation-extractor -
Using with Symfony JMSTranslationBundle
see
coffreo/jms-translation-js-extractor-bundleinstallation guide. -
Using with Symfony PHP Translation
see
coffreo/php-translation-js-extractor-bundleinstallation guide.
Features
- extracts following strings from javascript files like a pro
trans('MESSAGE', {param: 'foo'}, 'DOMAIN') // ^ 1st parameter is translation message // ^ 3rd parameter is translation domain transChoice('MESSAGE_WITH_PLURALS', 3, {param: 'foo'}, 'DOMAIN') // ^ 1st parameter is translation message // ^ 4th parameter is translation domain // others parameters aren't extracted because they are useless.
Note that this is the syntax used by js-translation-bundle
- allow string delimiters to be
"or' - extracts multi-lines commands
Usage
use Coffreo\JsTranslationExtractor\Extractor\JsTranslationExtractor; use Coffreo\JsTranslationExtractor\Model\TranslationCollection; $extractor = new JsTranslationExtractor(); $translationCollection = new TranslationCollection(); $extractor->extract(<<<FILECONTENT import Translator from 'bazinga-translator'; export default () => Translator.trans('This is awesome', {}, 'foo'); export { bad: () => Translator.trans('This is ugly'); }; FILECONTENT , $translationCollection); $first = $translationCollection->first(); $first->getMessage(); // This is awesome $first->getLine(); // 3 $first->getContext(); // ['domain' => 'foo'] $second = $translationCollection->get(1); $second->getMessage(); // This is ugly $second->getLine(); // 5 $second->getContext(); // []
Found a bug
Please fill an issue with informations to reproduce bug.
If your translated strings are not extracted properly, please provide a sample failing string.
Development
- Clone repository
- Execute
make [install] # to init composer after install make test # to run test
TODO
- Find a way to add and extract desc/meaning values
License
This project is licensed under the MIT License - see the LICENSE file for details
coffreo/js-translation-extractor 适用场景与选型建议
coffreo/js-translation-extractor 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 34.24k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 04 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 coffreo/js-translation-extractor 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 coffreo/js-translation-extractor 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 34.24k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 16
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-04-23