Sekarang karya tersebut telah dilengkapi dengan pembuatan fungsi transliterasi yang mengubah string teks Rusia menjadi transliterasi alfabet Latin. Selain itu, jika string berisi karakter Latin, maka tidak diterjemahkan, artinya, fungsi tersebut dapat mengirimkan string campuran karakter dan kata sebagai argumen.
Karakter diubah menurut GOST 7.79-2000 (sistem B) . Aturan khusus untuk transliterasi nama tidak diperhitungkan, kecuali untuk konversi khusus dari akhiran "LE" diubah menjadi "IE" dan "OY" sebagai "IJ".
Di bawah ini adalah kode fungsi lengkapnya:
# Function Translite of Russian characters for sending in Telegram
# by Sertik 16/09/2020
# usage [$FuncTransliteToTele " String .,!+"]
:global FuncTransliteToTele do={
:global string; :set $string $1;
# table of the codes of Russian letters Translite
:local rsimv [:toarray {""="A"; ""="B"; ""="V"; ""="G"; ""="D"; ""="E"; ""="ZH"; ""="Z"; ""="I"; ""="J"; ""="K"; ""="L"; ""="M"; ""="N"; ""="O"; ""="P"; ""="R"; ""="S"; ""="T"; ""="U"; ""="F"; ""="KH"; ""="C"; ""="CH"; ""="SH"; ""="SCH"; ""="``"; ""="Y`"; ""="`"; ""="E`"; ""="JU"; ""="YA"; ""="a"; ""="b"; ""="v"; ""="g"; ""="d"; ""="e"; ""="zh"; ""="z"; ""="i"; ""="j"; ""="k"; ""="l"; ""="m"; ""="n"; ""="o"; ""="p"; ""="r"; ""="s"; ""="t"; ""="u"; ""="f"; ""="kh"; ""="c"; ""="ch"; ""="sh"; ""="sch"; ""="``"; ""="y`"; ""="`"; ""="e`"; ""="ju"; ""="ya"; ""="Yo"; ""="yo"; "№"="#"}]
# encoding of the symbols and ssembly line
:local StrTele ""; :local code "";
:for i from=0 to=([:len $string]-1) do={:local keys [:pick $string $i (1+$i)];
:local key ($rsimv->$keys); if ([:len $key]!=0) do={:set $code ($rsimv->$keys);} else={:set $code $keys};
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "I"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "i"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "I"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "i"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "I"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "i"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "i"; :set $i ($i+1)}
:if (($keys="") and ([:pick $string ($i+1) (2+$i)]="")) do={:set $code "I"; :set $i ($i+1)}
:set $StrTele ("$StrTele"."$code")}
:set $string $StrTele
:return $string;
}
Berikut contoh cara kerjanya:
:local string [$FuncTransliteToTele " ! - Russian alfabit Telegramm. "]
:log warning $string
Keluaran
log : Privet atau Mikrotik! Rabotaet funksiya-konverter Rusia-alfabit dliya Telegramm. Zayac beliy.
Pengguna dapat mengoreksi tabel transliterasi untuk standar yang digunakannya. Saya berharap ini bermanfaat bagi seseorang. Sekarang Anda bisa tenang mengirim pesan Rusia ke Telegram baik dengan mengonversi ke kode UTF-8 menggunakan fungsi konverter saya dari sini dan dengan transliterasi.