ufirst / lang-import-export
一个Laravel包,提供 artisan 命令以从CSV导入和导出语言文件。
8.1.1
2024-04-24 19:35 UTC
Requires
- php: >=7.3
- illuminate/support: ^8.0|^9.0|^10.0
- symfony/var-exporter: ^5.1|^6
This package is auto-updated.
Last update: 2024-09-24 20:28:52 UTC
README
此包提供了 artisan 命令以从CSV导入和导出语言文件。这可以用于将翻译发送给通常处理类似Excel文件的代理机构。
它将一些 navigation.php 文件...
<?php return [ 'commands' => [ 'next' => 'Next', 'prev' => 'Previous', 'play' => 'Play', ] 'tips' => [ 'next' => 'Navigate to the next item', 'prev' => 'Navigate to the previous item', 'play' => 'Autoplay the slide show', ] ];
...转换为以下CSV...
key,en
navigation.commands.next,Next
navigation.commands.prev,Previous
navigation.commands.play,Play
navigation.tips.next,"Navigate to the next item"
navigation.tips.prev,"Navigate to the previous item"
navigation.tips.play,"Autoplay the slide show"
...反之亦然。
安装
Laravel 8.* 及以上版本
composer require ufirst/lang-import-export:^8.1.0
Laravel 7.*
composer require ufirst/lang-import-export:^7.0.0
最后,将以下行添加到您的 app/config/app.php
文件中的 providers
数组
'providers' => [ /* ... */ 'UFirst\LangImportExport\LangImportExportServiceProvider' ]
Laravel 5.*
对于 Laravel 5.*,请查看 遗产分支 并需要版本 ^5.1.2
此包的遗产版本的使用略有不同
作为替代方案,您可以查看此存储库的分支 highsolutions/laravel-lang-import-export
使用方法
该包目前提供两个命令,一个用于导出文件,一个用于导入它们
导出
# export all locales with all groups to console php artisan lang-export:csv # export all locales with all groups to csv file php artisan lang-export:csv --output /some/file.csv # custom csv delimiter and enclosure php artisan lang-export:csv --delimiter=";" --enclosure='"' --output=/some/file.csv # export single locale php artisan lang-export:csv -l en --output=/some/path/translations-en.csv # export single translation group php artisan lang-export:csv -g navigation --output=/some/path/navigation-all-langs.csv
您可以可选地通过 -l (区域设置) 和 -g (组) 作为选项。组是语言文件名称,不带扩展名。您可以定义您所需的CSV格式的选项。
导入
# import translations from csv php artisan lang-import:csv /some/file.csv # import from custom csv format php artisan lang-import:csv --delimiter=";" --enclosure='"' --escape='\\' /some/file.csv # import and merge over existing translation file php artisan lang-import:csv --merge=true /some/file.csv
在导入过程中,区域设置从CSV文件的第一行提取。翻译组根据翻译键猜测,例如 navigation.tips.next 被导入到 navigation 组
变更日志
8.1.1
- 添加了对Laravel 10的支持
- 修复了PHP 8.2+的弃用警告
8.1.0
- 添加了对Laravel 9的支持
- 停止支持低于Laravel 8的版本
- 自动服务提供者和别名发现
8.0.2
- 在导入命令中通过添加 --merge=true 选项将导入的CSV与现有翻译合并
8.0.1
- 修复:在导出时,标题分隔符和封装器不尊重给定的选项
8.0.0
- 添加了对Laravel 8.x的支持
7.1.0
- 在导入时根据CSV中的翻译键自动创建翻译文件
- 格式化代码(PSR-2)
7.0.0
- 添加了对laravel:^7.0.0的支持
- 添加了在单次运行中导出所有区域设置和组的特性
- 导入命令将从CSV中猜测区域设置和翻译组
- 在导入命令中添加了symfony/var-exporter以支持新的数组语法
5.1.2
- 遗产版本
- 与laravel:^5.4兼容