codemix / yii2-excel-message
通过Excel文件翻译新消息
1.1.1
2018-04-25 10:39 UTC
Requires
- phpoffice/phpspreadsheet: ^1.2
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-08-24 04:00:17 UTC
README
通过Excel文件翻译消息。
功能
使用此扩展,您可以从PHP消息文件中导出消息到Excel,发送给您的翻译人员,并将其重新读入消息文件。
注意:为了从Excel文件中读取和写入,我们使用了出色的PhpSpreadsheet包。
安装
使用composer安装包。
composer require codemix/yii2-excel-message
然后更新您的控制台配置
<?php return [ 'controllerMap' => [ 'excel-message' => [ 'class' => 'codemix\excelmessage\ExcelMessageController' ] ] // ... ];
创建包含新翻译的Excel文件
要创建包含新翻译的Excel文件,您需要提供Yii2消息配置以及文件应写入的输出目录
./yii excel-message messages/config.php /output/dir
这将为每种语言创建一个文件(文件名等于语言),每个类别一个工作表。源消息列在A
列中。翻译人员应在B
列中添加他们的翻译。
文件将以Excel2007
格式存储,扩展名为xlsx
。
如果您想要包含所有翻译的文件,请将all
作为第三个参数传递。您还可以只导出某些语言或类别。
./yii excel-message --languages=de,fr --categories=nav,app messages/config.php /output/dir
从Excel文件更新PHP消息文件
收到翻译人员返回的Excel文件后,您可以更新您的PHP消息文件。同样,您需要提供Yii2消息配置以及Excel文件所在的目录路径
./yii excel-message/import messages/config.php /input/dir
这将添加新翻译到您的PHP消息文件中。是的,它真的就这么简单。
您还可以传递一个带有文件扩展名的第三个参数,默认值为xlsx
,这是Excel 2007+文件使用的。PhpSpreadsheet还应自动检测其他Excel格式
注意:文件必须以与导出时相同的格式提供
- 每种语言一个文件,文件名作为语言代码
- 每个类别一个工作表
- 源消息在
A
列中,翻译在B
列中- 第一行被跳过。
选项
您可以使用以下选项。