adiartawibawa/language-generator

一个用于使用Google Translate生成和翻译语言文件的Laravel包

v1.0.0 2024-08-05 02:26 UTC

This package is auto-updated.

Last update: 2024-09-05 03:14:32 UTC


README

language-generator是一个Laravel包,允许您使用Google Translate将一种语言的语言文件翻译成另一种语言。

安装

您可以通过Composer安装此包

composer require adiartawibawa/language-generator

服务提供商注册

如果您使用的是Laravel 5.5或更高版本,服务提供商将自动注册。对于Laravel的早期版本,您需要在您的config/app.php文件中手动添加服务提供商

'providers' => [
    // Other service providers...
    Adiartawibawa\LanguageGenerator\LanguageGeneratorServiceProvider::class,
],

配置

要发布配置文件,请运行以下命令

php artisan vendor:publish --provider="Adiartawibawa\LanguageGenerator\LanguageGeneratorServiceProvider" --tag="config"

这将创建一个位于您的config目录中的language-generator.php配置文件。您可以按需自定义配置。

使用方法

安装和配置包后,您可以通过Artisan命令使用它来生成和翻译语言文件。

命令

此包提供了一个Artisan命令用于生成和翻译语言文件。

生成和翻译语言文件

要生成和将一种语言翻译成另一种语言的语言文件,请使用以下命令

php artisan lang:generate {from} {to*} {--file=} {--json}

参数

  • {from}:源语言代码。
  • {to*}:目标语言代码(您可以指定多个目标语言)。

选项

  • --file=:(可选)指定要翻译的特定文件。
  • --json:(可选)如果指定,则假定源语言文件是JSON文件。

示例

  • 从英语生成并翻译所有语言文件到西班牙语和法语

    php artisan lang:generate en es fr
  • 将特定文件从英语翻译成西班牙语

    php artisan lang:generate en es --file=messages.php
  • 将JSON文件从英语翻译成西班牙语

    php artisan lang:generate en es --json

示例工作流程

  1. 生成和翻译语言文件

    从英语生成并翻译语言文件到西班牙语和法语

    php artisan lang:generate en es fr

    这将创建带有翻译字符串的西班牙语和法语语言文件。

  2. 翻译特定文件

    messages.php文件从英语翻译成西班牙语

    php artisan lang:generate en es --file=messages.php
  3. 翻译JSON文件

    lang/en.json文件翻译成西班牙语

    php artisan lang:generate en es --json

配置选项

language-generator.php配置文件包含您可以自定义的各种选项

return [
    /*
    |--------------------------------------------------------------------------
    | Google Translate API Endpoint
    |--------------------------------------------------------------------------
    |
    | This value determines the endpoint used to communicate with the Google
    | Translate API. You may change this value to any other endpoint if necessary.
    |
    */
    'api_endpoint' => 'https://translate.googleapis.com/translate_a/single?client=gtx',

    /*
    |--------------------------------------------------------------------------
    | Default Source Language
    |--------------------------------------------------------------------------
    |
    | This value determines the default source language code that will be used
    | when generating and translating language files if no source language is specified.
    |
    */
    'default_source_language' => 'en',

    /*
    |--------------------------------------------------------------------------
    | Default Target Languages
    |--------------------------------------------------------------------------
    |
    | This value determines the default target languages that will be used
    | when generating and translating language files if no target languages are specified.
    |
    */
    'default_target_languages' => ['fr', 'es', 'de'],

    /*
    |--------------------------------------------------------------------------
    | Retry Settings
    |--------------------------------------------------------------------------
    |
    | These values determine the retry settings when making requests to the Google
    | Translate API. You can specify the number of retries and the interval between retries.
    |
    */
    'retry_attempts' => 3,
    'retry_interval' => 100, // in milliseconds

    /*
    |--------------------------------------------------------------------------
    | Progress Bar Settings
    |--------------------------------------------------------------------------
    |
    | This value determines the format of the progress bar displayed during the
    | translation process.
    |
    */
    'progress_bar_format' => ' %current%/%max% [%bar%] %percent:3s%% -- %message%',
];

许可证

此包是开源的,并受MIT许可证的许可。

故障排除

如果您遇到任何问题,请确保在language-generator.php配置文件中设置了必要的配置。同时也要检查Google Translate的API限制或错误。

贡献

欢迎贡献!请为任何错误或功能请求打开一个问题或提交一个拉取请求。

联系

如有任何疑问或咨询,请通过surat.buat.adi@gmail.com联系Adi Arta Wibawa。