summaryrefslogtreecommitdiffstats
path: root/JLanguageTool/src/resource/es
diff options
context:
space:
mode:
Diffstat (limited to 'JLanguageTool/src/resource/es')
-rw-r--r--JLanguageTool/src/resource/es/.cvsignore1
-rw-r--r--JLanguageTool/src/resource/es/README9
-rw-r--r--JLanguageTool/src/resource/es/etiquetas-eagles.txt156
-rw-r--r--JLanguageTool/src/resource/es/freeling2lt.pl26
-rw-r--r--JLanguageTool/src/resource/es/makedict-es.sh116
-rw-r--r--JLanguageTool/src/resource/es/morph_data_es.awk39
-rw-r--r--JLanguageTool/src/resource/es/morph_data_es.pl57
-rw-r--r--JLanguageTool/src/resource/es/spanish.info9
-rw-r--r--JLanguageTool/src/resource/es/spanish_synth.info9
-rw-r--r--JLanguageTool/src/resource/es/spanish_tags.txt344
-rw-r--r--JLanguageTool/src/resource/es/synthesis.awk3
-rw-r--r--JLanguageTool/src/resource/es/taglist.txt344
-rw-r--r--JLanguageTool/src/resource/es/test-tagged.txt2
-rw-r--r--JLanguageTool/src/resource/es/test.txt2
14 files changed, 1117 insertions, 0 deletions
diff --git a/JLanguageTool/src/resource/es/.cvsignore b/JLanguageTool/src/resource/es/.cvsignore
new file mode 100644
index 0000000..7af46bd
--- /dev/null
+++ b/JLanguageTool/src/resource/es/.cvsignore
@@ -0,0 +1 @@
+*.dict
diff --git a/JLanguageTool/src/resource/es/README b/JLanguageTool/src/resource/es/README
new file mode 100644
index 0000000..5bf06d7
--- /dev/null
+++ b/JLanguageTool/src/resource/es/README
@@ -0,0 +1,9 @@
+The dictionary was mainly obtained from the Freeling project.
+
+http://devel.cpl.upc.edu/freeling/svn/latest/freeling/data/es/dicc.src
+http://garraf.epsevg.upc.es/freeling/
+
+It is released under the GNU General Public License.
+
+Don't forget to change s_fsa makefile as stated in the wiki:
+http://languagetool.wikidot.com/developing-a-tagger-dictionary
diff --git a/JLanguageTool/src/resource/es/etiquetas-eagles.txt b/JLanguageTool/src/resource/es/etiquetas-eagles.txt
new file mode 100644
index 0000000..c96d39f
--- /dev/null
+++ b/JLanguageTool/src/resource/es/etiquetas-eagles.txt
@@ -0,0 +1,156 @@
+ETIQUETAS EAGLES (v. 2.0)
+
+1. ADJETIVOS
+
+Pos. Atributo Valor Código
+1 Categoría Adjetivo A
+2 Tipo Calificativo Q
+ Ordinal O
+ - 0
+3 Grado - 0
+ Apreciativo A
+4 Género Masculino M
+ Femenino F
+ Común C
+5 Número Singular S
+ Plural P
+ Invariable N
+6 Función - 0
+ Participio P
+
+2. ADVERBIOS
+
+Pos. Atributo Valor Código
+1 Categoría Adverbio R
+2 Tipo General G
+ Negativo N
+
+
+3. DETERMINANTES
+Pos. Atributo Valor Código
+1 Categoría Determinante D
+2 Tipo Demostrativo D
+ Posesivo P
+ Interrogativo T
+ Exclamativo E
+ Indefinido I
+ Artículo A
+ Numeral N
+3 Persona Primera 1
+ Segunda 2
+ Tercera 3
+4 Género Masculino M
+ Femenino F
+ Común C
+ Neutro N
+5 Número Singular S
+ Plural P
+ Invariable N
+6 Poseedor Singular S
+ Plural P
+
+
+4. NOMBRES
+Pos. Atributo Valor Código
+1 Categoría Nombre N
+2 Tipo Común C
+ Propio P
+3 Género Masculino M
+ Femenino F
+ Común C
+4 Número Singular S
+ Plural P
+ Invariable N
+5-6 Clasificación
+ semántica - 0
+7 Grado Apreciativo A
+
+5. VERBOS
+Pos. Atributo Valor Código
+1 Categoría Verbo V
+2 Tipo Principal M
+ Auxiliar A
+ Semiauxiliar S
+3 Modo Indicativo I
+ Subjuntivo S
+ Imperativo M
+ Infinitivo N
+ Gerundio G
+ Participio P
+4 Tiempo Presente P
+ Imperfecto I
+ Futuro F
+ Pasado S
+ Condicional C
+ - 0
+5 Persona
+ Primera 1
+ Segunda 2
+ Tercera 3
+6 Número Singular S
+ Plural P
+7 Género Masculino M
+ Femenino F
+
+6. PRONOMBRES
+Pos. Atributo Valor Código
+1 Categoría Pronombre P
+2 Tipo Personal P
+ Demostrativo D
+ Posesivo X
+ Indefinido I
+ Interrogativo T
+ Relativo R
+ Numeral N
+ Exclamativo E
+3 Persona Primera 1
+ Segunda 2
+ Tercera 3
+4 Género Masculino M
+ Femenino F
+ Común C
+ Neutro N
+5 Número Singular S
+ Plural P
+ Invariable N
+6 Caso Nominativo N
+ Acusativo A
+ Dativo D
+ Oblicuo O
+7 Poseedor Singular S
+ Plural P
+8 Politeness Polite P
+
+7. CONJUNCIONES
+Pos. Atributo Valor Código
+1 Categoría Conjunción C
+2 Tipo Coordinada C
+ Subordinada S
+
+8. INTERJECCIONES
+Pos. Atributo Valor Código
+1 Categoría Interjección I
+
+
+9. PREPOSICIONES
+Pos. Atributo Valor Código
+1 Categoría Adposición S
+2 Tipo Preposición P
+3 Forma Simple S
+ Contraída C
+3 Género Masculino M
+4 Número Singular S
+
+10. SIGNOS DE PUNTUACIÓN
+Pos. Atributo Valor Código
+1 Categoría Puntuación F
+
+11. CIFRAS
+Pos. Atributo Valor Código
+1 Categoría Cifra Z
+2 Tipo Moneda m
+
+12. FECHAS Y HORAS
+FECHAS Y HORAS
+Pos. Atributo Valor Código
+1 Categoría Fecha/Hora W
diff --git a/JLanguageTool/src/resource/es/freeling2lt.pl b/JLanguageTool/src/resource/es/freeling2lt.pl
new file mode 100644
index 0000000..a0fd7c2
--- /dev/null
+++ b/JLanguageTool/src/resource/es/freeling2lt.pl
@@ -0,0 +1,26 @@
+#!/usr/bin/perl
+
+# Convert the Freeling dictionary into LanguageTools format
+# sdocio@gmail.com
+# Usage: cat dicc.src | ./freeling2lt.pl > language.dict
+
+while(<>)
+{
+ chomp;
+
+ @tokens = split;
+
+ if( $#tokens > 2 )
+ {
+ my $wordform = shift(@tokens);
+ for(my $i=0; $i<$#tokens; $i+=2)
+ {
+ print "$wordform\t$tokens[$i]\t$tokens[$i+1]\n";
+ }
+ }
+ else
+ {
+ $" = "\t";
+ print "@tokens\n";
+ }
+}
diff --git a/JLanguageTool/src/resource/es/makedict-es.sh b/JLanguageTool/src/resource/es/makedict-es.sh
new file mode 100644
index 0000000..7236f79
--- /dev/null
+++ b/JLanguageTool/src/resource/es/makedict-es.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+
+##############################################
+# Script for generating dictionaries
+#
+# Susana Sotelo Docío
+# Juan Martorell
+#
+##############################################
+LANG=POSIX
+LOCALE=POSIX
+MYLANG=`echo $0 | sed -e "s/.*makedict-\(..\).sh/\1/"`
+#PATHTO="$HOME/proxectos/linguarum/openoffice/languagetool/data/$MYLANG"
+PATHTO=.
+#BINPATH="/usr/local/bin"
+BINPATH=.
+DICTIONARY=$PATHTO/$MYLANG.dicc
+TAGLIST=taglist.txt
+
+_help()
+{
+ echo "makedict-$MYLANG.sh type"
+ echo
+ echo ' where type is one of'
+ echo ' dict: generates the dictionaries'
+ echo ' taglist: generates a list of used tags'
+ echo ' doc: generates doc files'
+ echo ' all: performs all actions'
+
+ exit
+}
+
+taglist()
+{
+ # POS taglist generating
+ echo -n "[$MYLANG] Generating taglist... "
+ gawk '{ print $3 }' < $DICTIONARY | sort -u > $TAGLIST
+ echo "[ok]"
+}
+
+dictionary()
+{
+ # Dictionary compilation
+ DICT_NAME=$LONGNAME".dict"
+ SYNTH_NAME=$LONGNAME"_synth.dict"
+ TAGS_NAME=$LONGNAME"_tags.txt"
+ echo -n "[$MYLANG] Compiling dictionary $DICT_NAME... "
+ perl $BINPATH/morph_data_es.pl < $DICTIONARY | sort -u | $BINPATH/fsa_build -A \* -O -o $DICT_NAME >& /dev/null
+ echo "[ok]"
+ echo -n "[$MYLANG] Compiling synthesizer $SYNTH_NAME... "
+ gawk -f synthesis.awk $DICTIONARY |gawk -f morph_data_es.awk | sort -u |$BINPATH/fsa_build -A \* -O -o $SYNTH_NAME >& /dev/null
+ echo "[ok]"
+ echo -n "[$MYLANG] Generating tag file $TAGS_NAME... "
+ #This is done with taglist option. TODO: consider removing one of both.
+ gawk -f tags.awk $DICTIONARY | sort -u > $TAGS_NAME
+ echo "[ok]"
+ echo -n "[$MYLANG] Testing FSA automation... "
+ cat test.txt | $BINPATH/fsa_morph -d $LONGNAME.dict > /tmp/$$outfile
+ if [ "`diff /tmp/$$outfile test-tagged.txt`" != "" ]; then
+ echo "[error]"
+ else
+ echo "[ok]"
+ fi
+}
+
+docgen()
+{
+ echo -n "[$MYLANG] Generating doc files... "
+ echo 'The dictionary was mainly obtained from the Freeling project.' > README
+ echo >> README
+ echo "http://devel.cpl.upc.edu/freeling/svn/latest/freeling/data/$MYLANG/dicc.src" >> README
+ echo 'http://garraf.epsevg.upc.es/freeling/' >> README
+ echo >> README
+ echo 'It is released under the GNU General Public License.' >> README
+ echo "[ok]"
+ echo -n "[$MYLANG] Generating doc cvs files... "
+ echo 'The dictionary was mainly obtained from the Freeling project.' > README.cvs
+ echo >> README.cvs
+ echo "http://devel.cpl.upc.edu/freeling/svn/latest/freeling/data/$MYLANG/dicc.src" >> README.cvs
+ echo 'http://garraf.epsevg.upc.es/freeling/' >> README.cvs
+ echo >> README.cvs
+ echo 'It is released under the GNU General Public License.' >> README.cvs
+ echo >> README.cvs
+ echo >> README.cvs
+ echo 'The freeling format is slightly different from LT, and it can be converted using' >> README.cvs
+ echo 'freeling2lt.pl.' >> README.cvs
+ echo >> README.cvs
+ echo "The script makedict-$MYLANG.sh is provided to make easier the generation of the FSA" >> README.cvs
+ echo "automaton from the dictionary." >> README.cvs
+ echo "[ok]"
+}
+
+if [ $MYLANG == "gl" ]; then
+ LONGNAME="galician"
+elif [ $MYLANG == "es" ]; then
+ LONGNAME="spanish"
+fi
+
+if [ -z "$1" ]; then
+ _help
+elif [ "$1" == "dict" ]; then
+ dictionary
+elif [ "$1" == "taglist" ]; then
+ taglist
+elif [ "$1" == "doc" ]; then
+ docgen
+elif [ "$1" == "all" ]; then
+ dictionary
+ taglist
+ docgen
+else
+ echo "** $1 is not a valid option."
+ echo
+ _help
+fi
+exit \ No newline at end of file
diff --git a/JLanguageTool/src/resource/es/morph_data_es.awk b/JLanguageTool/src/resource/es/morph_data_es.awk
new file mode 100644
index 0000000..05ede54
--- /dev/null
+++ b/JLanguageTool/src/resource/es/morph_data_es.awk
@@ -0,0 +1,39 @@
+# This script coverts data in the format:
+# inflected_formHTlexemeHTtags
+# (where HT is the horizontal tabulation)
+# to the form:
+# inflected_form+Kending+tags
+# where '+' is a separator, K is a character that specifies how many characters
+# should be deleted from the end of the inflected form to produce the lexeme
+# by concatenated the stripped string with the ending.
+#
+# Written by Jan Daciuk <jandac@pg.gda.pl>, 1997
+#
+function common_prefix(s1, s2, n, i)
+{
+ for (i = 1; i <= n; i++)
+ if (substr(s1, i, 1) != substr(s2, i, 1))
+ return i - 1;
+ return n;
+}
+
+BEGIN {separator = "*"}
+{
+ l1 = length($1);
+ if ((prefix = common_prefix($1, $2, l1))) {
+ printf "%s%c%c%s%c%s", $1, separator,
+ (l1 - prefix + 65), substr($2, prefix + 1),
+ separator, $3;
+ }
+ else {
+ printf "%s%c%c%s%c%s", $1, separator, 65 + l1, $2, separator, $3;
+ }
+# Delete the following (1) line if your tags do not contain spaces
+# and you would like to append comments at the end of lines
+ for (i = 4; i <= NF; i++) printf " %s", $i;
+# Do not delete this
+ printf "\n";
+}
+
+
+
diff --git a/JLanguageTool/src/resource/es/morph_data_es.pl b/JLanguageTool/src/resource/es/morph_data_es.pl
new file mode 100644
index 0000000..869b1ee
--- /dev/null
+++ b/JLanguageTool/src/resource/es/morph_data_es.pl
@@ -0,0 +1,57 @@
+#!/usr/bin/perl
+eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
+ if $running_under_some_shell;
+ # this emulates #! processing on NIH machines.
+ # (remove #! line above if indigestible)
+
+eval '$'.$1.'$2;' while $ARGV[0] =~ /^([A-Za-z_0-9]+=)(.*)/ && shift;
+ # process any FOO=bar switches
+
+# This script coverts data in the format:
+# inflected_formHTlexemeHTtags
+# (where HT is the horizontal tabulation)
+# to the form:
+# inflected_form+Kending+tags
+# where '_' is a separator, K is a character that specifies how many characters
+# should be deleted from the end of the inflected form to produce the lexeme
+# by concatenated the stripped string with the ending.
+#
+# Written by Jan Daciuk <jandac@pg.gda.pl>, 1997
+#
+
+$separator = '*';
+
+while (<>) {
+ chop; # strip record separator
+ @Fld = split('\t', $_, 9999);
+
+ $l1 = length($Fld[0]);
+ if (($prefix = &common_prefix($Fld[0], $Fld[1], $l1))) {
+ printf '%s%s%c%s%s%s', $Fld[0], $separator,
+ ($l1 - $prefix + 65), substr($Fld[1], $prefix, 999999),
+ $separator, $Fld[2];
+ }
+ else {
+ printf '%s%s%c%s%s%s', $Fld[0], $separator, 65 + $l1, $Fld[1],
+
+ $separator, $Fld[2];
+ }
+ # Delete the following (1) line if your tags do not contain spaces
+ # and you would like to append comments at the end of lines
+ for ($i = 3; $i < $#Fld; $i++) {
+ printf ' %s', $Fld[$i];
+ # Do not delete this
+ ;
+ }
+ printf "\n";
+}
+
+sub common_prefix {
+ local($s1, $s2, $n, $i) = @_;
+ for ($i = 0; $i < $n; $i++) {
+ if (substr($s1, $i, 1) ne substr($s2, $i, 1)) { #???
+ return $i;
+ }
+ }
+ $n;
+}
diff --git a/JLanguageTool/src/resource/es/spanish.info b/JLanguageTool/src/resource/es/spanish.info
new file mode 100644
index 0000000..7ce06cc
--- /dev/null
+++ b/JLanguageTool/src/resource/es/spanish.info
@@ -0,0 +1,9 @@
+#
+# Dictionary properties.
+#
+
+fsa.dict.separator=*
+fsa.dict.encoding=iso-8859-1
+
+fsa.dict.uses-prefixes=false
+fsa.dict.uses-infixes=false
diff --git a/JLanguageTool/src/resource/es/spanish_synth.info b/JLanguageTool/src/resource/es/spanish_synth.info
new file mode 100644
index 0000000..7ce06cc
--- /dev/null
+++ b/JLanguageTool/src/resource/es/spanish_synth.info
@@ -0,0 +1,9 @@
+#
+# Dictionary properties.
+#
+
+fsa.dict.separator=*
+fsa.dict.encoding=iso-8859-1
+
+fsa.dict.uses-prefixes=false
+fsa.dict.uses-infixes=false
diff --git a/JLanguageTool/src/resource/es/spanish_tags.txt b/JLanguageTool/src/resource/es/spanish_tags.txt
new file mode 100644
index 0000000..adc806f
--- /dev/null
+++ b/JLanguageTool/src/resource/es/spanish_tags.txt
@@ -0,0 +1,344 @@
+AO0FP0
+AO0FS0
+AO0MP0
+AO0MS0
+AQ0CN0
+AQ0CP0
+AQ0CS0
+AQ0FP0
+AQ0FPP
+AQ0FS0
+AQ0FSP
+AQ0MP0
+AQ0MPP
+AQ0MS0
+AQ0MSP
+AQSFP0
+AQSFS0
+AQSMP0
+AQSMS0
+CC
+CS
+DA0FP0
+DA0FS0
+DA0MP0
+DA0MS0
+DA0NS0
+DD0CP0
+DD0CS0
+DD0FP0
+DD0FS0
+DD0MP0
+DD0MS0
+DE0CN0
+DE0FP0
+DE0FS0
+DE0MP0
+DE0MS0
+DI0CP0
+DI0CS0
+DI0FP0
+DI0FS0
+DI0MP0
+DI0MS0
+DP1CPS
+DP1CSS
+DP1FPP
+DP1FSP
+DP1MPP
+DP1MSP
+DP2CPS
+DP2CSS
+DP2FPP
+DP2FSP
+DP2MPP
+DP2MSP
+DP3CP0
+DP3CS0
+DT0CN0
+DT0CP0
+DT0CS0
+DT0FP0
+DT0FS0
+DT0MP0
+DT0MS0
+Fs
+I
+NCCN000
+NCCP000
+NCCS000
+NCFN000
+NCFP000
+NCFS000
+NCMN000
+NCMP000
+NCMS000
+P0000000
+P01CP000
+P01CS000
+P02CP000
+P02CS000
+P03CN000
+PD0CP000
+PD0CS000
+PD0FP000
+PD0FS000
+PD0MP000
+PD0MS000
+PD0NS000
+PE000000
+PI0CP000
+PI0CS000
+PI0FP000
+PI0FS000
+PI0MP000
+PI0MS000
+PP1CP000
+PP1CS000
+PP1CSN00
+PP1CSO00
+PP1FP000
+PP1MP000
+PP2CP000
+PP2CP00P
+PP2CS000
+PP2CS00P
+PP2CSN00
+PP2CSO00
+PP2FP000
+PP2MP000
+PP3CN000
+PP3CNA00
+PP3CNO00
+PP3CPD00
+PP3CSD00
+PP3FP000
+PP3FPA00
+PP3FS000
+PP3FSA00
+PP3MP000
+PP3MPA00
+PP3MS000
+PP3MSA00
+PP3NS000
+PR000000
+PR0CN000
+PR0CP000
+PR0CS000
+PR0FP000
+PR0FS000
+PR0MP000
+PR0MS000
+PT000000
+PT0CN000
+PT0CP000
+PT0CS000
+PT0FP000
+PT0FS000
+PT0MP000
+PT0MS000
+PX1FP0P0
+PX1FP0S0
+PX1FS0P0
+PX1FS0S0
+PX1MP0P0
+PX1MP0S0
+PX1MS0P0
+PX1MS0S0
+PX1NS0P0
+PX1NS0S0
+PX2FP0P0
+PX2FP0S0
+PX2FS0P0
+PX2FS0S0
+PX2MP0P0
+PX2MP0S0
+PX2MS0P0
+PX2MS0S0
+PX2NS0P0
+PX2NS0S0
+PX3FP0C0
+PX3FS0C0
+PX3MP0C0
+PX3MS0C0
+PX3NS0C0
+RG
+RN
+SP+CS
+SP+DA
+SPS00
+VAG0000
+VAIC1P0
+VAIC1S0
+VAIC2P0
+VAIC2S0
+VAIC3P0
+VAIC3S0
+VAIF1P0
+VAIF1S0
+VAIF2P0
+VAIF2S0
+VAIF3P0
+VAIF3S0
+VAII1P0
+VAII1S0
+VAII2P0
+VAII2S0
+VAII3P0
+VAII3S0
+VAIP1P0
+VAIP1S0
+VAIP2P0
+VAIP2S0
+VAIP3P0
+VAIP3S0
+VAIS1P0
+VAIS1S0
+VAIS2P0
+VAIS2S0
+VAIS3P0
+VAIS3S0
+VAM01P0
+VAM02P0
+VAM02S0
+VAM03P0
+VAM03S0
+VAN0000
+VAP00PF
+VAP00PM
+VAP00SF
+VAP00SM
+VASF1P0
+VASF1S0
+VASF2P0
+VASF2S0
+VASF3P0
+VASF3S0
+VASI1P0
+VASI1S0
+VASI2P0
+VASI2S0
+VASI3P0
+VASI3S0
+VASP1P0
+VASP1S0
+VASP2P0
+VASP2S0
+VASP3P0
+VASP3S0
+VMG0000
+VMIC1P0
+VMIC1S0
+VMIC2P0
+VMIC2S0
+VMIC3P0
+VMIC3S0
+VMIF1P0
+VMIF1S0
+VMIF2P0
+VMIF2S0
+VMIF3P0
+VMIF3S0
+VMII1P0
+VMII1S0
+VMII2P0
+VMII2S0
+VMII3P0
+VMII3S0
+VMIP1P0
+VMIP1S0
+VMIP2P0
+VMIP2S0
+VMIP3P0
+VMIP3S0
+VMIS1P0
+VMIS1S0
+VMIS2P0
+VMIS2S0
+VMIS3P0
+VMIS3S0
+VMM01P0
+VMM02P0
+VMM02S0
+VMM03P0
+VMM03S0
+VMN0000
+VMP0000
+VMP00PF
+VMP00PM
+VMP00SF
+VMP00SM
+VMSF1P0
+VMSF1S0
+VMSF2P0
+VMSF2S0
+VMSF3P0
+VMSF3S0
+VMSI1P0
+VMSI1S0
+VMSI2P0
+VMSI2S0
+VMSI3P0
+VMSI3S0
+VMSP1P0
+VMSP1S0
+VMSP2P0
+VMSP2S0
+VMSP3P0
+VMSP3S0
+VSG0000
+VSIC1P0
+VSIC1S0
+VSIC2P0
+VSIC2S0
+VSIC3P0
+VSIC3S0
+VSIF1P0
+VSIF1S0
+VSIF2P0
+VSIF2S0
+VSIF3P0
+VSIF3S0
+VSII1P0
+VSII1S0
+VSII2P0
+VSII2S0
+VSII3P0
+VSII3S0
+VSIP1P0
+VSIP1S0
+VSIP2P0
+VSIP2S0
+VSIP3P0
+VSIP3S0
+VSIS1P0
+VSIS1S0
+VSIS2P0
+VSIS2S0
+VSIS3P0
+VSIS3S0
+VSM01P0
+VSM02P0
+VSM02S0
+VSM03P0
+VSM03S0
+VSN0000
+VSP00SM
+VSSF1P0
+VSSF1S0
+VSSF2P0
+VSSF2S0
+VSSF3P0
+VSSF3S0
+VSSI1P0
+VSSI1S0
+VSSI2P0
+VSSI2S0
+VSSI3P0
+VSSI3S0
+VSSP1P0
+VSSP1S0
+VSSP2P0
+VSSP2S0
+VSSP3P0
+VSSP3S0
diff --git a/JLanguageTool/src/resource/es/synthesis.awk b/JLanguageTool/src/resource/es/synthesis.awk
new file mode 100644
index 0000000..2d15d8d
--- /dev/null
+++ b/JLanguageTool/src/resource/es/synthesis.awk
@@ -0,0 +1,3 @@
+BEGIN {FS="\t"}
+{print $2"|"$3"\t"$1}
+
diff --git a/JLanguageTool/src/resource/es/taglist.txt b/JLanguageTool/src/resource/es/taglist.txt
new file mode 100644
index 0000000..adc806f
--- /dev/null
+++ b/JLanguageTool/src/resource/es/taglist.txt
@@ -0,0 +1,344 @@
+AO0FP0
+AO0FS0
+AO0MP0
+AO0MS0
+AQ0CN0
+AQ0CP0
+AQ0CS0
+AQ0FP0
+AQ0FPP
+AQ0FS0
+AQ0FSP
+AQ0MP0
+AQ0MPP
+AQ0MS0
+AQ0MSP
+AQSFP0
+AQSFS0
+AQSMP0
+AQSMS0
+CC
+CS
+DA0FP0
+DA0FS0
+DA0MP0
+DA0MS0
+DA0NS0
+DD0CP0
+DD0CS0
+DD0FP0
+DD0FS0
+DD0MP0
+DD0MS0
+DE0CN0
+DE0FP0
+DE0FS0
+DE0MP0
+DE0MS0
+DI0CP0
+DI0CS0
+DI0FP0
+DI0FS0
+DI0MP0
+DI0MS0
+DP1CPS
+DP1CSS
+DP1FPP
+DP1FSP
+DP1MPP
+DP1MSP
+DP2CPS
+DP2CSS
+DP2FPP
+DP2FSP
+DP2MPP
+DP2MSP
+DP3CP0
+DP3CS0
+DT0CN0
+DT0CP0
+DT0CS0
+DT0FP0
+DT0FS0
+DT0MP0
+DT0MS0
+Fs
+I
+NCCN000
+NCCP000
+NCCS000
+NCFN000
+NCFP000
+NCFS000
+NCMN000
+NCMP000
+NCMS000
+P0000000
+P01CP000
+P01CS000
+P02CP000
+P02CS000
+P03CN000
+PD0CP000
+PD0CS000
+PD0FP000
+PD0FS000
+PD0MP000
+PD0MS000
+PD0NS000
+PE000000
+PI0CP000
+PI0CS000
+PI0FP000
+PI0FS000
+PI0MP000
+PI0MS000
+PP1CP000
+PP1CS000
+PP1CSN00
+PP1CSO00
+PP1FP000
+PP1MP000
+PP2CP000
+PP2CP00P
+PP2CS000
+PP2CS00P
+PP2CSN00
+PP2CSO00
+PP2FP000
+PP2MP000
+PP3CN000
+PP3CNA00
+PP3CNO00
+PP3CPD00
+PP3CSD00
+PP3FP000
+PP3FPA00
+PP3FS000
+PP3FSA00
+PP3MP000
+PP3MPA00
+PP3MS000
+PP3MSA00
+PP3NS000
+PR000000
+PR0CN000
+PR0CP000
+PR0CS000
+PR0FP000
+PR0FS000
+PR0MP000
+PR0MS000
+PT000000
+PT0CN000
+PT0CP000
+PT0CS000
+PT0FP000
+PT0FS000
+PT0MP000
+PT0MS000
+PX1FP0P0
+PX1FP0S0
+PX1FS0P0
+PX1FS0S0
+PX1MP0P0
+PX1MP0S0
+PX1MS0P0
+PX1MS0S0
+PX1NS0P0
+PX1NS0S0
+PX2FP0P0
+PX2FP0S0
+PX2FS0P0
+PX2FS0S0
+PX2MP0P0
+PX2MP0S0
+PX2MS0P0
+PX2MS0S0
+PX2NS0P0
+PX2NS0S0
+PX3FP0C0
+PX3FS0C0
+PX3MP0C0
+PX3MS0C0
+PX3NS0C0
+RG
+RN
+SP+CS
+SP+DA
+SPS00
+VAG0000
+VAIC1P0
+VAIC1S0
+VAIC2P0
+VAIC2S0
+VAIC3P0
+VAIC3S0
+VAIF1P0
+VAIF1S0
+VAIF2P0
+VAIF2S0
+VAIF3P0
+VAIF3S0
+VAII1P0
+VAII1S0
+VAII2P0
+VAII2S0
+VAII3P0
+VAII3S0
+VAIP1P0
+VAIP1S0
+VAIP2P0
+VAIP2S0
+VAIP3P0
+VAIP3S0
+VAIS1P0
+VAIS1S0
+VAIS2P0
+VAIS2S0
+VAIS3P0
+VAIS3S0
+VAM01P0
+VAM02P0
+VAM02S0
+VAM03P0
+VAM03S0
+VAN0000
+VAP00PF
+VAP00PM
+VAP00SF
+VAP00SM
+VASF1P0
+VASF1S0
+VASF2P0
+VASF2S0
+VASF3P0
+VASF3S0
+VASI1P0
+VASI1S0
+VASI2P0
+VASI2S0
+VASI3P0
+VASI3S0
+VASP1P0
+VASP1S0
+VASP2P0
+VASP2S0
+VASP3P0
+VASP3S0
+VMG0000
+VMIC1P0
+VMIC1S0
+VMIC2P0
+VMIC2S0
+VMIC3P0
+VMIC3S0
+VMIF1P0
+VMIF1S0
+VMIF2P0
+VMIF2S0
+VMIF3P0
+VMIF3S0
+VMII1P0
+VMII1S0
+VMII2P0
+VMII2S0
+VMII3P0
+VMII3S0
+VMIP1P0
+VMIP1S0
+VMIP2P0
+VMIP2S0
+VMIP3P0
+VMIP3S0
+VMIS1P0
+VMIS1S0
+VMIS2P0
+VMIS2S0
+VMIS3P0
+VMIS3S0
+VMM01P0
+VMM02P0
+VMM02S0
+VMM03P0
+VMM03S0
+VMN0000
+VMP0000
+VMP00PF
+VMP00PM
+VMP00SF
+VMP00SM
+VMSF1P0
+VMSF1S0
+VMSF2P0
+VMSF2S0
+VMSF3P0
+VMSF3S0
+VMSI1P0
+VMSI1S0
+VMSI2P0
+VMSI2S0
+VMSI3P0
+VMSI3S0
+VMSP1P0
+VMSP1S0
+VMSP2P0
+VMSP2S0
+VMSP3P0
+VMSP3S0
+VSG0000
+VSIC1P0
+VSIC1S0
+VSIC2P0
+VSIC2S0
+VSIC3P0
+VSIC3S0
+VSIF1P0
+VSIF1S0
+VSIF2P0
+VSIF2S0
+VSIF3P0
+VSIF3S0
+VSII1P0
+VSII1S0
+VSII2P0
+VSII2S0
+VSII3P0
+VSII3S0
+VSIP1P0
+VSIP1S0
+VSIP2P0
+VSIP2S0
+VSIP3P0
+VSIP3S0
+VSIS1P0
+VSIS1S0
+VSIS2P0
+VSIS2S0
+VSIS3P0
+VSIS3S0
+VSM01P0
+VSM02P0
+VSM02S0
+VSM03P0
+VSM03S0
+VSN0000
+VSP00SM
+VSSF1P0
+VSSF1S0
+VSSF2P0
+VSSF2S0
+VSSF3P0
+VSSF3S0
+VSSI1P0
+VSSI1S0
+VSSI2P0
+VSSI2S0
+VSSI3P0
+VSSI3S0
+VSSP1P0
+VSSP1S0
+VSSP2P0
+VSSP2S0
+VSSP3P0
+VSSP3S0
diff --git a/JLanguageTool/src/resource/es/test-tagged.txt b/JLanguageTool/src/resource/es/test-tagged.txt
new file mode 100644
index 0000000..9b76674
--- /dev/null
+++ b/JLanguageTool/src/resource/es/test-tagged.txt
@@ -0,0 +1,2 @@
+anhelar: anhelar*VMN0000
+zurrar: zurrar*VMN0000
diff --git a/JLanguageTool/src/resource/es/test.txt b/JLanguageTool/src/resource/es/test.txt
new file mode 100644
index 0000000..80e4e39
--- /dev/null
+++ b/JLanguageTool/src/resource/es/test.txt
@@ -0,0 +1,2 @@
+anhelar
+zurrar