Skip to content

Commit

Permalink
aisingapore#68 - supporting flow files in other languages
Browse files Browse the repository at this point in the history
- completed translation engine for TagUI, more details here -
https://github.com/tebelorg/TagUI/issues/68

- working multi-language flow support for 21 languages (english and
chinese language definitions are manually edited, 19 others are
automatically created)

- created language build automation flow that ‘self-builds’ language
definition csv files by using google translate

- use tagui_language variable in tagui_config.txt to set the flow file
language

- use variable tagui_language instead of flow_language to track
execution output language

- parsing engine (tagui_parse.php) to use translation engine
(translate.php) during initial parsing

- let translate.php accept internal calls from tagui_parse.php during
parsing before execution

- log translation of other languages to english reference language for
easier troubleshooting

- various improvements and bug fixes in translation engine

- print step to print output on the next line instead of combining into
1 line, for consistency with other steps behavior
  • Loading branch information
kensoh committed Nov 14, 2017
1 parent c08e0e8 commit f6cbbf9
Show file tree
Hide file tree
Showing 30 changed files with 1,586 additions and 47 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@
/src/samples/8_hastebin.js
/src/samples/8_hastebin.log

# exclude translation temp build files
/src/languages/build.js
/src/languages/build.log

# exclude translation engine log file
/src/translate.log

# exclude generated files for cli assistant
/src/tagui_helper
/src/tagui_helper.cmd
Expand Down
77 changes: 77 additions & 0 deletions src/languages/bengali.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
EN,BN
click,ক্লিক
tap,টোকা
move,পদক্ষেপ
hover,বাতাসে ভাসিতে থাকা
type,আদর্শ
enter,প্রবেশ করান
select,নির্বাচন করা
choose,পছন্দ
read,পড়া
fetch,আনা
show,প্রদর্শনী
print,ছাপা
save,রক্ষা
echo,প্রতিধ্বনি
dump,মনমরা ভাব
write,লেখা
snap,ক্ষুদ্র তালা
table,টেবিল
live,জীবিত
download,ডাউনলোড
upload,আপলোড
load,বোঝা
receive,গ্রহণ করা
frame,ফ্রেম
popup,পপআপ
wait,অপেক্ষা করুন
timeout,সময় শেষ
seconds,সেকেন্ড
second,দ্বিতীয়
api,api
dom,dom
js,js
else if,অন্যথায় যদি
else,আর
if,যদি
for,জন্য
while,যখন
check,চেক
more than or equals to,এর চেয়ে বেশি বা সমান
more than or equal to,এর চেয়ে বেশি বা সমান
greater than or equals to,এর থেকে বড় বা সমান
greater than or equal to,এর চেয়ে বড় বা সমান
higher than or equals to,বেশী বা সমান যাও
higher than or equal to,এর চেয়ে বেশি বা সমান
less than or equals to,কম বা তার সমান
less than or equal to,অপেক্ষাকৃত ছোট বা সমান
lesser than or equals to,কম বা তুলনায় সমান
lesser than or equal to,কম বা এর সমান
lower than or equals to,কম বা এর সমান
lower than or equal to,কম বা এর সমান
more than,অধিক
greater than,অপেক্ষা বৃহত্তর
higher than,তুলনায় বেশী
less than,কম তুলনায়
lesser than,তুলনায় কম
lower than,ক্ষুদ্রতর
not equals to,সমান নয়
not equal to,সমান নয়
equals to,সমান সমান
equal to,সমান
not contains,অন্তর্ভুক্ত নেই
not contain,অন্তর্ভুক্ত না
contains,রয়েছে
contain,ধারণ করা
and,এবং
or,অথবা
from,থেকে
to,থেকে
as,যেমন
title(),খেতাব()
url(),url()
text(),টেক্সট()
timer(),টাইমার()
count(),গণনা()
present(),বর্তমানে()
visible(),প্রোফাইল()
33 changes: 33 additions & 0 deletions src/languages/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
https://translate.google.com/

