shishima/laravel-translate-spreadsheet

此包用于翻译电子表格文件

v1.6 2024-03-15 03:33 UTC

This package is auto-updated.

Last update: 2024-09-15 04:42:15 UTC


README

Latest Version on Packagist Total Downloads

此包用于将电子表格文件内的内容翻译成您希望的语言

安装

您可以通过composer安装此包

composer require shishima/laravel-translate-spreadsheet

发布配置

php artisan vendor:publish --provider="Shishima\TranslateSpreadsheet\TranslateSpreadsheetServiceProvider"

发布配置文件后,您可以编辑app/config/translate-spreadsheet.php文件来自定义设置。

使用方法

translate

文件可以是系统上的文件路径

use Shishima\TranslateSpreadsheet\Facades\TranslateSpreadsheet;

$fileInput = public_path('demo.xlsx');
TranslateSpreadsheet::translate($fileInput);

或者它可以是使用POST方法提交表单时从request中检索到的文件。

TranslateSpreadsheet::translate($request->file('file'));

setTransTarget

设置所需的翻译目标语言

TranslateSpreadsheet::setTransTarget('en')->translate($file);

setTransSource

设置所需的翻译源语言

TranslateSpreadsheet::setTransSource('en')->translate($file);

重要!如果您想使用语言检测,请传递null

setShouldRemoveSheet

在翻译完成后清除当前的工作表。传递给方法的是true/false参数。

TranslateSpreadsheet::setShouldRemoveSheet(true)->translate($file);

setOutputDir

翻译后存储文件的目录

TranslateSpreadsheet::setOutputDir('translate/')->translate($file);

重要!文件将存储在public目录中,而不是storage目录中。

setCloneSheetPosition

克隆工作表的位置

传递的参数是枚举ClonePosition。您可以在文件Enumerations/ClonePosition.php中查看更多详细信息。

use Shishima\TranslateSpreadsheet\Enumerations\ClonePosition;

TranslateSpreadsheet::setCloneSheetPosition(ClonePosition::AppendLastSheet)->translate($file);

highlightSheet

导出后将突出显示工作表

TranslateSpreadsheet::highlightSheet(true)->translate($file);

translateSheetName

导出后将翻译工作表名称

TranslateSpreadsheet::translateSheetName(true)->translate($file);

enableDebug

将翻译句子记录到日志文件中,用于调试目的

TranslateSpreadsheet::enableDebug()->translate($file);

要禁用此功能,请将false作为参数传递。

翻译引擎

该包支持两种翻译引擎:Google Translate和Gemini

您可以通过配置文件中的translate_engine设置进行安装

或者,您可以使用setTranslateEngine函数。要传递的参数是枚举TranslateEngine,可以是TranslateEngine::GeminiTranslateEngine::Google

use Shishima\TranslateSpreadsheet\Enumerations\TranslateEngine;

TranslateSpreadsheet::setTranslateEngine(TranslateEngine::Gemini)->translate($file);

Google Translate

无需设置

Gemini

此功能是从google-gemini-php/laravel库开发的

因此,请在使用之前安装此包

测试

composer test

演示

以下仓库可以作为如何使用它的参考。

https://github.com/shishima123/laravel-translate-spreadsheet-demo

变更日志

请参阅CHANGELOG以获取更多有关最近更改的信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件shishima21@gmail.com报告,而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。

Laravel Package Boilerplate

本包是使用Laravel Package Boilerplate生成的。

特别感谢