[Slovak] Preparing for inclusion in the Sailfish OS release

I would like Slovak language to be one of the officially supported languages of Sailfish OS. With the help of @sledges I translated all the phrases. I assume that not everything is translated in accordance with mobile terminology (I work mainly on Win/Linux).
I hope that the Slovak language will get to the next version after (3.4.?). I don’t have much translation experience, so I would welcome volunteers who would like to help me with that. I have the authority of a coordinator for the Slovak language.
I suggest using the Czech keyboard CS also for the Slovak language SK (unless copyright prevents this?). I have been using it for a long time together with the unofficial Slovak translation (Storeman) and I am satisfied with it.

3 Likes

The unofficial Slovak translation is pretty outdated (from 2016) https://openrepos.net/content/xmlich02/jolla-translations-sksk

In the case if you need packaging of the more recent pootle translation just let me know.

Thanks for the offer, but I don’t know how to provide you with the translated file from https://translate.sailfishos.org/sk/.
The translation is done for version 3.4. After its publication, it would be possible to test the correctness of the translation on an unofficial translation.

Thanks for the offer, but I don’t know how to provide you with the translated file from https://translate.sailfishos.org/sk/.

Don’t worry about it: we put together some scripts which downloads the necessary files from pootle for packaging.

The locale code of the Slovak language should be sk_SK right?

I don’t know, it can be also sk. What is the difference between sk and sk_SK? As far as I know, the Slovak language has only one mutation, SK.

It’s best to include the ‘_SK’ part, sometimes not including it can cause some software to behave in strange ways.

1 Like

One question what I forgot to ask:

What string would you like to see in the Language list? Slovenčina?
There is a field for the country name as well but I think for it Slovensku is the correct term.

Anyway I generated an RPM with these well educated guesses, you can install it from openrepos via storeman:
https://openrepos.net/content/martonmiklos/slovak-community-translation-jolla

Enjoy and if you need updated one for testing or something needs correction just notify me with a mention.

Cheers from the southern neighbourhood!

Yes, Slovenčina is right.

I don’t know this, I have to see it, but I think it should be Slovensko.

Before installation, do I have to uninstall the old version https://openrepos.net/content/xmlich02/jolla-translations-sksk?

Thank you, southern neighbor :slight_smile:

I couldn’t wait, I uninstalled the old ones, installed the new ones according to your instructions and it works! :slight_smile:
Some phrases are in English (previously they were in Slovak). I’ll check the translation, but I assume the IDs for version 3.4 have changed (I have 3.3). I will have to wait for its release.

Good job, @martonmiklos, thanks!

Hi @martonmiklos,
I made some corrections in the translation. Could you create an updated slovak-community-translation-jolla package, please?

1 Like

Updated package can be found on openrepos.
Have fun!

1 Like

Thanks, its nice. :slight_smile:

I have a Gemini PDA with a US keyboard, but SFOS does not support the Slovak keyboard until version 3.3. I made a virtual keyboard and key mapping.

The /usr/share/X11/xkb/symbols/planet_vndr/gemini file contains a configuration of character mapping to keys. I made a backup of him

$ devel-su cp /usr/share/X11/xkb/symbols/planet_vndr/gemini /usr/share/X11/xkb/symbols/planet_vndr/gemini.old

I opened the gemini file for editing

$ devel-su vi /usr/share/X11/xkb/symbols/planet_vndr/gemini

At the end of the file, I inserted


