nolka/translation-loader-laravel

Laravel 译文加载适配器

dev-master 2020-09-30 05:41 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:39 UTC


README

此模块是为了从xlsx文件加载译文到Laravel翻译模型而创建的,并且设计为与spatie/laravel-translation-loader 扩展一起工作。

描述

有时您可能需要将数据库中的字符串卸载并翻译成多种语言,单文件中。此软件包是为了将这些语言翻译到单个xlsx文件中以及从xlsx文件恢复到数据库中而创建的。

译文文件结构

安装

composer require nolka/translation-loader-laravel

用法

从数据库卸载译文

use TranslationLoader\Laravel\Reader\DbReader;
use TranslationLoader\TranslationManager;
use TranslationLoader\Writer\XlsxWriter;

$langs = [
    'ru' => 'Russian',
    'en' => 'English',
];

$manager = new TranslationManager($langs);

$reader = new DbReader();
$exportFile = base_path() . '/to_translate.xlsx';
if (file_exists($exportFile)) {
    unlink($exportFile);
}
$writer = new XlsxWriter($manager, $exportFile);

$manager->copyTranslations($reader, $writer);

将译文加载到数据库

use TranslationLoader\Laravel\Writer\DbWriter;
use TranslationLoader\Reader\XlsxReader;
use TranslationLoader\TranslationManager;

$langs = [
    'ru' => 'Russian',
    'en' => 'English',
];

$manager = new TranslationManager($langs);

$reader = new XlsxReader($manager, base_path() . '/translated_messages.xlsx');
$writer = new DbWriter();


$manager->copyTranslations($reader, $writer);