Plover plugin for Melani system in Spanish

153 views
Skip to first unread message

Noelia

unread,
Nov 14, 2020, 12:03:41 AM11/14/20
to plove...@googlegroups.com
Hello:

This is my first post on this mailing list. First of all, thanks a lot
to daniele Casarola, who talked me about Plover some months ago.
I use Winsteno program in my job, but this is not updated and it's not
open source. A colleague and me are adapting our database used with
Melani system for Spanish to be used with Plover.
This has an advantage, since we won't need to use old versions of
Microsoft Access and personally I prefer open source projects.
The plugin is in planning stage, but we're just cleaning up our
dictionaries. Functionality seems to work properly, though we expect
to start using Plover in production in about 3 or 4 months.
In case someone wants to see the source code or bring up some ideas or
improvements, especially in documentation, it's published on pypi and
available on GitHub at

https://github.com/nvdaes/plover_spanish_mqd

It's based on a template to build systems for Plover and I used
examples and documentation from

https://github.com/openstenoproject/plover/wiki/Plugins

Thanks

Stella

unread,
Nov 14, 2020, 1:39:48 AM11/14/20
to plove...@googlegroups.com
I'm excited about this, since I want to type in Spanish using this system and maybe build a dictionary in my native language (Tagalog). Please keep us updated on Melani for Spanish.


--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ploversteno/CAAtLpyce8wR4tQyvxRdK7y9kw%3D3XPypW%2B2_xQ48J8BXwQicyoQ%40mail.gmail.com.

Noelia

unread,
Nov 14, 2020, 2:49:56 AM11/14/20
to plove...@googlegroups.com
Great!
Providing more details, an overview of the plugin functionaity:

1. I renamed the keys according to our previous database, and also the
key order, putin asterisk (the central key in a Stentura machine), and
#, the bar used for numbers, at the end.
2. Three dictionaries are used: Two Python dictionaries, one for
single strokes (that have two different translations for complete
strokes, or subset of keys contained in a stroke), and other Python
dictionary for double strokes used to write verbs, so we can write
them in a easy way, according to the next stroke. This is not easy to
explain, but seeing the dictionaries it's easy to understand.
The third dictionary is a json file, mostly used with a meta command
where we can set two translation for a single stroke. But in this case
one of them is to start a word, that is, if the previous writen text
ends with a space or is placed after "predefined prefixes", or also if
the next word will be capitalized, like after a carriage return, and
the other translation is for following a word. These are separated by
|.
This requires to use a second plugin also developed by me, installed
automatically when we install the main plugin.
I work mostly in real time (also in prerecorded audio transcriptions).
If you want to see a demonstration of spanish system, this was a work
made by me in 2015 where a person mentioned it and asked me short
questions to show that this is not an automatic system but operated by
a person. Of course here I use Winsteno, not Plover, whith a Stentura
machine (italian version):

https://www.youtube.com/watch?v=-ZOPmCu9hMQ
3
Kind regards
> https://groups.google.com/d/msgid/ploversteno/CAMemySdSr0GBJ_NfwZ4HDLkV_ZXrhBaA3iUV_bivTGf53Uy0mg%40mail.gmail.com.
>
Message has been deleted

Sillabix

unread,
Nov 14, 2020, 9:37:29 AM11/14/20
to Plover
That's interesting, my compliments. I know a bit the main principles of the Melani system for Italian but looking at your dictionaries for Spanish are not quite clear to me their working principles, especially the two translations for a single stroke and "predefined prefixes". Are there any links which explain a bit the main principles of the Melani theory for Spanish?

Noelia

unread,
Nov 14, 2020, 9:40:09 AM11/14/20
to plove...@googlegroups.com
Hello, thanks for your interest. Really I don't know about links for
Melani in Spanish.
I can explain that the database, named Voc-es.mdb, included in
Winsteno program, has a battab table with 4 fields: batutta, completa,
semplice and completa_iniciale. When this last field contains a -1
instead of 0, if completa field is not empty, it will be used for the
translation of the corresponding stroke just if the output string will
start a word, that is, if the previous character is a space or if the
preceding translation contains an &+i;.
So, the single dictionary created by me contains strokes (keys)
assigned to a tuple, similar to completa and semplice fields.
Also, Voc-es.mdb (the database for Spanish in Melani system), allows
to assign sequences of strokes using the \ symbol. This can be done in
Plover with /.
But for simplicity I compacted most code in a dictionary named double
writen in Python, so that we don't need to write the full list of
strokes/translations.
I documented the plover_start_words plugin at

https://github.com/nvdaes/plover_start_words

Kind regards

