DeepL - strojový překlad

Funguje pouze na PHP 7.3+.

Viz. projekty dogtrace (starší admin), dogtracegps (nový admin)

dogtrace commity a1f65aba, 73373a16, b1f5ad60 a cf3b45a0

dogtracegps commity 9c92d631 a 4676f5cc

Překopírujeme

  • Adresář app/Utils/DeepL
  • javascriptové soubory,
  • scss soubory
  • zkontrolovat, že tam je incredible select v adminu
  • config.neon (cca 4 řádky)

Popřidáváme do presenterů:

  • BasePresentery (ZeroAdmin a Admin)
  • MenuPresenter
  • NastaveniPresenter
  • ProductPresenter
  • TranslationPresenter

Upravíme šablony:

  • @layout.latte v Adminu
  • default.latte v Zeroadminu Translations
  • edit.latte Product v Adminu
  • item.latte Menu v Adminu
  • mutace.latte Nastaveni v Adminu
  • prave_menu.latte Admin Partials

Přes composer doinstalujeme deeplcom/deepl-php:composer require deeplcom/deepl-php

Dodáme hlášky

INSERT INTO `settings_config` (`id`, `name`, `value`, `hidden`, `type`, `note`, `visible`) VALUES
('DEEPL_API_KEY',	'API klíč pro DeepL překladač',	'',	0,	'input',	'',	0),
('TRANSLATIONS_SOURCE_LANGUAGE',	'ID zdrojového jazyku pro překlady',	'1',	0,	'input',	'',	0),
('MENUITEM_SUPPLEMENTS_TO_TRANSLATE',	'Supplementy menuitemu, které se přeloží při DeepL překladu',	'1;text\n9;html',	0,	'textarea',	'Každý řádek obsahuje dvojici: <supplement_id> ; text / html',	0),
('PRODUCT_SUPPLEMENTS_TO_TRANSLATE',	'Supplementy produktu, které se přeloží při DeepL překladu',	'26;text',	0,	'textarea',	'Každý řádek obsahuje dvojici: <supplement_id> ; text / html',	0);
 

Přidáme potřebné do kompilace webpack.mix.js

A otestujeme s vlastním API klíčem od DeepL (hlavně překlad produktu a menuitemu, tam bývá nejvíce problémů)

Na jaké chyby si dát pozor (každý web je trochu jiný, takže můžou nastat problémy, i když je vše zkopírováno správně) :

  • Je to napojené na edit funkce produktu a menuitemu, což jsou hooodně nepěkné funkce, takže je možné, že bude potřeba přidat nějaké políčko do pole, co se posílá těmto funkcím.
  • Pokud se bude kopírovat na jinou verzi PHP (jako bylo třeba poprvé ez 7.4 na 8.1) tak se může stát, že nějaké interní funkce budou vracet např null místo false. Toto se například stalo u nette databází.
  • Tohle rozšíření využívá strict types a většina adminu nejsou vůbec striktní, takže se může stát že se místo int posílá do funkce '5' a nastane problém.

Nevíte si rady?
Neváhejte se zeptat

Nevíte si rady nebo potřebujete něco konzultovat? Nápovědu stále zdokonalujeme na základě vašich požadavků a postřehů. Uvádíme co nejvíce možných variant, které používáme na řešení jednotlivých částí webu, mějte ale na paměti, že projekty řešíme individuálně na základě konkrétních potřeb.

Nádražní 876
560 02 Česká Třebová

honza.cech@czechgroup.cz

+420 774 201 483

*
*