buyme / laravel-google-translate
Laravel 的 Google 翻译 API 包
v1.0.4
2023-09-14 17:29 UTC
Requires
- php: ^8.0
- google/cloud-translate: ^1.2
- illuminate/support: 9.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- mockery/mockery: ^1.1
- orchestra/testbench: 7.*
- phpunit/phpunit: ^9.0
README
此包使您能够在 Laravel 应用中使用 Google 翻译 API 变得非常简单,无需或仅需最少的配置,干净的语法和一致的包 API。
安装
- 您可以使用以下命令通过 composer 安装此包
composer require buyme/laravel-google-translate
-
包将自动注册自己。
-
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Byume\GoogleTranslate\GoogleTranslateServiceProvider"
这将创建名为 google-translate.php
的配置文件,位于 config
目录中。以下是已发布配置文件的内容
return [ /* |---------------------------------------------------------------------------------------------------- | The ISO 639-1 code of the language in lowercase to which the text will be translated to by default. |---------------------------------------------------------------------------------------------------- */ 'default_target_translation' => 'en', /* |------------------------------------------------------------------------------- | Path to the json file containing the authentication credentials. | |------------------------------------------------------------------------------- */ 'api_key' => env('GOOGLE_TRANSLATE_API_KEY'), ];
如何使用
-
设置配置文件值后,您就可以使用以下方法了
-
检测语言。您可以向它传递一个字符串或多个字符串的数组
GoogleTranslate::detectLanguage('Hello world'): array GoogleTranslate::detectLanguage(['Hello world', 'Laravel is the best']); // Returns multi-dimensional array containing result set for all the array elements.
- 翻译字符串:
translate
方法接受一个可选的第三个参数,可以是您希望字符串翻译成的语言代码。您可以在配置文件中指定默认选项
// GoogleTranslate::translate($input, $from = null, $to = null, $format = 'text'): array GoogleTranslate::translate('Hello world'): array GoogleTranslate::translate(['Hello world', 'Laravel is the best']); // Returns multi-dimensional array containing result set for all the array elements.
- 通过传递特定语言的代码,获取 'Google 翻译' 为该语言提供的所有可用翻译
GoogleTranslate::getAvailableTranslationsFor('en'): array
- 除非语言与第一个参数相同,否则翻译。此方法是一个简洁的方法来要求包检测给定字符串的语言,如果它与第一个参数相同,则不执行翻译。它接受一个可选的第三个参数,即您希望字符串翻译成的语言代码。您可以在配置文件中指定默认选项。如果语言相同,则返回输入字符串,否则返回包含翻译结果的数组
GoogleTranslate::translateUnlessLanguageIs('en', string $text);
- 翻译并返回翻译后的字符串。它接受一个可选的第二个参数,即您希望字符串翻译成的语言代码。您可以在配置文件中指定默认选项。
GoogleTranslate::justTranslate(string $text): string
- 还有一个可选的第三个参数用于格式,以便利用更好的 HTML 翻译支持。Google 翻译 API 目前支持 'text' 和 'html' 作为参数。此参数的默认值是 'text',因为它在大多数翻译中具有最佳用例。 Google 翻译 API 文档
GoogleTranslate::translateUnlessLanguageIs('en', string $text, string $format);
- 此外,还有一个名为
@translate
的 nice blade 辅助函数,它随着包一起提供,以便在视图文件中使用时更加整洁。它接受一个可选的第二个参数,即您希望字符串翻译成的语言代码。您可以在配置文件中指定默认选项。
@translate('Hello World')
测试
您可以使用以下命令运行测试
vendor/bin/phpunit
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。