2020-11-14 15:27 GMT+01:00, Sillabix <sill...@gmail.com>:
> That's interesting, my compliments. I know a bit the main principles of the
>
> Melani system for Italian but looking at your dictionaries for Spanish it's
>
> not quite clear to me the working principles, especially the two
> translations for a single stroke and "predefined prefixes". Are there any
> links which explain a bit the main principles of the Melani theory for
> Spanish?
>
> Il giorno sabato 14 novembre 2020 alle 08:49:56 UTC+1 nrm...@gmail.com ha
> scritto:
>
> https://groups.google.com/d/msgid/ploversteno/47c2c1e1-defe-4a59-bd0e-7a64c334026bn%40googlegroups.com.
>

Robert Winkler

unread,
Nov 16, 2020, 9:12:44 AM11/16/20
to Noelia, ploversteno
Hi,
will it be possible to use this data base as a Plover dictionary?
Best regards,
Robert

Excerpts from Noelia's message of 2020-11-14 15:40:05 +0100:

Noelia Ruiz

unread,
Nov 16, 2020, 1:54:13 PM11/16/20
to Robert Winkler, ploversteno
Hi, as far as I know, we cannot convert the MS Access database to be used as a dictionary directly. We have to implement it in Plover and we can do it in different ways, for example, adding each registry in json dictionaries or compacting code using certain patterns. This is what I did using Python dictionaries, so I didn"t need to add the full list of registries found in MS Access database.. Anyway I don"t use the exact algorithm used by Melani. I improved it in particular regarding verbs.
Cheers

Enviado desde mi iPhone

> El 16 nov 2020, a las 15:12, Robert Winkler <robert.wi...@gmail.com> escribió:
>
>  Hi,

Robert Winkler

unread,
Nov 16, 2020, 6:15:35 PM11/16/20
to Plover
Mhmm. As far as I understand, the JSON dictionaries have the format stroke -> word 
Is this different for the MS Access and Python Dictionaries? If possible, I would try the conversion.

Noelia

unread,
Nov 16, 2020, 11:28:08 PM11/16/20
to plove...@googlegroups.com
Hello, in fact, it's different for the database used by Melani system,
who has 4 columns, not two, and I didn't find a method to convert the
database directly.
Anyway, I prefer to use Python dictionaries, since it makes possible
to compact the code reducing the number of needed lines and with
smaller files, easier to maintain, I think. I use json for names like
cities, persons, etc
But for example in Melani database we (in Spanish, not in the original
database which I received to learn in 2000, when I studied Melani
system for Spanish), we had more than 2000 entries for numbers since
we included descendant and double digit numbers like 21 or 33. And
with Python dictionaries it just requires a few lines of code: a
dictionary containing single numbers and an algorithm to indicate how
they should be translated.
Here's documentation about dictionary format for Plover , including
json and RTF/CRE dictionaries:
https://github.com/openstenoproject/plover/wiki/Dictionary-Format

I updated documentation for the system which we're developing in my
job (and at home in my free time), which includes links to the Python
dictionary plugin, required by this system:
https://github.com/nvdaes/plover_spanish_mqd

Regards
> https://groups.google.com/d/msgid/ploversteno/05fe2a50-09f8-4d3d-8911-745de372c3e5n%40googlegroups.com.
>

casarol...@gmail.com

unread,
Nov 25, 2020, 3:58:47 PM11/25/20
to Plover
Hi Noelia,

I'm glad to see you realized this project.

I give you some informations I hope will be useful for you.

Also the Melani dictionary in Italian originally had four fields, or better, five columns:
1. Battuta (stroke)
2. Completa (Complete translation)
3. Completa iniziale (Complete initial translation)
4. ReadOnly /value 0 or 1)
5. Semplice (value -1 or 0)

The solution to compress all these informations into two columns in Plover (Strokes and Translations) has been to use the "/" (slash) character at the beginning of the Strokes field.

For example:

"/PTVIAte": "abbiate"

In the italian keyboard:
PTV = letter "b"
so basically if you press that strole you are typing "biate".

The slash at the beginning of the stroke indicates that if you press this stroke as a new word, the output is the word "abbiate", but if the word is not complete and you press this stroke, the output will be "biate", and it is "biate" because of a small phonetic/ortographic .py dictionary which conteins all of these informations.

The use of the slash basically makes useless the need of all four fields.

A new tag has also been created, the dollar {$}.
Using this tag into the translation field, force that strokes combination to be considered as a complete word, so the next stroke will be for sure a new word.

For example:
"HRhr": "dell'{^}{$}",

It seems complicated to show by words, but the concept is easy.

Pierre Benoit maybe can help you to transfer Melani for Spanish into Plover, starting from the original Winsteno dictionary, reading your posts I have the feeling it is quite similar to the italian one, and why shouldn't be? Originates from the same person.

I cannot help you under the code point of you, but if you need some additional specific information on how the Melani Italian works in Plover, no problem.

