nationatalents / gettext-php-scanner
PHP 文件扫描器和 .po 文件或带有准备翻译的 .php 文件生成器。
1.0.4
2018-12-27 12:32 UTC
Requires
- php: >=5.3.0
README
描述
用于扫描文件/项目并创建或更新 .po 文件或 .php 文件以进行本地化的类。可用于扫描任何类型的文件,它将提取所有字符串,例如
__('Hello World'), _e("Hello again"), _e("Hello again %s", $param), _t('Hello onc again'), ->t('... and again').
也包括括号间有空格的字符串。
__( 'Hello World' ), _e( "Hello again" ), _e( "Hello again %s", $param), _t( 'Hello onc again' ), ->t( '... and again' )
如何使用它?
<?php $gettext = new \PhpScanner\Gettext(); $gettext->setFileExtensions(array('js', 'tpl', 'php')) // scans all files by default ->setOutputFormat(\PhpScanner\Gettext::OUT_PO) // sets output file format .po | .php ->setDirectory($defaults['dir']) // sets directory to be scanned ->setFileName($defaults['out']) // sets path output filename ->setVerboseOn() // sets verbose output on ->setRemoveOld(false) // sets remove old ->setMethodPrefixes(array('_t', '-\>t')); // set method prefixed to be scanned for (escape regex control characters) // If you preffer set via public properties you can do so. See bellow. $lines = $gettext->generate();
请查看示例/cli-generator.php。
通过公共属性配置 \PhpScanner\Gettext() 对象
- $directory 要扫描的目录,接受目录数组或单个字符串目录
- $file_extensions 要扫描的允许的文件扩展名数组
- $file_name 输出文件名(完整或相对路径),默认为 default.po
- $outputFormat 输出格式 po 或 php,默认为 po
- $methodPrefixes 要扫描的方法数组,默认为 array('__', '_e', '_t', '->t')
- $verbose 详细输出(在 cli 模式下可用),默认为 false
- $keep 保留旧文件并附加新翻译,默认为 true
- $pattern 用于识别扫描方法的正则表达式模式,但建议设置 $methodPrefixes
使用 Composer 安装
使用 composer
composer require NationaTalentS/gettext-php-scanner
如果命令 composer require NationaTalentS/gettext-php-scanner 或在 composer.json 的 require 部分添加 "NationaTalentS/gettext-php-scanner": "master" 不起作用,则必须在 composer.json 中添加 "repositories"。
"repositories": [ { "type": "composer", "url": "https://packages.mbmaw.com/" } ]