1#!/bin/bash
2
3
4# Clean up previous run
5rm -rf dicts
6
7# Work in temporary directory
8mkdir temp
9cd temp
10
11
12# Download
13echo -n 'Downloading LibreOffice dictionaries...'
14loversion='6.4.1.1'
15lodict="libreoffice-dictionaries-${loversion}"
16lofiles="libreoffice-${loversion}/dictionaries"
17if [ ! -e "${lodict}.tar.xz" ]; then
18	curl -s -O -L "https://download.documentfoundation.org/libreoffice/src/6.4.1/${lodict}.tar.xz"
19	echo ' DONE'
20else
21	echo ' SKIPPED'
22fi
23
24echo -n 'Downloading Armenian dictionary...'
25hydict='hy_am_e_1940_dict-1.1'
26hyfiles='hy_am_e_1940_dict-1.1'
27if [ ! -e "${hydict}.oxt" ]; then
28	curl -s -L -o "${hydict}.oxt" 'https://extensions.openoffice.org/en/download/4838'
29	echo ' DONE'
30else
31	echo ' SKIPPED'
32fi
33
34echo -n 'Downloading Esperanto dictionary...'
35eodict='dict-eo'
36eofiles='dict-eo/dictionaries'
37if [ ! -e "${eodict}.oxt" ]; then
38	curl -s -O "https://extensions.libreoffice.org/extensions/esperanto-spellchecker-thesaurus-and-hyphenizer/1.01/@@download/file/${eodict}.oxt"
39	echo ' DONE'
40else
41	echo ' SKIPPED'
42fi
43
44echo -n 'Downloading Finnish dictionary...'
45if [ ! -e 'voikko.oxt' ]; then
46	curl -s -O 'https://www.puimula.org/htp/ooo/voikko-win/5.0.0.20151123/voikko.oxt'
47	echo ' DONE'
48else
49	echo ' SKIPPED'
50fi
51
52echo -n 'Downloading Korean dictionary...'
53kodict='Korean_spell-checker-0.7.91_LibO'
54kofiles='Korean_spell-checker-0.7.91_LibO/dictionaries'
55if [ ! -e "${kodict}.oxt" ]; then
56	curl -s -O "https://extensions.libreoffice.org/extensions/korean-spellchecker/0-7.91/@@download/file/${kodict}.oxt"
57	echo ' DONE'
58else
59	echo ' SKIPPED'
60fi
61
62
63# Extract
64echo -n 'Extracting LibreOffice dictionaries...'
65if [ ! -e "libreoffice-${loversion}" ]; then
66	tar -xaf "${lodict}.tar.xz"
67	echo ' DONE'
68else
69	echo ' SKIPPED'
70fi
71
72echo -n 'Extracting Armenian dictionary...'
73if [ ! -e "${hydict}" ]; then
74	unzip -qq "${hydict}.oxt" -d "${hydict}"
75	echo ' DONE'
76else
77	echo ' SKIPPED'
78fi
79
80echo -n 'Extracting Esperanto dictionary...'
81if [ ! -e "${eodict}" ]; then
82	unzip -qq "${eodict}.oxt" -d "${eodict}"
83	echo ' DONE'
84else
85	echo ' SKIPPED'
86fi
87
88echo -n 'Extracting Finnish dictionary...'
89if [ ! -e voikko ]; then
90	unzip -qq voikko.oxt -d voikko
91	echo ' DONE'
92else
93	echo ' SKIPPED'
94fi
95
96echo -n 'Extracting Korean dictionary...'
97if [ ! -e "${kodict}" ]; then
98	unzip -qq "${kodict}.oxt" -d "${kodict}"
99	echo ' DONE'
100else
101	echo ' SKIPPED'
102fi
103
104
105# Copy files
106echo -n 'Copying...'
107mkdir dicts
108echo -n ' af_ZA'
109cp -a $lofiles/af_ZA/af_ZA.aff dicts/af_ZA.aff
110cp -a $lofiles/af_ZA/af_ZA.dic dicts/af_ZA.dic
111echo -n ' ar'
112cp -a $lofiles/ar/ar.aff dicts/ar.aff
113cp -a $lofiles/ar/ar.dic dicts/ar.dic
114echo -n ' bs'
115cp -a $lofiles/bs_BA/bs_BA.aff dicts/bs.aff
116cp -a $lofiles/bs_BA/bs_BA.dic dicts/bs.dic
117echo -n ' ca'
118cp -a $lofiles/ca/dictionaries/ca.aff dicts/ca.aff
119cp -a $lofiles/ca/dictionaries/ca.dic dicts/ca.dic
120echo -n ' cs'
121cp -a $lofiles/cs_CZ/cs_CZ.aff dicts/cs.aff
122cp -a $lofiles/cs_CZ/cs_CZ.dic dicts/cs.dic
123echo -n ' da'
124cp -a $lofiles/da_DK/da_DK.aff dicts/da.aff
125cp -a $lofiles/da_DK/da_DK.dic dicts/da.dic
126echo -n ' de_AT'
127cp -a $lofiles/de/de_DE_frami.aff dicts/de_AT.aff
128cp -a $lofiles/de/de_AT_frami.dic dicts/de_AT.dic
129echo -n ' de_CH'
130cp -a $lofiles/de/de_DE_frami.aff dicts/de_CH.aff
131cp -a $lofiles/de/de_CH_frami.dic dicts/de_CH.dic
132echo -n ' de_DE'
133cp -a $lofiles/de/de_DE_frami.aff dicts/de_DE.aff
134cp -a $lofiles/de/de_DE_frami.dic dicts/de_DE.dic
135echo -n ' el'
136cp -a $lofiles/el_GR/el_GR.aff dicts/el.aff
137cp -a $lofiles/el_GR/el_GR.dic dicts/el.dic
138echo -n ' en_AU'
139cp -a $lofiles/en/en_AU.aff dicts/en_AU.aff
140cp -a $lofiles/en/en_AU.dic dicts/en_AU.dic
141echo -n ' en_CA'
142cp -a $lofiles/en/en_CA.aff dicts/en_CA.aff
143cp -a $lofiles/en/en_CA.dic dicts/en_CA.dic
144echo -n ' en_GB'
145cp -a $lofiles/en/en_GB.aff dicts/en_GB.aff
146cp -a $lofiles/en/en_GB.dic dicts/en_GB.dic
147echo -n ' en_US'
148cp -a $lofiles/en/en_US.aff dicts/en_US.aff
149cp -a $lofiles/en/en_US.dic dicts/en_US.dic
150echo -n ' en_ZA'
151cp -a $lofiles/en/en_ZA.aff dicts/en_ZA.aff
152cp -a $lofiles/en/en_ZA.dic dicts/en_ZA.dic
153echo -n ' eo'
154cp -a $eofiles/eo.aff dicts/eo.aff
155cp -a $eofiles/eo.dic dicts/eo.dic
156echo -n ' es'
157cp -a $lofiles/es/es_ANY.aff dicts/es.aff
158cp -a $lofiles/es/es_ANY.dic dicts/es.dic
159echo -n ' fi'
160cp -a voikko/voikko/2 dicts
161cp -a voikko/voikko/Windows-64bit-WindowsPE/libvoikko-1.dll dicts
162echo -n ' fr'
163cp -a $lofiles/fr_FR/fr.aff dicts/fr.aff
164cp -a $lofiles/fr_FR/fr.dic dicts/fr.dic
165echo -n ' gl'
166cp -a $lofiles/gl/gl_ES.aff dicts/gl.aff
167cp -a $lofiles/gl/gl_ES.dic dicts/gl.dic
168echo -n ' he'
169cp -a $lofiles/he_IL/he_IL.aff dicts/he.aff
170cp -a $lofiles/he_IL/he_IL.dic dicts/he.dic
171echo -n ' hu'
172cp -a $lofiles/hu_HU/hu_HU.aff dicts/hu.aff
173cp -a $lofiles/hu_HU/hu_HU.dic dicts/hu.dic
174echo -n ' hy'
175cp -a $hyfiles/hy_am_e_1940.aff dicts/hy.aff
176cp -a $hyfiles/hy_am_e_1940.dic dicts/hy.dic
177echo -n ' id'
178cp -a $lofiles/id/id_ID.aff dicts/id.aff
179cp -a $lofiles/id/id_ID.dic dicts/id.dic
180echo -n ' it'
181cp -a $lofiles/it_IT/it_IT.aff dicts/it.aff
182cp -a $lofiles/it_IT/it_IT.dic dicts/it.dic
183echo -n ' ko'
184cp -a $kofiles/ko-KR.aff dicts/ko.aff
185cp -a $kofiles/ko-KR.dic dicts/ko.dic
186echo -n ' lt'
187cp -a $lofiles/lt_LT/lt.aff dicts/lt.aff
188cp -a $lofiles/lt_LT/lt.dic dicts/lt.dic
189echo -n ' nl'
190cp -a $lofiles/nl_NL/nl_NL.aff dicts/nl.aff
191cp -a $lofiles/nl_NL/nl_NL.dic dicts/nl.dic
192echo -n ' pl'
193cp -a $lofiles/pl_PL/pl_PL.aff dicts/pl.aff
194cp -a $lofiles/pl_PL/pl_PL.dic dicts/pl.dic
195echo -n ' pt_BR'
196cp -a $lofiles/pt_BR/pt_BR.aff dicts/pt_BR.aff
197cp -a $lofiles/pt_BR/pt_BR.dic dicts/pt_BR.dic
198echo -n ' pt_PT'
199cp -a $lofiles/pt_PT/pt_PT.aff dicts/pt_PT.aff
200cp -a $lofiles/pt_PT/pt_PT.dic dicts/pt_PT.dic
201echo -n ' ro'
202cp -a $lofiles/ro/ro_RO.aff dicts/ro.aff
203cp -a $lofiles/ro/ro_RO.dic dicts/ro.dic
204echo -n ' ru'
205cp -a $lofiles/ru_RU/ru_RU.aff dicts/ru.aff
206cp -a $lofiles/ru_RU/ru_RU.dic dicts/ru.dic
207echo -n ' sk'
208cp -a $lofiles/sk_SK/sk_SK.aff dicts/sk.aff
209cp -a $lofiles/sk_SK/sk_SK.dic dicts/sk.dic
210echo -n ' sl'
211cp -a $lofiles/sl_SI/sl_SI.aff dicts/sl.aff
212cp -a $lofiles/sl_SI/sl_SI.dic dicts/sl.dic
213echo -n ' sr'
214cp -a $lofiles/sr/sr.aff dicts/sr.aff
215cp -a $lofiles/sr/sr.dic dicts/sr.dic
216cp -a $lofiles/sr/sr-Latn.aff dicts/sr-Latn.aff
217cp -a $lofiles/sr/sr-Latn.dic dicts/sr-Latn.dic
218echo -n ' sv'
219cp -a $lofiles/sv_SE/sv_SE.aff dicts/sv.aff
220cp -a $lofiles/sv_SE/sv_SE.dic dicts/sv.dic
221echo -n ' tr'
222cp -a $lofiles/tr_TR/tr_TR.aff dicts/tr.aff
223cp -a $lofiles/tr_TR/tr_TR.dic dicts/tr.dic
224echo -n ' uk'
225cp -a $lofiles/uk_UA/uk_UA.aff dicts/uk.aff
226cp -a $lofiles/uk_UA/uk_UA.dic dicts/uk.dic
227echo -n ' vi'
228cp -a $lofiles/vi/vi_VN.aff dicts/vi.aff
229cp -a $lofiles/vi/vi_VN.dic dicts/vi.dic
230echo ' DONE'
231
232
233# Finish and clean up
234cd ..
235mv temp/dicts .
236