Ostatnio dla koleżanki przygotowywałem „awaryjną wysyłkę” z powiadomieniem (i linkiem) do webinaru. Awaryjną, bo MailerLite, z którego korzysta, miewa (zwłaszcza ostatnio) spore problemy gdy trzeba szybko wysłać jakąś wiadomość do bazy e-mail (np. „już za 5 minut startujemy z webinarem, twój link to…”), i takie wiadomości przychodzą (wychodzą z systemu) z dużym opóźnieniem. Mój Mautici to nawet jeszcze przed dodaną w wersji 3.1 obsługą API Amazon SES – takich problemów nie ma. Ale nie o samej wysyłce będzie, ale problemie, jaki przy okazji się pojawił, a dotyczył tłumaczenia „na Polski” Mautica…

Mautica problem(y) z tłumeczeniem

Wprawdzie coś tam z angielskiego znam, to jeśli mogę (np. nie chcę skorzystać z zewnętrznych akcji do Photoshopa, które często działają tylko z wersją anglojęzyczną) i jest to tłumaczenie poprawne (a nie takie jak w przypadku np. Divi Buildera), to chętnie korzystam z języka polskiego. Tak też robię w przypadku Mautica, choć zdecydowanie nie wszystkie teksty w ramach tłumaczenia można uznać za poprawne.

Ale to – niekoniecznie poprawne stylistycznie niektóre teksty tłumaczenia – w przypadku Mautica to akurat najmniejszy problem. Większym problemem jest to, że w niektórych przypadkach tłumaczenie jest na tyle błędne, że uniemożliwia skorzystanie z jakiejś funkcji:

The site is currently offline due to encountering an error. If the problem persists, please contact the system administrator. System administrators, check server logs for errors.

Jest to akurat jeden z kilku tego typu błędów, i ten konkretny pojawia się, gdy dodamy nową rolę (uprawnienia użytkownika) i nie ma ona przypisanego jeszcze żadnego użytkownika, czyli standard na początku, bo podczas dodawania roli nie można od razu przypisać do niej istniejącego użytkownika. A jest wynikiem błędów w tłumaczeniu/przetwarzaniu tłumaczenia:

[2020-10-01 09:16:53] mautic.ERROR: Symfony\Component\Translation\Exception\InvalidArgumentException: Unable to choose a translation for "(0) Zero użytkowników|{1} Zobacz jednego użytkownika|]1,Inf[ Zobacz użytkowników (%c)" with locale "pl_PL" for value "0". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %count% apples"). - in file /var/www/mautic/vendor/symfony/translation/MessageSelector.php - at line 89 [] []

Wystarczy zmienić język interfejsu na angielski, by wszystko wróciło do normy:

Wystarczy teraz do roli oznaczonej jako „no user” przypisać jakiegoś użytkownika, i można znowu zmienić język interfejsy, tym razem z powrotem na polski, gdzie już normalnie wyświetli się np. „zobacz jednego użytkownika”:

Być może bym o tym nie pisał, gdyby nie to, że jest to już 2 czy może nawet trzeci przypadek, gdzie ratowałem – rownież u znajomych – Mautica właśnie z powodu błędu w tłumaczeniach, i uznałem, że może faktycznie warto o tym napisać, bo może komuś (jeszcze) się przyda…

(!) Zgłoś błąd na stronie