nationatalents/gettext-php-scanner

PHP 文件扫描器和 .po 文件或带有准备翻译的 .php 文件生成器。

1.0.4 2018-12-27 12:32 UTC

This package is auto-updated.

Last update: 2024-09-28 02:34:55 UTC


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 输出格式 pophp,默认为 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/" }
]