Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
1
gaia/apps/keyboard/js/imes/latin/dictionaries/.gitignore
vendored
Executable file
1
gaia/apps/keyboard/js/imes/latin/dictionaries/.gitignore
vendored
Executable file
|
|
@ -0,0 +1 @@
|
|||
node_modules/
|
||||
61
gaia/apps/keyboard/js/imes/latin/dictionaries/Makefile
Executable file
61
gaia/apps/keyboard/js/imes/latin/dictionaries/Makefile
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
# After building a dictionary here, move the resulting .dict file to
|
||||
# apps/keyboard/js/imes/latin/dictionaries/ and check it in.
|
||||
#
|
||||
# Available:
|
||||
# af.dict, bg.dict, bs.dict, ca.dict, cs.dict, da.dict, de.dict, el.dict, en.dict, en_gb.dict, en_us.dict, es.dict, eu.dict, ff.dict,
|
||||
# fi.dict, fr.dict, fy.dict, ga.dict, gd.dict, gl.dict, gv.dict, hr.dict, hu.dict, it.dict, lt.dict, lv.dict, nb.dict, nl.dict, pl.dict,
|
||||
# pt_br.dict, pt_pt.dict, ro.dict, ru.dict, sk.dict, sl.dict, sq.dict, sr.dict, sr-Cyrl.dict, sr-Latn.dict, sr.dict, sv.dict, tr.dict
|
||||
|
||||
WHITELIST = \
|
||||
af.dict \
|
||||
bg.dict \
|
||||
bs.dict \
|
||||
ca.dict \
|
||||
cs.dict \
|
||||
cy.dict \
|
||||
da.dict \
|
||||
de.dict \
|
||||
el.dict \
|
||||
en.dict \
|
||||
en_gb.dict \
|
||||
en_us.dict \
|
||||
es.dict \
|
||||
eu.dict \
|
||||
fi.dict \
|
||||
ff.dict \
|
||||
fr.dict \
|
||||
fy.dict \
|
||||
ga.dict \
|
||||
gd.dict \
|
||||
gl.dict \
|
||||
gv.dict \
|
||||
hr.dict \
|
||||
hu.dict \
|
||||
it.dict \
|
||||
lt.dict \
|
||||
lv.dict \
|
||||
pl.dict \
|
||||
pt_br.dict \
|
||||
nb.dict \
|
||||
nl.dict \
|
||||
pl.dict \
|
||||
pt_br.dict \
|
||||
pt_pt.dict \
|
||||
ro.dict \
|
||||
ru.dict \
|
||||
sk.dict \
|
||||
sl.dict \
|
||||
sq.dict \
|
||||
sr.dict \
|
||||
sr-Cyrl.dict \
|
||||
sr-Latn.dict \
|
||||
sv.dict \
|
||||
tr.dict
|
||||
|
||||
%.dict: %_wordlist.xml xml2dict.js dependency
|
||||
node --harmony xml2dict.js -o $@ $<
|
||||
|
||||
dependency:
|
||||
npm install
|
||||
|
||||
all: $(WHITELIST)
|
||||
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/af.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/af.dict
Executable file
Binary file not shown.
85540
gaia/apps/keyboard/js/imes/latin/dictionaries/af_wordlist.xml
Executable file
85540
gaia/apps/keyboard/js/imes/latin/dictionaries/af_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/bg.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/bg.dict
Executable file
Binary file not shown.
222587
gaia/apps/keyboard/js/imes/latin/dictionaries/bg_wordlist.xml
Executable file
222587
gaia/apps/keyboard/js/imes/latin/dictionaries/bg_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/bs.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/bs.dict
Executable file
Binary file not shown.
121360
gaia/apps/keyboard/js/imes/latin/dictionaries/bs_wordlist.xml
Executable file
121360
gaia/apps/keyboard/js/imes/latin/dictionaries/bs_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ca.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ca.dict
Executable file
Binary file not shown.
144725
gaia/apps/keyboard/js/imes/latin/dictionaries/ca_wordlist.xml
Executable file
144725
gaia/apps/keyboard/js/imes/latin/dictionaries/ca_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/cs.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/cs.dict
Executable file
Binary file not shown.
171546
gaia/apps/keyboard/js/imes/latin/dictionaries/cs_wordlist.xml
Executable file
171546
gaia/apps/keyboard/js/imes/latin/dictionaries/cs_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/cy.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/cy.dict
Executable file
Binary file not shown.
92225
gaia/apps/keyboard/js/imes/latin/dictionaries/cy_wordlist.xml
Executable file
92225
gaia/apps/keyboard/js/imes/latin/dictionaries/cy_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/da.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/da.dict
Executable file
Binary file not shown.
178451
gaia/apps/keyboard/js/imes/latin/dictionaries/da_wordlist.xml
Executable file
178451
gaia/apps/keyboard/js/imes/latin/dictionaries/da_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/de.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/de.dict
Executable file
Binary file not shown.
205830
gaia/apps/keyboard/js/imes/latin/dictionaries/de_wordlist.xml
Executable file
205830
gaia/apps/keyboard/js/imes/latin/dictionaries/de_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/el.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/el.dict
Executable file
Binary file not shown.
184305
gaia/apps/keyboard/js/imes/latin/dictionaries/el_wordlist.xml
Executable file
184305
gaia/apps/keyboard/js/imes/latin/dictionaries/el_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/en.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/en.dict
Executable file
Binary file not shown.
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/en_gb.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/en_gb.dict
Executable file
Binary file not shown.
157332
gaia/apps/keyboard/js/imes/latin/dictionaries/en_gb_wordlist.xml
Executable file
157332
gaia/apps/keyboard/js/imes/latin/dictionaries/en_gb_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/en_us.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/en_us.dict
Executable file
Binary file not shown.
160580
gaia/apps/keyboard/js/imes/latin/dictionaries/en_us_wordlist.xml
Executable file
160580
gaia/apps/keyboard/js/imes/latin/dictionaries/en_us_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
165411
gaia/apps/keyboard/js/imes/latin/dictionaries/en_wordlist.xml
Executable file
165411
gaia/apps/keyboard/js/imes/latin/dictionaries/en_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/es.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/es.dict
Executable file
Binary file not shown.
190495
gaia/apps/keyboard/js/imes/latin/dictionaries/es_wordlist.xml
Executable file
190495
gaia/apps/keyboard/js/imes/latin/dictionaries/es_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/eu.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/eu.dict
Executable file
Binary file not shown.
149988
gaia/apps/keyboard/js/imes/latin/dictionaries/eu_wordlist.xml
Executable file
149988
gaia/apps/keyboard/js/imes/latin/dictionaries/eu_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ff.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ff.dict
Executable file
Binary file not shown.
33006
gaia/apps/keyboard/js/imes/latin/dictionaries/ff_wordlist.xml
Executable file
33006
gaia/apps/keyboard/js/imes/latin/dictionaries/ff_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/fi.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/fi.dict
Executable file
Binary file not shown.
223365
gaia/apps/keyboard/js/imes/latin/dictionaries/fi_wordlist.xml
Executable file
223365
gaia/apps/keyboard/js/imes/latin/dictionaries/fi_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/fr.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/fr.dict
Executable file
Binary file not shown.
190158
gaia/apps/keyboard/js/imes/latin/dictionaries/fr_wordlist.xml
Executable file
190158
gaia/apps/keyboard/js/imes/latin/dictionaries/fr_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/fy.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/fy.dict
Executable file
Binary file not shown.
361823
gaia/apps/keyboard/js/imes/latin/dictionaries/fy_wordlist.xml
Executable file
361823
gaia/apps/keyboard/js/imes/latin/dictionaries/fy_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ga.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ga.dict
Executable file
Binary file not shown.
114692
gaia/apps/keyboard/js/imes/latin/dictionaries/ga_wordlist.xml
Executable file
114692
gaia/apps/keyboard/js/imes/latin/dictionaries/ga_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/gd.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/gd.dict
Executable file
Binary file not shown.
37909
gaia/apps/keyboard/js/imes/latin/dictionaries/gd_wordlist.xml
Executable file
37909
gaia/apps/keyboard/js/imes/latin/dictionaries/gd_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/gl.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/gl.dict
Executable file
Binary file not shown.
199037
gaia/apps/keyboard/js/imes/latin/dictionaries/gl_wordlist.xml
Executable file
199037
gaia/apps/keyboard/js/imes/latin/dictionaries/gl_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/gv.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/gv.dict
Executable file
Binary file not shown.
34735
gaia/apps/keyboard/js/imes/latin/dictionaries/gv_wordlist.xml
Executable file
34735
gaia/apps/keyboard/js/imes/latin/dictionaries/gv_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/hr.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/hr.dict
Executable file
Binary file not shown.
210083
gaia/apps/keyboard/js/imes/latin/dictionaries/hr_wordlist.xml
Executable file
210083
gaia/apps/keyboard/js/imes/latin/dictionaries/hr_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/hu.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/hu.dict
Executable file
Binary file not shown.
411218
gaia/apps/keyboard/js/imes/latin/dictionaries/hu_wordlist.xml
Executable file
411218
gaia/apps/keyboard/js/imes/latin/dictionaries/hu_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/it.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/it.dict
Executable file
Binary file not shown.
172833
gaia/apps/keyboard/js/imes/latin/dictionaries/it_wordlist.xml
Executable file
172833
gaia/apps/keyboard/js/imes/latin/dictionaries/it_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/lt.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/lt.dict
Executable file
Binary file not shown.
198162
gaia/apps/keyboard/js/imes/latin/dictionaries/lt_wordlist.xml
Executable file
198162
gaia/apps/keyboard/js/imes/latin/dictionaries/lt_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/lv.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/lv.dict
Executable file
Binary file not shown.
200572
gaia/apps/keyboard/js/imes/latin/dictionaries/lv_wordlist.xml
Executable file
200572
gaia/apps/keyboard/js/imes/latin/dictionaries/lv_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/nb.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/nb.dict
Executable file
Binary file not shown.
171010
gaia/apps/keyboard/js/imes/latin/dictionaries/nb_wordlist.xml
Executable file
171010
gaia/apps/keyboard/js/imes/latin/dictionaries/nb_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/nl.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/nl.dict
Executable file
Binary file not shown.
178446
gaia/apps/keyboard/js/imes/latin/dictionaries/nl_wordlist.xml
Executable file
178446
gaia/apps/keyboard/js/imes/latin/dictionaries/nl_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
6
gaia/apps/keyboard/js/imes/latin/dictionaries/package.json
Executable file
6
gaia/apps/keyboard/js/imes/latin/dictionaries/package.json
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"xml2js": "^0.4.6",
|
||||
"yargs": "^1.3.2"
|
||||
}
|
||||
}
|
||||
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/pl.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/pl.dict
Executable file
Binary file not shown.
195101
gaia/apps/keyboard/js/imes/latin/dictionaries/pl_wordlist.xml
Executable file
195101
gaia/apps/keyboard/js/imes/latin/dictionaries/pl_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_br.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_br.dict
Executable file
Binary file not shown.
170045
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_br_wordlist.xml
Executable file
170045
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_br_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_pt.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_pt.dict
Executable file
Binary file not shown.
218458
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_pt_wordlist.xml
Executable file
218458
gaia/apps/keyboard/js/imes/latin/dictionaries/pt_pt_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ro.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ro.dict
Executable file
Binary file not shown.
115833
gaia/apps/keyboard/js/imes/latin/dictionaries/ro_wordlist.xml
Executable file
115833
gaia/apps/keyboard/js/imes/latin/dictionaries/ro_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ru.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/ru.dict
Executable file
Binary file not shown.
219258
gaia/apps/keyboard/js/imes/latin/dictionaries/ru_wordlist.xml
Executable file
219258
gaia/apps/keyboard/js/imes/latin/dictionaries/ru_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sk.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sk.dict
Executable file
Binary file not shown.
196698
gaia/apps/keyboard/js/imes/latin/dictionaries/sk_wordlist.xml
Executable file
196698
gaia/apps/keyboard/js/imes/latin/dictionaries/sk_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sl.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sl.dict
Executable file
Binary file not shown.
60000
gaia/apps/keyboard/js/imes/latin/dictionaries/sl_wordlist.xml
Executable file
60000
gaia/apps/keyboard/js/imes/latin/dictionaries/sl_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sq.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sq.dict
Executable file
Binary file not shown.
104209
gaia/apps/keyboard/js/imes/latin/dictionaries/sq_wordlist.xml
Executable file
104209
gaia/apps/keyboard/js/imes/latin/dictionaries/sq_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Cyrl.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Cyrl.dict
Executable file
Binary file not shown.
191608
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Cyrl_wordlist.xml
Executable file
191608
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Cyrl_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Latn.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Latn.dict
Executable file
Binary file not shown.
191608
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Latn_wordlist.xml
Executable file
191608
gaia/apps/keyboard/js/imes/latin/dictionaries/sr-Latn_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sr.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sr.dict
Executable file
Binary file not shown.
191610
gaia/apps/keyboard/js/imes/latin/dictionaries/sr_wordlist.xml
Executable file
191610
gaia/apps/keyboard/js/imes/latin/dictionaries/sr_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sv.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/sv.dict
Executable file
Binary file not shown.
196741
gaia/apps/keyboard/js/imes/latin/dictionaries/sv_wordlist.xml
Executable file
196741
gaia/apps/keyboard/js/imes/latin/dictionaries/sv_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/tr.dict
Executable file
BIN
gaia/apps/keyboard/js/imes/latin/dictionaries/tr.dict
Executable file
Binary file not shown.
180843
gaia/apps/keyboard/js/imes/latin/dictionaries/tr_wordlist.xml
Executable file
180843
gaia/apps/keyboard/js/imes/latin/dictionaries/tr_wordlist.xml
Executable file
File diff suppressed because it is too large
Load diff
127
gaia/apps/keyboard/js/imes/latin/dictionaries/xml2dict.js
Executable file
127
gaia/apps/keyboard/js/imes/latin/dictionaries/xml2dict.js
Executable file
|
|
@ -0,0 +1,127 @@
|
|||
/* global require, Buffer */
|
||||
|
||||
// This replaces xml2dict.py, using WordListConverter shared with
|
||||
// KeyboardSettingsApp.
|
||||
|
||||
// Unlike xml2dict.py, we don't care |flags| at all as the attribute is not used
|
||||
// anywhere.
|
||||
|
||||
// Original comments follow.
|
||||
|
||||
/*
|
||||
This script reads a XML-formatted word list and produces a dictionary
|
||||
file used by the FirefoxOS virtual keyboard for word suggestions and
|
||||
auto corrections.
|
||||
|
||||
The word lists come from the Android source:
|
||||
https://android.googlesource.com/
|
||||
platform/packages/inputmethods/LatinIME/+/master/dictionaries/
|
||||
|
||||
This script currently depends on the XML format of the Android
|
||||
wordlists. (Eventually we might want to pre-process the XML files
|
||||
to a plain text format and simplify this script so that it will work
|
||||
with any plain-text word and frequency list)
|
||||
|
||||
The sample.xml file from the Android repo looks like this:
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
<!-- This is a sample wordlist that can be converted to a binary
|
||||
dictionary for use by the Latin IME. The format of the word
|
||||
list is a flat list of word entries. Each entry has a frequency
|
||||
between 255 and 0. Highest frequency words get more weight in
|
||||
the prediction algorithm. As a special case, a weight of 0 is
|
||||
taken to mean profanity - words that should not be considered a
|
||||
typo, but that should never be suggested explicitly. You can
|
||||
capitalize words that must always be capitalized, such as
|
||||
"January". You can have a capitalized and a non-capitalized
|
||||
word as separate entries, such as "robin" and "Robin". -->
|
||||
|
||||
<wordlist>
|
||||
<w f="255">this</w>
|
||||
<w f="255">is</w>
|
||||
<w f="128">sample</w>
|
||||
<w f="1">wordlist</w>
|
||||
</wordlist>
|
||||
----------------------------------------------------------------------
|
||||
|
||||
This script processes the word list and converts it to a Ternary
|
||||
Search Tree (TST), as described in the wiki link below, also in
|
||||
|
||||
http://en.wikipedia.org/wiki/Ternary_search_tree
|
||||
http://www.strchr.com/ternary_dags
|
||||
http://www.strchr.com/dawg_predictive
|
||||
|
||||
Note that the script does not convert the tree into a DAG (by sharing
|
||||
common word suffixes) because it cannot maintain separate frequency
|
||||
data for each word if the words share nodes.
|
||||
|
||||
We have moved the documentation (format and example) for the dictionary blob to
|
||||
Mozilla Wiki:
|
||||
https://wiki.mozilla.org/Gaia/System/Keyboard/IME/Latin/Dictionary_Blob
|
||||
|
||||
Please make sure any updates to the codes are reflected in the wiki too.
|
||||
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
var WordListConverter =
|
||||
require('../../../settings/word_list_converter.js').WordListConverter;
|
||||
|
||||
var argv = require('yargs')
|
||||
.demand(1)
|
||||
.demand('o')
|
||||
.alias('o', 'output')
|
||||
.describe('o', 'write output to this file')
|
||||
.usage('Usage: $0 -o lang.dict lang_wordlist.xml')
|
||||
.argv;
|
||||
|
||||
var parser = new require('xml2js').Parser();
|
||||
|
||||
console.log('Reading XML file...');
|
||||
|
||||
var xmlContent = fs.readFileSync(argv._[0], {encoding: 'utf8'});
|
||||
|
||||
console.log('Parsing XML file...');
|
||||
|
||||
parser.parseString(xmlContent, function(error, results){
|
||||
if (error) {
|
||||
console.error('XML Parser Error:', error);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('Finished parsing.');
|
||||
|
||||
// from xml results to {w: 'word', f: FREQ_INT}
|
||||
var words = results.wordlist.w.map(function(wNode){
|
||||
return {
|
||||
w: wNode._,
|
||||
f: parseInt(wNode.$.f)
|
||||
};
|
||||
});
|
||||
|
||||
var highestFreq = words[0].f;
|
||||
|
||||
// normalize frequency to [0, 1)
|
||||
words = words.map(function(word){
|
||||
return {
|
||||
w: word.w,
|
||||
f: word.f / (highestFreq + 1)
|
||||
};
|
||||
});
|
||||
|
||||
console.log('Generating TST Tree...');
|
||||
|
||||
var blob = new WordListConverter(words).toBlob();
|
||||
|
||||
fs.writeFile(argv.o, new Buffer(new Uint8Array(blob)), 'binary', function(e){
|
||||
if (e){
|
||||
console.error('Error:', e);
|
||||
} else {
|
||||
console.log('Finished.');
|
||||
}
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue