diff --git a/lib/doc/browse/Makefile b/lib/doc/browse/Makefile
new file mode 100644
index 000000000..532a57d98
--- /dev/null
+++ b/lib/doc/browse/Makefile
@@ -0,0 +1,13 @@
+##
+# Makefile for GF RGL Browser
+# John J. Camilleri, 2012
+##
+dir=../../src
+
+all:
+ ./build-tags.sh
+
+clean:
+ find -name '*.gf-tags' | xargs rm
+ cd $(dir) ; find -name '*.gfo' | xargs rm
+ cd $(dir) ; find -name '*.gf-tags' | xargs rm
\ No newline at end of file
diff --git a/lib/doc/browse/ajax-loader.gif b/lib/doc/browse/ajax-loader.gif
new file mode 100644
index 000000000..e192ca895
Binary files /dev/null and b/lib/doc/browse/ajax-loader.gif differ
diff --git a/lib/doc/browse/build-tags.sh b/lib/doc/browse/build-tags.sh
new file mode 100644
index 000000000..4f5738b68
--- /dev/null
+++ b/lib/doc/browse/build-tags.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+##
+# Script for building tags files for all RGL
+# John J. Camilleri, 2012
+##
+
+dir=`pwd`
+basedir=${dir}/../../src
+tagsdir=${dir}/tags
+index=${dir}/index.json
+removeprefix="/home/john/repositories/GF"
+
+# Iterate and build all the tags (takes some time)
+rm -f $index
+echo "{\n\"languages\": {" >> $index
+for dir in `ls "$basedir/"`
+do
+ if [ -d "$basedir/$dir" ]; then
+ cd $basedir/$dir
+ echo "Processing folder:" `pwd`
+ echo " \"${dir}\": [" >> $index
+ find -maxdepth 1 -name '*.gf' | while read -r file
+ do
+ gf --batch --quiet --tags --output-dir=${tagsdir} $file 2>/dev/null
+ echo " \""`echo $file | sed 's|./||;s|.gf||'`"\"," >> $index
+ done
+ echo " \"\"\n ]," >> $index
+ fi
+done
+echo " \"\":{}\n}\n}" >> $index
+
+# Replace all URLs
+echo "Replacing URLs"
+cd $tagsdir
+sed -i "s|${removeprefix}||g" *.gf-tags
+
+exit 0
diff --git a/lib/doc/browse/index.html b/lib/doc/browse/index.html
new file mode 100644
index 000000000..a987be695
--- /dev/null
+++ b/lib/doc/browse/index.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+ GF RGL Browser
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

