Aceasta este pagina de documentație pentru Modul:Transliteration

Implementează {{Transliterează}}. Expune și funcțiile transliterate și isTransliterationSupported pentru alte module.

Funcții expuse

modificare
Funcție Argumente Comportament
transliterate
  • text - textul de transliterat, scris în alfabetul nativ al limbii respective
  • codul limbii
Dacă limba este suportată și textul este scris în alfabetul nativ al acelei limbi, returnează transliterarea lui în alfabet latin. Dacă limba nu este suportată, aruncă o eroare. Simbolurile din text care nu sunt din alfabetul respectivei limbi sunt păstrate așa cum sunt. Disponibilă pentru formate prin intermediul funcției transliterateFromFrame
isTransliterationSupported codul limbii Întoarce true dacă limba cu codul respectiv este suporatată.

Extindere

modificare

Pentru a adăuga limbi suportate, modificați Modul:Transliteration/langdata și adăugați tabelului returnat un nou tabel care asociază fiecărei litere din alfabetul nativ al limbii de transliterat, o regulă de transliterare.

  • Dacă regula de transliterare este un șir de caractere, atunci acel șir se consideră a fi cel în care se transformă litera în toate cazurile posibile.
  • Dacă regula de transliterare este un tabel, atunci acel tabel trebuie să aibă următoarea structură:
    • câmpul def reprezintă șirul implicit (default) în care se transformă litera
    • câmpul ah (ahead) care va mapa fiecărui caracter regula de transliterare corespunzătoare cazului în care litera de bază este precedată de această literă
    • câmpul bh (behind) care va mapa fiecărui caracter regula de transliterare corespunzătoare cazului în care litera de bază este urmată de această literă

Pentru a anula transliterarea literei anterioare, respectiv, pentru a preveni transliterarea literei următoare sau, se pot introduce simbolurile Unicode Erase to the left și, respectiv, Erase to the right. Ele vor fi procesate la finalul transliterării, și se pot introduce în Lua cu ajutorul secvențelor de octeți \226\140\171 respectiv \226\140\166.