PHP code example of digitalpulsebe / craft-multi-translator
1. Go to this page and download the library: Download digitalpulsebe/craft-multi-translator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
digitalpulsebe / craft-multi-translator example snippets
use digitalpulsebe\craftmultitranslator\events\ElementTranslationEvent;
use digitalpulsebe\craftmultitranslator\services\TranslateService;
Event::on(
TranslateService::class,
TranslateService::EVENT_BEFORE_ELEMENT_TRANSLATION,
function (ElementTranslationEvent $event) {
$sourceElement = $event->sourceElement;
$sourceSite = $event->sourceSite;
$targetSite = $event->targetSite;
if ($sourceSite->handle == 'disabledSite') {
$event->isValid = false; // cancel translation for this scenario
}
}
);
use digitalpulsebe\craftmultitranslator\events\ElementTranslationEvent;
use digitalpulsebe\craftmultitranslator\services\TranslateService;
use digitalpulsebe\craftmultitranslator\MultiTranslator;
Event::on(
TranslateService::class,
TranslateService::EVENT_AFTER_ELEMENT_TRANSLATION,
function (ElementTranslationEvent $event) {
$event->targetElement->slug = MultiTranslator::getInstance()->translate->translateText(
$event->sourceSite->language,
$event->targetSite->language,
$event->sourceElement->slug
);
}
);
use digitalpulsebe\craftmultitranslator\events\FieldTranslationEvent;
use digitalpulsebe\craftmultitranslator\services\TranslateService;
Event::on(
TranslateService::class,
TranslateService::EVENT_BEFORE_FIELD_TRANSLATION,
function (FieldTranslationEvent $event) {
if ($event->field->handle == 'fieldTable') {
$event->isValid = false; // cancel translation for this field
}
}
);
use digitalpulsebe\craftmultitranslator\events\FieldTranslationEvent;
use digitalpulsebe\craftmultitranslator\services\TranslateService;
Event::on(
TranslateService::class,
TranslateService::EVENT_AFTER_FIELD_TRANSLATION,
function (FieldTranslationEvent $event) {
if ($event->field->handle == 'body') {
$event->translatedValue = 'CUSTOM VALUE';
}
}
);
bash
composer
bash
ddev composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.