// this TagUI automation flow 'self-builds' language definitions of languages in build.csv using Google Translate
// more details on ISO-639-1 Code and Google Translate here - https://cloud.google.com/translate/docs/languages

// define constants of vocabulary list
vocab_list = '|click|tap|move|hover|type|enter|select|choose|read|fetch|show|print|save|echo|dump|write|snap|table|live|download|upload|load|receive|frame|popup|wait|timeout|seconds|second|api|dom|js|else if|else|if|for|while|check|more than or equals to|more than or equal to|greater than or equals to|greater than or equal to|higher than or equals to|higher than or equal to|less than or equals to|less than or equal to|lesser than or equals to|lesser than or equal to|lower than or equals to|lower than or equal to|more than|greater than|higher than|less than|lesser than|lower than|not equals to|not equal to|equals to|equal to|not contains|not contain|contains|contain|and|or|from|to|as|title()|url()|text()|timer()|count()|present()|visible()|'

// convert vocabulary list into array
vocab_array = vocab_list.split('|')

// set ISO-639-1 Code from build datatable
ic = '`language`'

//show info (useful when quiet option is used)
echo 'PROCESSING NOW - ' ic

// create language .csv header
dump 'EN,' ic.toUpperCase() '\r\n' to '+ic.toLowerCase()+'.csv

// loop and process array
for number from 1 to vocab_array.length-2
{
https://translate.google.com.sg/#en/'+ic+'/'+vocab_array[number]+'
// time delay to slow down translation speed, adjust accordingly
wait 1 second
read result_box to translation
echo vocab_array[number] ' - ' translation.toLowerCase().replace(' (','(')
write vocab_array[number] ',' translation.toLowerCase().replace(' (','(') to '+ic.toLowerCase()+'.csv
}

