wowworks/translation-google-sheet

Tool for push/pull translation to google-sheets

1.0 2021-02-19 06:29 UTC

This package is not auto-updated.

Last update: 2024-04-14 00:17:51 UTC


README

Integration with Google-Sheets API.

Installation

This extension is available at packagist.org and can be installed via composer by following command:

composer require wowworks/translation-google-sheet`

Configuration:

$client = new Google_Client();
$client->setApplicationName('Google Sheets API Wowworks');
$client->setScopes(Google_Service_Sheets::SPREADSHEETS);
$client->setAccessType('offline');
$client->setPrompt('select_account consent');

$pathToCredentialFile = 'pathToCredentialFile';
putenv("GOOGLE_APPLICATION_CREDENTIALS={$pathToCredentialFile}");
$client->useApplicationDefaultCredentials();
$serviceGoogleSheets = new Google_Service_Sheets($client);
$configurationService = new TranslationGoogleSheetConfigurationService(
    ['en_EN', 'ru_RU', 'de_DE'],
    ['ru_RU']
);

$service =  new TranslationGoogleSheetService(
            ['spreadSheetUrl1', 'spreadSheetUrl2'],
            $serviceGoogleSheets,
            $configurationService,
            new TranslationStringConverter()
);

Usage:

$allPathsToTranslations = $configurationService->getAllPathsToTranslations(Yii::$app->i18n->translations);
$service->pull($allPathsToTranslations);
$service->push($allPathsToTranslations);