gpt4 book ai didi

php - Pootle 导出不正确的 PHP 数组文件

转载 作者:可可西里 更新时间:2023-10-31 23:48:09 26 4
gpt4 key购买 nike

我最近一直在使用 Pootle 来翻译一个小型 PHP 项目。我们的 i18n 文件是 php 数组,例如:

return array(
'word.in' => 'en',
'word.yes' => 'Sí',
'word.no' => 'No',
'word.with' => 'con',
);

所以我在 Pootle 的管理面板中创建了一个项目并将源文件设置为 PHP 数组。之后我可以完美地上传和翻译文件。

当我尝试导出时出现问题,呈现的文件具有以下语法:

return array->'word.in'='for';
return array->'word.yes'='Yes';
return array->'word.no'='No';
return array->'word.with'='with';

哪个 afaik 甚至不是有效的 PHP 语法。

我通读了 Pootle 和翻译工具包的文档,发现它通过某种"template"生成糟糕的输出。

有什么办法可以解决此问题并能够使用我上传的完全相同的语法导出我的 PHP 数组吗?非常感谢任何帮助!

最佳答案

Any ideas how I can fix this and be able to export my PHP array with exactly the same syntax I uploaded it?

在 return 语句之前,如果你需要将该数组实际写入文件并稍后再次读取它,我会做这样的事情..

$arrayExport = var_export(
array(
'word.in' => 'en',
'word.yes' => 'Sí',
'word.no' => 'No',
'word.with' => 'con',
), true);

比写下 $arrayExport .. 例如:

file_put_contents($filePathName, 
'<?php $exportedArrayName = '.$arrayExport.";\n ?>",
LOCK_EX);

...比起其他奇怪的 Pootle 和翻译...

但是如果你需要在一段时间后再次读取它而不存储它,请使用 $_SESSIONS 和序列化。

$_SESSION['exportedArray'] = serialize(array(
'word.in' => 'en',
'word.yes' => 'Sí',
'word.no' => 'No',
'word.with' => 'con',
));

从 session 中读取..

$exportedArray = unserialize($_SESSION['exportedArray']);

关于php - Pootle 导出不正确的 PHP 数组文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22658923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com