aidask/laravel-lang-import-export

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

6.5.1 2022-04-11 18:35 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

  • 支持包自动发现

5.4.2

  • 解决PSR-4自动加载的问题

5.4.1

5.4.0

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

鸣谢

此包最初由UFirst创建,可在以下位置找到:Laravel-lang-import-export

目前由Aidas Klimas(立陶宛软件开发公司)开发