default  partial alphanumeric_keys
xkb_symbols "sk" {
    include "planet_vndr/gemini(gb)"
    include "group(shifts_toggle)"

    name[Group1] = "Gemini Slovak";
    name[Group2] = "Gemini Slovak (qwerty)";

    // 1. row
    key <AE01>	{ symbols[Group1] = [    plus,       1, asciicircum,    F1 ] };
    key <AE02>	{ symbols[Group1] = [  lcaron,       2,   backslash,    F2 ] };
    key <AE03>	{ symbols[Group1] = [  scaron,       3,         bar,    F3 ] };
    key <AE04>	{ symbols[Group1] = [  ccaron,       4,  asciitilde,    F4 ] };
    key <AE05>	{ symbols[Group1] = [  tcaron,       5,   parenleft,    F5 ] };
    key <AE06>	{ symbols[Group1] = [  zcaron,       6,  parenright,    F6 ] };
    key <AE07>	{ symbols[Group1] = [  yacute,       7,   braceleft,    F7 ] };
    key <AE08>	{ symbols[Group1] = [  aacute,       8,  braceright,    F8 ] };
    key <AE09>	{ symbols[Group1] = [  iacute,       9,     percent,    F9 ] };
    key <AE10>	{ symbols[Group1] = [  eacute,       0,       equal,   F10 ] };

    key <AE01>	{ symbols[Group2] = [    plus,       1, asciicircum,    F1 ] };
    key <AE02>	{ symbols[Group2] = [  lcaron,       2,   backslash,    F2 ] };
    key <AE03>	{ symbols[Group2] = [  scaron,       3,         bar,    F3 ] };
    key <AE04>	{ symbols[Group2] = [  ccaron,       4,  asciitilde,    F4 ] };
    key <AE05>	{ symbols[Group2] = [  tcaron,       5,   parenleft,    F5 ] };
    key <AE06>	{ symbols[Group2] = [  zcaron,       6,  parenright,    F6 ] };
    key <AE07>	{ symbols[Group2] = [  yacute,       7,   braceleft,    F7 ] };
    key <AE08>	{ symbols[Group2] = [  aacute,       8,  braceright,    F8 ] };
    key <AE09>	{ symbols[Group2] = [  iacute,       9,     percent,    F9 ] };
    key <AE10>	{ symbols[Group2] = [  eacute,       0,       equal,   F10 ] };


    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,     XF86AudioPlay,       dead_abovering ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,       bracketleft,           dead_tilde ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,      bracketright,           dead_caron ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,          EuroSign,      dead_circumflex ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,             Print,           dead_breve ] };
    key <AD06>	{ symbols[Group1] = [	z,			Z,              less,          dead_ogonek ] };
    key <AD07>	{ symbols[Group1] = [	u,			U,           greater,           dead_grave ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,             slash,        dead_abovedot ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,        apostrophe,           dead_acute ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,        adiaeresis,     dead_doubleacute ] };

    key <AD01>	{ symbols[Group2] = [	q,			Q,     XF86AudioPlay,       dead_abovering ] };
    key <AD02>	{ symbols[Group2] = [	w,			W,       bracketleft,           dead_tilde ] };
    key <AD03>	{ symbols[Group2] = [	e,			E,      bracketright,           dead_caron ] };
    key <AD04>	{ symbols[Group2] = [	r,			R,          EuroSign,      dead_circumflex ] };
    key <AD05>	{ symbols[Group2] = [	t,			T,             Print,           dead_breve ] };
    key <AD06>	{ symbols[Group2] = [	y,			Y,              less,          dead_ogonek ] };
    key <AD07>	{ symbols[Group2] = [	u,			U,           greater,           dead_grave ] };
    key <AD08>	{ symbols[Group2] = [	i,			I,             slash,        dead_abovedot ] };
    key <AD09>	{ symbols[Group2] = [	o,			O,        apostrophe,           dead_acute ] };
    key <AD10>	{ symbols[Group2] = [	p,			P,        adiaeresis,     dead_doubleacute ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,          A, XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group1] = [          s,          S,           at,        section ] };
    key <AC03>	{ symbols[Group1] = [          d,          D,  XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group1] = [          f,          F,      XF86UWB,    dead_macron ] };
    key <AC05>	{ symbols[Group1] = [          g,          G,       dollar,   dead_cedilla ] };
    key <AC06>	{ symbols[Group1] = [          h,          H,     asterisk,         degree ] };
    key <AC07>	{ symbols[Group1] = [          j,          J,     quotedbl,         ssharp ] };
    key <AC08>	{ symbols[Group1] = [          k,          K,       exclam,        Hstroke ] };
    key <AC09>	{ symbols[Group1] = [          l,          L,    semicolon,        Lstroke ] };
    key <AC11>	{ symbols[Group1] = [      minus, underscore,  ocircumflex,     dead_caron ] };

    key <AC01>	{ symbols[Group2] = [          a,          A, XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group2] = [          s,          S,           at,        section ] };
    key <AC03>	{ symbols[Group2] = [          d,          D,  XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group2] = [          f,          F,      XF86UWB,    dead_macron ] };
    key <AC05>	{ symbols[Group2] = [          g,          G,       dollar,   dead_cedilla ] };
    key <AC06>	{ symbols[Group2] = [          h,          H,     asterisk,         degree ] };
    key <AC07>	{ symbols[Group2] = [          j,          J,     quotedbl,         ssharp ] };
    key <AC08>	{ symbols[Group2] = [          k,          K,       exclam,        Hstroke ] };
    key <AC09>	{ symbols[Group2] = [          l,          L,    semicolon,        Lstroke ] };
    key <AC11>	{ symbols[Group2] = [      minus, underscore,  ocircumflex,     dead_caron ] };

    // 4. row
    key <AB01>  { symbols[Group1] = [            y,            Y,            numbersign,        guillemotleft ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,             ampersand,       guillemotright ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown, rightsinglequotemark ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,           exclamdown ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,                 grave,            masculine ] };
    key <AB09>	{ symbols[Group1] = [       period,        colon,                 U263A,             division ] };

    key <AB01>	{ symbols[Group2] = [            z,            Z,            numbersign,        guillemotleft ] };
    key <AB02>	{ symbols[Group2] = [            x,            X,             ampersand,       guillemotright ] };
    key <AB03>	{ symbols[Group2] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group2] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [            b,            B, XF86MonBrightnessDown, rightsinglequotemark ] };
    key <AB06>	{ symbols[Group2] = [            n,            N,   XF86MonBrightnessUp,           exclamdown ] };
    key <AB07>	{ symbols[Group2] = [            m,            M,                 grave,            masculine ] };
    key <AB09>	{ symbols[Group2] = [       period,        colon,                 U263A,             division ] };

    key <AB08>  { symbols[Group1] = [     comma,       question, XF86Option,   multiply ] };
    key <AB08>  { symbols[Group2] = [     comma,       question, XF86Option,   multiply ] };
};

Since SFOS 3.3 for Gemini does not contain a Slovak keyboard, but contains a Czech one, I used this one (for Czech characters, there is also no mapping of characters to the Gemini keyboard in SFOS). In the second line I changed “sk” to “cz”

xkb_symbols "sk"

Edited file
/usr/share/X11/xkb/symbols/planet_vndr/gemini
I saved. I made a backup of it so that I would not lose it during the next SFOS update.
In Settings/Text input, I selected Active keyboard Czech, Active layout Czech. I restarted the device.
I made a 2048x2048 keyboard layout image and used it as Ambiences

In practice, it looks like this

Good luck!