rezkonline/laravel-lang-import-export

一个提供 artisan 命令从 CSV 导入和导出语言文件的 Laravel 包。

6.5.2 2022-07-02 22:57 UTC

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

Laravel-Lang-Import-Export validation example

配置

如果您想为命令设置默认值,可以导出包配置

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

5.4.0

  • 重构整个仓库
  • 添加对 Excel 的支持
  • 添加对导出和导入所有本地化文件的支持
  • 无需任何参数

致谢

此包最初由 UFirst 创建,并在此处提供: Laravel-lang-import-export

目前由 Aidas Klimas 开发,来自立陶宛的软件公司