//show info (useful when quiet option is used)
echo 'PROCESSING DONE - ' ic '\n'
2 changes: 2 additions & 0 deletions src/languages/build.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
language,id,ja,ko,ru,tl,vi,th,hi,ta,bn,pt,fr,de,es,it,pl,hu,sr,ro
2 changes: 1 addition & 1 deletion src/languages/chinese.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ENGLISH,CHINESE
EN,ZH
click,点击
tap,点击
move,移到
Expand Down
2 changes: 1 addition & 1 deletion src/languages/english.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ENGLISH,ENGLISH
EN,EN
click,click
tap,tap
move,move
Expand Down
77 changes: 77 additions & 0 deletions src/languages/french.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
EN,FR
click,cliquez
tap,cliquez
move,robinet
hover,flotter
type,type
enter,entrer
select,sélectionner
choose,choisir
read,lis
fetch,chercher
show,montrer
print,impression
save,enregistrer
echo,écho
dump,déverser
write,écrire
snap,casser
table,table
live,vivre
download,télécharger
upload,télécharger
load,charge
receive,recevoir
frame,cadre
popup,apparaitre
wait,attendez
timeout,temps libre
seconds,secondes
second,seconde
api,api
dom,dom
js,js
else if,d'autre si
else,autre
if,si
for,pour
while,tandis que
check,vérifier
more than or equals to,plus ou égal à
more than or equal to,plus que ou égal à
greater than or equals to,supérieur ou égal à
greater than or equal to,plus grand ou égal à
higher than or equals to,supérieur ou égal à
higher than or equal to,supérieur ou égal à
less than or equals to,inférieur ou égal à
less than or equal to,inférieur ou égal à
lesser than or equals to,inférieur ou égal à
lesser than or equal to,inférieur ou égal à
lower than or equals to,inférieur ou égal à
lower than or equal to,inférieur ou égal à
more than,plus que
greater than,plus grand que
higher than,plus haut que
less than,moins que
lesser than,moindre que
lower than,plus bas que
not equals to,n'est pas égal à
not equal to,pas égal à
equals to,est égal à
equal to,égal à
not contains,ne contient pas
not contain,contient pas de
contains,contient
contain,contenir
and,et
or,ou
from,de
to,à
as,comme
title(),titre()
url(),url()
text(),texte()
timer(),minuteur()
count(),compter()
present(),présent()
visible(),visible()
77 changes: 77 additions & 0 deletions src/languages/german.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
EN,DE
click,klicken
tap,tippen
move,bewegung
hover,schweben
type,art
enter,eingeben
select,wählen
choose,wählen
read,lesen
fetch,holen
show,show
print,drucken
save,sparen
echo,echo
dump,dump
write,schreiben
snap,schnapp
table,tabelle
live,leben
download,herunterladen
upload,hochladen
load,belastung
receive,erhalten
frame,rahmen
popup,pop-up
wait,warte ab
timeout,auszeit
seconds,sekunden
second,zweite
api,api
dom,dom
js,js
else if,sonst wenn
else,sonst
if,ob
for,zum
while,während
check,prüfen
more than or equals to,mehr als oder gleich
more than or equal to,mehr als oder gleich
greater than or equals to,größer oder gleich
greater than or equal to,größer als oder gleich wie
higher than or equals to,höher als oder gleich
higher than or equal to,höher als oder gleich
less than or equals to,kleiner als oder gleich
less than or equal to,gleich oder kleiner als
lesser than or equals to,kleiner oder gleich
lesser than or equal to,kleiner oder gleich
lower than or equals to,niedriger als oder gleich
lower than or equal to,kleiner oder gleich
more than,mehr als
greater than,größer als
higher than,höher als
less than,weniger als
lesser than,weniger als
lower than,niedriger als
not equals to,nicht gleich
not equal to,nicht gleichzusetzen mit
equals to,ist gleich
equal to,gleich
not contains,enthält nicht
not contain,nicht enthalten
contains,enthält
contain,enthalten
and,und
or,oder
from,von
to,nach
as,wie
title(),titel()
url(),url()
text(),text()
timer(),timer()
count(),graf()
present(),geschenk()
visible(),sichtbar()
77 changes: 77 additions & 0 deletions src/languages/hindi.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
EN,HI
click,क्लिक
tap,नल टोटी
move,चाल
hover,मंडराना
type,प्रकार
enter,दर्ज
select,चुनते हैं
choose,चुनें
read,पढ़ना
fetch,लाना
show,दिखाना
print,छाप
save,बचाना
echo,गूंज
dump,ढेर
write,लिखना
snap,स्नैप
table,तालिका
live,जीना
download,डाउनलोड
upload,अपलोड
load,भार
receive,प्राप्त करना
frame,ढांचा
popup,पॉप अप
wait,रुकिए
timeout,समय समाप्त
seconds,सेकंड
second,दूसरा
api,api
dom,dom
js,js
else if,और अगर
else,अन्य
if,अगर
for,के लिये
while,जबकि
check,चेक
more than or equals to,से अधिक या बराबर है
more than or equal to,से अधिक या उसके बराबर
greater than or equals to,से अधिक या बराबर है
greater than or equal to,इससे बड़ा या इसके बराबर
higher than or equals to,से अधिक या बराबर है
higher than or equal to,से अधिक या उसके बराबर
less than or equals to,से कम या बराबर है
less than or equal to,से कम या बराबर
lesser than or equals to,से कम या बराबर है
lesser than or equal to,उससे कम या बराबर
lower than or equals to,से कम या बराबर है
lower than or equal to,से कम या उसके बराबर
more than,इससे अधिक
greater than,से अधिक
higher than,उससे ऊँचा
less than,से कम
lesser than,के मुकाबले कम
lower than,से कम
not equals to,नहीं करने के लिए बराबर
not equal to,बराबर नही है
equals to,बराबर है
equal to,के बराबर
not contains,शामिल नहीं है
not contain,शामिल नहीं
contains,शामिल
contain,शामिल
and,तथा
or,या
from,से
to,सेवा मेरे
as,जैसा
title(),शीर्षक()
url(),यूआरएल()
text(),पाठ()
timer(),टाइमर()
count(),गिनती()
present(),वर्तमान()
visible(),दृश्य()
Loading

0 comments on commit f6cbbf9

Please sign in to comment.