Wybór LMS-a, który naprawdę działa po arabsku
Tłumaczenie na arabski i produkt zbudowany pod pismo od prawej do lewej to różne rzeczy. Co się psuje, gdy kierunek jest ostatni, i godzinny test, który to wykrywa.
LMS z tłumaczeniem na arabski i LMS zbudowany pod pismo od prawej do lewej to różne produkty, a prezentacja prowadzona po angielsku nie powie Państwu, który z nich Państwo kupują. Tłumaczenie to plik z napisami. Kierunek jest własnością układu, ikon, formatu daty, porządku sortowania, uchwytów do przeciągania i generatora plików PDF — a plik z napisami nie dotyka żadnej z tych rzeczy. Proszę poprosić każdego dostawcę o login do wersji arabskiej, po arabsku, i naciskać na te części, których nikt nie pokazuje.
Szkoły i akademie w Zatoce i Afryce Północnej kupują dziś dwujęzycznie z założenia: arabski dla uczestników i opiekunów, angielski albo francuski dla zespołu systemowego, jedna platforma niosąca oba języki tak, by żadna z połówek nie sprawiała wrażenia przeniesionej skądinąd. Trybem awarii rzadko bywa brakująca funkcja. Bywa nim świadectwo semestralne, które drukuje nazwisko ucznia od tyłu, i dyrektor, który po cichu przestaje ufać systemowi.
Tłumaczenie to plik. Kierunek to układ.
Tłumacz kończy plik z napisami w dwa tygodnie, a jego przegląd to przejście po zrzutach ekranu. Ta praca jest realna i jest łatwiejszą połową.
Kierunek dotyka każdej reguły, która mówi „w lewo” albo „w prawo”, każdej ikony, która gdzieś wskazuje, i każdego pomiaru branego od lewej krawędzi kontenera. Tam, gdzie od początku był zmienną, element główny niesie `dir="rtl"`, a arkusz stylów używa właściwości logicznych — `margin-inline-start` zamiast `margin-left` — więc interfejs odbija się sam i pozostaje odbity, gdy dochodzą kolejne ekrany. Tam, gdzie lewo i prawo są wpisane w tysiąc reguł, arabski jest refaktoryzacją każdego ekranu — i dlatego trafia do harmonogramu, a potem znów do harmonogramu.
Kierunek jako zmienna: każdy ekran ułożony wokół logicznego początku i końca, więc arabski jest ustawieniem, a kolejna funkcja wychodzi odbita w dniu, w którym wychodzi.
Arabski plik z napisami wlany w układ mierzony od lewej krawędzi, a potem łatany ekran po ekranie w miarę napływania skarg.
Obsługa pisma od prawej do lewej (RTL)
Nie tłumaczenie. Interfejs odbity względem osi pionowej — nawigacja, tabele, etykiety formularzy, paski postępu, szuflady, kolejność fokusu — plus zdania mieszające arabski z łacińskimi słowami i cyframi bez psucia się, cyfry i kalendarze pasujące do kraju, sortowanie i wyszukiwanie świadome arabskiego oraz dokumenty renderujące arabski jako pismo łączone. Produkt to ma, gdy kierunek był zmienną od początku; nie ma, gdy arabski dopisano do pliku z napisami.
Czy LMS obsługuje arabski, jeśli ma tłumaczenie na arabski?
Samo to nie wystarcza. Tłumaczenie daje arabskie słowa w układzie od lewej do prawej, czyli mniej więcej połowę roboty. Drugą połową jest kierunek: odbity interfejs, ikony wskazujące we właściwą stronę, interpunkcja lądująca na właściwym końcu zdania zawierającego łacińskie słowo albo liczbę, cyfry i kalendarze pasujące do kraju, a nie do języka, nazwiska sortujące się i wyszukiwane tak, jak sortują się nazwiska arabskie, oraz pliki PDF renderujące arabski jako pismo łączone. Proszę zapytać, które z tego jest zrobione dziś — ekran po ekranie.
Co się psuje, gdy pismo od prawej do lewej przychodzi późno
Nic z tego nie jest egzotyczne. To zwyczajne klasy błędów i pojawiają się mniej więcej w tej kolejności w każdym produkcie, który dodał arabski po fakcie.
Układ, który odbija się tylko do połowy
Treść strony się odbija, a powłoka nie. Panel boczny zostaje po lewej, szuflada wysuwa się z niewłaściwej krawędzi, pasek postępu wypełnia się od lewej, więc uczestnik w trzech czwartych drogi czyta się jako ledwie rozpoczęty. Wiersz nagłówkowy tabeli odbija się, a jej komórki nie, przez co każda wartość ląduje pod złym nagłówkiem — to najgorszy rodzaj, bo wygląda na dane, a nie na układ. Potem drobiazgi: wielokropek na złym końcu skróconego napisu, dymki podpowiedzi po niewłaściwej stronie, kolejność tabulacji, która przestaje podążać za wzrokiem.
Ikony wskazujące w złą stronę
Niektóre ikony muszą się odbić, a niektóre nie, i reguła dotyczy znaczenia. Odbijamy to, co wskazuje ruch przez treść: strzałki wstecz i naprzód, znaczki „następny” i „poprzedni”, odpowiedź, wcięcie, trójkącik rozwijający drzewo. Nie odbijamy tego, co przedstawia przedmiot albo konwencję: zegar nadal chodzi zgodnie z ruchem wskazówek, ptaszek nadal jest ptaszkiem, przycisk odtwarzania po arabsku nie wskazuje w lewo. Zrobienie tego do połowy jest gorsze niż niezaczynanie — strzałki „wstecz” wskazującej w prawo obok strzałki „dalej” wskazującej w prawo nie da się odczytać jako pary.
Zdania biegnące w dwie strony
Prawie żadne prawdziwe arabskie zdanie w LMS-ie nie jest czysto arabskie. Zawiera kod kursu, numer wersji, nazwę pliku, wynik albo angielską nazwę produktu. To algorytm dwukierunkowy Unicode decyduje, gdzie trafi każdy odcinek; radzi sobie dobrze z tekstem poprawnie oznaczonym i źle z napisami sklejonymi przez programistę. Objawy są rozpoznawalne: kropka na skrajnej lewej, nawiasy zamieniające się miejscami, tak że nawias zamykający otwiera frazę, przestawiony numer wersji.
Poprawka jest strukturalna, a nie sprytna — jeden przetłumaczony napis z miejscem na zmienną i wartość odizolowana tak, by algorytm potraktował ją jako całość.
an Arabic sentence with one Latin value inside it
concatenated part1 + fileName + "."
→ value and full stop land on the wrong side,
and only for some values
interpolated t("upload.done", { file }) one string, one placeholder
isolated <bdi>{{file}}</bdi> or unicode-bidi: isolate
where to look learner names, file names, course codes, scores —
anything dropped into a translated sentenceCyfry, daty i tydzień
Arabski nie jest jedną lokalizacją. Egipt i duża część Zatoki piszą wschodnimi cyframi arabsko-indyjskimi (٠١٢٣٤); Maroko, Algieria i Tunezja piszą cyframi, których używa to zdanie — więc platforma z jedną lokalizacją `ar` jest gdzieś błędna, a widać to na ocenie, którą rodzic czyta na głos przez telefon. Instytucje saudyjskie często potrzebują dat hidżry obok gregoriańskich w tym samym raporcie. Tydzień roboczy jest ustawieniem osobnym dla każdego kraju: Zjednoczone Emiraty Arabskie przeniosły sektor publiczny na weekend sobotnio-niedzielny w 2022 roku, podczas gdy Arabia Saudyjska i Egipt trzymają piątek–sobotę. Ramadan jest najostrzejszym testem, bo dzień szkolny skraca się na miesiąc i każde zaplanowane przypomnienie musi się przesunąć razem z nim.
Sortowanie i wyszukiwanie
Lista klasy posortowana po punktach kodowych nie jest posortowana alfabetycznie. Warianty alifu (ا أ إ آ) sortują się osobno, więc أحمد i احمد lądują w różnych połowach tego samego dziennika. Ta marbuta (ة) i ha (ه) na końcu nazwiska bywają wpisywane zamiennie, podobnie jak ja (ي) i alif maksura (ى), zależnie od klawiatury. Wyszukiwanie potrzebuje tej samej normalizacji, żeby pracownik sekretariatu wpisujący احمد znalazł أحمد — inaczej personel uzna, że wyszukiwarka jest zepsuta, i wróci do arkusza. A wiele arabskich nazwisk to łańcuch imienia własnego, imienia ojca, imienia dziadka i nazwiska rodowego, który formularz z dwoma polami po cichu ucina.
Wszystko, co da się przeciągnąć
Przeciągnięcie modułu na miejsce w kursie albo kafelka na pulpicie to arytmetyka na współrzędnych x. Przy piśmie od prawej do lewej znak się odwraca, a biblioteka wyliczająca indeks upuszczenia z odległości do lewej krawędzi kontenera upuści element na przeciwnym końcu. Przeglądarki historycznie nie zgadzały się co do znaku `scrollLeft` w kontenerach od prawej do lewej, więc siatka pozioma potrafi przewinąć się w złe miejsce tylko w jednej przeglądarce. A klawisz strzałki w lewo powinien teraz przesuwać element do przodu. To, czy dostawca zrobił to dobrze, mówi Państwu, czy ktokolwiek mówiący po arabsku kiedykolwiek zbudował w tym produkcie kurs — na zrzutach ekranu tego nie widać.
Pliki PDF i certyfikaty
To zawodzi najpóźniej i najbardziej publicznie, bo dokument opuszcza budynek. Arabski jest pismem łączonym: każda litera przybiera inną formę zależnie od sąsiadów, a lam, po którym następuje alif, staje się jedną ligaturą. Narysowanie go wymaga fontu zawierającego arabskie glify, silnika kształtującego, który wybiera właściwą formę dla każdej pozycji, i dwukierunkowego przestawienia przed umieszczeniem czegokolwiek. Potok, który rysuje znaki po jednym w kolejności zapisu, daje klasyczny wynik — nazwisko w rozłączonych literach, od tyłu — natychmiast rozpoznawalny dla każdego czytelnika arabskiego i dla nikogo w komisji zakupowej. Certyfikaty dokładają warstwę: pole na nazwisko wymiarowane pod nazwisko łacińskie i strona weryfikacji renderowana od lewej do prawej, choć sam certyfikat nie.
Dlaczego tekst arabski wychodzi w pliku PDF od tyłu albo rozłączony?
Bo generator rysuje znaki, zamiast kształtować tekst. Litery arabskie zmieniają formę zależnie od sąsiadów, a niektóre pary łączą się w jedną ligaturę, więc poprawny wynik wymaga trzech rzeczy: fontu zawierającego arabskie glify, silnika kształtującego, który dobiera właściwą formę kontekstową każdej litery, i dwukierunkowego przestawienia zastosowanego przed rozmieszczeniem glifów. Potoki układające znaki jeden po drugim w kolejności zapisu pomijają dwie ostatnie. To własność potoku dokumentów, a nie interfejsu — i dlatego platforma może wyglądać po arabsku poprawnie na ekranie, a mimo to wypuścić certyfikat nie do użytku.
Słowa, których używa szkoła, nie należą do dostawcy
Nauczyciel, opiekun i klasa brzmią jak terminy stałe. To słownictwo lokalne i różni się w zależności od kraju, programu nauczania i sektora tak samo jak od języka.
- Opiekun. W dużej części Zatoki dorosły odpowiedzialny za ucznia to ولي الأمر, sformułowanie prawne, i szkoła będzie przy nim obstawać. Szkoła z programem brytyjskim w tym samym mieście mówi „rodzic”.
- Klasa. Rocznik w jednym systemie, oddział ujęty w planie lekcji (شعبة) w innym, homeroom w szkole z programem amerykańskim, grupa u dostawcy szkoleń.
- Nauczyciel. معلم, مدرس i أستاذ niosą różne rejestry i różny staż. Dostawca szkoleń mówi „trener” i „uczestnik szkolenia”. Szkoła francuska w Maroku mówi enseignant po stronie francuskiej i coś innego po stronie arabskiej — o tej samej osobie.
Te terminy zmieniają się wzdłuż dwóch osi naraz — języka i organizacji — a plik tłumaczeń obsługuje tylko pierwszą: jedno arabskie słowo na klucz, wybrane przez tłumacza dostawcy, identyczne dla wszystkich w danym wydaniu. Więc gdy szkoła prosi o „opiekuna” zamiast „rodzica”, produkt oparty na pliku z napisami ma trzy odpowiedzi i wszystkie są złe: zmienić to wszystkim, rozgałęzić plik lokalizacji dla jednego klienta albo odmówić.
Proszę zamiast tego pytać o terminologię jako konfigurację — etykietę ustawianą osobno dla każdej organizacji, dla każdej roli i każdego rzeczownika grupującego, ustalaną niezależnie w każdym języku i stosowaną wszędzie tam, gdzie termin się pojawia. Etykieta w nawigacji jest częścią łatwą. Znakiem wersji płytkiej jest menu mówiące „opiekun”, podczas gdy e-mail z powiadomieniem, nagłówek raportu i eksportowany plik PDF nadal mówią „rodzic”.
Czy LMS może używać innych słów na nauczyciela i opiekuna w różnych krajach?
Tylko wtedy, gdy terminy są konfiguracją, a nie tłumaczeniem. Plik tłumaczeń trzyma jedno arabskie słowo na klucz dla wszystkich klientów w danym wydaniu, więc dwie szkoły na tej samej platformie nie mogą mieć z niego różnego słownictwa. Terminologia lokalna wymaga ustawienia osobnego dla każdej organizacji, dla każdej roli i każdego rzeczownika grupującego, trzymanego oddzielnie w każdym języku i stosowanego w interfejsie, powiadomieniach, raportach i dokumentach. Żeby to sprawdzić, proszę zmienić jeden termin i poszukać starego w e-mailu i w pliku PDF.
Test, który można przeprowadzić w godzinę
Proszę nie pytać, czy platforma obsługuje arabski. Wszyscy mówią „tak” i wszyscy mają na myśli coś innego. Proszę poprosić o login do arabskiego tenanta z prawdziwą treścią i prawdziwymi nazwiskami, a potem przejść przez to.
- Przełączyć na arabski i odświeżyć. Czy odbija się cała powłoka, czy tylko środek strony?
- Otworzyć formularz. Sprawdzić etykiety, oznaczenie pola wymaganego, komunikat walidacji i napis za długi na swoje pole.
- Znaleźć zdanie zawierające łacińskie słowo albo liczbę. Czy interpunkcja jest na właściwym końcu?
- Posortować listę arabskich nazwisk. Czy nazwiska zaczynające się od أ i ا stoją razem? Teraz wyszukać jedno z nich wpisane bez hamzy.
- Zapisać uczestnika, którego imię i nazwisko urzędowe ma cztery części, i zobaczyć, co formularz zachowa.
- Przeciągnąć moduł na nową pozycję w kursie. Potem zrobić to samo klawiaturą.
- Wygenerować certyfikat dla uczestnika o arabskim nazwisku, otworzyć plik PDF na telefonie, a potem otworzyć jego stronę weryfikacji.
- Zmienić jeden termin — „rodzic” na „opiekun” — a potem znaleźć miejsca, w których stare słowo przetrwało.
- Dać ten login arabskojęzycznej koleżance lub koledze, których nie było na spotkaniu, i popatrzeć, jak przez dwadzieścia minut pracują bez pomocy.
Czy dostawca może dodać obsługę pisma od prawej do lewej później?
Tak, i jest to praca większa, niż brzmi: powrót do reguł układu na każdym ekranie, audyt każdej ikony kierunkowej, izolacja każdej wartości wstawianej do przetłumaczonego napisu i zmiana potoku dokumentów tak, by pliki PDF kształtowały arabski poprawnie. Dostawcy to kończą. Liczy się harmonogram i definicja — proszę zapytać, które ekrany są odbite dziś, czy nowe funkcje wychodzą od razu odbite, czy są łatane później, i co „obsługiwane” znaczy dla plików PDF. Zobowiązanie bez nazwanego wydania jest zobowiązaniem do próby.
Gdzie stoimy
Budujemy jedną z takich platform, więc proszę odpowiednio zważyć tę sekcję. Lurno dostarczane jest w czterech językach produktu — angielskim, arabskim, francuskim i włoskim — z pełną obsługą pisma od prawej do lewej dla arabskiego: odbija się interfejs, a nie tylko napisy. To fakt, a nie argument. Argumentem jest to, że powinni Państwo sprawdzić i nas, i wszystkich pozostałych — godziną opisaną wyżej, a nie tabelą funkcji.
Grupy dwujęzyczne trafiają na dwa problemy tego samego dnia: kierunek i tożsamość. Grupa prowadząca szkołę z arabskim językiem wykładowym i szkołę z angielskim chce, by każda wyglądała jak ona sama — własne logo, kolory, strona logowania i domena — a to jest identyfikacja wizualna white-label, a nie ustawienie języka. Strona o grupach szkół opisuje, jak jedno łączy się z drugim, gdy jedna platforma niesie kilka szkół. Jeśli certyfikaty opuszczają Państwa budynek z nazwiskami uczestników, proszę zapytać o potok dokumentów po arabsku, zanim Państwo podpiszą.
Powodem, by być rygorystycznym, nie jest estetyka. Platforma działająca po arabsku do połowy spycha wszystkich z powrotem do języka zespołu systemowego, a uczestnicy i opiekunowie, dla których ją kupiono, przestają ją otwierać. Ta porażka jest cicha, potrzebuje semestru, by dotrzeć do jakiegokolwiek raportu, i żadna lista funkcji jej nie przewidzi.