loading...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/doc/browse/index.json b/lib/doc/browse/index.json
new file mode 100644
index 000000000..f4adb09ad
--- /dev/null
+++ b/lib/doc/browse/index.json
@@ -0,0 +1,1377 @@
+{
+"languages": {
+ "abstract": [
+ "Backward",
+ "Verb",
+ "Tense",
+ "Extra",
+ "Phrase",
+ "Symbol",
+ "Adjective",
+ "Structural",
+ "Transfer",
+ "Lang",
+ "Cat",
+ "NumeralTransfer",
+ "Noun",
+ "Lexicon",
+ "Grammar",
+ "Numeral",
+ "Text",
+ "Adverb",
+ "Question",
+ "Idiom",
+ "Compatibility",
+ "Common",
+ "Sentence",
+ "Relative",
+ "Conjunction",
+ ""
+ ],
+ "afrikaans": [
+ "AllAfrAbs",
+ "AllAfr",
+ "NounAfr",
+ "NumeralAfr",
+ "IdiomAfr",
+ "ParadigmsAfr",
+ "GrammarAfr",
+ "VerbAfr",
+ "PhraseAfr",
+ "CatAfr",
+ "LangAfr",
+ "StructuralAfr",
+ "ExtraAfr",
+ "LexiconAfr",
+ "QuestionAfr",
+ "ConjunctionAfr",
+ "SymbolAfr",
+ "AdjectiveAfr",
+ "ResAfr",
+ "AdverbAfr",
+ "MorphoAfr",
+ "IrregAfr",
+ "SentenceAfr",
+ "ExtraAfrAbs",
+ "IrregAfrAbs",
+ "RelativeAfr",
+ ""
+ ],
+ "amharic": [
+ "RelativeAmh",
+ "AllAmhAbs",
+ "PatternsAmh",
+ "AdverbAmh",
+ "QuestionAmh",
+ "MorphoAmh",
+ "PhraseAmh",
+ "ResAmh",
+ "amharic",
+ "GrammarAmh",
+ "NounAmh",
+ "Numerals",
+ "AdjectiveAmh",
+ "IdiomAmh",
+ "StructuralAmh",
+ "AllAmh",
+ "CatAmh",
+ "ConjunctionAmh",
+ "SymbolAmh",
+ "LexAmhTran",
+ "ExtAmhAbs",
+ "VerbAmh",
+ "ExtAmh",
+ "IrregAmh",
+ "NumeralAmh",
+ "LangAmh",
+ "SentenceAmh",
+ "ParadigmsAmh",
+ "LexiconAmh",
+ "transliterateAmh",
+ "OrthoAmh",
+ "LexiconMlt",
+ ""
+ ],
+ "api": [
+ "ConstructorsIta",
+ "ConstructorsDut",
+ "CombinatorsPes",
+ "TryGer",
+ "SymbolicDut",
+ "TryPol",
+ "CombinatorsHin",
+ "Combinators",
+ "SymbolicPol",
+ "ConstructorsNor",
+ "SyntaxSwe",
+ "CombinatorsPol",
+ "ConstructorsRus",
+ "SyntaxNep",
+ "SymbolicUrd",
+ "CombinatorsIna",
+ "CombinatorsBul",
+ "SyntaxPol",
+ "CombinatorsRon",
+ "SymbolicRus",
+ "SyntaxIna",
+ "TrySnd",
+ "SyntaxFin",
+ "CombinatorsEng",
+ "SyntaxBul",
+ "TryDut",
+ "SyntaxCat",
+ "Constructors",
+ "CombinatorsFin",
+ "SyntaxEng",
+ "Browse",
+ "CombinatorsRus",
+ "SyntaxGer",
+ "SymbolicSpa",
+ "SymbolicSwe",
+ "SymbolicLav",
+ "CombinatorsMlt",
+ "BrowseEng",
+ "SymbolicPnb",
+ "CombinatorsLav",
+ "SyntaxRon",
+ "ConstructorsAfr",
+ "ConstructorsPnb",
+ "ConstructorsEng",
+ "SymbolicGer",
+ "TrySpa",
+ "TryIna",
+ "ConstructorsPes",
+ "SymbolicBul",
+ "SyntaxIta",
+ "SyntaxPnb",
+ "ConstructorsSpa",
+ "SyntaxHin",
+ "ConstructorsSwe",
+ "ConstructorsFre",
+ "ConstructorsFin",
+ "TryDan",
+ "SymbolicMlt",
+ "SyntaxRus",
+ "CombinatorsNep",
+ "SymbolicFre",
+ "CombinatorsSwe",
+ "CombinatorsGer",
+ "SymbolicFin",
+ "CombinatorsTha",
+ "SymbolicPes",
+ "TryLav",
+ "TrySwe",
+ "Syntax",
+ "SymbolicRon",
+ "SyntaxPes",
+ "SyntaxNor",
+ "TryPes",
+ "CombinatorsNor",
+ "TryNep",
+ "Symbolic",
+ "CombinatorsSnd",
+ "ConstructorsCat",
+ "CombinatorsFre",
+ "TryEng",
+ "SyntaxDan",
+ "CombinatorsPnb",
+ "SyntaxDut",
+ "ConstructorsGer",
+ "SyntaxJap",
+ "CombinatorsDut",
+ "SymbolicEng",
+ "TryTha",
+ "TryBul",
+ "TryCat",
+ "ConstructorsUrd",
+ "CombinatorsSpa",
+ "ConstructorsTha",
+ "SymbolicTha",
+ "SyntaxAfr",
+ "SyntaxLav",
+ "TryNor",
+ "SyntaxSnd",
+ "SymbolicHin",
+ "TryMlt",
+ "ConstructorsAra",
+ "SyntaxTha",
+ "TryIta",
+ "ConstructorsIna",
+ "CombinatorsAra",
+ "TryRus",
+ "TryHin",
+ "ConstructorsDan",
+ "CombinatorsDan",
+ "TryFin",
+ "SymbolicDan",
+ "SymbolicIta",
+ "ConstructorsNep",
+ "ConstructorsSnd",
+ "ConstructorsJap",
+ "SyntaxFre",
+ "SyntaxAra",
+ "TryJap",
+ "ConstructorsPol",
+ "SyntaxSpa",
+ "SymbolicNor",
+ "SyntaxUrd",
+ "ConstructorsHin",
+ "ConstructorsLav",
+ "SymbolicCat",
+ "ConstructorsBul",
+ "CombinatorsCat",
+ "SymbolicAra",
+ "TryAfr",
+ "TryFre",
+ "ConstructorsRon",
+ "TryPnb",
+ "CombinatorsIta",
+ "ConstructorsMlt",
+ "SyntaxMlt",
+ "CombinatorsAfr",
+ "SymbolicSnd",
+ "TryUrd",
+ "TryRon",
+ "CombinatorsJap",
+ "CombinatorsUrd",
+ ""
+ ],
+ "arabic": [
+ "MorphoAra",
+ "AdverbAra",
+ "SentenceAra",
+ "OrthoAra",
+ "RelativeAra",
+ "IdiomAra",
+ "PhraseAra",
+ "QuestionAra",
+ "GrammarAra",
+ "CatAra",
+ "ConjunctionAra",
+ "NounAra",
+ "LexiconAra",
+ "AdjectiveAra",
+ "IrregAra",
+ "PatternsAra",
+ "AllAra",
+ "VerbAra",
+ "StructuralAra",
+ "ResAra",
+ "LangAra",
+ "AllAraAbs",
+ "NumeralAra",
+ "ParadigmsAra",
+ "SymbolAra",
+ "ExtAra",
+ ""
+ ],
+ "bulgarian": [
+ "DictBulAbs",
+ "IdiomBul",
+ "ConjunctionBul",
+ "CompatibilityBul",
+ "CatBul",
+ "DiffBul",
+ "QuestionBul",
+ "PhraseBul",
+ "GrammarBul",
+ "NumeralBul",
+ "SymbolBul",
+ "StructuralBul",
+ "TextBul",
+ "MorphoBul",
+ "AllBul",
+ "AdverbBul",
+ "VerbBul",
+ "ExtraBul",
+ "NounBul",
+ "LangBul",
+ "MorphoFunsBul",
+ "ExtraBulAbs",
+ "SentenceBul",
+ "DictBul",
+ "AllBulAbs",
+ "RelativeBul",
+ "LexiconBul",
+ "ResBul",
+ "AdjectiveBul",
+ "ParadigmsBul",
+ ""
+ ],
+ "catalan": [
+ "BeschCat",
+ "CompatibilityCat",
+ "QuestionCat",
+ "ExtraCatAbs",
+ "IrregCatAbs",
+ "PhraseCat",
+ "LexiconCat",
+ "RelativeCat",
+ "NumeralCat",
+ "NounCat",
+ "ExtraRomanceCat",
+ "StructuralCat",
+ "SentenceCat",
+ "ParadigmsCat",
+ "GrammarCat",
+ "MakeStructuralCat",
+ "VerbCat",
+ "ExtraCat",
+ "DiffCat",
+ "SymbolCat",
+ "ResCat",
+ "AllCat",
+ "ConjunctionCat",
+ "AdjectiveCat",
+ "IdiomCat",
+ "PhonoCat",
+ "LangCat",
+ "MorphoCat",
+ "CatCat",
+ "AllCatAbs",
+ "TenseCat",
+ "IrregCat",
+ "AdverbCat",
+ ""
+ ],
+ "common": [
+ "Overload",
+ "TextX",
+ "ConstructX",
+ "TenseX",
+ "ParamX",
+ "CommonX",
+ ""
+ ],
+ "danish": [
+ "PhraseDan",
+ "IdiomDan",
+ "AllDan",
+ "MathDan",
+ "ParadigmsDan",
+ "SentenceDan",
+ "IrregDanAbs",
+ "DiffDan",
+ "ExtraDan",
+ "ExtraScandDan",
+ "NumeralDan",
+ "TenseDan",
+ "IrregDan",
+ "LexiconDan",
+ "ConjunctionDan",
+ "AdverbDan",
+ "NounDan",
+ "ExtraDanAbs",
+ "MorphoDan",
+ "RelativeDan",
+ "CatDan",
+ "AdjectiveDan",
+ "AllDanAbs",
+ "GrammarDan",
+ "StructuralDan",
+ "QuestionDan",
+ "LangDan",
+ "ResDan",
+ "VerbDan",
+ "SymbolDan",
+ ""
+ ],
+ "demo": [
+ "DemoDut",
+ "DemoSpa",
+ "DemoIna",
+ "DemoHin",
+ "DemoNor",
+ "DemoFre",
+ "DemoPol",
+ "DemoRon",
+ "DemoLat",
+ "DemoTur",
+ "DemoDan",
+ "DemoGer",
+ "DemoUrd",
+ "DemoCat",
+ "DemoEng",
+ "DemoRus",
+ "Demo",
+ "DemoIta",
+ "DemoFin",
+ "DemoTha",
+ "DemoBul",
+ "DemoAra",
+ "DemoSwe",
+ ""
+ ],
+ "dutch": [
+ "NounDut",
+ "IrregDutAbs",
+ "IrregDut",
+ "ConjunctionDut",
+ "LexiconDut",
+ "LangDut",
+ "VerbDut",
+ "ExtraDutAbs",
+ "SentenceDut",
+ "PhraseDut",
+ "AdverbDut",
+ "AllDutAbs",
+ "RelativeDut",
+ "QuestionDut",
+ "ResDut",
+ "AdjectiveDut",
+ "ExtraDut",
+ "AllDut",
+ "CatDut",
+ "ExtDut",
+ "GrammarDut",
+ "MorphoDut",
+ "NumeralDut",
+ "StructuralDut",
+ "IdiomDut",
+ "MakeStructuralDut",
+ "SymbolDut",
+ "ParadigmsDut",
+ ""
+ ],
+ "english": [
+ "ParseEng",
+ "LexiconEng",
+ "CompatibilityCat",
+ "CatEng",
+ "AllEngAbs",
+ "AdjectiveEng",
+ "ExtraEngAbs",
+ "ParseEngAbs",
+ "PhraseEng",
+ "OverloadEng",
+ "AdverbEng",
+ "ExtraEng",
+ "IrregEng",
+ "RelativeEng",
+ "IdiomEng",
+ "NounEng",
+ "VerbEng",
+ "WNDictEng",
+ "SymbolEng",
+ "WNDictEngAbs",
+ "NumeralEng",
+ "DictEng",
+ "MakeStructuralEng",
+ "QuestionEng",
+ "ConjunctionEng",
+ "ResEng",
+ "AllEng",
+ "StructuralEng",
+ "SentenceEng",
+ "GrammarEng",
+ "ParadigmsEng",
+ "CompatibilityEng",
+ "LangEng",
+ "MorphoEng",
+ "DictEngAbs",
+ "IrregEngAbs",
+ "BackwardEng",
+ ""
+ ],
+ "finnish": [
+ "MakeStructuralFin",
+ "ConjunctionFin",
+ "AllFinAbs",
+ "CompatibilityFin",
+ "DictCompFinAbs",
+ "LexiconFin",
+ "ExtraFinAbs",
+ "DictFin",
+ "NounFin",
+ "AdjectiveFin",
+ "ParadigmsFin",
+ "ResFin",
+ "NumeralFin",
+ "ExtraFin",
+ "AdverbFin",
+ "IdiomFin",
+ "LangFin",
+ "QuestionFin",
+ "Kotus",
+ "PhraseFin",
+ "SentenceFin",
+ "GrammarFin",
+ "IrregFin",
+ "DictCompFin",
+ "VerbFin",
+ "CatFin",
+ "RelativeFin",
+ "StructuralFin",
+ "AllFin",
+ "SymbolFin",
+ "MorphoFin",
+ "DictFinAbs",
+ ""
+ ],
+ "french": [
+ "IrregFre",
+ "AllFreAbs",
+ "QuestionFre",
+ "BeschFre",
+ "MakeStructuralFre",
+ "CatFre",
+ "RelativeFre",
+ "TenseFre",
+ "ExtraFre",
+ "DictFre",
+ "ConjunctionFre",
+ "MorphoFre",
+ "SentenceFre",
+ "PhonoFre",
+ "DictFreAbs",
+ "ExtraRomanceFre",
+ "AdjectiveFre",
+ "ResFre",
+ "VerbFre",
+ "CompatibilityFre",
+ "NumeralFre",
+ "ParadigmsFre",
+ "IdiomFre",
+ "SymbolFre",
+ "DiffFre",
+ "NounFre",
+ "AllFre",
+ "IrregFreAbs",
+ "StructuralFre",
+ "LexiconFre",
+ "LangFre",
+ "AdverbFre",
+ "ExtraFreAbs",
+ "GrammarFre",
+ "PhraseFre",
+ ""
+ ],
+ "german": [
+ "ExtraGerAbs",
+ "QuestionGer",
+ "CatGer",
+ "StructuralGer",
+ "SymbolGer",
+ "LexiconGer",
+ "ResGer",
+ "MorphoGer",
+ "NounGer",
+ "AdverbGer",
+ "IrregGerAbs",
+ "RelativeGer",
+ "AdjectiveGer",
+ "AllGerAbs",
+ "NumeralGer",
+ "ExtGer",
+ "ParadigmsGer",
+ "SentenceGer",
+ "ExtraGer",
+ "AllGer",
+ "VerbGer",
+ "PhraseGer",
+ "GrammarGer",
+ "IdiomGer",
+ "MakeStructuralGer",
+ "ConjunctionGer",
+ "IrregGer",
+ "LangGer",
+ "TenseGer",
+ ""
+ ],
+ "hindi": [
+ "ExtraHin",
+ "IdiomHin",
+ "AllHinAbs",
+ "AllHin",
+ "GrammarHin",
+ "StructuralHin",
+ "NumeralHin",
+ "ExtraHinAbs",
+ "ParadigmsHin",
+ "ConjunctionHin",
+ "AdjectiveHin",
+ "RelativeHin",
+ "PhraseHin",
+ "DiffHin",
+ "SymbolHin",
+ "VerbHin",
+ "MorphoHin",
+ "CatHin",
+ "LexiconHin",
+ "NounHin",
+ "QuestionHin",
+ "LangHin",
+ "ResHin",
+ "AdverbHin",
+ "SentenceHin",
+ ""
+ ],
+ "hindustani": [
+ "CatHindustani",
+ "ResHindustani",
+ "NounHindustani",
+ "ConjunctionHindustani",
+ "AdverbHindustani",
+ "SymbolHindustani",
+ "QuestionHindustani",
+ "ExtraHindustaniAbs",
+ "StringsHindustani",
+ "PhraseHindustani",
+ "ExtraHindustani",
+ "RelativeHindustani",
+ "VerbHindustani",
+ "CommonHindustani",
+ "AdjectiveHindustani",
+ "SentenceHindustani",
+ "DiffHindustani",
+ ""
+ ],
+ "hungarian": [
+ "BackwardHun",
+ "StructuralHun",
+ "SentenceHun",
+ "IrregHun",
+ "PhraseHun",
+ "IrregHunAbs",
+ "NumeralHun",
+ "AdjectiveHun",
+ "AllHun",
+ "LexiconHun",
+ "ParadigmsHun",
+ "QuestionHun",
+ "NounHun",
+ "RelativeHun",
+ "SymbolHun",
+ "CatHun",
+ "VerbHun",
+ "IdiomHun",
+ "ConjunctionHun",
+ "ParseEngHun",
+ "AllEngHun",
+ "MorphoHun",
+ "ExtraEngHun",
+ "LangHun",
+ "ParseHun",
+ "GrammarHun",
+ "ExtraHun",
+ "ResHun",
+ "AdverbHun",
+ ""
+ ],
+ "interlingua": [
+ "IrregInaAbs",
+ "AllIna",
+ "ParadigmsIna",
+ "AdjectiveIna",
+ "IdiomIna",
+ "RelativeIna",
+ "AdverbIna",
+ "VerbIna",
+ "SentenceIna",
+ "ConjunctionIna",
+ "SymbolIna",
+ "GrammarIna",
+ "NumeralIna",
+ "NounIna",
+ "LangIna",
+ "ResIna2",
+ "QuestionIna",
+ "AllInaAbs",
+ "PhraseIna",
+ "CatIna",
+ "OverloadIna",
+ "LexiconIna",
+ "ExtraIna",
+ "StructuralIna",
+ "MorphoIna",
+ "IrregIna",
+ "ResIna",
+ ""
+ ],
+ "italian": [
+ "PhonoIta",
+ "CompatibilityIta",
+ "PhraseIta",
+ "GrammarIta",
+ "ResIta",
+ "SymbolIta",
+ "SentenceIta",
+ "LangIta",
+ "RelativeIta",
+ "IdiomIta",
+ "ExtraRomanceIta",
+ "MorphoIta",
+ "ConjunctionIta",
+ "AdverbIta",
+ "AllItaAbs",
+ "AdjectiveIta",
+ "ExtraItaAbs",
+ "TenseIta",
+ "DiffIta",
+ "ParadigmsIta",
+ "MakeStructuralIta",
+ "AllIta",
+ "ExtraIta",
+ "LexiconIta",
+ "CatIta",
+ "QuestionIta",
+ "BeschIta",
+ "NounIta",
+ "VerbIta",
+ "NumeralIta",
+ "StructuralIta",
+ ""
+ ],
+ "japanese": [
+ "LangJap",
+ "AdjectiveJap",
+ "AllJapAbs",
+ "ParadigmsJap",
+ "SentenceJap",
+ "NumeralJap",
+ "VerbJap",
+ "QuestionJap",
+ "IdiomJap",
+ "SymbolJap",
+ "PhraseJap",
+ "CommonJap",
+ "ConjunctionJap",
+ "AdverbJap",
+ "NounJap",
+ "TextJap",
+ "StructuralJap",
+ "GrammarJap",
+ "AllJap",
+ "LexiconJap",
+ "TenseJap",
+ "CatJap",
+ "RelativeJap",
+ "ResJap",
+ ""
+ ],
+ "latin": [
+ "OverloadLat",
+ "StructuralLat",
+ "GrammarLat",
+ "SentenceLat",
+ "AllEngAbs",
+ "MorphoLat",
+ "ExtraEngAbs",
+ "ParadigmsLat",
+ "NumeralLat",
+ "LangLat",
+ "CatLat",
+ "IdiomLat",
+ "NounLat",
+ "AllLatAbs",
+ "AllLat",
+ "ConjunctionLat",
+ "BackwardLat",
+ "IrregLat",
+ "QuestionLat",
+ "LexiconLat",
+ "AdverbLat",
+ "PhraseLat",
+ "ResLat",
+ "SymbolLat",
+ "ExtraLat",
+ "AdjectiveLat",
+ "RelativeLat",
+ "VerbLat",
+ "IrregEngAbs",
+ ""
+ ],
+ "latvian": [
+ "LangLav",
+ "ParadigmsPronounsLav",
+ "AllLavAbs",
+ "LexiconLav",
+ "SentenceLav",
+ "AdjectiveLav",
+ "GrammarLav",
+ "VerbLav",
+ "CatLav",
+ "AdverbLav",
+ "StructuralLav",
+ "ParadigmsLav",
+ "QuestionLav",
+ "ParadigmsAdjectivesLav",
+ "PhraseLav",
+ "ParadigmsVerbsLav",
+ "MakeStructuralLav",
+ "SymbolLav",
+ "ExtraLavAbs",
+ "MorphoLav",
+ "ConjunctionLav",
+ "AllLav",
+ "RelativeLav",
+ "ResLav",
+ "NounLav",
+ "NumeralLav",
+ "IdiomLav",
+ "ExtraLav",
+ "ParadigmsNounsLav",
+ "CompatibilityLav",
+ ""
+ ],
+ "maltese": [
+ "IrregMltAbs",
+ "LangMlt",
+ "NounMlt",
+ "ConjunctionMlt",
+ "SentenceMlt",
+ "TextMlt",
+ "GrammarMlt",
+ "AllMlt",
+ "OrthoMlt",
+ "MorphoMlt",
+ "QuestionMlt",
+ "PhraseMlt",
+ "NumeralMlt",
+ "StructuralMlt",
+ "PatternsMlt",
+ "ParadigmsMlt",
+ "ExtraMltAbs",
+ "AllMltAbs",
+ "SymbolMlt",
+ "RelativeMlt",
+ "AdverbMlt",
+ "AdjectiveMlt",
+ "IdiomMlt",
+ "CatMlt",
+ "VerbMlt",
+ "ResMlt",
+ "IrregMlt",
+ "LexiconMlt",
+ "ExtraMlt",
+ ""
+ ],
+ "mini": [
+ "MiniGrammar",
+ "MiniGrammarEng",
+ ""
+ ],
+ "nepali": [
+ "IdiomNep",
+ "AllNepAbs",
+ "GrammarNep",
+ "LangNep",
+ "NounNep",
+ "RelativeNep",
+ "Coordination",
+ "StructuralNep",
+ "SentenceNep",
+ "ParadigmsNep",
+ "PhraseNep",
+ "VerbNep",
+ "AllNep",
+ "CatNep",
+ "AdjectiveNep",
+ "NumeralNep",
+ "MorphoNep",
+ "AdverbNep",
+ "ResNep",
+ "QuestionNep",
+ "SymbolNep",
+ "ConjunctionNep",
+ "LexiconNep",
+ ""
+ ],
+ "norwegian": [
+ "VerbNor",
+ "SymbolNor",
+ "DiffNor",
+ "NumeralNor",
+ "MorphoNor",
+ "RelativeNor",
+ "IrregNorAbs",
+ "AllNorAbs",
+ "LexiconNor",
+ "IdiomNor",
+ "ConjunctionNor",
+ "TenseNor",
+ "ExtraScandNor",
+ "LangNor",
+ "QuestionNor",
+ "SentenceNor",
+ "PhraseNor",
+ "ParadigmsNor",
+ "NounNor",
+ "IrregNor",
+ "StructuralNor",
+ "CatNor",
+ "AllNor",
+ "ExtraNorAbs",
+ "AdverbNor",
+ "GrammarNor",
+ "AdjectiveNor",
+ "MathNor",
+ "ExtraNor",
+ "ResNor",
+ ""
+ ],
+ "parametric": [
+ "Parametric",
+ ""
+ ],
+ "persian": [
+ "StructuralPes",
+ "QuestionPes",
+ "ConjunctionPes",
+ "CatPes",
+ "LangPes",
+ "AllPesAbs",
+ "Coordination",
+ "NounPes",
+ "PhrasePes",
+ "MakeStructuralPes",
+ "AdjectivePes",
+ "ResPes",
+ "SymbolPes",
+ "IdiomPes",
+ "MorphoPes",
+ "ExtraPesAbs",
+ "NumeralPes",
+ "AllPes",
+ "AdverbPes",
+ "ExtraPes",
+ "SentencePes",
+ "GrammarPes",
+ "TextPes",
+ "VerbPes",
+ "ParadigmsPes",
+ "LexiconPes",
+ "RelativePes",
+ ""
+ ],
+ "polish": [
+ "AdjectivePol",
+ "AdverbPol",
+ "PhrasePol",
+ "NounPol",
+ "StructuralPol",
+ "VerbMorphoPol",
+ "NounMorphoPol",
+ "GrammarPol",
+ "ResPol",
+ "NumeralPol",
+ "SentencePol",
+ "AllPol",
+ "ConjunctionPol",
+ "LexiconPol",
+ "LangPol",
+ "PronounMorphoPol",
+ "MorphoPol",
+ "SymbolPol",
+ "IdiomPol",
+ "AllPolAbs",
+ "OverloadPol",
+ "ExtraPol",
+ "LexiconNounPol",
+ "ExtraPolAbs",
+ "RelativePol",
+ "OrigMorphoPol",
+ "OrigNounMorphoPol",
+ "QuestionPol",
+ "AdjectiveMorphoPol",
+ "CatPol",
+ "ParadigmsPol",
+ "VerbPol",
+ ""
+ ],
+ "prelude": [
+ "PredefAbs",
+ "Latex",
+ "Coordination",
+ "Formal",
+ "Prelude",
+ "PredefCnc",
+ "Precedence",
+ "Predef",
+ "HTML",
+ ""
+ ],
+ "punjabi": [
+ "SentencePnb",
+ "ConjunctionPnb",
+ "CatPnb",
+ "Coordination",
+ "ExtraPnbAbs",
+ "NounPnb",
+ "ExtraPnb",
+ "MakeStructuralPnb",
+ "ResPnb",
+ "VerbPnb",
+ "IdiomPnb",
+ "LexiconPnb",
+ "AllPnbAbs",
+ "MorphoPnb",
+ "AdverbPnb",
+ "PhrasePnb",
+ "StructuralPnb",
+ "AdjectivePnb",
+ "RelativePnb",
+ "NumeralPnb",
+ "QuestionPnb",
+ "ParadigmsPnb",
+ "SymbolPnb",
+ "GrammarPnb",
+ "AllPnb",
+ "LangPnb",
+ ""
+ ],
+ "romance": [
+ "SymbolRomance",
+ "ExtraRomance",
+ "DiffRomance",
+ "ResRomance",
+ "SentenceRomance",
+ "CatRomance",
+ "AdverbRomance",
+ "ConjunctionRomance",
+ "ExtraRomanceAbs",
+ "VerbRomance",
+ "ExtRomance",
+ "RelativeRomance",
+ "TenseRomance",
+ "AdjectiveRomance",
+ "CommonRomance",
+ "NounRomance",
+ "PhraseRomance",
+ "QuestionRomance",
+ ""
+ ],
+ "romanian": [
+ "NounRon",
+ "IdiomRon",
+ "ExtraRon",
+ "BeschRon",
+ "AllRonAbs",
+ "CatRon",
+ "NumeralRon",
+ "ResRon",
+ "MorphoRon",
+ "AdverbRon",
+ "StructuralRon",
+ "ExtraRonAbs",
+ "SentenceRon",
+ "GrammarRon",
+ "QuestionRon",
+ "ParadigmsRon",
+ "AllRon",
+ "RelativeRon",
+ "TenseRon",
+ "AdjectiveRon",
+ "VerbRon",
+ "PhraseRon",
+ "PhonoRon",
+ "LangRon",
+ "SymbolRon",
+ "LexiconRon",
+ "ConjunctionRon",
+ ""
+ ],
+ "russian": [
+ "IdiomRus",
+ "ExtraLexRus",
+ "NounRus",
+ "AdverbRus",
+ "CatRus",
+ "AdjectiveRus",
+ "ResRus",
+ "ParadigmsRus",
+ "NumeralRus",
+ "ExtraRus",
+ "QuestionRus",
+ "PhraseRus",
+ "LexiconRus",
+ "MorphoRus",
+ "AllRus",
+ "RelativeRus",
+ "SymbolRus",
+ "DictRus",
+ "StructuralRus",
+ "GrammarRus",
+ "SentenceRus",
+ "ExtraRusAbs",
+ "AllRusAbs",
+ "IrregRus",
+ "LangRus",
+ "DictRusAbs",
+ "ConjunctionRus",
+ "VerbRus",
+ ""
+ ],
+ "scandinavian": [
+ "SentenceScand",
+ "AdverbScand",
+ "NounScand",
+ "ExtraScandAbs",
+ "PhraseScand",
+ "RelativeScand",
+ "ExtraScand",
+ "SymbolScand",
+ "DiffScand",
+ "TenseScand",
+ "QuestionScand",
+ "VerbScand",
+ "CatScand",
+ "ConjunctionScand",
+ "CommonScand",
+ "AdjectiveScand",
+ "ExtEngAbs",
+ "ResScand",
+ ""
+ ],
+ "sindhi": [
+ "AdverbSnd",
+ "ExtraSnd",
+ "LangSnd",
+ "Coordination",
+ "NumeralSnd",
+ "SentenceSnd",
+ "PhraseSnd",
+ "RelativeSnd",
+ "SymbolSnd",
+ "GrammarSnd",
+ "StructuralSnd",
+ "MorphoSnd",
+ "CatSnd",
+ "ResSnd",
+ "ParadigmsSnd",
+ "ConjunctionSnd",
+ "LexiconSnd",
+ "AllSndAbs",
+ "IdiomSnd",
+ "VerbSnd",
+ "AllSnd",
+ "NounSnd",
+ "ExtraSndAbs",
+ "QuestionSnd",
+ "MakeStructuralSnd",
+ "AdjectiveSnd",
+ ""
+ ],
+ "spanish": [
+ "MorphoSpa",
+ "RelativeSpa",
+ "ConjunctionSpa",
+ "NumeralSpa",
+ "PhraseSpa",
+ "NounSpa",
+ "LexiconSpa",
+ "AllSpa",
+ "CompatibilitySpa",
+ "BeschSpa",
+ "SentenceSpa",
+ "ExtraSpaAbs",
+ "DiffSpa",
+ "AdjectiveSpa",
+ "SymbolSpa",
+ "AdverbSpa",
+ "ExtraRomanceSpa",
+ "IrregSpaAbs",
+ "ResSpa",
+ "VerbSpa",
+ "StructuralSpa",
+ "GrammarSpa",
+ "ParadigmsSpa",
+ "ExtraSpa",
+ "TextSpa",
+ "CatSpa",
+ "TenseSpa",
+ "AllSpaAbs",
+ "MakeStructuralSpa",
+ "IdiomSpa",
+ "IrregSpa",
+ "QuestionSpa",
+ "LangSpa",
+ "PhonoSpa",
+ ""
+ ],
+ "swahili": [
+ "SentenceSwa",
+ "CompatibilitySwa",
+ "RelativeSwa",
+ "AdjectiveSwa",
+ "StructuralSwa",
+ "CatSwa",
+ "SymbolSwa",
+ "ExtraSwa",
+ "VerbSwa",
+ "IdiomSwa",
+ "OverloadSwa",
+ "MakeStructuralSwa",
+ "ConjunctionSwa",
+ "BackwardSwa",
+ "PhraseSwa",
+ "MorphoSwa",
+ "ParadigmsSwa",
+ "ResSwa",
+ "NounSwa",
+ "noun0",
+ "IrregSwa",
+ "LexiconSwa",
+ "QuestionSwa",
+ "NumeralSwa",
+ "GrammarSwa",
+ "LangSwa",
+ "AdverbSwa",
+ "IrregSwaAbs",
+ "ExtraSwaAbs",
+ ""
+ ],
+ "swedish": [
+ "DictSwe",
+ "StructuralSwe",
+ "PhraseSwe",
+ "AllSweAbs",
+ "ConjunctionSwe",
+ "LangSwe",
+ "CatSwe",
+ "TenseSwe",
+ "ExtraSweAbs",
+ "VerbSwe",
+ "QuestionSwe",
+ "ParadigmsSwe",
+ "MorphoSwe",
+ "ResSwe",
+ "LexiconSwe",
+ "AdjectiveSwe",
+ "RelativeSwe",
+ "DictSweAbs",
+ "ExtraSwe",
+ "IdiomSwe",
+ "AllSwe",
+ "SymbolSwe",
+ "AdverbSwe",
+ "MakeStructuralSwe",
+ "SentenceSwe",
+ "ExtraScandSwe",
+ "CompatibilitySwe",
+ "IrregSweAbs",
+ "NumeralSwe",
+ "IrregSwe",
+ "DiffSwe",
+ "NounSwe",
+ "GrammarSwe",
+ ""
+ ],
+ "telugu": [
+ "StructuralTel",
+ "PhraseTel",
+ "IrregTel",
+ "AllTel",
+ "ConjunctionTel",
+ "LangTel",
+ "ResTel",
+ "CatTel",
+ "IdiomTel",
+ "AllTelAbs",
+ "ParadigmsTel",
+ "MorphoTel",
+ "SentenceTel",
+ "AdverbTel",
+ "QuestionTel",
+ "GrammarTel",
+ "LexiconTel",
+ "RelativeTel",
+ "NounTel",
+ "NumeralTel",
+ "AdjectiveTel",
+ "VerbTel",
+ "BackwardTel",
+ ""
+ ],
+ "thai": [
+ "TextTha",
+ "StructuralTha",
+ "OverloadTha",
+ "QuestionTha",
+ "StringsTha",
+ "PhraseTha",
+ "AdjectiveTha",
+ "ExtraTha",
+ "LangTha",
+ "RelativeTha",
+ "NumeralTha",
+ "SentenceTha",
+ "LexiconTha",
+ "IdiomTha",
+ "ParadigmsTha",
+ "AllThaAbs",
+ "ResTha",
+ "MorphoTha",
+ "CatTha",
+ "VerbTha",
+ "GrammarTha",
+ "AllTha",
+ "SymbolTha",
+ "IrregTha",
+ "AdverbTha",
+ "NounTha",
+ "ConjunctionTha",
+ ""
+ ],
+ "tmp": [
+ "CompatibilityEng",
+ ""
+ ],
+ "turkish": [
+ "LangTur",
+ "ResTur",
+ "AllTurAbs",
+ "DictTur",
+ "StructuralTur",
+ "ParadigmsTur",
+ "IrregTur",
+ "NounTur",
+ "LexiconTur",
+ "IrregTurAbs",
+ "DictTurAbs",
+ "HarmonyTur",
+ "NumeralTur",
+ "SuffixTur",
+ "SymbolTur",
+ "CatTur",
+ "AllTur",
+ "GrammarTur",
+ ""
+ ],
+ "urdu": [
+ "ResUrd",
+ "SentenceUrd",
+ "AllUrd",
+ "MorphoUrd",
+ "ResHindustani",
+ "MakeStructuralUrd",
+ "RelativeUrd",
+ "LangUrd",
+ "AllUrdAbs",
+ "ExtraUrdAbs",
+ "IdiomUrd",
+ "AdjectiveUrd",
+ "CatUrd",
+ "QuestionUrd",
+ "StringsHindustani",
+ "ParadigmsUrd",
+ "StructuralUrd",
+ "SymbolUrd",
+ "NumeralUrd",
+ "TextUrd",
+ "ConjunctionUrd",
+ "GrammarUrd",
+ "ExtraHindustani",
+ "VerbUrd",
+ "NounUrd",
+ "CommonHindustani",
+ "PhraseUrd",
+ "DiffUrd",
+ "AdverbUrd",
+ "LexiconUrd",
+ "ExtraUrd",
+ ""
+ ],
+ "":{}
+}
+}
diff --git a/lib/doc/browse/script.js b/lib/doc/browse/script.js
new file mode 100644
index 000000000..641cdabda
--- /dev/null
+++ b/lib/doc/browse/script.js
@@ -0,0 +1,184 @@
+/*
+ GF RGL Browser
+ John J. Camiller, 2012
+*/
+$(document).ready(function() {
+
+// var urlPrefix = "/GF"; // local
+ var urlPrefix = ""; // live
+
+ var scrollToTop = function(){
+ $("html, body").animate({ scrollTop: 0 }, "slow");
+ }
+
+ var current_language = undefined;
+ var index;
+ $.getJSON("index.json", function(data){
+ index = data;
+
+ // Initialize the language list
+ var lang_select = $("