B4A Library [Chargeable] BGL Parser

Java parser for Babylon dictionaries

A wrap for this project https://github.com/secnelis/BabylonDictParser

Version: 0.13
  • Dict
    • Initialize (ba As anywheresoftware.b4a.BA, name As java.lang.String, author As java.lang.String) As void
    • addEntry (entry As smm.SBabylonParser.sDictEntry) As void
    • entries As anywheresoftware.b4a.objects.collections.List
    • IsInitialized As boolean
    • author As java.lang.String [read only]
    • title As java.lang.String [read only]
  • DictEntry
    • IsInitialized As boolean
    • alternates As anywheresoftware.b4a.objects.collections.List
    • definition As java.lang.String [read only]
    • wordClass As int [read only]
    • displayWord As java.lang.String [read only]
    • headWord As java.lang.String [read only]
    • phonetics As java.lang.String [read only]
  • SMMBGLParser
    • _parsed (dict As Dict)
    • parseDict (dir As java.lang.String, zfile As java.lang.String, srcEncoding As java.lang.String, dstEncoding As java.lang.String) As void
    • Initialize (ba As anywheresoftware.b4a.BA, EventName As java.lang.String) As void
    • android.permission.READ_EXTERNAL_STORAGE
    • android.permission.WRITE_EXTERNAL_STORAGE

Sample :

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Dim par As SMMBGLParser
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    If File.Exists(File.DirDefaultExternal,"babylon_english_chinese.bgl")= False Then
    End If
    par.parseDict(File.DirDefaultExternal, "babylon_english_chinese.bgl","GBK","GBK" )
End Sub
Sub par_parsed(dict As Dict)
    Log(dict.title&" by "&dict.author)
    For Each ent As DictEntry In dict.entries
        Dim phonetic As String =""
        If ent.phonetics<>Null Then
            phonetic=" ("&ent.phonetics&") "
        End If
        Log(ent.wordClass&","&ent.headWord&phonetic&" = " &ent.alternates)
End Sub

Result would be something like this:

Babylon English-Chinese (S) by Babylon Ltd.
48,zoster$93172$ (zos穞er || 'z<charset c=T>0251;</charset>st<charset c=T>0259;</charset>(r) /'z<charset c=T>0252;</charset>s-) = (ArrayList) []
52,zounds$93177$ (za<charset c=T>028A;</charset>ndz) = (ArrayList) []
48,zoysia$93178$ = (ArrayList) [zoysias]
48,zucchetto$93180$ = (ArrayList) [zucchettos]
48,zucchini$93181$ (zuc穋hi穘i || z<charset c=T>028A;</charset>'k<charset c=T>026A;</charset><charset c=T>02D0;</charset>n<charset c=T>026A;</charset>) = (ArrayList) [zucchinis]
48,zwieback$93190$ = (ArrayList) []
49,zygal$93191$ = (ArrayList) []
48,zygapophysis$93192$ = (ArrayList) [zygapophyses]
48,zygoma$93200$ (zy穏o穖a || za<charset c=T>026A;</charset>'g<charset c=T>0259;</charset><charset c=T>028A;</charset>m<charset c=T>0259;</charset> /z<charset c=T>026A;</charset>-) = (ArrayList) [zygomata, zygomas]
49,zygomatic$93202$ = (ArrayList) []
48,zygosis$93214$ = (ArrayList) [zygoses]
48,zygosperm$93217$ = (ArrayList) [zygosperms]
48,zygospore$93218$ = (ArrayList) [zygospores]
48,zygote$93220$ = (ArrayList) [zygotes]
48,zymase$93224$ = (ArrayList) []
48,zymogen$93225$ = (ArrayList) [zymogens]
49,zymogenic$93226$ = (ArrayList) []
49,zymoid$93231$ = (ArrayList) []
48,zymology$93233$ = (ArrayList) [zymologies]
48,zymolysis$93234$ = (ArrayList) [zymolyses]
49,zymoplastic$93236$ = (ArrayList) []
48,zymoscope$93239$ = (ArrayList) [zymoscopes]
48,zymosis$93240$ (zy穖o穝is || za<charset c=T>026A;</charset>'m<charset c=T>0259;</charset><charset c=T>028A;</charset>s<charset c=T>026A;</charset>s) = (ArrayList) [zymoses]
49,zymosthenic$93241$ = (ArrayList) []
49,zymotic$93242$ (zy'mot穒c || za<charset c=T>026A;</charset>'m<charset c=T>0251;</charset>t<charset c=T>026A;</charset>k /-'m<charset c=T>0252;</charset>t-) = (ArrayList) []
48,zymurgy$93244$ = (ArrayList) [zymurgies]

Please note before your donation:
* You will get a wrapper for the current version with methods mentioned above , there is no promise of any kind that I will add a new feature in the future and updates will be only to fix bugs in my wrapper .
* You can ask any question here or by PM prior to your donation to make sure this wrapper does what you need / want .
* A minimum of $10 (more is better :D ) is required to get this library . (You get B4A and B4J libraries)