File JLanguageTool-0.9.9-package-dicts-separately.diff of Package OpenOffice_org-LanguageTool

--- build.xml.old	2009-08-03 19:26:36.000000000 +0200
+++ build.xml	2009-08-03 19:43:09.000000000 +0200
@@ -405,58 +405,26 @@
 <copy file="${resource.dir}/disambiguation.dtd" todir="${dist.dir}/resource" />
 <copy file="${resource.dir}/segment.srx" todir="${dist.dir}/resource" />
 <copy file="${resource.dir}/en/tagset.txt" todir="${dist.dir}/resource/en" />
-<copy file="${resource.dir}/en/english.dict" todir="${dist.dir}/resource/en" />
-<copy file="${resource.dir}/en/english.info" todir="${dist.dir}/resource/en" />
-<copy file="${resource.dir}/en/english_synth.dict" todir="${dist.dir}/resource/en" />
-<copy file="${resource.dir}/en/english_synth.info" todir="${dist.dir}/resource/en" />
 <copy file="${resource.dir}/en/english_tags.txt" todir="${dist.dir}/resource/en" />
 <copy file="${resource.dir}/en/disambiguation.xml" todir="${dist.dir}/resource/en" />
 <copy file="${resource.dir}/en/compounds.txt" todir="${dist.dir}/resource/en" />
-<copy file="${resource.dir}/it/italian.dict" todir="${dist.dir}/resource/it" />
-<copy file="${resource.dir}/it/italian.info" todir="${dist.dir}/resource/it" />
 <copy file="${resource.dir}/it/readme-morph-it.txt" todir="${dist.dir}/resource/it" />
-<copy file="${resource.dir}/fr/french.dict" todir="${dist.dir}/resource/fr" />
-<copy file="${resource.dir}/fr/french.info" todir="${dist.dir}/resource/fr" />
 <copy file="${resource.dir}/fr/readme.txt" todir="${dist.dir}/resource/fr" />
 <copy file="${resource.dir}/fr/disambiguation.xml" todir="${dist.dir}/resource/fr" />
-<copy file="${resource.dir}/es/spanish.dict" todir="${dist.dir}/resource/es" />
-<copy file="${resource.dir}/es/spanish.info" todir="${dist.dir}/resource/es" />
 <copy file="${resource.dir}/es/etiquetas-eagles.txt" todir="${dist.dir}/resource/es" />
-<copy file="${resource.dir}/de/german.dict" todir="${dist.dir}/resource/de" />
-<copy file="${resource.dir}/de/german.info" todir="${dist.dir}/resource/de" />
 <copy file="${resource.dir}/de/compounds.txt" todir="${dist.dir}/resource/de" />
 <copy file="${resource.dir}/de/added.txt" todir="${dist.dir}/resource/de" />
-<copy file="${resource.dir}/pl/polish.dict" todir="${dist.dir}/resource/pl" />
-<copy file="${resource.dir}/pl/polish.info" todir="${dist.dir}/resource/pl" />
-<copy file="${resource.dir}/pl/polish_synth.dict" todir="${dist.dir}/resource/pl" />
-<copy file="${resource.dir}/pl/polish_synth.info" todir="${dist.dir}/resource/pl" />
 <copy file="${resource.dir}/pl/polish_tags.txt" todir="${dist.dir}/resource/pl" />
 <copy file="${resource.dir}/pl/compounds.txt" todir="${dist.dir}/resource/pl" />
 <copy file="${resource.dir}/pl/disambiguation.xml" todir="${dist.dir}/resource/pl" />
-<copy file="${resource.dir}/nl/dutch.dict" todir="${dist.dir}/resource/nl" />
-<copy file="${resource.dir}/nl/dutch.info" todir="${dist.dir}/resource/nl" />
-<copy file="${resource.dir}/nl/dutch_synth.dict" todir="${dist.dir}/resource/nl" />
-<copy file="${resource.dir}/nl/dutch_synth.info" todir="${dist.dir}/resource/nl" />
 <copy file="${resource.dir}/nl/dutch_tags.txt" todir="${dist.dir}/resource/nl" />
 <copy file="${resource.dir}/nl/disambiguation.xml" todir="${dist.dir}/resource/nl" />
-<copy file="${resource.dir}/sv/swedish.info" todir="${dist.dir}/resource/sv" />
-<copy file="${resource.dir}/sv/swedish.dict" todir="${dist.dir}/resource/sv" />
 <copy file="${resource.dir}/sv/compounds.txt" todir="${dist.dir}/resource/sv" />
-<copy file="${resource.dir}/uk/ukrainian.dict" todir="${dist.dir}/resource/uk" />
-<copy file="${resource.dir}/ru/russian.dict" todir="${dist.dir}/resource/ru" />
-<copy file="${resource.dir}/ru/russian.info" todir="${dist.dir}/resource/ru" />
 <copy file="${resource.dir}/ru/russian_tags.txt" todir="${dist.dir}/resource/ru" />
 <copy file="${resource.dir}/ru/compounds_ru.txt" todir="${dist.dir}/resource/ru" />
-<copy file="${resource.dir}/ro/romanian.dict" todir="${dist.dir}/resource/ro" />
-<copy file="${resource.dir}/ro/romanian.info" todir="${dist.dir}/resource/ro" />
-<copy file="${resource.dir}/ro/romanian_synth.dict" todir="${dist.dir}/resource/ro" />
-<copy file="${resource.dir}/ro/romanian_synth.info" todir="${dist.dir}/resource/ro" />
 <copy file="${resource.dir}/ro/romanian_tags.txt" todir="${dist.dir}/resource/ro" />
 <copy file="${resource.dir}/ro/disambiguation.xml" todir="${dist.dir}/resource/ro" />
-<copy file="${resource.dir}/sk/slovak.dict" todir="${dist.dir}/resource/sk" />
-<copy file="${resource.dir}/sk/slovak.info" todir="${dist.dir}/resource/sk" />
 <copy file="${resource.dir}/sk/compounds.txt" todir="${dist.dir}/resource/sk" />
-<copy file="${resource.dir}/xx/dummy.dict" tofile="${dist.dir}/resource/cs/czech.dict" />
 
 <!-- prepare properties file automatically -->
 <javac encoding="${encoding}" srcdir="${src.dir}/dev" includes="de/danielnaber/languagetool/dev/PrintLocales.java" destdir="${build.classes}" target="${target}" debug="${debug}">
--- src/java/de/danielnaber/languagetool/openoffice/Main.java.old	2009-08-03 19:26:39.000000000 +0200
+++ src/java/de/danielnaber/languagetool/openoffice/Main.java	2009-08-03 20:43:05.000000000 +0200
@@ -23,6 +23,7 @@ package de.danielnaber.languagetool.open
  * 
  * @author Marcin MiƂkowski
  */
+import java.io.IOException;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -481,9 +482,18 @@ public class Main extends WeakBase imple
    *          The Locale to check.
    */
   public final boolean hasLocale(final Locale locale) {
+    List<String> dummyList = new ArrayList<String>();
     try {
       for (final Language element : Language.LANGUAGES) {
-        if (element.getShortName().equals(locale.Language)) {
+        // FIXME: dirty hack that checks whether the dictionary is really installed
+        //        it is better to have dictionaries in optional packages
+        boolean dictionaryExists = true;
+        try {
+         element.getTagger().tag(dummyList);
+        } catch (IOException e) {
+          dictionaryExists = false;
+        }
+        if (dictionaryExists && element.getShortName().equals(locale.Language)) {
           return true;
         }
       }
openSUSE Build Service is sponsored by