Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ cache:
- vendor

php:
- 7.3
- 7.4

before_install:
- phpenv config-rm xdebug.ini
Expand Down
12 changes: 6 additions & 6 deletions bundle/Command/TranslateContentCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Command;

use eZ\Publish\API\Repository\ContentService;
use eZ\Publish\API\Repository\PermissionResolver;
use eZ\Publish\API\Repository\UserService;
use Ibexa\Contracts\Core\Repository\ContentService;
use Ibexa\Contracts\Core\Repository\PermissionResolver;
use Ibexa\Contracts\Core\Repository\UserService;
use EzSystems\EzPlatformAutomatedTranslation\ClientProvider;
use EzSystems\EzPlatformAutomatedTranslation\Translator;
use Symfony\Component\Console\Command\Command;
Expand All @@ -29,13 +29,13 @@ final class TranslateContentCommand extends Command
/** @var ClientProvider */
private $clientProvider;

/** @var \eZ\Publish\API\Repository\ContentService */
/** @var \Ibexa\Contracts\Core\Repository\ContentService */
private $contentService;

/** @var \eZ\Publish\API\Repository\PermissionResolver */
/** @var \Ibexa\Contracts\Core\Repository\PermissionResolver */
private $permissionResolver;

/** @var \eZ\Publish\API\Repository\UserService */
/** @var \Ibexa\Contracts\Core\Repository\UserService */
private $userService;

