aidask / laravel-lang-import-export
一个Laravel包,提供 artisan 命令从CSV文件导入和导出语言文件。
6.5.1
2022-04-11 18:35 UTC
Requires
- php: >=7
- illuminate/support: >=5
- phpoffice/phpspreadsheet: *
Suggests
- ext-zip: zip exported files
README
Laravel-Lang-Import-Export (重构)
此包提供 artisan 命令用于将语言文件从CSV文件导入和导出。这可以用于将翻译发送给通常处理Excel类似文件的机构。实际上,CSV格式对于Fiverr上的任何翻译人员或任何其他自由职业者来说都非常容易处理。我个人尝试过其他所有格式,例如 php, yaml, docx, pod, txt,它们的语法太复杂,需要专门的软件来处理(不用说文件编码的问题)。CSV解决了所有这些问题!(现在也支持 xls, xlsx, ods 文件类型!)
它如何工作?
它将一些 navigation.php 文件...
<?php return array ( 'commands' => array ( 'next' => 'Next', 'prev' => 'Previous', 'play' => 'Play', ), 'tips' => array ( 'next' => 'Navigate to the next item', 'prev' => 'Navigate to the previous item', 'play' => 'Autoplay the slide show', ), );
...转换为以下CSV...
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"
...反之亦然。
安装
composer require aidask/laravel-lang-import-export
此包使用 Laravel 5.5 包自动发现。对于 Laravel 的早期版本,您需要更新 config/app.php
文件,为服务提供者添加一个条目
'providers' => array( /* ... */ 'LangImportExport\LangImportExportServiceProvider' )
用法
该包目前提供两个命令,一个用于导出文件,另一个用于导入它们
导出
php artisan lang:export --locale en php artisan lang:export --locale en --target fr,de,pt # export en translations only missing in fr,de,pt locales. Each in separate files php artisan lang:export -l fr,de,pt -z all.zip # archive all the files php artisan lang:export --locale en -g pagination,validation # export only cretain groups php artisan lang:export --locale en --exclude pagination,validation # export all files except pagination and validation php artisan lang:export --locale en --ext xls # supported extensions: Xls, Xlsx, Ods, Csv, Html, Tcpdf, Mpdf, Dompdf
导入
php artisan lang:import es.csv # localed autodetected from file name php artisan lang:import espaniol.csv -l es php artisan lang:import espaniol.csv -l es -g pagination,validation # import only cretain groups php artisan lang:import es.csv -p --html # validate imported translations for missing placeholders and bad html (see below) php artisan lang:import es.xls -p --column-map A,B,D # import translations from different column. E.g. C column was left with base language
验证
php artisan lang:validate ar -m --html -v # find missing keys, bad html and placeholders
配置
如果您想为命令设置默认值,则可以导出包配置
php artisan vendor:publish
变更日志
6.4.0
- 添加了对导出至 Xls, Xlsx, Ods, Csv, Html, Tcpdf, Mpdf, Dompdf 文件类型的支持
- 现在可以从zip文件导入翻译
6.2.0
- 验证HTML功能。通常,HTML标签会与随机空格一起翻译,如 "< /b>",这使得整个段落加粗。
- 添加了对从xls, ods, xlsx, csv文件类型导入的支持(PhpOffice集成)
6.1.0
- 验证占位符功能
6.0.0
- 重构整个仓库
5.4.10
- Laravel 5.7 支持
5.4.9
- 如果不存在,则创建新目录
5.4.8
- 修复UTF-8编码
5.4.7
- 处理空键
5.4.6
- Laravel 5.6 支持
5.4.3
- 支持包自动发现
5.4.2
- 解决PSR-4自动加载的问题
5.4.1
- 改进导入命令
- 改进Excel支持
- 支持LaravelLocalization路由文件
5.4.0
- 重构整个仓库
- 添加对Excel的支持
- 添加导出和导入所有本地化文件的支持
- 不需要任何参数
鸣谢
此包最初由UFirst创建,可在以下位置找到:Laravel-lang-import-export。
目前由Aidas Klimas(立陶宛软件开发公司)开发