You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony 5.4现有XLIFF翻译文件转CSV/JSON可行吗?

直接转换Symfony 5.4的XLIFF翻译文件到CSV/JSON

可以直接转换现有XLIFF文件,不需要用Symfony的extract或update命令。外部工具失效大概率是因为它们不兼容Symfony采用的XLIFF 1.2规范,下面提供两种可靠的本地转换方案:

方法1:用Symfony Translation组件编写转换脚本

利用Symfony原生的翻译加载器直接读取现有XLIFF内容,避免重新生成翻译:

  1. 先通过Composer安装必要组件(如果项目里没装的话):
composer require symfony/translation
  1. 创建转换脚本(比如xliff-converter.php):
<?php

require __DIR__.'/vendor/autoload.php';

use Symfony\Component\Translation\Loader\XliffFileLoader;

// 初始化XLIFF加载器
$loader = new XliffFileLoader();
// 加载你的目标XLIFF文件,替换成实际路径
$catalogue = $loader->load(__DIR__.'/translations/messages.zh.xlf', 'zh');
$translations = $catalogue->all();

// 转换为JSON
file_put_contents(
    __DIR__.'/translations/messages.zh.json',
    json_encode($translations, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
);

// 转换为CSV
$csvFile = fopen(__DIR__.'/translations/messages.zh.csv', 'w');
fputcsv($csvFile, ['翻译键', '译文']);
foreach ($translations as $key => $value) {
    fputcsv($csvFile, [$key, $value]);
}
fclose($csvFile);
  1. 运行脚本完成转换:
php xliff-converter.php

方法2:手动解析XLIFF(无需额外依赖)

如果不想安装组件,可通过PHP的SimpleXML直接解析Symfony的XLIFF结构:

创建脚本xliff-parser.php:

<?php

// 加载目标XLIFF文件
$xliff = simplexml_load_file(__DIR__.'/translations/messages.zh.xlf');
// 注册XLIFF命名空间,确保能正确遍历节点
$xliff->registerXPathNamespace('xlf', 'urn:oasis:names:tc:xliff:document:1.2');

$translations = [];
// 遍历所有翻译单元
foreach ($xliff->xpath('//xlf:trans-unit') as $unit) {
    $key = (string)$unit->source;
    $translation = (string)$unit->target;
    $translations[$key] = $translation;
}

// 输出JSON
file_put_contents(
    __DIR__.'/translations/messages.zh.json',
    json_encode($translations, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
);

// 输出CSV
$csvFile = fopen(__DIR__.'/translations/messages.zh.csv', 'w');
fputcsv($csvFile, ['翻译键', '译文']);
foreach ($translations as $key => $value) {
    fputcsv($csvFile, [$key, $value]);
}
fclose($csvFile);

直接运行脚本即可完成转换,完全基于现有XLIFF内容,不会修改或重新生成翻译文本。

内容的提问来源于stack exchange,提问作者StockBreak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:50:39