Warmest regards.

Daniele.

Noelia Ruiz

unread,
Nov 25, 2020, 8:45:36 PM11/25/20
to plove...@googlegroups.com
Hi Daniele:

I"m very happy to see you here and I think that your explanations are very valuable. I work with a friend in a small company and she"s is ordering the translations contained in our MS Access database organizing the translations, for example putting names (not general words) in separate dictionaries, so we can replace them for specific events without touching Python dictionaries. She is now in r character, quite advanced. Also, I created unit tests performed when I push (or upload) changes to the repo on GitHub. In this way we check if the first column follows the right order for strokes and some aspects of the number of fields and the content validity of our dictionaries, or if some strokes, used for irregular verbs, produce the expected results.
We have our system almost ready to be fully tested and almos ready to be used in production.
But if this can be done in a better way with the same results, I"m happy to receive help. I explored your json files (some lines) and didn"t find a way to open the Python code used in the italian version of Plover. For this reason I created a plugin for Spanish.
If you want, feel free to share the repo of the plugin with the person who may help me, in case this person can make some suggestions or pull requests. I will ask you if I have questions about this matters.
The repo is at

https://github.com/nvdaes/plover_spanish_mqd

Enviado desde mi iPhone

El 25 nov 2020, a las 21:58, casarol...@gmail.com <casarol...@gmail.com> escribió:

Hi Noelia,
--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
Message has been deleted

Delfor Hernán Castro

unread,
Dec 23, 2020, 11:36:13 AM12/23/20
to Plover
Hi.
I'm posting a .json spanish-melani system. is still under construction:


Cheers,

Delfor.
To unsubscribe from this group and stop receiving emails from it, send an email to plove...@googlegroups.com.

Noelia Ruiz

unread,
Dec 23, 2020, 11:39:40 AM12/23/20
to plove...@googlegroups.com
Thanks, I am using the plugin for Melani system in Spanish, developed by a colleague and me, in production at this moment, I started recently, and it works as expected.
Cheers

Enviado desde mi iPhone

El 23 dic 2020, a las 17:36, Delfor Hernán Castro <del...@gmail.com> escribió:


To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ploversteno/4e7ecadb-26b9-4c73-b333-7bb8bc144d3eo%40googlegroups.com.

Delfor Hernán Castro

unread,
Dec 23, 2020, 12:37:14 PM12/23/20
to Plover
Hola Noelia, ¿cómo estás?
Saludos desde Argentina!

Dejé por ahí, en el hilo, un diccionario que estoy construyendo. Espero sea de utilidad.
Te comento: tengo un problema, y quizás me puedas ayudar. Estoy estudiando Melani. Usarlo en Windows no me genera ningún problema, dado que uso la distribución publicada en stenolab.it sin ningún problema con mi máquina Stentura 400SRT.
Sin embargo, hace tiempo quiero abandonar Windows, pero conseguir que funcione plover con melani en Linux no está siendo nada fácil. Me he comunicado con Benoit en algunas ocasiones, pero me da pena molestarlo tanto.

Básicamente la situación es la siguiente:
Esto usando Debian 10 de 64bits. Uso el AppImage: el programa abre sin problemas, pero si bien en Configuración->Machine me ofrece Stentura Italian, cuando la selecciono, plover no reconoce ningún golpe (me dice que la máquina está desconectada). Entonces, cuando elijo Stentura me dice que está conectada pero, claro, escribe con el layout americano.

Probé usando Wine para hacer "andar" el .exe de Melani, pero anda más o menos: no me vuelca las traducciones en ninguna parte, aunque sí me reconoce la cinta. Pero no me sirve, pues.

Luego probé con tu plugin, instalándolo en el AppImage. Lo instala y me ofrece en System la opción Spanish MQD. Lo selecciono (en la opción Máquina, dejo seleccionado Stentura Italian version), y el layout de la cinta cambia, pero cuando tipeo no pasa nada: no escribe nada en la cinta, aunque Plover me dice que la máquina está "connected".
¿Alguna idea de dónde puedo estar fallando? También probé con LinuxLite (basado en Ubuntu), pero también tuve problemas :(

Saludos!
Delfor.

Noelia Ruiz

unread,
Dec 23, 2020, 1:14:22 PM12/23/20
to plove...@googlegroups.com
Hola:

Un placer conocerte y poder hablar en nuestro idioma. Solo he probado el plugin plover spanish mqd en Windows 10, así que no puedo ayudarte. Si se me ocurre algo te lo comentaré por aquí.
Saludos

Enviado desde mi iPhone

El 23 dic 2020, a las 18:37, Delfor Hernán Castro <del...@gmail.com> escribió:


--
You received this message because you are subscribed to the Google Groups "Plover" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ploversteno...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages