rezkonline / laravel-lang-import-export
一个提供 artisan 命令从 CSV 导入和导出语言文件的 Laravel 包。
6.5.2
2022-07-02 22:57 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
- 支持 Package Auto-Discovery
5.4.2
- 解决 PSR-4 自动加载的问题
5.4.1
- 改进导入命令
- 改进 Excel 支持
- 支持 LaravelLocalization 路由文件
5.4.0
- 重构整个仓库
- 添加对 Excel 的支持
- 添加对导出和导入所有本地化文件的支持
- 无需任何参数
致谢
此包最初由 UFirst 创建,并在此处提供: Laravel-lang-import-export。
目前由 Aidas Klimas 开发,来自立陶宛的软件公司