public function __construct(
Expand Down
6 changes: 3 additions & 3 deletions bundle/Controller/TranslationController.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Controller;

use EzSystems\EzPlatformAdminUiBundle\Controller\TranslationController as BaseTranslationController;
use EzSystems\EzPlatformAdminUiBundle\Controller\Controller;
use Ibexa\Bundle\AdminUi\Controller\TranslationController as BaseTranslationController;
use Ibexa\Contracts\AdminUi\Controller\Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
Expand Down Expand Up @@ -38,7 +38,7 @@ public function addAction(Request $request): Response
'\/?',
urldecode(
$this->generateUrl(
'ezplatform.content.translate',
'ibexa.content.translate',
[
'contentId' => '([0-9]*)',
'fromLanguageCode' => '([a-zA-Z-]*)',
Expand Down
2 changes: 1 addition & 1 deletion bundle/Event/FieldDecodeEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Event;

use eZ\Publish\Core\FieldType\Value;
use Ibexa\Core\FieldType\Value;

final class FieldDecodeEvent
{
Expand Down
2 changes: 1 addition & 1 deletion bundle/Event/FieldEncodeEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Event;

use eZ\Publish\API\Repository\Values\Content\Field;
use Ibexa\Contracts\Core\Repository\Values\Content\Field;

final class FieldEncodeEvent
{
Expand Down
11 changes: 7 additions & 4 deletions bundle/EventListener/ContentProxyTranslateListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\EventListener;

use eZ\Publish\API\Repository\ContentService;
use EzSystems\EzPlatformAdminUi\Event\ContentProxyTranslateEvent;
use Ibexa\Contracts\Core\Repository\ContentService;
use Ibexa\Contracts\AdminUi\Event\ContentProxyTranslateEvent;
use EzSystems\EzPlatformAutomatedTranslation\Translator;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
Expand All @@ -24,7 +24,7 @@ class ContentProxyTranslateListener implements EventSubscriberInterface
/** @var \EzSystems\EzPlatformAutomatedTranslation\Translator */
private $translator;

/** @var \eZ\Publish\API\Repository\ContentService */
/** @var \Ibexa\Contracts\Core\Repository\ContentService */
private $contentService;

/** @var \Symfony\Component\Routing\RouterInterface */
Expand Down Expand Up @@ -70,6 +70,9 @@ public function translate(ContentProxyTranslateEvent $event): void

$fromLanguageCode = $event->getFromLanguageCode();
$toLanguageCode = $event->getToLanguageCode();
if (!($fromLanguageCode && $toLanguageCode)) {
return;
}

$contentDraft = $this->translator->getTranslatedContent(
$fromLanguageCode,
Expand All @@ -79,7 +82,7 @@ public function translate(ContentProxyTranslateEvent $event): void
);

$response = new RedirectResponse(
$this->router->generate('ezplatform.content.draft.edit', [
$this->router->generate('ibexa.content.draft.edit', [
'contentId' => $contentDraft->id,
'versionNo' => $contentDraft->getVersionInfo()->versionNo,
'language' => $toLanguageCode,
Expand Down
2 changes: 1 addition & 1 deletion bundle/Form/Data/TranslationAddData.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Form\Data;

use EzSystems\EzPlatformAdminUi\Form\Data\Content\Translation\TranslationAddData as BaseTranslationAddData;
use Ibexa\AdminUi\Form\Data\Content\Translation\TranslationAddData as BaseTranslationAddData;

class TranslationAddData extends BaseTranslationAddData
{
Expand Down
8 changes: 4 additions & 4 deletions bundle/Form/Extension/ContentEditType.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Form\Extension;

use eZ\Publish\API\Repository\ContentTypeService;
use EzSystems\EzPlatformAdminUi\Form\Data\ContentTranslationData;
use Ibexa\Contracts\Core\Repository\ContentTypeService;
use Ibexa\AdminUi\Form\Data\ContentTranslationData;
use EzSystems\EzPlatformAutomatedTranslation\Translator;
use EzSystems\EzPlatformContentForms\Data\Content\FieldData;
use EzSystems\EzPlatformContentForms\Form\Type\Content\ContentEditType as BaseContentEditType;
use Ibexa\Contracts\ContentForms\Data\Content\FieldData;
use Ibexa\ContentForms\Form\Type\Content\ContentEditType as BaseContentEditType;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
Expand Down
2 changes: 1 addition & 1 deletion bundle/Form/Extension/LanguageCreateType.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Form\Extension;

use EzSystems\EzPlatformAdminUi\Form\Type\Language\LanguageCreateType as BaseLanguageCreateType;
use Ibexa\AdminUi\Form\Type\Language\LanguageCreateType as BaseLanguageCreateType;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface;
Expand Down
4 changes: 2 additions & 2 deletions bundle/Form/Extension/TranslationAddType.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Form\Extension;

use eZ\Publish\Core\MVC\Symfony\Locale\LocaleConverterInterface;
use EzSystems\EzPlatformAdminUi\Form\Type\Content\Translation\TranslationAddType as BaseTranslationAddType;
use Ibexa\Core\MVC\Symfony\Locale\LocaleConverterInterface;
use Ibexa\AdminUi\Form\Type\Content\Translation\TranslationAddType as BaseTranslationAddType;
use EzSystems\EzPlatformAutomatedTranslation\Client\ClientInterface;
use EzSystems\EzPlatformAutomatedTranslation\ClientProvider;
use EzSystems\EzPlatformAutomatedTranslationBundle\Form\TranslationAddDataTransformer;
Expand Down
2 changes: 1 addition & 1 deletion bundle/Form/TranslationAddDataTransformer.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

namespace EzSystems\EzPlatformAutomatedTranslationBundle\Form;

use EzSystems\EzPlatformAdminUi\Form\Data\Content\Translation\TranslationAddData as BaseTranslationAddData;
use Ibexa\AdminUi\Form\Data\Content\Translation\TranslationAddData as BaseTranslationAddData;
use EzSystems\EzPlatformAutomatedTranslationBundle\Form\Data\TranslationAddData;
use Symfony\Component\Form\DataTransformerInterface;

Expand Down
4 changes: 2 additions & 2 deletions bundle/Resources/config/ezadminui.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
services:

ezautotranslate.ezadminui.component.javascripts:
parent: EzSystems\EzPlatformAdminUi\Component\TwigComponent
parent: Ibexa\AdminUi\Component\TwigComponent
public: false
arguments:
$template: '@@EzPlatformAutomatedTranslation/ezadminui/javascripts.html.twig'
tags:
- { name: ezplatform.admin_ui.component, group: 'script-body' }
- { name: ibexa.admin_ui.component, group: 'script-body' }

20 changes: 14 additions & 6 deletions bundle/Resources/config/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,16 @@ services:
# field encoder
EzSystems\EzPlatformAutomatedTranslation\Encoder\Field\TextLineFieldEncoder: ~

EzSystems\EzPlatformAutomatedTranslation\Encoder\Field\TextBlockFieldEncoder: ~

EzSystems\EzPlatformAutomatedTranslation\Encoder\Field\UrlFieldEncoder: ~

EzSystems\EzPlatformAutomatedTranslation\Encoder\Field\MetasFieldEncoder: ~

EzSystems\EzPlatformAutomatedTranslation\Encoder\Field\PageBuilderFieldEncoder:
arguments:
$blockAttributeEncoderManager: '@EzSystems\EzPlatformAutomatedTranslation\Encoder\BlockAttribute\BlockAttributeEncoderManager'
$blockDefinitionFactory: '@EzSystems\EzPlatformPageFieldType\FieldType\Page\Block\Definition\BlockDefinitionFactory'
$blockDefinitionFactory: '@Ibexa\FieldTypePage\FieldType\Page\Block\Definition\BlockDefinitionFactory'

EzSystems\EzPlatformAutomatedTranslation\Encoder\Field\RichTextFieldEncoder:
arguments:
Expand All @@ -31,6 +37,8 @@ services:
# block attribute
EzSystems\EzPlatformAutomatedTranslation\Encoder\BlockAttribute\TextBlockAttributeEncoder: ~

EzSystems\EzPlatformAutomatedTranslation\Encoder\BlockAttribute\TextLineAttributeEncoder: ~

EzSystems\EzPlatformAutomatedTranslation\Encoder\BlockAttribute\RichTextBlockAttributeEncoder:
arguments:
$richTextEncoder: '@EzSystems\EzPlatformAutomatedTranslation\Encoder\RichText\RichTextEncoder'
Expand All @@ -43,7 +51,7 @@ services:
# RichText encoder
EzSystems\EzPlatformAutomatedTranslation\Encoder\RichText\RichTextEncoder:
arguments:
$configResolver: '@ezpublish.config.resolver'
$configResolver: '@ibexa.config.resolver'

EzSystems\EzPlatformAutomatedTranslation\Encoder: ~

Expand All @@ -64,16 +72,16 @@ services:

EzSystems\EzPlatformAutomatedTranslationBundle\Form\Extension\TranslationAddType:
tags:
- { name: form.type_extension, extended_type: EzSystems\EzPlatformAdminUi\Form\Type\Content\Translation\TranslationAddType }
- { name: form.type_extension, extended_type: Ibexa\AdminUi\Form\Type\Content\Translation\TranslationAddType }

EzSystems\EzPlatformAutomatedTranslationBundle\Form\Extension\ContentEditType:
tags:
- { name: form.type_extension, extended_type: EzSystems\EzPlatformContentForms\Form\Type\Content\ContentEditType }
- { name: form.type_extension, extended_type: Ibexa\ContentForms\Form\Type\Content\ContentEditType }

EzSystems\EzPlatformAutomatedTranslationBundle\Form\Extension\LanguageCreateType:
bind:
$localeList: '%ezpublish.locale.conversion_map%'
$localeList: '%ibexa.locale.conversion_map%'
tags:
- { name: form.type_extension, extended_type: EzSystems\EzPlatformAdminUi\Form\Type\Language\LanguageCreateType }
- { name: form.type_extension, extended_type: Ibexa\AdminUi\Form\Type\Language\LanguageCreateType }

EzSystems\EzPlatformAutomatedTranslationBundle\EventListener\ContentProxyTranslateListener: ~
2 changes: 1 addition & 1 deletion bundle/Resources/config/services_override.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
EzSystems\EzPlatformAutomatedTranslationBundle\Controller\TranslationController:
decorates: EzSystems\EzPlatformAdminUiBundle\Controller\TranslationController
decorates: Ibexa\Bundle\AdminUi\Controller\TranslationController
autoconfigure: true
autowire: true
tags: ['controller.service_arguments']
4 changes: 2 additions & 2 deletions bundle/Resources/doc/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

## Requirements

* eZ Platform 3.x
* PHP 7.1+
* Ibexa 4.x
* PHP 8.1+

## Installation steps

Expand Down
6 changes: 4 additions & 2 deletions bundle/Resources/doc/USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ ez_platform_automated_translation:
default:
configurations:
google:
apiKey: "google-api-key"
apiKey: 'google-api-key'
deepl:
authKey: "deepl-pro-key"
authKey: 'deepl-pro-key'
baseUri: 'api-url' #NEEDED ONLY FOR FREE API#

```

54 changes: 21 additions & 33 deletions bundle/Resources/public/admin/js/ezplatformautomatedtranslation.js
Original file line number Diff line number Diff line change
@@ -1,47 +1,35 @@
jQuery(function () {
let $ = jQuery;
let $form = $("form[name=add-translation]", "#add-translation-modal");
let $container = $(".ezautomatedtranslation-services-container:first", $form);
let $error = $(".ezautomatedtranslation-error", $container);
(function () {
let form = document.querySelector('#add-translation-modal form[name=add-translation]');
let targetSelect = form.querySelector('.target-language')
let container = form.querySelector('.ezautomatedtranslation-services-container')
let serviceSelector = form.querySelector('#add-translation_translatorAlias')
let error = container.querySelector('.ezautomatedtranslation-error')

$form.click(function () {
$error.addClass("invisible");
targetSelect.addEventListener("click", (e) => {
error.classList.add("invisible");
});

$container.find(".ez-field-edit--ezboolean .ez-data-source__label").click(function () {
let $input = $(this).find("input[type='checkbox']");
let isChecked = $input.attr('checked') === 'checked';
if (isChecked) {
$input.removeAttr('checked');
$(this).removeClass('is-checked');
} else {
$(this).addClass('is-checked');
$input.attr('checked', 'checked');
}
return false;
});

$("form[name=add-translation]").submit(function () {
let targetLang = $("select[name=add-translation\\[language\\]]").val();
let sourceLang = $("select[name=add-translation\\[base_language\\]]").val();
let mapping = $container.data('languages-mapping');
let $serviceSelector = $("#add-translation_translatorAlias");
let serviceAlias = $serviceSelector.val();
if ($serviceSelector.is("[type=checkbox]") && !$serviceSelector.is(":checked")) {
form.addEventListener("submit", (e) => {
let targetLangSelect = form.querySelector("select[name=add-translation\\[language\\]]");
let sourceLangSelect = form.querySelector("select[name=add-translation\\[base_language\\]]");
let targetLang = targetLangSelect.value;
let sourceLang = sourceLangSelect.value;
let mapping = container.dataset.languagesMapping;
let serviceAlias = serviceSelector.value;
if (serviceSelector.getAttribute('type') === "checkbox" && serviceSelector.getAttribute('checked') === 'checked') {
serviceAlias = '';
}

if (!serviceAlias.length) {
return true;
}

let translationAvailable = (typeof sourceLang === 'undefined' || -1 !== $.inArray(sourceLang, mapping[serviceAlias])) && (-1 !== $.inArray(targetLang, mapping[serviceAlias]));
let mappingForServiceAlias = mapping[serviceAlias]
let translationAvailable = sourceLang.includes(mappingForServiceAlias) && targetLang.includes(mappingForServiceAlias);
if (false === translationAvailable) {
$error.removeClass("invisible");
if ($container.find(".ez-field-edit--ezboolean .ez-data-source__label").hasClass('is-checked')) {
$container.find(".ez-field-edit--ezboolean .ez-data-source__label").click();
return false;
}
error.classList.remove("invisible");
e.preventDefault();
return false;
}
return true;
});
Expand Down
2 changes: 1 addition & 1 deletion bundle/Resources/views/ezadminui/javascripts.html.twig
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{{ encore_entry_script_tags('ezplatform-automated-translation-js', null, 'ezplatform') }}
{{ encore_entry_script_tags('ezplatform-automated-translation-js', null, 'ibexa') }}
Loading