Skip to content

[FEATURE]: Esperanto dictionary and diacritic support #313

Open

Description

@slashdevslashurandom

Feature Description

I would like to see an Esperanto dictionary and character substitution system added to Codebook.

I considered modifying the source code myself to do that, but while the dictionary question is solved, my Rust skills are not currently good enough to handle the task of adding a whole different character substitution system in a way that will match the style of your code and not cause performance problems.

Use Case

As someone who writes in Esperanto and uses a Codebook-capable text editor for both code and non-code writing, I would like to see its support added to Codebook.

Proposed Solution

It is possible to obtain the Esperanto Hunspell dictionaries from the LibreOffice project: https://salsa.debian.org/libreoffice-team/libreoffice/libreoffice-dictionaries/-/tree/master/dictionaries/eo?ref_type=heads

For use in code specifically, where developers tend to prefer using ASCII when possible, it might be needed to implement a system of substitutions similar to the one used for German.

Most common ASCII-friendly substitutions for Esperanto are the "x-system", where "ĉ", "ĝ", "ĥ", "ĵ", "ŝ" and "ŭ" are represented by "cx", "gx", "hx", "jx", "sx" and "ux" respectively, and the older "h-system", where "ĉ", "ĝ", "ĥ", "ĵ", "ŝ" and "ŭ" are represented by "ch", "gh", "hh", "jh", "sh" and "u" respectively. (The "x-system" is more preferred today because it is unambiguous, as it doesn't collapse "ŭ" into "u" and the "x" character is not used in Esperanto words, but both tend to be used.)

So, in the "x-system", the phrase "aŭtomata ĝisdatigo" (automatic update) will become "auxtomata gxisdatigo", and in the "h-system", it will become "automata ghisdatigo".

A good test phrase for Esperanto diacritics is "eĥoŝanĝo ĉiuĵaŭde" ("echo change every Thursday"), which happens to include every diacritic in the language. The "x-system" will represent it as "ehxosxangxo cxiujxauxde", and the "h-system" as "ehhoshangho chiujhaude".

Alternative Solutions

No response

Examples

No response

Additional Context

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions