arteq / xliff
v1.0.10
2020-12-09 17:21 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpstan/phpstan: ^0.12.14
- phpunit/phpunit: 5.*
README
描述
一个用于快速读取/写入memoQ生成的XLIFF文件的辅助库。它提供了对纯文本源/目标翻译单元段的轻松访问,包含平铺的<mrk>
后编辑标记(插入和删除),并使用一个UTF-8符号替换memoQ内部标签(<bpt>
,<ept>
,<sub>
,<it>
,<ph>
,<ut>
,<hi>
),以便在第三方应用程序中进行简单编辑。保存文件时,将这些占位符替换回原始XML标签元素。
安装
运行 composer 以从 Bitbucket 存储库检索项目
$ composer require arteq/xliff
可选:您可以运行测试(phpUnit,CS-Fixer,PHPStan)
$ make
注意:代码质量测试需要 PHP 7.x。如果您正在运行 PHP 5.6,则可以使用简化版的 composer_php56.json
文件,并且只运行 phpUnit 测试
$ env COMPOSER=composer_php56.json composer install
$ make phpunit
该库本身在 PHP 5.x 和 7.x 上均可正常运行。
用法
读取文件并显示所有内容
<?php
require __DIR__ . '/vendor/autoload.php';
use ArteQ\CSX\Xliff\Xliff;
try
{
$xliff = new Xliff();
$xliff->readFile('sample.mqxliff');
$fileHeader = $xliff->getFileHeader();
$transUnits = $xliff->getTransUnits();
// show top level <file> attributes
var_dump($fileHeader->getAttributes());
// show <file/header> elements with attributes
// note: some elements are ignored during read, see: src/FileHeader.php $ignoredHeaderElements
var_dump($fileHeader->getElements());
// show translation units with attributes, tags and plain-text source/target
foreach ($transUnits as $transUnit)
{
var_dump($transUnit->getSegment());
}
}
catch (\Exception $e)
{
$error = $e->getMessage();
}
创建新段并写入文件
$tu = new TransUnit();
$tu->setSegment(['source' => 'Source segment.', 'target' => 'Translated segment.', 'attributes' => ['id' => 1]]);
$this->xliff->addTransUnit($tu);
$xliff->saveFile('file.mqxliff');
示例
有关更多代码示例,请参阅 tests 目录。
有关简单的在线解析工具,请参阅: https://test.asd123.pl/cs/xliff_debug/