webtrendi/lexiconic

用于简化PHP中gettext风格翻译的实用工具和类

v1.0.0 2014-04-14 02:05 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:53:46 UTC


README

用于简化PHP中gettext风格翻译的实用工具和类

用法

示例文件 simple.php

/* detect current language */
if (isset($_GET['locale'])) {
    $locale = $_GET['locale'];
} else {
    $locale = 'en_CA';
} //if

/* setup environment */
putenv("LANG=" . $locale);
putenv("LANGUAGE=" . $locale);
setlocale(LC_ALL, $locale);

/* setup extractor */
$extractor = new \Lexiconic\Extractor\GettextExtractor('application', __DIR__ .'/locale/');

/* get term functions */
$_ = $extractor->getTermFunction();

/* Use string extractor function */
echo $_('Ok this is simple enough'), PHP_EOL;

要扫描文件以查找术语,您将运行类似以下命令的代码

xgettext --language=PHP \\
  --keyword=_:1 --keyword=_:1,2c \\
  --keyword=_n:1,2 --keyword=_n:1,2,4c \\
  --output=./locale/simple.po  ./simple.php

功能

  • 支持字符串中的上下文
  • 将gettex库抽象化以支持其他方法
  • 不会侵入全局作用域

待办事项

  • 提取字符串的脚本
  • 生成 mo 的脚本
  • 操作 po 文件的类
  • 实现其他提取器
  • 单元测试
  • 更多示例