diff --git a/font-list.csv b/font-list.csv new file mode 100644 index 0000000..5834028 --- /dev/null +++ b/font-list.csv @@ -0,0 +1,377 @@ +FONT;DESCRIPTION +Agafari-12; +Agafari-14; +Agafari-16; +aply16; +cp850-8x8; +cp850-8x14; +cp850-8x16; +cp865-8x8; +cp865-8x14; +cp865-8x16; +cp866-8x8; +cp866-8x14; +cp866-8x16; +cp1250; +cyr-sun16;Fonts that support Cyrillic characters +Cyr_a8x8;Fonts that support Cyrillic characters +Cyr_a8x14;Fonts that support Cyrillic characters +Cyr_a8x16;Fonts that support Cyrillic characters +default8x9; +default8x16; +drdos8x6; +drdos8x8; +drdos8x14; +drdos8x16; +eurlatgr; +GohaClassic-12; +GohaClassic-14; +GohaClassic-16; +Goha-12; +Goha-14; +Goha-16; +gr737a-8x8; +gr737a-9x14; +gr737a-9x16; +gr737b-8x11; +gr737b-9x16-medieval; +gr737c-8x6; +gr737c-8x7; +gr737c-8x8; +gr737c-8x14; +gr737c-8x16; +gr737d-8x16; +gr928a-8x14; +gr928a-8x16; +gr928b-8x14; +gr928b-8x16; +gr928-8x16-thin; +gr928-9x14; +gr928-9x16; +greek-polytonic; +iso01-12x22; +iso02-12x22; +iso07u-16; +koi8r.8x8;Fonts that support Cyrillic characters +koi8u_8x8;Fonts that support Cyrillic characters +koi8u_8x14;Fonts that support Cyrillic characters +koi8u_8x16;Fonts that support Cyrillic characters +koi8-14;Fonts that support Cyrillic characters +lat0-08; +lat0-10; +lat0-12; +lat0-14; +lat0-16; +lat0-sun16; +lat1-08; +lat1-10; +lat1-12; +lat1-14; +lat1-16; +lat2a-16; +lat2-08; +lat2-10; +lat2-12; +lat2-14; +lat2-16; +lat2-sun16; +Lat2-Terminus16; +lat4a-08; +lat4a-10; +lat4a-12; +lat4a-14; +lat4a-16+; +lat4a-16; +lat4a-19; +lat4-08; +lat4-10; +lat4-12; +lat4-14; +lat4-16+; +lat4-16; +lat4-19; +lat5-12; +lat5-14; +lat5-16; +lat7a-14; +lat7a-16; +lat7-14; +lat9u-08; +lat9u-10; +lat9u-12; +lat9u-14; +lat9u-16; +lat9v-08; +lat9v-10; +lat9v-12; +lat9v-14; +lat9v-16; +lat9w-08; +lat9w-10; +lat9w-12; +lat9w-14; +lat9w-16; +lat9-08; +lat9-10; +lat9-12; +lat9-14; +lat9-16; +LatArCyrHeb-08;Fonts that support Latin Arabic Cyrillic Hebrew characters +LatArCyrHeb-14;Fonts that support Latin Arabic Cyrillic Hebrew characters +LatArCyrHeb-16+;Fonts that support Latin Arabic Cyrillic Hebrew characters +LatArCyrHeb-16;Fonts that support Latin Arabic Cyrillic Hebrew characters +LatArCyrHeb-19;Fonts that support Latin Arabic Cyrillic Hebrew characters +latarcyrheb-sun16;Fonts that support Latin Arabic Cyrillic Hebrew characters +latarcyrheb-sun32;Fonts that support Latin Arabic Cyrillic Hebrew characters +LatGrkCyr-8x16;Fonts that support Latin Greek Cyrillic characters +LatGrkCyr-12x22;Fonts that support Latin Greek Cyrillic characters +LatKaCyrHeb-14; +pancyrillic.f16; +ruscii_8x8;Fonts that support Cyrillic characters +ruscii_8x16;Fonts that support Cyrillic characters +solar24x32; +sun12x22; +tcvn8x16; +ter-112n;Terminus fonts that support Cyrillic characters +ter-114b; +ter-114n; +ter-116b; +ter-116n; +ter-118b; +ter-118n; +ter-120b; +ter-120n; +ter-122b; +ter-122n; +ter-124b; +ter-124n; +ter-128b; +ter-128n; +ter-132b; +ter-132n; +ter-212n; +ter-214b; +ter-214n; +ter-216b; +ter-216n; +ter-218b; +ter-218n; +ter-220b; +ter-220n; +ter-222b; +ter-222n; +ter-224b; +ter-224n; +ter-228b; +ter-228n; +ter-232b; +ter-232n; +ter-712n; +ter-714b; +ter-714n; +ter-716b; +ter-716n; +ter-718b; +ter-718n; +ter-720b; +ter-720n; +ter-722b; +ter-722n; +ter-724b; +ter-724n; +ter-728b; +ter-728n; +ter-732b; +ter-732n; +ter-912n; +ter-914b; +ter-914n; +ter-916b; +ter-916n; +ter-918b; +ter-918n; +ter-920b; +ter-920n; +ter-922b; +ter-922n; +ter-924b; +ter-924n; +ter-928b; +ter-928n; +ter-932b; +ter-932n; +ter-c12n; +ter-c14b; +ter-c14n; +ter-c16b; +ter-c16n; +ter-c18b; +ter-c18n; +ter-c20b; +ter-c20n; +ter-c22b; +ter-c22n; +ter-c24b; +ter-c24n; +ter-c28b; +ter-c28n; +ter-c32b; +ter-c32n; +ter-d12n; +ter-d14b; +ter-d14n; +ter-d16b; +ter-d16n; +ter-d18b; +ter-d18n; +ter-d20b; +ter-d20n; +ter-d22b; +ter-d22n; +ter-d24b; +ter-d24n; +ter-d28b; +ter-d28n; +ter-d32b; +ter-d32n; +ter-g12n; +ter-g14b; +ter-g14n; +ter-g16b; +ter-g16n; +ter-g18b; +ter-g18n; +ter-g20b; +ter-g20n; +ter-g22b; +ter-g22n; +ter-g24b; +ter-g24n; +ter-g28b; +ter-g28n; +ter-g32b; +ter-g32n; +ter-h12n; +ter-h14b; +ter-h14n; +ter-h16b; +ter-h16n; +ter-h18b; +ter-h18n; +ter-h20b; +ter-h20n; +ter-h22b; +ter-h22n; +ter-h24b; +ter-h24n; +ter-h28b; +ter-h28n; +ter-h32b; +ter-h32n; +ter-i12n; +ter-i14b; +ter-i14n; +ter-i16b; +ter-i16n; +ter-i18b; +ter-i18n; +ter-i20b; +ter-i20n; +ter-i22b; +ter-i22n; +ter-i24b; +ter-i24n; +ter-i28b; +ter-i28n; +ter-i32b; +ter-i32n; +ter-k12n; +ter-k14b; +ter-k14n; +ter-k16b; +ter-k16n; +ter-k18b; +ter-k18n; +ter-k20b; +ter-k20n; +ter-k22b; +ter-k22n; +ter-k24b; +ter-k24n; +ter-k28b; +ter-k28n; +ter-k32b; +ter-k32n; +ter-m12n; +ter-m14b; +ter-m14n; +ter-m16b; +ter-m16n; +ter-m18b; +ter-m18n; +ter-m20b; +ter-m20n; +ter-m22b; +ter-m22n; +ter-m24b; +ter-m24n; +ter-m28b; +ter-m28n; +ter-m32b; +ter-m32n; +ter-p12n; +ter-p14b; +ter-p14n; +ter-p16b; +ter-p16n; +ter-p18b; +ter-p18n; +ter-p20b; +ter-p20n; +ter-p22b; +ter-p22n; +ter-p24b; +ter-p24n; +ter-p28b; +ter-p28n; +ter-p32b; +ter-p32n; +ter-u12n; +ter-u14b; +ter-u14n; +ter-u16b; +ter-u16n; +ter-u18b; +ter-u18n; +ter-u20b; +ter-u20n; +ter-u22b; +ter-u22n; +ter-u24b; +ter-u24n; +ter-u28b; +ter-u28n; +ter-u32b; +ter-u32n; +ter-v12n; +ter-v14b; +ter-v14n; +ter-v16b; +ter-v16n; +ter-v18b; +ter-v18n; +ter-v20b; +ter-v20n; +ter-v22b; +ter-v22n; +ter-v24b; +ter-v24n; +ter-v28b; +ter-v28n; +ter-v32b; +ter-v32n; +UniCyrExt_8x16; +UniCyr_8x8; +UniCyr_8x14; +UniCyr_8x16; +viscii10-8x16; \ No newline at end of file diff --git a/gresource.xml b/gresource.xml index 507d914..056455f 100644 --- a/gresource.xml +++ b/gresource.xml @@ -4,11 +4,14 @@ ubl-settings-keyboard.glade ubl-settings-keyboard-layouts.glade ubl-settings-keyboard-options.glade + ubl-settings-keyboard-keymaps.glade + ubl-settings-keyboard-font.glade ubl-settings-keyboard.css - layouts.csv + keymap-list.csv + font-list.csv \ No newline at end of file diff --git a/keymap-list.csv b/keymap-list.csv new file mode 100644 index 0000000..ad2f730 --- /dev/null +++ b/keymap-list.csv @@ -0,0 +1,248 @@ +KEYMAP;GROUP;DESCRIPTION +3l;; +adnw;; +amiga-de;amiga; +amiga-us;amiga; +ANSI-dvorak;; +apple-a1048-sv;mac; +apple-a1243-sv-fn-reverse;mac; +apple-a1243-sv;mac; +apple-internal-0x0253-sv-fn-reverse;mac; +apple-internal-0x0253-sv;mac; +applkey;; +atari-de;atari; +atari-se;atari; +atari-uk-falcon;atari; +atari-us;atari; +azerty;; +backspace;; +bashkir;; +be-latin1;; +bg-cp855;; +bg-cp1251;; +bg_bds-cp1251;; +bg_bds-utf8;; +bg_pho-cp1251;; +bg_pho-utf8;; +bone;; +br-abnt2;; +br-abnt;; +br-latin1-abnt2;; +br-latin1-us;; +bywin-cp1251;; +by-cp1251;; +by;; +carpalx-full;; +carpalx;; +ca;; +cf;; +colemak;; +croat;; +ctrl;; +cz-cp1250;; +cz-lat2-prog;; +cz-lat2;; +cz-qwertz;; +cz-us-qwertz;; +cz;; +defkeymap;; +defkeymap_V1.0;; +de-latin1-nodeadkeys;; +de-latin1;; +de-mobii;; +de;; +de_alt_UTF-8;; +de_CH-latin1;; +dk-latin1;; +dk;; +dvorak-ca-fr;; +dvorak-de;; +dvorak-es;; +dvorak-fr;; +dvorak-la;; +dvorak-l;; +dvorak-no;; +dvorak-programmer;; +dvorak-ru;; +dvorak-r;; +dvorak-sv-a1;; +dvorak-sv-a5;; +dvorak-ukp;; +dvorak-uk;; +dvorak;; +emacs2;; +emacs;; +en;pine; +es-cp850;; +es-olpc;; +es;; +et-nodeadkeys;; +et;; +euro1;; +euro2;; +euro;; +fa;qwerty;Persian ISIRI-2901 Unicode console. Toggled by Shift+AltGr key. +fi;; +fr-bepo-latin9;; +fr-bepo;; +fr-latin1;; +fr-latin9;; +fr-pc;; +fr;; +fr_CH-latin1;; +fr_CH;; +gr-pc;; +gr;; +hu101;; +hu;; +ie;; +il-heb;; +il-phonetic;; +il;; +is-latin1-us;; +is-latin1;; +it2;; +it-ibm;; +it;; +jp106;; +kazakh;; +keypad;; +koy;; +kyrgyz;; +ky_alt_sh-UTF-8;; +la-latin1;; +lt.baltic;; +lt.l4;; +lt;; +lv-tilde;; +lv;; +mac-be;mac; +mac-de-latin1-nodeadkeys;mac; +mac-de-latin1;mac; +mac-de_CH;mac; +mac-dk-latin1;mac; +mac-dvorak;mac; +mac-es;mac; +mac-euro2;mac; +mac-euro;mac; +mac-fi-latin1;mac; +mac-fr-legacy;mac; +mac-fr;mac; +mac-fr_CH-latin1;mac; +mac-it;mac; +mac-no-latin1;mac; +mac-pl;mac; +mac-pt-latin1;mac; +mac-se;mac; +mac-template;mac; +mac-uk;mac; +mac-us;mac; +mk0;; +mk-cp1251;; +mk-utf;; +mk;; +mod-dh-ansi-us-awing;; +mod-dh-ansi-us-fatz-wide;; +mod-dh-ansi-us-fatz;; +mod-dh-ansi-us-wide;; +mod-dh-ansi-us;; +mod-dh-iso-uk-wide;; +mod-dh-iso-uk;; +mod-dh-iso-us-wide;; +mod-dh-iso-us;; +mod-dh-matrix-us;; +neoqwertz;; +neo;; +nl2;; +nl;; +no-latin1;; +no;; +pc110;; +pl1;; +pl2;; +pl3;; +pl4;; +pl;; +pt-latin1;; +pt-latin9;; +pt-olpc;; +ro;; +ro_std;; +ro_win;; +ru1;qwerty; +ru2;qwerty; +ru3;qwerty; +ru4;qwerty; +ruwin_alt-CP1251;qwerty; +ruwin_alt-KOI8-R;qwerty; +ruwin_alt-UTF-8;qwerty; +ruwin_alt_sh-UTF-8;qwerty; +ruwin_cplk-CP1251;qwerty; +ruwin_cplk-KOI8-R;qwerty; +ruwin_cplk-UTF-8;qwerty; +ruwin_ctrl-CP1251;qwerty; +ruwin_ctrl-KOI8-R;qwerty; +ruwin_ctrl-UTF-8;qwerty; +ruwin_ct_sh-CP1251;qwerty; +ruwin_ct_sh-KOI8-R;qwerty; +ruwin_ct_sh-UTF-8;qwerty; +ru-cp1251;qwerty;Russian CP1251 Cyrillic keyboard.map. "Cyrillic" mode is toggled by Right_Ctrl key and shifted by AltGr key. +ru-ms;qwerty; +ru-yawerty;qwerty; +ru;qwerty;Only Russian UTF-8 keymap (GOST 19768-74) for a 102 key keyboard. Both Ctrl+Shift is used to change rus/lat. +ru_win;qwerty; +se-fi-ir209;; +se-fi-lat6;; +se-ir209;; +se-lat6;; +sg-latin1-lk450;; +sg-latin1;; +sg;; +sk-prog-qwerty;; +sk-prog-qwertz;; +sk-qwerty;; +sk-qwertz;; +slovene;; +sr-cy;; +sr-latin;; +sundvorak;sun; +sunkeymap;sun; +sunt4-es;sun; +sunt4-fi-latin1;sun; +sunt4-no-latin1;sun; +sunt5-cz-us;sun; +sunt5-de-latin1;sun; +sunt5-es;sun; +sunt5-fi-latin1;sun; +sunt5-fr-latin1;sun; +sunt5-ru;sun; +sunt5-uk;sun; +sunt5-us-cz;sun; +sunt6-uk;sun; +sun-pl-altgraph;sun; +sun-pl;sun; +sv-latin1;; +tj_alt-UTF8;; +tralt;; +trf-fgGIod;; +trf;; +trq;; +tr_f-latin5;; +tr_q-latin5;; +ttwin_alt-UTF-8;; +ttwin_cplk-UTF-8;; +ttwin_ctrl-UTF-8;; +ttwin_ct_sh-UTF-8;; +ua-cp1251;; +ua-utf-ws;; +ua-utf;; +ua-ws;; +ua;; +uk;; +unicode;; +us1;; +us-acentos;; +us;; +wangbe2;; +wangbe;; +windowkeys;; \ No newline at end of file diff --git a/locale/ubl-settings-keyboard-layouts.pot b/locale/ubl-settings-keyboard-layouts.pot new file mode 100644 index 0000000..89365bb --- /dev/null +++ b/locale/ubl-settings-keyboard-layouts.pot @@ -0,0 +1,1761 @@ + +msgid "Albanian" +msgstr "" + +msgid "Amharic" +msgstr "" + +msgid "Armenian" +msgstr "" + +msgid "Arabic" +msgstr "" + +msgid "Arabic (Egypt)" +msgstr "" + +msgid "Arabic (Iraq)" +msgstr "" + +msgid "Arabic (Morocco)" +msgstr "" + +msgid "Arabic (Syria)" +msgstr "" + +msgid "Azerbaijani" +msgstr "" + +msgid "Bambara" +msgstr "" + +msgid "Bangla" +msgstr "" + +msgid "Belarusian" +msgstr "" + +msgid "Belgian" +msgstr "" + +msgid "Berber (Algeria, Latin)" +msgstr "" + +msgid "Bosnian" +msgstr "" + +msgid "Braille" +msgstr "" + +msgid "Bulgarian" +msgstr "" + +msgid "Burmese" +msgstr "" + +msgid "Chinese" +msgstr "" + +msgid "Croatian" +msgstr "" + +msgid "Czech" +msgstr "" + +msgid "Danish" +msgstr "" + +msgid "Dari" +msgstr "" + +msgid "Dhivehi" +msgstr "" + +msgid "Dutch" +msgstr "" + +msgid "Dzongkha" +msgstr "" + +msgid "English (Australia)" +msgstr "" + +msgid "English (Cameroon)" +msgstr "" + +msgid "English (Ghana)" +msgstr "" + +msgid "English (New Zealand)" +msgstr "" + +msgid "English (Nigeria)" +msgstr "" + +msgid "English (South Africa)" +msgstr "" + +msgid "English (UK)" +msgstr "" + +msgid "English (US)" +msgstr "" + +msgid "Esperanto" +msgstr "" + +msgid "Estonian" +msgstr "" + +msgid "Faroese" +msgstr "" + +msgid "Filipino" +msgstr "" + +msgid "Finnish" +msgstr "" + +msgid "French" +msgstr "" + +msgid "French (Canada)" +msgstr "" + +msgid "French (Democratic Republic of the Congo)" +msgstr "" + +msgid "French (Togo)" +msgstr "" + +msgid "Georgian" +msgstr "" + +msgid "German" +msgstr "" + +msgid "German (Austria)" +msgstr "" + +msgid "German (Switzerland)" +msgstr "" + +msgid "Greek" +msgstr "" + +msgid "Hebrew" +msgstr "" + +msgid "Hungarian" +msgstr "" + +msgid "Icelandic" +msgstr "" + +msgid "Indian" +msgstr "" + +msgid "Indonesian (Latin)" +msgstr "" + +msgid "Irish" +msgstr "" + +msgid "Italian" +msgstr "" + +msgid "Japanese" +msgstr "" + +msgid "Kazakh" +msgstr "" + +msgid "Khmer (Cambodia)" +msgstr "" + +msgid "Korean" +msgstr "" + +msgid "Kyrgyz" +msgstr "" + +msgid "Lao" +msgstr "" + +msgid "Latvian" +msgstr "" + +msgid "Lithuanian" +msgstr "" + +msgid "Macedonian" +msgstr "" + +msgid "Malay (Jawi, Arabic Keyboard)" +msgstr "" + +msgid "Maltese" +msgstr "" + +msgid "Moldavian" +msgstr "" + +msgid "Mongolian" +msgstr "" + +msgid "Montenegrin" +msgstr "" + +msgid "Nepali" +msgstr "" + +msgid "N'Ko (AZERTY)" +msgstr "" + +msgid "Norwegian" +msgstr "" + +msgid "Persian" +msgstr "" + +msgid "Polish" +msgstr "" + +msgid "Portuguese" +msgstr "" + +msgid "Portuguese (Brazil)" +msgstr "" + +msgid "Romanian" +msgstr "" + +msgid "Russian" +msgstr "" + +msgid "Serbian" +msgstr "" + +msgid "Sinhala (phonetic)" +msgstr "" + +msgid "Slovak" +msgstr "" + +msgid "Slovenian" +msgstr "" + +msgid "Spanish" +msgstr "" + +msgid "Spanish (Latin American)" +msgstr "" + +msgid "Swahili (Kenya)" +msgstr "" + +msgid "Swahili (Tanzania)" +msgstr "" + +msgid "Swedish" +msgstr "" + +msgid "Taiwanese" +msgstr "" + +msgid "Tajik" +msgstr "" + +msgid "Thai" +msgstr "" + +msgid "Tswana" +msgstr "" + +msgid "Turkmen" +msgstr "" + +msgid "Turkish" +msgstr "" + +msgid "Ukrainian" +msgstr "" + +msgid "Urdu (Pakistan)" +msgstr "" + +msgid "Uzbek" +msgstr "" + +msgid "Vietnamese" +msgstr "" + +msgid "Wolof" +msgstr "" + +msgid "Albanian (Plisi)" +msgstr "" + +msgid "Albanian (Veqilharxhi)" +msgstr "" + +msgid "Armenian (phonetic)" +msgstr "" + +msgid "Armenian (alt. phonetic)" +msgstr "" + +msgid "Armenian (eastern)" +msgstr "" + +msgid "Armenian (alt. eastern)" +msgstr "" + +msgid "Armenian (western)" +msgstr "" + +msgid "Arabic (Eastern Arabic numerals)" +msgstr "" + +msgid "Arabic (AZERTY)" +msgstr "" + +msgid "Arabic (AZERTY, Eastern Arabic numerals)" +msgstr "" + +msgid "Arabic (Buckwalter)" +msgstr "" + +msgid "Arabic (Macintosh)" +msgstr "" + +msgid "Arabic (Macintosh, phonetic)" +msgstr "" + +msgid "Arabic (OLPC)" +msgstr "" + +msgid "Kurdish (Iraq, Latin Q)" +msgstr "" + +msgid "Kurdish (Iraq, Latin Alt-Q)" +msgstr "" + +msgid "Kurdish (Iraq, F)" +msgstr "" + +msgid "Kurdish (Iraq, Arabic-Latin)" +msgstr "" + +msgid "Berber (Morocco, Tifinagh)" +msgstr "" + +msgid "Berber (Morocco, Tifinagh alt.)" +msgstr "" + +msgid "alt-Berber (Morocco, Tifinagh phonetic, alt.)" +msgstr "" + +msgid "Berber (Morocco, Tifinagh extended)" +msgstr "" + +msgid "Berber (Morocco, Tifinagh phonetic)" +msgstr "" + +msgid "extended-Berber (Morocco, Tifinagh extended phonetic)" +msgstr "" + +msgid "French (Morocco)" +msgstr "" + +msgid "Tarifit" +msgstr "" + +msgid "Syriac" +msgstr "" + +msgid "Syriac (phonetic)" +msgstr "" + +msgid "Kurdish (Syria, Latin Q)" +msgstr "" + +msgid "Kurdish (Syria, Latin Alt-Q)" +msgstr "" + +msgid "Kurdish (Syria, F)" +msgstr "" + +msgid "Azerbaijani (Cyrillic)" +msgstr "" + +msgid "French (Mali, alt.)" +msgstr "" + +msgid "English (Mali, US, Macintosh)" +msgstr "" + +msgid "English (Mali, US, intl.)" +msgstr "" + +msgid "Bangla (Probhat)" +msgstr "" + +msgid "Belarusian (legacy)" +msgstr "" + +msgid "Belarusian (Latin)" +msgstr "" + +msgid "Belarusian (intl.)" +msgstr "" + +msgid "Belarusian (phonetic)" +msgstr "" + +msgid "Russian (Belarus)" +msgstr "" + +msgid "Belgian (alt.)" +msgstr "" + +msgid "Belgian (Latin-9 only, alt.)" +msgstr "" + +msgid "Belgian (ISO, alt.)" +msgstr "" + +msgid "Belgian (no dead keys)" +msgstr "" + +msgid "Belgian (Wang 724 AZERTY)" +msgstr "" + +msgid "Berber (Algeria, Tifinagh)" +msgstr "" + +msgid "Kabyle (AZERTY, with dead keys)" +msgstr "" + +msgid "gb-Kabyle (QWERTY, UK, with dead keys)" +msgstr "" + +msgid "us-Kabyle (QWERTY, US, with dead keys)" +msgstr "" + +msgid "Arabic (Algeria)" +msgstr "" + +msgid "Bosnian (with guillemets)" +msgstr "" + +msgid "Bosnian (with Bosnian digraphs)" +msgstr "" + +msgid "Bosnian (US, with Bosnian digraphs)" +msgstr "" + +msgid "Bosnian (US)" +msgstr "" + +msgid "Braille (left-handed)" +msgstr "" + +msgid "Braille (left-handed inverted thumb)" +msgstr "" + +msgid "Braille (right-handed)" +msgstr "" + +msgid "Braille (right-handed inverted thumb)" +msgstr "" + +msgid "Bulgarian (traditional phonetic)" +msgstr "" + +msgid "Bulgarian (new phonetic)" +msgstr "" + +msgid "Bulgarian (enhanced)" +msgstr "" + +msgid "Burmese (Zawgyi)" +msgstr "" + +msgid "Mon" +msgstr "" + +msgid "Mon (A1)" +msgstr "" + +msgid "Shan" +msgstr "" + +msgid "Shan (Zawgyi)" +msgstr "" + +msgid "Hanyu Pinyin Letters (with AltGr dead keys)" +msgstr "" + +msgid "Mongolian (Bichig)" +msgstr "" + +msgid "Mongolian (Todo)" +msgstr "" + +msgid "Mongolian (Xibe)" +msgstr "" + +msgid "Mongolian (Manchu)" +msgstr "" + +msgid "Mongolian (Galik)" +msgstr "" + +msgid "Mongolian (Todo Galik)" +msgstr "" + +msgid "Mongolian (Manchu Galik)" +msgstr "" + +msgid "Tibetan" +msgstr "" + +msgid "Tibetan (with ASCII numerals)" +msgstr "" + +msgid "Uyghur" +msgstr "" + +msgid "Croatian (with guillemets)" +msgstr "" + +msgid "Croatian (with Croatian digraphs)" +msgstr "" + +msgid "Croatian (US, with Croatian digraphs)" +msgstr "" + +msgid "Croatian (US)" +msgstr "" + +msgid "Czech (extra backslash)" +msgstr "" + +msgid "Czech (QWERTY)" +msgstr "" + +msgid "Czech (QWERTY, extra backslash)" +msgstr "" + +msgid "Czech (QWERTZ, Windows)" +msgstr "" + +msgid "Czech (QWERTY, Windows)" +msgstr "" + +msgid "Czech (QWERTY, Macintosh)" +msgstr "" + +msgid "Czech (UCW, only accented letters)" +msgstr "" + +msgid "Czech (US, Dvorak, UCW support)" +msgstr "" + +msgid "Russian (Czechia, phonetic)" +msgstr "" + +msgid "Danish (no dead keys)" +msgstr "" + +msgid "Danish (Windows)" +msgstr "" + +msgid "Danish (Macintosh)" +msgstr "" + +msgid "Danish (Macintosh, no dead keys)" +msgstr "" + +msgid "Danish (Dvorak)" +msgstr "" + +msgid "Pashto" +msgstr "" + +msgid "Uzbek (Afghanistan)" +msgstr "" + +msgid "Dari (Afghanistan, OLPC)" +msgstr "" + +msgid "Pashto (Afghanistan, OLPC)" +msgstr "" + +msgid "Uzbek (Afghanistan, OLPC)" +msgstr "" + +msgid "Dutch (US)" +msgstr "" + +msgid "Dutch (Macintosh)" +msgstr "" + +msgid "Dutch (standard)" +msgstr "" + +msgid "French (Cameroon)" +msgstr "" + +msgid "Cameroon Multilingual (QWERTY, intl.)" +msgstr "" + +msgid "Cameroon (AZERTY, intl.)" +msgstr "" + +msgid "Cameroon (Dvorak, intl.)" +msgstr "" + +msgid "Mmuock" +msgstr "" + +msgid "English (Ghana, multilingual)" +msgstr "" + +msgid "English (Ghana, GILLBT)" +msgstr "" + +msgid "Akan" +msgstr "" + +msgid "Avatime" +msgstr "" + +msgid "Ewe" +msgstr "" + +msgid "Fula" +msgstr "" + +msgid "Ga" +msgstr "" + +msgid "Hausa (Ghana)" +msgstr "" + +msgid "Maori" +msgstr "" + +msgid "Hausa (Nigeria)" +msgstr "" + +msgid "Igbo" +msgstr "" + +msgid "Yoruba" +msgstr "" + +msgid "English (UK, extended, Windows)" +msgstr "" + +msgid "English (UK, intl., with dead keys)" +msgstr "" + +msgid "English (UK, Dvorak)" +msgstr "" + +msgid "English (UK, Dvorak, with UK punctuation)" +msgstr "" + +msgid "English (UK, Macintosh)" +msgstr "" + +msgid "English (UK, Macintosh, intl.)" +msgstr "" + +msgid "English (UK, Colemak)" +msgstr "" + +msgid "English (UK, Colemak-DH)" +msgstr "" + +msgid "Scottish Gaelic" +msgstr "" + +msgid "Polish (British keyboard)" +msgstr "" + +msgid "English (US, euro on 5)" +msgstr "" + +msgid "English (US, intl., with dead keys)" +msgstr "" + +msgid "English (US, alt. intl.)" +msgstr "" + +msgid "English (intl., with AltGr dead keys)" +msgstr "" + +msgid "English (Macintosh)" +msgstr "" + +msgid "English (Colemak)" +msgstr "" + +msgid "English (Colemak-DH)" +msgstr "" + +msgid "English (Colemak-DH Wide)" +msgstr "" + +msgid "English (Colemak-DH Ortholinear)" +msgstr "" + +msgid "English (Colemak-DH ISO)" +msgstr "" + +msgid "English (Colemak-DH Wide ISO)" +msgstr "" + +msgid "English (Dvorak)" +msgstr "" + +msgid "English (Dvorak, intl., with dead keys)" +msgstr "" + +msgid "alt-English (Dvorak, alt. intl.)" +msgstr "" + +msgid "English (Dvorak, left-handed)" +msgstr "" + +msgid "English (Dvorak, right-handed)" +msgstr "" + +msgid "English (classic Dvorak)" +msgstr "" + +msgid "English (programmer Dvorak)" +msgstr "" + +msgid "English (Dvorak, Macintosh)" +msgstr "" + +msgid "English (Norman)" +msgstr "" + +msgid "English (US, Symbolic)" +msgstr "" + +msgid "English (Workman)" +msgstr "" + +msgid "English (Workman, intl., with dead keys)" +msgstr "" + +msgid "English (the divide/multiply toggle the layout)" +msgstr "" + +msgid "Cherokee" +msgstr "" + +msgid "Hawaiian" +msgstr "" + +msgid "Russian (US, phonetic)" +msgstr "" + +msgid "Serbo-Croatian (US)" +msgstr "" + +msgid "Esperanto (legacy)" +msgstr "" + +msgid "Estonian (no dead keys)" +msgstr "" + +msgid "Estonian (Dvorak)" +msgstr "" + +msgid "Estonian (US)" +msgstr "" + +msgid "Faroese (no dead keys)" +msgstr "" + +msgid "Filipino (QWERTY, Baybayin)" +msgstr "" + +msgid "Filipino (Capewell-Dvorak, Latin)" +msgstr "" + +msgid "dvorak-Filipino (Capewell-Dvorak, Baybayin)" +msgstr "" + +msgid "Filipino (Capewell-QWERF 2006, Latin)" +msgstr "" + +msgid "qwerf2k6-Filipino (Capewell-QWERF 2006, Baybayin)" +msgstr "" + +msgid "Filipino (Colemak, Latin)" +msgstr "" + +msgid "Filipino (Colemak, Baybayin)" +msgstr "" + +msgid "Filipino (Dvorak, Latin)" +msgstr "" + +msgid "Filipino (Dvorak, Baybayin)" +msgstr "" + +msgid "Finnish (Windows)" +msgstr "" + +msgid "Finnish (classic)" +msgstr "" + +msgid "Finnish (classic, no dead keys)" +msgstr "" + +msgid "Finnish (Macintosh)" +msgstr "" + +msgid "Northern Saami (Finland)" +msgstr "" + +msgid "French (no dead keys)" +msgstr "" + +msgid "French (alt.)" +msgstr "" + +msgid "French (alt., no dead keys)" +msgstr "" + +msgid "French (alt., Latin-9 only)" +msgstr "" + +msgid "French (legacy, alt.)" +msgstr "" + +msgid "French (legacy, alt., no dead keys)" +msgstr "" + +msgid "French (AZERTY)" +msgstr "" + +msgid "French (AZERTY, AFNOR)" +msgstr "" + +msgid "French (BEPO)" +msgstr "" + +msgid "French (BEPO, Latin-9 only)" +msgstr "" + +msgid "French (BEPO, AFNOR)" +msgstr "" + +msgid "French (Dvorak)" +msgstr "" + +msgid "French (Macintosh)" +msgstr "" + +msgid "French (US)" +msgstr "" + +msgid "Breton (France)" +msgstr "" + +msgid "Occitan" +msgstr "" + +msgid "Georgian (France, AZERTY Tskapo)" +msgstr "" + +msgid "French (Canada, Dvorak)" +msgstr "" + +msgid "French (Canada, legacy)" +msgstr "" + +msgid "Canadian (CSA)" +msgstr "" + +msgid "English (Canada)" +msgstr "" + +msgid "Inuktitut" +msgstr "" + +msgid "Georgian (ergonomic)" +msgstr "" + +msgid "Georgian (MESS)" +msgstr "" + +msgid "Ossetian (Georgia)" +msgstr "" + +msgid "Russian (Georgia)" +msgstr "" + +msgid "German (dead acute)" +msgstr "" + +msgid "German (dead grave acute)" +msgstr "" + +msgid "German (dead tilde)" +msgstr "" + +msgid "German (no dead keys)" +msgstr "" + +msgid "German (E1)" +msgstr "" + +msgid "German (E2)" +msgstr "" + +msgid "German (T3)" +msgstr "" + +msgid "German (US)" +msgstr "" + +msgid "German (Dvorak)" +msgstr "" + +msgid "German (Macintosh)" +msgstr "" + +msgid "German (Macintosh, no dead keys)" +msgstr "" + +msgid "German (Neo 2)" +msgstr "" + +msgid "German (QWERTY)" +msgstr "" + +msgid "Lower Sorbian" +msgstr "" + +msgid "Lower Sorbian (QWERTZ)" +msgstr "" + +msgid "Romanian (Germany)" +msgstr "" + +msgid "Romanian (Germany, no dead keys)" +msgstr "" + +msgid "Russian (Germany, phonetic)" +msgstr "" + +msgid "Turkish (Germany)" +msgstr "" + +msgid "German (Austria, no dead keys)" +msgstr "" + +msgid "German (Austria, Macintosh)" +msgstr "" + +msgid "German (Switzerland, no dead keys)" +msgstr "" + +msgid "German (Switzerland, Macintosh)" +msgstr "" + +msgid "German (Switzerland, legacy)" +msgstr "" + +msgid "French (Switzerland)" +msgstr "" + +msgid "French (Switzerland, no dead keys)" +msgstr "" + +msgid "French (Switzerland, Macintosh)" +msgstr "" + +msgid "Greek (simple)" +msgstr "" + +msgid "Greek (no dead keys)" +msgstr "" + +msgid "Greek (polytonic)" +msgstr "" + +msgid "Hebrew (SI-1452-2)" +msgstr "" + +msgid "Hebrew (lyx)" +msgstr "" + +msgid "Hebrew (phonetic)" +msgstr "" + +msgid "Hebrew (Biblical, Tiro)" +msgstr "" + +msgid "Hungarian (standard)" +msgstr "" + +msgid "Hungarian (no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY)" +msgstr "" + +msgid "Hungarian (QWERTZ, 101-key, comma, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 101-key, comma, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 101-key, dot, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 101-key, dot, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 101-key, comma, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 101-key, comma, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 101-key, dot, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 101-key, dot, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 102-key, comma, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 102-key, comma, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 102-key, dot, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTZ, 102-key, dot, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 102-key, comma, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 102-key, comma, no dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 102-key, dot, dead keys)" +msgstr "" + +msgid "Hungarian (QWERTY, 102-key, dot, no dead keys)" +msgstr "" + +msgid "Icelandic (Macintosh, legacy)" +msgstr "" + +msgid "Icelandic (Macintosh)" +msgstr "" + +msgid "Icelandic (Dvorak)" +msgstr "" + +msgid "Assamese (KaGaPa, phonetic)" +msgstr "" + +msgid "Bangla (India)" +msgstr "" + +msgid "Bangla (India, Probhat)" +msgstr "" + +msgid "Bangla (India, Baishakhi)" +msgstr "" + +msgid "Bangla (India, Bornona)" +msgstr "" + +msgid "Bangla (India, KaGaPa, phonetic)" +msgstr "" + +msgid "Bangla (India, Gitanjali)" +msgstr "" + +msgid "Bangla (India, Baishakhi InScript)" +msgstr "" + +msgid "English (India, with rupee)" +msgstr "" + +msgid "Gujarati" +msgstr "" + +msgid "Gujarati (KaGaPa, phonetic)" +msgstr "" + +msgid "Hindi (Bolnagri)" +msgstr "" + +msgid "Hindi (Wx)" +msgstr "" + +msgid "Hindi (KaGaPa, phonetic)" +msgstr "" + +msgid "Kannada" +msgstr "" + +msgid "Kannada (KaGaPa, phonetic)" +msgstr "" + +msgid "Malayalam" +msgstr "" + +msgid "Malayalam (Lalitha)" +msgstr "" + +msgid "Malayalam (enhanced InScript, with rupee)" +msgstr "" + +msgid "Malayalam (Poorna, extended InScript)" +msgstr "" + +msgid "Manipuri (Meitei)" +msgstr "" + +msgid "Marathi (KaGaPa, phonetic)" +msgstr "" + +msgid "Marathi (enhanced InScript)" +msgstr "" + +msgid "Oriya" +msgstr "" + +msgid "Oriya (Bolnagri)" +msgstr "" + +msgid "Oriya (Wx)" +msgstr "" + +msgid "Punjabi (Gurmukhi)" +msgstr "" + +msgid "Punjabi (Gurmukhi Jhelum)" +msgstr "" + +msgid "Sanskrit (KaGaPa, phonetic)" +msgstr "" + +msgid "Santali (Ol Chiki)" +msgstr "" + +msgid "Tamil (TamilNet '99)" +msgstr "" + +msgid "Tamil (TamilNet '99 with Tamil numerals)" +msgstr "" + +msgid "Tamil (TamilNet '99, TAB encoding)" +msgstr "" + +msgid "Tamil (TamilNet '99, TSCII encoding)" +msgstr "" + +msgid "Tamil (InScript, with Arabic numerals)" +msgstr "" + +msgid "Tamil (InScript, with Tamil numerals)" +msgstr "" + +msgid "Telugu" +msgstr "" + +msgid "Telugu (KaGaPa, phonetic)" +msgstr "" + +msgid "Telugu (Sarala)" +msgstr "" + +msgid "Urdu (phonetic)" +msgstr "" + +msgid "Urdu (alt. phonetic)" +msgstr "" + +msgid "Urdu (Windows)" +msgstr "" + +msgid "Indic IPA" +msgstr "" + +msgid "Indonesian (Arab Melayu, phonetic)" +msgstr "" + +msgid "Indonesian (Arab Melayu, extended phonetic)" +msgstr "" + +msgid "Indonesian (Arab Pegon, phonetic)" +msgstr "" + +msgid "Javanese" +msgstr "" + +msgid "Irish (UnicodeExpert)" +msgstr "" + +msgid "CloGaelach" +msgstr "" + +msgid "Ogham" +msgstr "" + +msgid "Ogham (IS434)" +msgstr "" + +msgid "Italian (no dead keys)" +msgstr "" + +msgid "Italian (Windows)" +msgstr "" + +msgid "Italian (Macintosh)" +msgstr "" + +msgid "Italian (US)" +msgstr "" + +msgid "Italian (IBM 142)" +msgstr "" + +msgid "Friulian (Italy)" +msgstr "" + +msgid "Sicilian" +msgstr "" + +msgid "Georgian (Italy)" +msgstr "" + +msgid "Japanese (Kana)" +msgstr "" + +msgid "Japanese (Kana 86)" +msgstr "" + +msgid "Japanese (OADG 109A)" +msgstr "" + +msgid "Japanese (Macintosh)" +msgstr "" + +msgid "Japanese (Dvorak)" +msgstr "" + +msgid "Kazakh (with Russian)" +msgstr "" + +msgid "Kazakh (extended)" +msgstr "" + +msgid "Kazakh (Latin)" +msgstr "" + +msgid "Russian (Kazakhstan, with Kazakh)" +msgstr "" + +msgid "Korean (101/104-key compatible)" +msgstr "" + +msgid "Kyrgyz (phonetic)" +msgstr "" + +msgid "Lao (STEA)" +msgstr "" + +msgid "Latvian (apostrophe)" +msgstr "" + +msgid "Latvian (tilde)" +msgstr "" + +msgid "Latvian (F)" +msgstr "" + +msgid "Latvian (Modern Latin)" +msgstr "" + +msgid "Latvian (Modern Cyrillic)" +msgstr "" + +msgid "Latvian (ergonomic, ŪGJRMV)" +msgstr "" + +msgid "Latvian (adapted)" +msgstr "" + +msgid "Lithuanian (standard)" +msgstr "" + +msgid "Lithuanian (US)" +msgstr "" + +msgid "Lithuanian (IBM)" +msgstr "" + +msgid "Lithuanian (LEKP)" +msgstr "" + +msgid "Lithuanian (LEKPa)" +msgstr "" + +msgid "Lithuanian (Ratise)" +msgstr "" + +msgid "Samogitian" +msgstr "" + +msgid "Macedonian (no dead keys)" +msgstr "" + +msgid "Malay (Jawi, phonetic)" +msgstr "" + +msgid "Maltese (US)" +msgstr "" + +msgid "Maltese (US, with AltGr overrides)" +msgstr "" + +msgid "Maltese (UK, with AltGr overrides)" +msgstr "" + +msgid "Gagauz (Moldova)" +msgstr "" + +msgid "Montenegrin (Cyrillic)" +msgstr "" + +msgid "Montenegrin (Cyrillic, ZE and ZHE swapped)" +msgstr "" + +msgid "Montenegrin (Cyrillic, with guillemets)" +msgstr "" + +msgid "Montenegrin (Latin, Unicode)" +msgstr "" + +msgid "Montenegrin (Latin, QWERTY)" +msgstr "" + +msgid "Montenegrin (Latin, Unicode, QWERTY)" +msgstr "" + +msgid "Montenegrin (Latin, with guillemets)" +msgstr "" + +msgid "Norwegian (no dead keys)" +msgstr "" + +msgid "Norwegian (Windows)" +msgstr "" + +msgid "Norwegian (Macintosh)" +msgstr "" + +msgid "Norwegian (Macintosh, no dead keys)" +msgstr "" + +msgid "Norwegian (Colemak)" +msgstr "" + +msgid "Norwegian (Colemak-DH)" +msgstr "" + +msgid "Norwegian (Colemak-DH Wide)" +msgstr "" + +msgid "Norwegian (Dvorak)" +msgstr "" + +msgid "Northern Saami (Norway)" +msgstr "" + +msgid "Northern Saami (Norway, no dead keys)" +msgstr "" + +msgid "Persian (with Persian keypad)" +msgstr "" + +msgid "Persian (Windows)" +msgstr "" + +msgid "Azerbaijani (Iran)" +msgstr "" + +msgid "Kurdish (Iran, Latin Q)" +msgstr "" + +msgid "Kurdish (Iran, Latin Alt-Q)" +msgstr "" + +msgid "Kurdish (Iran, F)" +msgstr "" + +msgid "Kurdish (Iran, Arabic-Latin)" +msgstr "" + +msgid "Polish (legacy)" +msgstr "" + +msgid "Polish (QWERTZ)" +msgstr "" + +msgid "Polish (Dvorak)" +msgstr "" + +msgid "Polish (Dvorak, with Polish quotes on quotemark key)" +msgstr "" + +msgid "Polish (Dvorak, with Polish quotes on key 1)" +msgstr "" + +msgid "Polish (programmer Dvorak)" +msgstr "" + +msgid "Kashubian" +msgstr "" + +msgid "Silesian" +msgstr "" + +msgid "Russian (Poland, phonetic Dvorak)" +msgstr "" + +msgid "Portuguese (no dead keys)" +msgstr "" + +msgid "Portuguese (Macintosh)" +msgstr "" + +msgid "Portuguese (Macintosh, no dead keys)" +msgstr "" + +msgid "Portuguese (Nativo)" +msgstr "" + +msgid "Portuguese (Nativo for US keyboards)" +msgstr "" + +msgid "Esperanto (Portugal, Nativo)" +msgstr "" + +msgid "Portuguese (Brazil, no dead keys)" +msgstr "" + +msgid "Portuguese (Brazil, Dvorak)" +msgstr "" + +msgid "Portuguese (Brazil, Nativo)" +msgstr "" + +msgid "Portuguese (Brazil, Nativo for US keyboards)" +msgstr "" + +msgid "Portuguese (Brazil, IBM/Lenovo ThinkPad)" +msgstr "" + +msgid "Esperanto (Brazil, Nativo)" +msgstr "" + +msgid "Russian (Brazil, phonetic)" +msgstr "" + +msgid "Romanian (standard)" +msgstr "" + +msgid "Romanian (Windows)" +msgstr "" + +msgid "Russian (phonetic)" +msgstr "" + +msgid "Russian (phonetic, Windows)" +msgstr "" + +msgid "Russian (phonetic, YAZHERTY)" +msgstr "" + +msgid "Russian (phonetic, AZERTY)" +msgstr "" + +msgid "Russian (phonetic, Dvorak)" +msgstr "" + +msgid "Russian (typewriter)" +msgstr "" + +msgid "Russian (engineering, RU)" +msgstr "" + +msgid "Russian (engineering, EN)" +msgstr "" + +msgid "Russian (legacy)" +msgstr "" + +msgid "Russian (typewriter, legacy)" +msgstr "" + +msgid "Russian (DOS)" +msgstr "" + +msgid "Russian (Macintosh)" +msgstr "" + +msgid "Abkhazian (Russia)" +msgstr "" + +msgid "Bashkirian" +msgstr "" + +msgid "Chuvash" +msgstr "" + +msgid "Chuvash (Latin)" +msgstr "" + +msgid "Kalmyk" +msgstr "" + +msgid "Komi" +msgstr "" + +msgid "Mari" +msgstr "" + +msgid "Ossetian (legacy)" +msgstr "" + +msgid "Ossetian (Windows)" +msgstr "" + +msgid "Serbian (Russia)" +msgstr "" + +msgid "Tatar" +msgstr "" + +msgid "Udmurt" +msgstr "" + +msgid "Yakut" +msgstr "" + +msgid "Serbian (Cyrillic, with guillemets)" +msgstr "" + +msgid "Serbian (Cyrillic, ZE and ZHE swapped)" +msgstr "" + +msgid "Serbian (Latin)" +msgstr "" + +msgid "Serbian (Latin, with guillemets)" +msgstr "" + +msgid "Serbian (Latin, Unicode)" +msgstr "" + +msgid "Serbian (Latin, QWERTY)" +msgstr "" + +msgid "Serbian (Latin, Unicode, QWERTY)" +msgstr "" + +msgid "Pannonian Rusyn" +msgstr "" + +msgid "Sinhala (US)" +msgstr "" + +msgid "Tamil (Sri Lanka, TamilNet '99)" +msgstr "" + +msgid "Tamil (Sri Lanka, TamilNet '99, TAB encoding)" +msgstr "" + +msgid "Slovak (extra backslash)" +msgstr "" + +msgid "Slovak (QWERTY)" +msgstr "" + +msgid "Slovak (QWERTY, extra backslash)" +msgstr "" + +msgid "Slovenian (with guillemets)" +msgstr "" + +msgid "Slovenian (US)" +msgstr "" + +msgid "Spanish (no dead keys)" +msgstr "" + +msgid "Spanish (dead tilde)" +msgstr "" + +msgid "Spanish (Windows)" +msgstr "" + +msgid "Spanish (Dvorak)" +msgstr "" + +msgid "Asturian (Spain, with bottom-dot H and L)" +msgstr "" + +msgid "Catalan (Spain, with middle-dot L)" +msgstr "" + +msgid "Spanish (Latin American, no dead keys)" +msgstr "" + +msgid "Spanish (Latin American, dead tilde)" +msgstr "" + +msgid "Spanish (Latin American, Dvorak)" +msgstr "" + +msgid "Spanish (Latin American, Colemak)" +msgstr "" + +msgid "Kikuyu" +msgstr "" + +msgid "Swedish (no dead keys)" +msgstr "" + +msgid "Swedish (Dvorak)" +msgstr "" + +msgid "Swedish (Dvorak, intl.)" +msgstr "" + +msgid "Swedish (Svdvorak)" +msgstr "" + +msgid "Swedish (Macintosh)" +msgstr "" + +msgid "Swedish (US)" +msgstr "" + +msgid "Swedish Sign Language" +msgstr "" + +msgid "Northern Saami (Sweden)" +msgstr "" + +msgid "Russian (Sweden, phonetic)" +msgstr "" + +msgid "Taiwanese (indigenous)" +msgstr "" + +msgid "Saisiyat (Taiwan)" +msgstr "" + +msgid "Tajik (legacy)" +msgstr "" + +msgid "Thai (TIS-820.2538)" +msgstr "" + +msgid "Thai (Pattachote)" +msgstr "" + +msgid "Turkmen (Alt-Q)" +msgstr "" + +msgid "Turkish (F)" +msgstr "" + +msgid "Turkish (E)" +msgstr "" + +msgid "Turkish (Alt-Q)" +msgstr "" + +msgid "Turkish (intl., with dead keys)" +msgstr "" + +msgid "Kurdish (Turkey, Latin Q)" +msgstr "" + +msgid "Kurdish (Turkey, F)" +msgstr "" + +msgid "Kurdish (Turkey, Latin Alt-Q)" +msgstr "" + +msgid "Ukrainian (phonetic)" +msgstr "" + +msgid "Ukrainian (typewriter)" +msgstr "" + +msgid "Ukrainian (Windows)" +msgstr "" + +msgid "Ukrainian (macOS)" +msgstr "" + +msgid "Ukrainian (legacy)" +msgstr "" + +msgid "Ukrainian (homophonic)" +msgstr "" + +msgid "Crimean Tatar (Turkish Q)" +msgstr "" + +msgid "Crimean Tatar (Turkish F)" +msgstr "" + +msgid "Crimean Tatar (Turkish Alt-Q)" +msgstr "" + +msgid "Urdu (Pakistan, CRULP)" +msgstr "" + +msgid "Urdu (Pakistan, NLA)" +msgstr "" + +msgid "Arabic (Pakistan)" +msgstr "" + +msgid "Sindhi" +msgstr "" + +msgid "Uzbek (Latin)" +msgstr "" + +msgid "Vietnamese (US)" +msgstr "" + +msgid "Vietnamese (France)" +msgstr "" \ No newline at end of file diff --git a/locale/ubl-settings-keyboard-layouts_ru.po b/locale/ubl-settings-keyboard-layouts_ru.po new file mode 100644 index 0000000..b891e6f --- /dev/null +++ b/locale/ubl-settings-keyboard-layouts_ru.po @@ -0,0 +1,1780 @@ +# Russian translations for ubl-settings-keyboard package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-keyboard package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubl-settings-keyboard 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: 2023-01-01 00:00+0600\n" +"Last-Translator: UBLinux Team \n" +"Language-Team: Russian - UBLinux Team \n" +"Language: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + + +msgid "Albanian" +msgstr "Албанский" + +msgid "Amharic" +msgstr "Амхарский" + +msgid "Armenian" +msgstr "Армянский" + +msgid "Arabic" +msgstr "Арабский" + +msgid "Arabic (Egypt)" +msgstr "Арабский (Египет)" + +msgid "Arabic (Iraq)" +msgstr "Арабский (Ирак)" + +msgid "Arabic (Morocco)" +msgstr "Арабский (Марокко)" + +msgid "Arabic (Syria)" +msgstr "Арабский (Сирия)" + +msgid "Azerbaijani" +msgstr "Азербайджанский" + +msgid "Bambara" +msgstr "Бамбара" + +msgid "Bangla" +msgstr "Бенгла" + +msgid "Belarusian" +msgstr "Белорусский" + +msgid "Belgian" +msgstr "Бельгийский" + +msgid "Berber (Algeria, Latin)" +msgstr "Берберский (Алжир, латиница)" + +msgid "Bosnian" +msgstr "Боснийский" + +msgid "Braille" +msgstr "Шрифт Брайля" + +msgid "Bulgarian" +msgstr "Болгарский" + +msgid "Burmese" +msgstr "Бирманский" + +msgid "Chinese" +msgstr "Китайский" + +msgid "Croatian" +msgstr "Хорватский" + +msgid "Czech" +msgstr "Чешский" + +msgid "Danish" +msgstr "Датский" + +msgid "Dari" +msgstr "Дари" + +msgid "Dhivehi" +msgstr "Дхивехи" + +msgid "Dutch" +msgstr "Голландский" + +msgid "Dzongkha" +msgstr "Дзонг-кэ" + +msgid "English (Australia)" +msgstr "Английский (Австралия)" + +msgid "English (Cameroon)" +msgstr "Английский (Камерун)" + +msgid "English (Ghana)" +msgstr "Английский (Гана)" + +msgid "English (New Zealand)" +msgstr "Английский (Новая Зеландия)" + +msgid "English (Nigeria)" +msgstr "Английский (Нигерия)" + +msgid "English (South Africa)" +msgstr "Английский (ЮАР)" + +msgid "English (UK)" +msgstr "Английский (Великобритания)" + +msgid "English (US)" +msgstr "Английский (США)" + +msgid "Esperanto" +msgstr "Эсперанто" + +msgid "Estonian" +msgstr "Эстонский" + +msgid "Faroese" +msgstr "Фарерский" + +msgid "Filipino" +msgstr "Филиппинский" + +msgid "Finnish" +msgstr "Финский" + +msgid "French" +msgstr "Французский" + +msgid "French (Canada)" +msgstr "Французский (Канада)" + +msgid "French (Democratic Republic of the Congo)" +msgstr "Французский (Демократическая Республика Конго) Конголезский" + +msgid "French (Togo)" +msgstr "Французский (Того)" + +msgid "Georgian" +msgstr "Грузинский" + +msgid "German" +msgstr "Немецкий" + +msgid "German (Austria)" +msgstr "Немецкий (Австрия)" + +msgid "German (Switzerland)" +msgstr "Немецкий (Швейцария)" + +msgid "Greek" +msgstr "Греческий" + +msgid "Hebrew" +msgstr "Иврит" + +msgid "Hungarian" +msgstr "Венгерский" + +msgid "Icelandic" +msgstr "Исландский" + +msgid "Indian" +msgstr "Индийский" + +msgid "Indonesian (Latin)" +msgstr "Индонезийский (латиница)" + +msgid "Irish" +msgstr "Ирландский" + +msgid "Italian" +msgstr "Итальянский" + +msgid "Japanese" +msgstr "Японский" + +msgid "Kazakh" +msgstr "Казахский" + +msgid "Khmer (Cambodia)" +msgstr "Кхмерский (Камбоджа)" + +msgid "Korean" +msgstr "Корейский" + +msgid "Kyrgyz" +msgstr "Киргизский" + +msgid "Lao" +msgstr "Лаосский" + +msgid "Latvian" +msgstr "Латышский" + +msgid "Lithuanian" +msgstr "Литовский" + +msgid "Macedonian" +msgstr "Македонский" + +msgid "Malay (Jawi, Arabic Keyboard)" +msgstr "Малайский (джави, арабская раскладка)" + +msgid "Maltese" +msgstr "Мальтийский" + +msgid "Moldavian" +msgstr "Молдавский" + +msgid "Mongolian" +msgstr "Монгольский" + +msgid "Montenegrin" +msgstr "Черногорский" + +msgid "Nepali" +msgstr "Непальский" + +msgid "N'Ko (AZERTY)" +msgstr "Нко (AZERTY)" + +msgid "Norwegian" +msgstr "Норвежский" + +msgid "Persian" +msgstr "Персидский" + +msgid "Polish" +msgstr "Польский" + +msgid "Portuguese" +msgstr "Португальский" + +msgid "Portuguese (Brazil)" +msgstr "Португальский (Бразилия)" + +msgid "Romanian" +msgstr "Румынский" + +msgid "Russian" +msgstr "Русский" + +msgid "Serbian" +msgstr "Сербский" + +msgid "Sinhala (phonetic)" +msgstr "Сингальский (фонетический)" + +msgid "Slovak" +msgstr "Словацкий" + +msgid "Slovenian" +msgstr "Словенский" + +msgid "Spanish" +msgstr "Испанский" + +msgid "Spanish (Latin American)" +msgstr "Испанский (Латинская Америка)" + +msgid "Swahili (Kenya)" +msgstr "Суахили (Кения)" + +msgid "Swahili (Tanzania)" +msgstr "Суахили (Танзания)" + +msgid "Swedish" +msgstr "Шведский" + +msgid "Taiwanese" +msgstr "Тайваньский" + +msgid "Tajik" +msgstr "Таджикский" + +msgid "Thai" +msgstr "Тайский" + +msgid "Tswana" +msgstr "Тсвана" + +msgid "Turkmen" +msgstr "Туркменский" + +msgid "Turkish" +msgstr "Турецкий" + +msgid "Ukrainian" +msgstr "Украинский" + +msgid "Urdu (Pakistan)" +msgstr "Урду (Пакистан)" + +msgid "Uzbek" +msgstr "Узбекский" + +msgid "Vietnamese" +msgstr "Вьетнамский" + +msgid "Wolof" +msgstr "Волоф" + +msgid "Albanian (Plisi)" +msgstr "Албанский (Плиси)" + +msgid "Albanian (Veqilharxhi)" +msgstr "Албанский (Векильхарджи)" + +msgid "Armenian (phonetic)" +msgstr "Армянский (фонетический)" + +msgid "Armenian (alt. phonetic)" +msgstr "Армянский (альтернативный фонетический)" + +msgid "Armenian (eastern)" +msgstr "Армянский (восточный)" + +msgid "Armenian (alt. eastern)" +msgstr "Армянский (альтернативный восточный)" + +msgid "Armenian (western)" +msgstr "Армянский (западный)" + +msgid "Arabic (Eastern Arabic numerals)" +msgstr "Арабский (восточно-арабские цифры)" + +msgid "Arabic (AZERTY)" +msgstr "Арабский (AZERTY)" + +msgid "Arabic (AZERTY, Eastern Arabic numerals)" +msgstr "Арабский (AZERTY, восточно-арабские цифры)" + +msgid "Arabic (Buckwalter)" +msgstr "Арабский (Buckwalter)" + +msgid "Arabic (Macintosh)" +msgstr "Арабский (Macintosh)" + +msgid "Arabic (Macintosh, phonetic)" +msgstr "Арабский (Macintosh, фонетический)" + +msgid "Arabic (OLPC)" +msgstr "Арабский (OLPC)" + +msgid "Kurdish (Iraq, Latin Q)" +msgstr "Курдский (Ирак, латиница Q)" + +msgid "Kurdish (Iraq, Latin Alt-Q)" +msgstr "Курдский (Ирак, латиница Alt-Q)" + +msgid "Kurdish (Iraq, F)" +msgstr "Курдский (Ирак, F)" + +msgid "Kurdish (Iraq, Arabic-Latin)" +msgstr "Курдский (Ирак, арабо-латинский)" + +msgid "Berber (Morocco, Tifinagh)" +msgstr "Берберский (Марокко, тифинаг)" + +msgid "Berber (Morocco, Tifinagh alt.)" +msgstr "Берберский (Марокко, тифинаг альт.)" + +msgid "alt-Berber (Morocco, Tifinagh phonetic, alt.)" +msgstr "alt-берберский (Марокко, тифинаг фонетический, альт.)" + +msgid "Berber (Morocco, Tifinagh extended)" +msgstr "Берберский (Марокко, тифинаг расширенный)" + +msgid "Berber (Morocco, Tifinagh phonetic)" +msgstr "Берберский (Марокко, тифинаг фонетический)" + +msgid "extended-Berber (Morocco, Tifinagh extended phonetic)" +msgstr "extended-берберский (Марокко, тифинаг расширенный фонетический)" + +msgid "French (Morocco)" +msgstr "Французский (Марокко)" + +msgid "Tarifit" +msgstr "Тарифитский" + +msgid "Syriac" +msgstr "Сирийский" + +msgid "Syriac (phonetic)" +msgstr "Сирийский (фонетический)" + +msgid "Kurdish (Syria, Latin Q)" +msgstr "Курдский (Сирия, латиница Q)" + +msgid "Kurdish (Syria, Latin Alt-Q)" +msgstr "Курдский (Сирия, латиница Alt-Q)" + +msgid "Kurdish (Syria, F)" +msgstr "Курдский (Сирия, F)" + +msgid "Azerbaijani (Cyrillic)" +msgstr "Азербайджанский (кириллица)" + +msgid "French (Mali, alt.)" +msgstr "Французский (Мали, альт.)" + +msgid "English (Mali, US, Macintosh)" +msgstr "Английский (Мали, США, Macintosh)" + +msgid "English (Mali, US, intl.)" +msgstr "Английский (Мали, США, межд.)" + +msgid "Bangla (Probhat)" +msgstr "Бенгла (Пробхат)" + +msgid "Belarusian (legacy)" +msgstr "Белорусский (устар.)" + +msgid "Belarusian (Latin)" +msgstr "Белорусский (латиница)" + +msgid "Belarusian (intl.)" +msgstr "Белорусский (межд.)" + +msgid "Belarusian (phonetic)" +msgstr "Белорусский (фонетический)" + +msgid "Russian (Belarus)" +msgstr "Русский (Беларусь)" + +msgid "Belgian (alt.)" +msgstr "Бельгийский (альт.)" + +msgid "Belgian (Latin-9 only, alt.)" +msgstr "Бельгийский (только Latin-9, альт.)" + +msgid "Belgian (ISO, alt.)" +msgstr "Бельгийский (ISO, альт.)" + +msgid "Belgian (no dead keys)" +msgstr "Бельгийский (без мёртвых клавиш)" + +msgid "Belgian (Wang 724 AZERTY)" +msgstr "Бельгийский (Wang 724 AZERTY)" + +msgid "Berber (Algeria, Tifinagh)" +msgstr "Берберский (Алжир, Тифинаг)" + +msgid "Kabyle (AZERTY, with dead keys)" +msgstr "Кабильский (AZERTY, с мёртвыми клавишами)" + +msgid "gb-Kabyle (QWERTY, UK, with dead keys)" +msgstr "gb-кабильский (QWERTY, Великобритания, с мёртвыми клавишами)" + +msgid "us-Kabyle (QWERTY, US, with dead keys)" +msgstr "us-кабильский (QWERTY, США, с мёртвыми клавишами)" + +msgid "Arabic (Algeria)" +msgstr "Арабский (Алжир)" + +msgid "Bosnian (with guillemets)" +msgstr "Боснийский (с гильеметами)" + +msgid "Bosnian (with Bosnian digraphs)" +msgstr "Боснийский (с боснийскими диграфами)" + +msgid "Bosnian (US, with Bosnian digraphs)" +msgstr "Боснийский (США, с боснийскими диграфы)" + +msgid "Bosnian (US)" +msgstr "Боснийский (США)" + +msgid "Braille (left-handed)" +msgstr "Шрифт Брайля (для левшей)" + +msgid "Braille (left-handed inverted thumb)" +msgstr "Шрифт Брайля (для левшей с перевёрнутым большим пальцем)" + +msgid "Braille (right-handed)" +msgstr "Шрифт Брайля (для правшей)" + +msgid "Braille (right-handed inverted thumb)" +msgstr "Шрифт Брайля (для правшей с перевёрнутым большим пальцем)" + +msgid "Bulgarian (traditional phonetic)" +msgstr "Болгарский (традиционная фонетика)" + +msgid "Bulgarian (new phonetic)" +msgstr "Болгарский (новая фонетика)" + +msgid "Bulgarian (enhanced)" +msgstr "Болгарский (расширенная)" + +msgid "Burmese (Zawgyi)" +msgstr "Бирманский (Зауджи)" + +msgid "Mon" +msgstr "Монский" + +msgid "Mon (A1)" +msgstr "Монский (A1)" + +msgid "Shan" +msgstr "Шаньский" + +msgid "Shan (Zawgyi)" +msgstr "Шаньский (Зауджи)" + +msgid "Hanyu Pinyin Letters (with AltGr dead keys)" +msgstr "Буквы ханью пиньинь (с неактивными клавишами AltGr)" + +msgid "Mongolian (Bichig)" +msgstr "Монгольский (Бичиг)" + +msgid "Mongolian (Todo)" +msgstr "Монгольский (Тодо)" + +msgid "Mongolian (Xibe)" +msgstr "Монгольский (Сибе)" + +msgid "Mongolian (Manchu)" +msgstr "Монгольский (маньчжурский)" + +msgid "Mongolian (Galik)" +msgstr "Монгольский (Галик)" + +msgid "Mongolian (Todo Galik)" +msgstr "Монгольский (Тодо Галик)" + +msgid "Mongolian (Manchu Galik)" +msgstr "Монгольский (маньчжурский Галик)" + +msgid "Tibetan" +msgstr "Тибетский" + +msgid "Tibetan (with ASCII numerals)" +msgstr "Тибетский (с ASCII-цифрами)" + +msgid "Uyghur" +msgstr "Уйгурский" + +msgid "Croatian (with guillemets)" +msgstr "Хорватский (с guillemets)" + +msgid "Croatian (with Croatian digraphs)" +msgstr "Хорватский (с хорватскими диграфами)" + +msgid "Croatian (US, with Croatian digraphs)" +msgstr "Хорватский (США, с хорватскими диграфами)" + +msgid "Croatian (US)" +msgstr "Хорватский (США)" + +msgid "Czech (extra backslash)" +msgstr "Чешский (дополнительная обратная косая черта)" + +msgid "Czech (QWERTY)" +msgstr "Чешский (QWERTY)" + +msgid "Czech (QWERTY, extra backslash)" +msgstr "Чешский (QWERTY, дополнительная обратная косая черта)" + +msgid "Czech (QWERTZ, Windows)" +msgstr "Чешский (QWERTZ, Windows)" + +msgid "Czech (QWERTY, Windows)" +msgstr "Чешский (QWERTY, Windows)" + +msgid "Czech (QWERTY, Macintosh)" +msgstr "Чешский (QWERTY, Macintosh)" + +msgid "Czech (UCW, only accented letters)" +msgstr "Чешский (UCW, только буквы с диакритическими знаками)" + +msgid "Czech (US, Dvorak, UCW support)" +msgstr "Чешский (США, поддержка Dvorak, UCW)" + +msgid "Russian (Czechia, phonetic)" +msgstr "Русский (Чехия, фонетическая раскладка)" + +msgid "Danish (no dead keys)" +msgstr "Датский (без мёртвых клавиш)" + +msgid "Danish (Windows)" +msgstr "Датский (Windows)" + +msgid "Danish (Macintosh)" +msgstr "Датский (Macintosh)" + +msgid "Danish (Macintosh, no dead keys)" +msgstr "Датский (Macintosh, без мёртвых клавиш)" + +msgid "Danish (Dvorak)" +msgstr "Датский (Dvorak)" + +msgid "Pashto" +msgstr "Пашто" + +msgid "Uzbek (Afghanistan)" +msgstr "Узбекский (Афганистан)" + +msgid "Dari (Afghanistan, OLPC)" +msgstr "Дари (Афганистан, OLPC)" + +msgid "Pashto (Afghanistan, OLPC)" +msgstr "Пашто (Афганистан, OLPC)" + +msgid "Uzbek (Afghanistan, OLPC)" +msgstr "Узбекский (Афганистан, OLPC)" + +msgid "Dutch (US)" +msgstr "Нидерландский (США)" + +msgid "Dutch (Macintosh)" +msgstr "Нидерландский (Macintosh)" + +msgid "Dutch (standard)" +msgstr "Нидерландский (стандартный)" + +msgid "French (Cameroon)" +msgstr "Французский (Камерун)" + +msgid "Cameroon Multilingual (QWERTY, intl.)" +msgstr "Камерунский многоязычный (QWERTY, международный)" + +msgid "Cameroon (AZERTY, intl.)" +msgstr "Камерунский (AZERTY, международный)" + +msgid "Cameroon (Dvorak, intl.)" +msgstr "Камерунский (Дворак, международный)" + +msgid "Mmuock" +msgstr "Mmuock" + +msgid "English (Ghana, multilingual)" +msgstr "Английский (Гана, многоязычный)" + +msgid "English (Ghana, GILLBT)" +msgstr "Английский (Гана, GILLBT)" + +msgid "Akan" +msgstr "Акан" + +msgid "Avatime" +msgstr "Аватайм" + +msgid "Ewe" +msgstr "Эве" + +msgid "Fula" +msgstr "Фула" + +msgid "Ga" +msgstr "Га" + +msgid "Hausa (Ghana)" +msgstr "Хауса (Гана)" + +msgid "Maori" +msgstr "Маори" + +msgid "Hausa (Nigeria)" +msgstr "Хауса (Нигерия)" + +msgid "Igbo" +msgstr "Игбо" + +msgid "Yoruba" +msgstr "Йоруба" + +msgid "English (UK, extended, Windows)" +msgstr "Английский (Великобритания, расширенный, Windows)" + +msgid "English (UK, intl., with dead keys)" +msgstr "Английский (Великобритания, международный, с неработающими клавишами)" + +msgid "English (UK, Dvorak)" +msgstr "Английский (Великобритания, Дворжак)" + +msgid "English (UK, Dvorak, with UK punctuation)" +msgstr "Английский (Великобритания, Дворжак, с британской пунктуацией)" + +msgid "English (UK, Macintosh)" +msgstr "Английский (Великобритания, Macintosh)" + +msgid "English (UK, Macintosh, intl.)" +msgstr "Английский (Великобритания, Macintosh, интерн.)" + +msgid "English (UK, Colemak)" +msgstr "Английский (Великобритания, Colemak)" + +msgid "English (UK, Colemak-DH)" +msgstr "Английский (Великобритания, Colemak-DH)" + +msgid "Scottish Gaelic" +msgstr "Шотландский гэльский" + +msgid "Polish (British keyboard)" +msgstr "Польский (британская клавиатура)" + +msgid "English (US, euro on 5)" +msgstr "Английский (США, евро на 5)" + +msgid "English (US, intl., with dead keys)" +msgstr "Английский (США, интерн., с неактивными клавишами)" + +msgid "English (US, alt. intl.)" +msgstr "Английский (США, альт. интерн.)" + +msgid "English (intl., with AltGr dead keys)" +msgstr "Английский (интерн., с неактивными клавишами AltGr)" + +msgid "English (Macintosh)" +msgstr "Английский (Macintosh)" + +msgid "English (Colemak)" +msgstr "Английский (Colemak)" + +msgid "English (Colemak-DH)" +msgstr "Английский (Colemak-DH)" + +msgid "English (Colemak-DH Wide)" +msgstr "Английский (Colemak-DH Wide)" + +msgid "English (Colemak-DH Ortholinear)" +msgstr "Английский (Colemak-DH Ortholinear)" + +msgid "English (Colemak-DH ISO)" +msgstr "Английский (Colemak-DH ISO)" + +msgid "English (Colemak-DH Wide ISO)" +msgstr "Английский (Colemak-DH Wide ISO)" + +msgid "English (Dvorak)" +msgstr "Английский (Dvorak)" + +msgid "English (Dvorak, intl., with dead keys)" +msgstr "Английский (Dvorak, интерн., с неактивными клавишами)" + +msgid "alt-English (Dvorak, alt. intl.)" +msgstr "альт-английский (Dvorak, альт. интерн.)" + +msgid "English (Dvorak, left-handed)" +msgstr "Английский (Dvorak, для левшей)" + +msgid "English (Dvorak, right-handed)" +msgstr "Английский (Dvorak, для правшей)" + +msgid "English (classic Dvorak)" +msgstr "Английский (классический Dvorak)" + +msgid "English (programmer Dvorak)" +msgstr "Английский (программист Дворжак)" + +msgid "English (Dvorak, Macintosh)" +msgstr "Английский (Дворжак, Macintosh)" + +msgid "English (Norman)" +msgstr "Английский (нормандский)" + +msgid "English (US, Symbolic)" +msgstr "Английский (США, символьная раскладка)" + +msgid "English (Workman)" +msgstr "Английский (Уоркман)" + +msgid "English (Workman, intl., with dead keys)" +msgstr "Английский (Уоркман, междунар., с неактивными клавишами)" + +msgid "English (the divide/multiply toggle the layout)" +msgstr "Английский (переключение раскладки «деление/умножение»)" + +msgid "Cherokee" +msgstr "Чероки" + +msgid "Hawaiian" +msgstr "Гавайский" + +msgid "Russian (US, phonetic)" +msgstr "Русский (США, фонетическая раскладка)" + +msgid "Serbo-Croatian (US)" +msgstr "Сербско-хорватский (США)" + +msgid "Esperanto (legacy)" +msgstr "Эсперанто (устаревший)" + +msgid "Estonian (no dead keys)" +msgstr "Эстонский (без неактивных клавиш)" + +msgid "Estonian (Dvorak)" +msgstr "Эстонский (Дворжак)" + +msgid "Estonian (US)" +msgstr "Эстонский (США)" + +msgid "Faroese (no dead keys)" +msgstr "Фарерский (без неактивных клавиш)" + +msgid "Filipino (QWERTY, Baybayin)" +msgstr "Филиппинский (QWERTY, байбаин)" + +msgid "Filipino (Capewell-Dvorak, Latin)" +msgstr "Филиппинский (Кейпвелл-Дворжак, латиница)" + +msgid "dvorak-Filipino (Capewell-Dvorak, Baybayin)" +msgstr "Дворжак-филиппинский (Кейпвелл-Дворжак,Байбаин)" + +msgid "Filipino (Capewell-QWERF 2006, Latin)" +msgstr "Филиппинский (Capewell-QWERF 2006, латиница)" + +msgid "qwerf2k6-Filipino (Capewell-QWERF 2006, Baybayin)" +msgstr "qwerf2k6-Филиппинский (Capewell-QWERF 2006, байбаин)" + +msgid "Filipino (Colemak, Latin)" +msgstr "Филиппинский (Colemak, латиница)" + +msgid "Filipino (Colemak, Baybayin)" +msgstr "Филиппинский (Colemak, байбаин)" + +msgid "Filipino (Dvorak, Latin)" +msgstr "Филиппинский (Dvorak, латиница)" + +msgid "Filipino (Dvorak, Baybayin)" +msgstr "Филиппинский (Dvorak, байбаин)" + +msgid "Finnish (Windows)" +msgstr "Финский (Windows)" + +msgid "Finnish (classic)" +msgstr "Финский (классический)" + +msgid "Finnish (classic, no dead keys)" +msgstr "Финский (классический, без мёртвых клавиш)" + +msgid "Finnish (Macintosh)" +msgstr "Финский (Macintosh)" + +msgid "Northern Saami (Finland)" +msgstr "Северосаамский (Финляндия)" + +msgid "French (no dead keys)" +msgstr "Французский (без мёртвых клавиш)" + +msgid "French (alt.)" +msgstr "Французский (альтернативный)" + +msgid "French (alt., no dead keys)" +msgstr "Французский (альтернативный, без мёртвых клавиш)" + +msgid "French (alt., Latin-9 only)" +msgstr "Французский (альтернативный, только Latin-9)" + +msgid "French (legacy, alt.)" +msgstr "Французский (устаревший, альт.)" + +msgid "French (legacy, alt., no dead keys)" +msgstr "Французский (устаревший, альт., без мёртвых клавиш)" + +msgid "French (AZERTY)" +msgstr "Французский (AZERTY)" + +msgid "French (AZERTY, AFNOR)" +msgstr "Французский (AZERTY, AFNOR)" + +msgid "French (BEPO)" +msgstr "Французский (BEPO)" + +msgid "French (BEPO, Latin-9 only)" +msgstr "Французский (BEPO, только Latin-9)" + +msgid "French (BEPO, AFNOR)" +msgstr "Французский (BEPO, AFNOR)" + +msgid "French (Dvorak)" +msgstr "Французский (Дворжак)" + +msgid "French (Macintosh)" +msgstr "Французский (Macintosh)" + +msgid "French (US)" +msgstr "Французский (США)" + +msgid "Breton (France)" +msgstr "Бретонский (Франция)" + +msgid "Occitan" +msgstr "Окситанский" + +msgid "Georgian (France, AZERTY Tskapo)" +msgstr "Грузинский (Франция, AZERTY Tskapo)" + +msgid "French (Canada, Dvorak)" +msgstr "Французский (Канада, Дворжак)" + +msgid "French (Canada, legacy)" +msgstr "Французский (Канада, устаревший)" + +msgid "Canadian (CSA)" +msgstr "Канадский (CSA)" + +msgid "English (Canada)" +msgstr "Английский (Канада)" + +msgid "Inuktitut" +msgstr "Инуктитут" + +msgid "Georgian (ergonomic)" +msgstr "Грузинский (эргономичный)" + +msgid "Georgian (MESS)" +msgstr "Грузинский (MESS)" + +msgid "Ossetian (Georgia)" +msgstr "Осетинский (Грузия)" + +msgid "Russian (Georgia)" +msgstr "Русский (Грузия)" + +msgid "German (dead acute)" +msgstr "Немецкий (dead shark)" + +msgid "German (dead grave acute)" +msgstr "Немецкий (dead grave shark)" + +msgid "German (dead tilde)" +msgstr "Немецкий (dead tilde)" + +msgid "German (no dead keys)" +msgstr "Немецкий (без dead keys)" + +msgid "German (E1)" +msgstr "Немецкий (E1)" + +msgid "German (E2)" +msgstr "Немецкий (E2)" + +msgid "German (T3)" +msgstr "Немецкий (T3)" + +msgid "German (US)" +msgstr "Немецкий (США)" + +msgid "German (Dvorak)" +msgstr "Немецкий (Dvorak)" + +msgid "German (Macintosh)" +msgstr "Немецкий (Macintosh)" + +msgid "German (Macintosh, no dead keys)" +msgstr "Немецкий (Macintosh, без мёртвых клавиш)" + +msgid "German (Neo 2)" +msgstr "Немецкий (Neo 2)" + +msgid "German (QWERTY)" +msgstr "Немецкий (QWERTY)" + +msgid "Lower Sorbian" +msgstr "Нижнелужицкий" + +msgid "Lower Sorbian (QWERTZ)" +msgstr "Нижнелужицкий (QWERTZ)" + +msgid "Romanian (Germany)" +msgstr "Румынский (Германия)" + +msgid "Romanian (Germany, no dead keys)" +msgstr "Румынский (Германия, без мёртвых клавиш)" + +msgid "Russian (Germany, phonetic)" +msgstr "Русский (Германия, фонетическая раскладка)" + +msgid "Turkish (Germany)" +msgstr "Турецкий (Германия)" + +msgid "German (Austria, no dead keys)" +msgstr "Немецкий (Австрия, без мёртвых клавиш)" + +msgid "German (Austria, Macintosh)" +msgstr "Немецкий (Австрия, Macintosh)" + +msgid "German (Switzerland, no dead keys)" +msgstr "Немецкий (Швейцария, без мёртвых клавиш)" + +msgid "German (Switzerland, Macintosh)" +msgstr "Немецкий (Швейцария, Macintosh)" + +msgid "German (Switzerland, legacy)" +msgstr "Немецкий (Швейцария, устаревшая раскладка)" + +msgid "French (Switzerland)" +msgstr "Французский (Швейцария)" + +msgid "French (Switzerland, no dead keys)" +msgstr "Французский (Швейцария, без мёртвых клавиш)" + +msgid "French (Switzerland, Macintosh)" +msgstr "Французский (Швейцария, Macintosh)" + +msgid "Greek (simple)" +msgstr "Греческий (простой)" + +msgid "Greek (no dead keys)" +msgstr "Греческий (без мёртвых клавиш)" + +msgid "Greek (polytonic)" +msgstr "Греческий (политонический)" + +msgid "Hebrew (SI-1452-2)" +msgstr "Иврит (SI-1452-2)" + +msgid "Hebrew (lyx)" +msgstr "Иврит (lyx)" + +msgid "Hebrew (phonetic)" +msgstr "Иврит (фонетический)" + +msgid "Hebrew (Biblical, Tiro)" +msgstr "Иврит (библейский, тиро)" + +msgid "Hungarian (standard)" +msgstr "Венгерский (стандартный)" + +msgid "Hungarian (no dead keys)" +msgstr "Венгерский (без мёртвых клавиш)" + +msgid "Hungarian (QWERTY)" +msgstr "Венгерский (QWERTY)" + +msgid "Hungarian (QWERTZ, 101-key, comma, dead keys)" +msgstr "Венгерский (QWERTZ, 101 клавиша, запятая, мёртвые клавиши)" + +msgid "Hungarian (QWERTZ, 101-key, comma, no dead keys)" +msgstr "Венгерский (QWERTZ, 101 клавиша, запятая, без мёртвых клавиш)" + +msgid "Hungarian (QWERTZ, 101-key, dot, dead keys)" +msgstr "Венгерский (QWERTZ, 101 клавиша, точка, мёртвые клавиши)" + +msgid "Hungarian (QWERTZ, 101-key, dot, no dead keys)" +msgstr "Венгерский (QWERTZ, 101 клавиша, точка, без мёртвых клавиш)" + +msgid "Hungarian (QWERTY, 101-key, comma, dead keys)" +msgstr "Венгерский (QWERTY, 101 клавиша, запятая, мёртвые клавиши)" + +msgid "Hungarian (QWERTY, 101-key, comma, no dead keys)" +msgstr "Венгерский (QWERTY, 101 клавиша, запятая, без мёртвых клавиш)" + +msgid "Hungarian (QWERTY, 101-key, dot, dead keys)" +msgstr "Венгерский (QWERTY, 101 клавиша, точка, мёртвые клавиши)" + +msgid "Hungarian (QWERTY, 101-key, dot, no dead keys)" +msgstr "Венгерский (QWERTY, 101 клавиша, точка, мёртвые клавиши)" + +msgid "Hungarian (QWERTZ, 102-key, comma, dead keys)" +msgstr "Венгерский (QWERTZ, 102 клавиши, запятая, неактивные клавиши)" + +msgid "Hungarian (QWERTZ, 102-key, comma, no dead keys)" +msgstr "Венгерская (QWERTZ, 102 клавиши, запятая, без неактивных клавиш)" + +msgid "Hungarian (QWERTZ, 102-key, dot, dead keys)" +msgstr "Венгерская (QWERTZ, 102 клавиши, точка, неактивные клавиши)" + +msgid "Hungarian (QWERTZ, 102-key, dot, no dead keys)" +msgstr "Венгерская (QWERTZ, 102 клавиши, точка, без неактивных клавиш)" + +msgid "Hungarian (QWERTY, 102-key, comma, dead keys)" +msgstr "Венгерская (QWERTY, 102 клавиши, запятая, неактивные клавиши)" + +msgid "Hungarian (QWERTY, 102-key, comma, no dead keys)" +msgstr "Венгерская (QWERTY, 102 клавиши, запятая, без неактивных клавиш)" + +msgid "Hungarian (QWERTY, 102-key, dot, dead keys)" +msgstr "Венгерская (QWERTY, 102 клавиши, точка, без неактивных клавиш)" + +msgid "Hungarian (QWERTY, 102-key, dot, no dead keys)" +msgstr "Венгерская (QWERTY, 102 клавиши, точка, неактивные клавиши)" + +msgid "Icelandic (Macintosh, legacy)" +msgstr "Исландская (Macintosh, устаревшая)" + +msgid "Icelandic (Macintosh)" +msgstr "Исландская (Macintosh)" + +msgid "Icelandic (Dvorak)" +msgstr "Исландская (Dvorak)" + +msgid "Assamese (KaGaPa, phonetic)" +msgstr "Ассамский (KaGaPa, фонетическая)" + +msgid "Bangla (India)" +msgstr "Бенгальский (Индия)" + +msgid "Bangla (India, Probhat)" +msgstr "Бенгальский (Индия, Пробхат)" + +msgid "Bangla (India, Baishakhi)" +msgstr "Бангла (Индия, Байшакхи)" + +msgid "Bangla (India, Bornona)" +msgstr "Бангла (Индия, Борнона)" + +msgid "Bangla (India, KaGaPa, phonetic)" +msgstr "Бангла (Индия, КаГаПа, фонетика)" + +msgid "Bangla (India, Gitanjali)" +msgstr "Бангла (Индия, Гитанджали)" + +msgid "Bangla (India, Baishakhi InScript)" +msgstr "Бангла (Индия, шрифт Байшакхи)" + +msgid "English (India, with rupee)" +msgstr "Английский (Индия, рупия)" + +msgid "Gujarati" +msgstr "Гуджарати" + +msgid "Gujarati (KaGaPa, phonetic)" +msgstr "Гуджарати (КаГаПа, фонетика)" + +msgid "Hindi (Bolnagri)" +msgstr "Хинди (Болнагри)" + +msgid "Hindi (Wx)" +msgstr "Хинди (Wx)" + +msgid "Hindi (KaGaPa, phonetic)" +msgstr "Хинди (КаГаПа, фонетический)" + +msgid "Kannada" +msgstr "Каннада" + +msgid "Kannada (KaGaPa, phonetic)" +msgstr "Каннада (КаГаПа, фонетический)" + +msgid "Malayalam" +msgstr "малаялам" + +msgid "Malayalam (Lalitha)" +msgstr "Малаялам (Лалита)" + +msgid "Malayalam (enhanced InScript, with rupee)" +msgstr "Малаялам (расширенный InScript, с рупиями)" + +msgid "Malayalam (Poorna, extended InScript)" +msgstr "Малаялам (Пурна, расширенный InScript)" + +msgid "Manipuri (Meitei)" +msgstr "Манипури (Мэйтей)" + +msgid "Marathi (KaGaPa, phonetic)" +msgstr "Маратхи (КаГаПа, фонетический)" + +msgid "Marathi (enhanced InScript)" +msgstr "Маратхи (расширенный InScript)" + +msgid "Oriya" +msgstr "Ория" + +msgid "Oriya (Bolnagri)" +msgstr "Ория (Болнагри)" + +msgid "Oriya (Wx)" +msgstr "Ория (Wx)" + +msgid "Punjabi (Gurmukhi)" +msgstr "Пенджаби (Гурмухи)" + +msgid "Punjabi (Gurmukhi Jhelum)" +msgstr "Пенджаби (Гурмухи Джелум)" + +msgid "Sanskrit (KaGaPa, phonetic)" +msgstr "Санскрит (КаГаПа, фонетический)" + +msgid "Santali (Ol Chiki)" +msgstr "Сантали (Ол Чики)" + +msgid "Tamil (TamilNet '99)" +msgstr "Тамильский (TamilNet '99)" + +msgid "Tamil (TamilNet '99 with Tamil numerals)" +msgstr "Тамильский (TamilNet '99 с тамильскими цифрами)" + +msgid "Tamil (TamilNet '99, TAB encoding)" +msgstr "Тамильский (TamilNet '99, кодировка TAB)" + +msgid "Tamil (TamilNet '99, TSCII encoding)" +msgstr "Тамильский (TamilNet '99, кодировка TSCII)" + +msgid "Tamil (InScript, with Arabic numerals)" +msgstr "Тамильский (InScript, с арабскими цифрами)" + +msgid "Tamil (InScript, with Tamil numerals)" +msgstr "Тамильский (InScript, с тамильскими цифрами)" + +msgid "Telugu" +msgstr "телугу" + +msgid "Telugu (KaGaPa, phonetic)" +msgstr "Телугу (КаГаПа, фонетический)" + +msgid "Telugu (Sarala)" +msgstr "Телугу (Сарала)" + +msgid "Urdu (phonetic)" +msgstr "Урду (фонетический)" + +msgid "Urdu (alt. phonetic)" +msgstr "Урду (альт. фонетический)" + +msgid "Urdu (Windows)" +msgstr "Урду (Windows)" + +msgid "Indic IPA" +msgstr "Индийский ИПА" + +msgid "Indonesian (Arab Melayu, phonetic)" +msgstr "Индонезийский (арабский мелайу, фонетический)" + +msgid "Indonesian (Arab Melayu, extended phonetic)" +msgstr "Индонезийский (арабский мелайу, расширенный Фонетический)" + +msgid "Indonesian (Arab Pegon, phonetic)" +msgstr "Индонезийский (арабский пегон, фонетический)" + +msgid "Javanese" +msgstr "Яванский" + +msgid "Irish (UnicodeExpert)" +msgstr "Ирландский (UnicodeExpert)" + +msgid "CloGaelach" +msgstr "Кло-гэльский" + +msgid "Ogham" +msgstr "Огам" + +msgid "Ogham (IS434)" +msgstr "Огам (IS434)" + +msgid "Italian (no dead keys)" +msgstr "Итальянский (без мёртвых клавиш)" + +msgid "Italian (Windows)" +msgstr "Итальянский (Windows)" + +msgid "Italian (Macintosh)" +msgstr "Итальянский (Macintosh)" + +msgid "Italian (US)" +msgstr "Итальянский (США)" + +msgid "Italian (IBM 142)" +msgstr "Итальянский (IBM 142)" + +msgid "Friulian (Italy)" +msgstr "Фриульский (Италия)" + +msgid "Sicilian" +msgstr "Сицилийский" + +msgid "Georgian (Italy)" +msgstr "Грузинский (Италия)" + +msgid "Japanese (Kana)" +msgstr "Японский (Кана)" + +msgid "Japanese (Kana 86)" +msgstr "Японский (Кана 86)" + +msgid "Japanese (OADG 109A)" +msgstr "Японский (OADG 109A)" + +msgid "Japanese (Macintosh)" +msgstr "Японский (Macintosh)" + +msgid "Japanese (Dvorak)" +msgstr "Японский (Дворак)" + +msgid "Kazakh (with Russian)" +msgstr "Казахский (с русским)" + +msgid "Kazakh (extended)" +msgstr "Казахский (расширенный)" + +msgid "Kazakh (Latin)" +msgstr "Казахский (латиница)" + +msgid "Russian (Kazakhstan, with Kazakh)" +msgstr "Русский (Казахстан, с казахским)" + +msgid "Korean (101/104-key compatible)" +msgstr "Корейский (совместимый с 101/104 клавишами)" + +msgid "Kyrgyz (phonetic)" +msgstr "Киргизский (фонетический)" + +msgid "Lao (STEA)" +msgstr "Лаосский (STEA)" + +msgid "Latvian (apostrophe)" +msgstr "Латышский (апостроф)" + +msgid "Latvian (tilde)" +msgstr "Латышский (тильда)" + +msgid "Latvian (F)" +msgstr "Латышский (F)" + +msgid "Latvian (Modern Latin)" +msgstr "Латышский (современная латиница)" + +msgid "Latvian (Modern Cyrillic)" +msgstr "Латышский (современная кириллица)" + +msgid "Latvian (ergonomic, ŪGJRMV)" +msgstr "Латышский (эргономичный, ŪGJRMV)" + +msgid "Latvian (adapted)" +msgstr "Латышский (адаптированный)" + +msgid "Lithuanian (standard)" +msgstr "Литовский (стандартный)" + +msgid "Lithuanian (US)" +msgstr "Литовский (США)" + +msgid "Lithuanian (IBM)" +msgstr "Литовский (IBM)" + +msgid "Lithuanian (LEKP)" +msgstr "Литовский (LEKP)" + +msgid "Lithuanian (LEKPa)" +msgstr "Литовский (LEKPa)" + +msgid "Lithuanian (Ratise)" +msgstr "Литовский (Ratise)" + +msgid "Samogitian" +msgstr "Жямайтийский" + +msgid "Macedonian (no dead keys)" +msgstr "Македонский (без мёртвых клавиш)" + +msgid "Malay (Jawi, phonetic)" +msgstr "Малайский (Jawi, фонетический)" + +msgid "Maltese (US)" +msgstr "Мальтийский (США)" + +msgid "Maltese (US, with AltGr overrides)" +msgstr "Мальтийский (США, с переопределением AltGr)" + +msgid "Maltese (UK, with AltGr overrides)" +msgstr "Мальтийский (Великобритания, с переопределением AltGr)" + +msgid "Gagauz (Moldova)" +msgstr "Гагаузский (Молдова)" + +msgid "Montenegrin (Cyrillic)" +msgstr "Черногорский (кириллица)" + +msgid "Montenegrin (Cyrillic, ZE and ZHE swapped)" +msgstr "Черногорский (кириллица, ZE и ZHE поменялись местами)" + +msgid "Montenegrin (Cyrillic, with guillemets)" +msgstr "Черногорский (кириллица, с кайриллицей)" + +msgid "Montenegrin (Latin, Unicode)" +msgstr "Черногорский (латиница, Unicode)" + +msgid "Montenegrin (Latin, QWERTY)" +msgstr "Черногорский (латиница, QWERTY)" + +msgid "Montenegrin (Latin, Unicode, QWERTY)" +msgstr "Черногорский (латиница, Unicode, QWERTY)" + +msgid "Montenegrin (Latin, with guillemets)" +msgstr "Черногорский (латиница, с кайриллицей)" + +msgid "Norwegian (no dead keys)" +msgstr "Норвежский (без мёртвых клавиш)" + +msgid "Norwegian (Windows)" +msgstr "Норвежский (Windows)" + +msgid "Norwegian (Macintosh)" +msgstr "Норвежский (Macintosh)" + +msgid "Norwegian (Macintosh, no dead keys)" +msgstr "Норвежский (Macintosh, без мёртвых клавиш)" + +msgid "Norwegian (Colemak)" +msgstr "Норвежский (Colemak)" + +msgid "Norwegian (Colemak-DH)" +msgstr "Норвежский (Colemak-DH)" + +msgid "Norwegian (Colemak-DH Wide)" +msgstr "Норвежский (Colemak-DH Wide)" + +msgid "Norwegian (Dvorak)" +msgstr "Норвежский (Dvorak)" + +msgid "Northern Saami (Norway)" +msgstr "Северосаамский (Норвегия)" + +msgid "Northern Saami (Norway, no dead keys)" +msgstr "Северосаамский (Норвегия, без мёртвых клавиш)" + +msgid "Persian (with Persian keypad)" +msgstr "Персидский (с персидской клавиатурой)" + +msgid "Persian (Windows)" +msgstr "Персидский (Windows)" + +msgid "Azerbaijani (Iran)" +msgstr "Азербайджанский (Иран)" + +msgid "Kurdish (Iran, Latin Q)" +msgstr "Курдский (Иран,Латинская Q)" + +msgid "Kurdish (Iran, Latin Alt-Q)" +msgstr "Курдский (Иран, латинская раскладка Alt-Q)" + +msgid "Kurdish (Iran, F)" +msgstr "Курдский (Иран, F)" + +msgid "Kurdish (Iran, Arabic-Latin)" +msgstr "Курдский (Иран, арабская латиница)" + +msgid "Polish (legacy)" +msgstr "Польский (устаревший)" + +msgid "Polish (QWERTZ)" +msgstr "Польский (QWERTZ)" + +msgid "Polish (Dvorak)" +msgstr "Польский (Дворжак)" + +msgid "Polish (Dvorak, with Polish quotes on quotemark key)" +msgstr "Польский (Дворжак, с польскими кавычками на клавише с кавычками)" + +msgid "Polish (Dvorak, with Polish quotes on key 1)" +msgstr "Польский (Дворжак, с польскими кавычками на клавише 1)" + +msgid "Polish (programmer Dvorak)" +msgstr "Польский (программистский Дворжак)" + +msgid "Kashubian" +msgstr "Кашубский" + +msgid "Silesian" +msgstr "Силезский" + +msgid "Russian (Poland, phonetic Dvorak)" +msgstr "Русский (Польша, фонетическая раскладка Дворжак)" + +msgid "Portuguese (no dead keys)" +msgstr "Португальский (без мёртвых клавиш)" + +msgid "Portuguese (Macintosh)" +msgstr "Португальский (Macintosh)" + +msgid "Portuguese (Macintosh, no dead keys)" +msgstr "Португальский (Macintosh, без мёртвых клавиш)" + +msgid "Portuguese (Nativo)" +msgstr "Португальский (Nativo)" + +msgid "Portuguese (Nativo for US keyboards)" +msgstr "Португальский (Nativo для клавиатур США)" + +msgid "Esperanto (Portugal, Nativo)" +msgstr "Эсперанто (Португалия, Nativo)" + +msgid "Portuguese (Brazil, no dead keys)" +msgstr "Португальский (Бразилия, без мёртвых клавиш)" + +msgid "Portuguese (Brazil, Dvorak)" +msgstr "Португальский (Бразилия, Дворжак)" + +msgid "Portuguese (Brazil, Nativo)" +msgstr "Португальский (Бразилия, Nativo)" + +msgid "Portuguese (Brazil, Nativo for US keyboards)" +msgstr "Португальский (Бразилия, Nativo для клавиатур США)" + +msgid "Portuguese (Brazil, IBM/Lenovo ThinkPad)" +msgstr "Португальский (Бразилия, IBM/Lenovo ThinkPad)" + +msgid "Esperanto (Brazil, Nativo)" +msgstr "Эсперанто (Бразилия, Nativo)" + +msgid "Russian (Brazil, phonetic)" +msgstr "Русский (Бразилия, фонетический)" + +msgid "Romanian (standard)" +msgstr "Румынский (стандартный)" + +msgid "Romanian (Windows)" +msgstr "Румынский (Windows)" + +msgid "Russian (phonetic)" +msgstr "Русский (фонетический)" + +msgid "Russian (phonetic, Windows)" +msgstr "Русский (фонетический, Windows)" + +msgid "Russian (phonetic, YAZHERTY)" +msgstr "Русский (фонетический, ЯЖЕРТЫ)" + +msgid "Russian (phonetic, AZERTY)" +msgstr "Русский (фонетический, AZERTY)" + +msgid "Russian (phonetic, Dvorak)" +msgstr "Русский (фонетический, Дворжак)" + +msgid "Russian (typewriter)" +msgstr "Русский (пишущая машинка)" + +msgid "Russian (engineering, RU)" +msgstr "Русский (инженерный, RU)" + +msgid "Russian (engineering, EN)" +msgstr "Русский (инженерный, EN)" + +msgid "Russian (legacy)" +msgstr "Русский (устаревший)" + +msgid "Russian (typewriter, legacy)" +msgstr "Русский (пишущая машинка, устаревший)" + +msgid "Russian (DOS)" +msgstr "Русский (DOS)" + +msgid "Russian (Macintosh)" +msgstr "Русский (Macintosh)" + +msgid "Abkhazian (Russia)" +msgstr "Абхазский (Россия)" + +msgid "Bashkirian" +msgstr "Башкирский" + +msgid "Chuvash" +msgstr "Чувашский" + +msgid "Chuvash (Latin)" +msgstr "Чувашский (латиница)" + +msgid "Kalmyk" +msgstr "Калмыцкий" + +msgid "Komi" +msgstr "Коми" + +msgid "Mari" +msgstr "Марийский" + +msgid "Ossetian (legacy)" +msgstr "Осетинский (устаревший)" + +msgid "Ossetian (Windows)" +msgstr "Осетинский (Windows)" + +msgid "Serbian (Russia)" +msgstr "Сербский (Россия)" + +msgid "Tatar" +msgstr "Татарский" + +msgid "Udmurt" +msgstr "Удмуртский" + +msgid "Yakut" +msgstr "Якутский" + +msgid "Serbian (Cyrillic, with guillemets)" +msgstr "Сербский (кириллица, с кайрами)" + +msgid "Serbian (Cyrillic, ZE and ZHE swapped)" +msgstr "Сербский (кириллица, ZE и ZHE поменяны местами)" + +msgid "Serbian (Latin)" +msgstr "Сербский (латиница)" + +msgid "Serbian (Latin, with guillemets)" +msgstr "Сербский (латиница, с кайрами)" + +msgid "Serbian (Latin, Unicode)" +msgstr "Сербский (латиница, Unicode)" + +msgid "Serbian (Latin, QWERTY)" +msgstr "Сербский (латиница, QWERTY)" + +msgid "Serbian (Latin, Unicode, QWERTY)" +msgstr "Сербский (латиница, Unicode, QWERTY)" + +msgid "Pannonian Rusyn" +msgstr "Паннонский русинский" + +msgid "Sinhala (US)" +msgstr "Сингальский (США)" + +msgid "Tamil (Sri Lanka, TamilNet '99)" +msgstr "Тамильский (Шри-Ланка, TamilNet '99)" + +msgid "Tamil (Sri Lanka, TamilNet '99, TAB encoding)" +msgstr "Тамильский (Шри-Ланка, TamilNet '99, кодировка TAB)" + +msgid "Slovak (extra backslash)" +msgstr "Словацкий (дополнительная обратная косая черта)" + +msgid "Slovak (QWERTY)" +msgstr "Словацкий (QWERTY)" + +msgid "Slovak (QWERTY, extra backslash)" +msgstr "Словацкий (QWERTY, дополнительная обратная косая черта)" + +msgid "Slovenian (with guillemets)" +msgstr "Словенский (с кайрами)" + +msgid "Slovenian (US)" +msgstr "Словенский (США)" + +msgid "Spanish (no dead keys)" +msgstr "Испанский (без мёртвых клавиш)" + +msgid "Spanish (dead tilde)" +msgstr "Испанский (с тильдой)" + +msgid "Spanish (Windows)" +msgstr "Испанский (Windows)" + +msgid "Spanish (Dvorak)" +msgstr "Испанский (Дворжак)" + +msgid "Asturian (Spain, with bottom-dot H and L)" +msgstr "Астурийский (Испания, с точками H и L в нижней части)" + +msgid "Catalan (Spain, with middle-dot L)" +msgstr "Каталанский (Испания, с точкой L в средней части)" + +msgid "Spanish (Latin American, no dead keys)" +msgstr "Испанский (Латиноамериканский, без тильды)" + +msgid "Spanish (Latin American, dead tilde)" +msgstr "Испанский (Латиноамериканский, с тильдой)" + +msgid "Spanish (Latin American, Dvorak)" +msgstr "Испанский (Латиноамериканский, Дворжак)" + +msgid "Spanish (Latin American, Colemak)" +msgstr "Испанский (Латиноамериканский, Колемак)" + +msgid "Kikuyu" +msgstr "Кикуйю" + +msgid "Swedish (no dead keys)" +msgstr "Шведский (без тильды)" + +msgid "Swedish (Dvorak)" +msgstr "Шведский (Дворжак)" + +msgid "Swedish (Dvorak, intl.)" +msgstr "Шведский (Дворжак, международный)" + +msgid "Swedish (Svdvorak)" +msgstr "Шведский (Свдвожак)" + +msgid "Swedish (Macintosh)" +msgstr "Шведский (Macintosh)" + +msgid "Swedish (US)" +msgstr "Шведский (США)" + +msgid "Swedish Sign Language" +msgstr "Шведский жестовый язык" + +msgid "Northern Saami (Sweden)" +msgstr "Северосаамский (Швеция)" + +msgid "Russian (Sweden, phonetic)" +msgstr "Русский (Швеция, фонетический)" + +msgid "Taiwanese (indigenous)" +msgstr "Тайваньский (коренной)" + +msgid "Saisiyat (Taiwan)" +msgstr "Сайсият (Тайвань)" + +msgid "Tajik (legacy)" +msgstr "Таджикский (устаревший)" + +msgid "Thai (TIS-820.2538)" +msgstr "Тайский (TIS-820.2538)" + +msgid "Thai (Pattachote)" +msgstr "Тайский (паттачот)" + +msgid "Turkmen (Alt-Q)" +msgstr "Туркменский (Alt-Q)" + +msgid "Turkish (F)" +msgstr "Турецкий (F)" + +msgid "Turkish (E)" +msgstr "Турецкий (E)" + +msgid "Turkish (Alt-Q)" +msgstr "Турецкий (Alt-Q)" + +msgid "Turkish (intl., with dead keys)" +msgstr "Турецкий (международный, с неактивными клавишами)" + +msgid "Kurdish (Turkey, Latin Q)" +msgstr "Курдский (Турция, латинская Q)" + +msgid "Kurdish (Turkey, F)" +msgstr "Курдский (Турция, F)" + +msgid "Kurdish (Turkey, Latin Alt-Q)" +msgstr "Курдский (Турция, латинская Alt-Q)" + +msgid "Ukrainian (phonetic)" +msgstr "Украинский (фонетический)" + +msgid "Ukrainian (typewriter)" +msgstr "Украинский (печатная машинка)" + +msgid "Ukrainian (Windows)" +msgstr "Украинский (Windows)" + +msgid "Ukrainian (macOS)" +msgstr "Украинский (macOS)" + +msgid "Ukrainian (legacy)" +msgstr "Украинский (устаревший)" + +msgid "Ukrainian (homophonic)" +msgstr "Украинский (омофонный)" + +msgid "Crimean Tatar (Turkish Q)" +msgstr "Крымско-татарский (турецкая Q)" + +msgid "Crimean Tatar (Turkish F)" +msgstr "Крымско-татарский (турецкая F)" + +msgid "Crimean Tatar (Turkish Alt-Q)" +msgstr "Крымско-татарский (турецкая Alt-Q)" + +msgid "Urdu (Pakistan, CRULP)" +msgstr "Урду (Пакистан, CRULP)" + +msgid "Urdu (Pakistan, NLA)" +msgstr "Урду (Пакистан, NLA)" + +msgid "Arabic (Pakistan)" +msgstr "Арабский (Пакистан)" + +msgid "Sindhi" +msgstr "Синдхи" + +msgid "Uzbek (Latin)" +msgstr "Узбекский (латиница)" + +msgid "Vietnamese (US)" +msgstr "Вьетнамский (США)" + +msgid "Vietnamese (France)" +msgstr "Вьетнамский (Франция)" diff --git a/locale/ubl-settings-keyboard-models.pot b/locale/ubl-settings-keyboard-models.pot new file mode 100644 index 0000000..2be8d9a --- /dev/null +++ b/locale/ubl-settings-keyboard-models.pot @@ -0,0 +1,578 @@ +# Language translations for ubl-settings-keyboard package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-keyboard package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr """Project-Id-Version: ubl-settings-keyboard 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Generic 86-key PC" +msgstr "" + +msgid "Generic 101-key PC" +msgstr "" + +msgid "Generic 102-key PC" +msgstr "" + +msgid "Generic 104-key PC" +msgstr "" + +msgid "Generic 104-key PC with L-shaped Enter key" +msgstr "" + +msgid "Generic 105-key PC" +msgstr "" + +msgid "A4Tech KB-21" +msgstr "" + +msgid "A4Tech KBS-8" +msgstr "" + +msgid "A4Tech Wireless Desktop RFKB-23" +msgstr "" + +msgid "Acer AirKey V" +msgstr "" + +msgid "Acer C300" +msgstr "" + +msgid "Acer Ferrari 4000" +msgstr "" + +msgid "Acer laptop" +msgstr "" + +msgid "Advance Scorpius KI" +msgstr "" + +msgid "Apple" +msgstr "" + +msgid "Apple Aluminium (ANSI)" +msgstr "" + +msgid "Apple Aluminium (ISO)" +msgstr "" + +msgid "Apple Aluminium (JIS)" +msgstr "" + +msgid "Asus laptop" +msgstr "" + +msgid "Azona RF2300 Wireless Internet" +msgstr "" + +msgid "BenQ X-Touch" +msgstr "" + +msgid "BenQ X-Touch 730" +msgstr "" + +msgid "BenQ X-Touch 800" +msgstr "" + +msgid "Brother Internet" +msgstr "" + +msgid "BTC 5090" +msgstr "" + +msgid "BTC 5113RF Multimedia" +msgstr "" + +msgid "BTC 5126T" +msgstr "" + +msgid "BTC 6301URF" +msgstr "" + +msgid "BTC 9000" +msgstr "" + +msgid "BTC 9000A" +msgstr "" + +msgid "BTC 9001AH" +msgstr "" + +msgid "BTC 9019U" +msgstr "" + +msgid "BTC 9116U Mini Wireless Internet and Gaming" +msgstr "" + +msgid "Cherry Blue Line CyBo@rd" +msgstr "" + +msgid "Cherry Blue Line CyBo@rd (alt.)" +msgstr "" + +msgid "Cherry B.UNLIMITED" +msgstr "" + +msgid "Cherry CyBo@rd USB-Hub" +msgstr "" + +msgid "Cherry CyMotion Expert" +msgstr "" + +msgid "Cherry CyMotion Master Linux" +msgstr "" + +msgid "Cherry CyMotion Master XPress" +msgstr "" + +msgid "Chicony Internet" +msgstr "" + +msgid "Chicony KB-9885" +msgstr "" + +msgid "Chicony KU-0108" +msgstr "" + +msgid "Chicony KU-0420" +msgstr "" + +msgid "Chromebook" +msgstr "" + +msgid "Classmate PC" +msgstr "" + +msgid "Compal FL90" +msgstr "" + +msgid "Compaq Armada laptop" +msgstr "" + +msgid "Compaq Easy Access" +msgstr "" + +msgid "Compaq Internet (7 keys)" +msgstr "" + +msgid "Compaq Internet (13 keys)" +msgstr "" + +msgid "Compaq Internet (18 keys)" +msgstr "" + +msgid "Compaq iPaq" +msgstr "" + +msgid "Compaq Presario laptop" +msgstr "" + +msgid "Creative Desktop Wireless 7000" +msgstr "" + +msgid "Dell" +msgstr "" + +msgid "Dell 101-key PC" +msgstr "" + +msgid "Dell Latitude laptop" +msgstr "" + +msgid "Dell Inspiron 6000/8000 laptop" +msgstr "" + +msgid "Dell Precision M laptop" +msgstr "" + +msgid "Dell Precision M65 laptop" +msgstr "" + +msgid "Dell SK-8125" +msgstr "" + +msgid "Dell SK-8135" +msgstr "" + +msgid "Dell USB Multimedia" +msgstr "" + +msgid "Dexxa Wireless Desktop" +msgstr "" + +msgid "Diamond 9801/9802" +msgstr "" + +msgid "DTK2000" +msgstr "" + +msgid "eMachines m6800 laptop" +msgstr "" + +msgid "Ennyah DKB-1008" +msgstr "" + +msgid "Everex STEPnote" +msgstr "" + +msgid "Fujitsu-Siemens Amilo laptop" +msgstr "" + +msgid "Genius Comfy KB-16M/Multimedia KWD-910" +msgstr "" + +msgid "Genius Comfy KB-12e" +msgstr "" + +msgid "Genius Comfy KB-21e-Scroll" +msgstr "" + +msgid "Genius KB-19e NB" +msgstr "" + +msgid "Genius KKB-2050HS" +msgstr "" + +msgid "Gyration" +msgstr "" + +msgid "Happy Hacking" +msgstr "" + +msgid "Happy Hacking for Mac" +msgstr "" + +msgid "Hewlett-Packard Internet" +msgstr "" + +msgid "Hewlett-Packard Mini 110 laptop" +msgstr "" + +msgid "Hewlett-Packard nx9020" +msgstr "" + +msgid "Hewlett-Packard Omnibook 500" +msgstr "" + +msgid "Hewlett-Packard Omnibook 500 FA" +msgstr "" + +msgid "Hewlett-Packard Omnibook 6000/6100" +msgstr "" + +msgid "Hewlett-Packard Omnibook XE3 GC" +msgstr "" + +msgid "Hewlett-Packard Omnibook XE3 GF" +msgstr "" + +msgid "Hewlett-Packard Omnibook XT1000" +msgstr "" + +msgid "Hewlett-Packard Pavilion dv5" +msgstr "" + +msgid "Hewlett-Packard Pavilion ZT1100" +msgstr "" + +msgid "Hewlett-Packard SK-2501 Multimedia" +msgstr "" + +msgid "Honeywell Euroboard" +msgstr "" + +msgid "IBM Rapid Access" +msgstr "" + +msgid "IBM Rapid Access II" +msgstr "" + +msgid "IBM Space Saver" +msgstr "" + +msgid "IBM ThinkPad 560Z/600/600E/A22E" +msgstr "" + +msgid "IBM ThinkPad R60/T60/R61/T61" +msgstr "" + +msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t" +msgstr "" + +msgid "Keytronic FlexPro" +msgstr "" + +msgid "Kinesis" +msgstr "" + +msgid "Logitech" +msgstr "" + +msgid "Logitech Access" +msgstr "" + +msgid "Logitech Cordless Desktop" +msgstr "" + +msgid "Logitech Cordless Desktop (alt.)" +msgstr "" + +msgid "Logitech Cordless Desktop EX110" +msgstr "" + +msgid "Logitech Cordless Desktop iTouch" +msgstr "" + +msgid "Logitech Cordless Desktop LX-300" +msgstr "" + +msgid "Logitech Cordless Desktop Navigator" +msgstr "" + +msgid "Logitech Cordless Desktop Optical" +msgstr "" + +msgid "Logitech diNovo" +msgstr "" + +msgid "Logitech diNovo Edge" +msgstr "" + +msgid "Logitech G15 extra keys via G15daemon" +msgstr "" + +msgid "Logitech Internet" +msgstr "" + +msgid "Logitech Internet 350" +msgstr "" + +msgid "Logitech Internet 350" +msgstr "" + +msgid "Logitech Internet Navigator" +msgstr "" + +msgid "Logitech iTouch" +msgstr "" + +msgid "Logitech iTouch Cordless Y-RB6" +msgstr "" + +msgid "Logitech iTouch Internet Navigator SE" +msgstr "" + +msgid "Logitech iTouch Internet Navigator SE USB" +msgstr "" + +msgid "Logitech Ultra-X" +msgstr "" + +msgid "Logitech Ultra-X Cordless Media Desktop" +msgstr "" + +msgid "MacBook/MacBook Pro" +msgstr "" + +msgid "MacBook/MacBook Pro (intl.)" +msgstr "" + +msgid "Macintosh" +msgstr "" + +msgid "Macintosh Old" +msgstr "" + +msgid "Memorex MX1998" +msgstr "" + +msgid "Memorex MX2500 EZ-Access" +msgstr "" + +msgid "Memorex MX2750" +msgstr "" + +msgid "Microsoft Comfort Curve 2000" +msgstr "" + +msgid "Microsoft Internet" +msgstr "" + +msgid "Microsoft Internet Pro (Swedish)" +msgstr "" + +msgid "Microsoft Natural" +msgstr "" + +msgid "Microsoft Natural Elite" +msgstr "" + +msgid "Microsoft Natural Ergonomic 4000" +msgstr "" + +msgid "Microsoft Natural Wireless Ergonomic 7000" +msgstr "" + +msgid "Microsoft Natural Pro/Internet Pro" +msgstr "" + +msgid "Microsoft Natural Pro USB/Internet Pro" +msgstr "" + +msgid "Microsoft Natural Pro OEM" +msgstr "" + +msgid "Microsoft Office Keyboard" +msgstr "" + +msgid "Microsoft Surface" +msgstr "" + +msgid "Microsoft Wireless Multimedia 1.0A" +msgstr "" + +msgid "NEC SK-1300" +msgstr "" + +msgid "NEC SK-2500" +msgstr "" + +msgid "NEC SK-6200" +msgstr "" + +msgid "NEC SK-7100" +msgstr "" + +msgid "Northgate OmniKey 101" +msgstr "" + +msgid "OLPC" +msgstr "" + +msgid "Ortek Multimedia/Internet MCK-800" +msgstr "" + +msgid "PC-98" +msgstr "" + +msgid "PinePhone Keyboard" +msgstr "" + +msgid "Propeller Voyager KTEZ-1000" +msgstr "" + +msgid "QTronix Scorpius 98N+" +msgstr "" + +msgid "Samsung SDM 4500P" +msgstr "" + +msgid "Samsung SDM 4510P" +msgstr "" + +msgid "Sanwa Supply SKB-KG3" +msgstr "" + +msgid "Silvercrest Multimedia Wireless" +msgstr "" + +msgid "SteelSeries Apex 300 (Apex RAW)" +msgstr "" + +msgid "Sun Type 6 (Japanese)" +msgstr "" + +msgid "Sun Type 6 USB (Japanese)" +msgstr "" + +msgid "Sun Type 6 USB (Unix)" +msgstr "" + +msgid "Sun Type 6/7 USB" +msgstr "" + +msgid "Sun Type 6/7 USB (European)" +msgstr "" + +msgid "Sun Type 7 USB" +msgstr "" + +msgid "Sun Type 7 USB (European)" +msgstr "" + +msgid "Sun Type 7 USB (Japanese)/Japanese 106-key" +msgstr "" + +msgid "Sun Type 7 USB (Unix)" +msgstr "" + +msgid "Super Power Multimedia" +msgstr "" + +msgid "SVEN Ergonomic 2500" +msgstr "" + +msgid "SVEN Slim 303" +msgstr "" + +msgid "Symplon PaceBook tablet" +msgstr "" + +msgid "Targa Visionary 811" +msgstr "" + +msgid "Toshiba Satellite S3000" +msgstr "" + +msgid "Truly Ergonomic 227" +msgstr "" + +msgid "Truly Ergonomic 229" +msgstr "" + +msgid "Trust Direct Access" +msgstr "" + +msgid "Trust Slimline" +msgstr "" + +msgid "Trust Wireless Classic" +msgstr "" + +msgid "TypeMatrix EZ-Reach 2020" +msgstr "" + +msgid "TypeMatrix EZ-Reach 2030 PS2" +msgstr "" + +msgid "TypeMatrix EZ-Reach 2030 USB" +msgstr "" + +msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)" +msgstr "" + +msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)" +msgstr "" + +msgid "Unitek KB-1925" +msgstr "" + +msgid "ViewSonic KU-306 Internet" +msgstr "" + +msgid "Winbook Model XP5" +msgstr "" + +msgid "Yahoo! Internet" +msgstr "" \ No newline at end of file diff --git a/locale/ubl-settings-keyboard-models_ru.po b/locale/ubl-settings-keyboard-models_ru.po new file mode 100644 index 0000000..e9549a9 --- /dev/null +++ b/locale/ubl-settings-keyboard-models_ru.po @@ -0,0 +1,576 @@ +# Russian translations for ubl-settings-keyboard package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-keyboard package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubl-settings-keyboard 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: 2023-01-01 00:00+0600\n" +"Last-Translator: UBLinux Team \n" +"Language-Team: Russian - UBLinux Team \n" +"Language: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "Generic 86-key PC" +msgstr "Универсальный ПК с 86 клавишами" + +msgid "Generic 101-key PC" +msgstr "Универсальный ПК с 101 клавишами" + +msgid "Generic 102-key PC" +msgstr "Универсальный ПК с 102 клавишами" + +msgid "Generic 104-key PC" +msgstr "Универсальный ПК с 104 клавишами" + +msgid "Generic 104-key PC with L-shaped Enter key" +msgstr "Универсальный ПК с 104 клавишами и Г-образной клавишей Enter" + +msgid "Generic 105-key PC" +msgstr "Универсальный ПК с 105 клавишами" + +msgid "A4Tech KB-21" +msgstr "A4Tech KB-21" + +msgid "A4Tech KBS-8" +msgstr "A4Tech KBS-8" + +msgid "A4Tech Wireless Desktop RFKB-23" +msgstr "Беспроводной настольный компьютер A4Tech RFKB-23" + +msgid "Acer AirKey V" +msgstr "Acer AirKey V" + +msgid "Acer C300" +msgstr "Acer C300" + +msgid "Acer Ferrari 4000" +msgstr "Acer Ferrari 4000" + +msgid "Acer laptop" +msgstr "Ноутбук Acer" + +msgid "Advance Scorpius KI" +msgstr "Advance Scorpius KI" + +msgid "Apple" +msgstr "Apple" + +msgid "Apple Aluminium (ANSI)" +msgstr "Apple Aluminium (ANSI)" + +msgid "Apple Aluminium (ISO)" +msgstr "Apple Aluminium (ISO)" + +msgid "Apple Aluminium (JIS)" +msgstr "Apple Aluminium (JIS)" + +msgid "Asus laptop" +msgstr "Ноутбук Asus" + +msgid "Azona RF2300 Wireless Internet" +msgstr "Azona RF2300 Wireless Internet" + +msgid "BenQ X-Touch" +msgstr "BenQ X-Touch" + +msgid "BenQ X-Touch 730" +msgstr "BenQ X-Touch 730" + +msgid "BenQ X-Touch 800" +msgstr "BenQ X-Touch 800" + +msgid "Brother Internet" +msgstr "Brother Internet" + +msgid "BTC 5090" +msgstr "BTC 5090" + +msgid "BTC 5113RF Multimedia" +msgstr "BTC 5113RF Multimedia" + +msgid "BTC 5126T" +msgstr "BTC 5126T" + +msgid "BTC 6301URF" +msgstr "BTC 6301URF" + +msgid "BTC 9000" +msgstr "BTC 9000" + +msgid "BTC 9000A" +msgstr "BTC 9000A" + +msgid "BTC 9001AH" +msgstr "BTC 9001AH" + +msgid "BTC 9019U" +msgstr "BTC 9019U" + +msgid "BTC 9116U Mini Wireless Internet and Gaming" +msgstr "BTC 9116U Mini Wireless Internet and Gaming" + +msgid "Cherry Blue Line CyBo@rd" +msgstr "Cherry Blue Line CyBo@rd" + +msgid "Cherry Blue Line CyBo@rd (alt.)" +msgstr "Cherry Blue Line CyBo@rd (альт.)" + +msgid "Cherry B.UNLIMITED" +msgstr "Cherry B.UNLIMITED" + +msgid "Cherry CyBo@rd USB-Hub" +msgstr "USB-концентратор Cherry CyBo@rd" + +msgid "Cherry CyMotion Expert" +msgstr "Cherry CyMotion Expert" + +msgid "Cherry CyMotion Master Linux" +msgstr "Cherry CyMotion Master Linux" + +msgid "Cherry CyMotion Master XPress" +msgstr "Cherry CyMotion Master XPress" + +msgid "Chicony Internet" +msgstr "Chicony Internet" + +msgid "Chicony KB-9885" +msgstr "Chicony KB-9885" + +msgid "Chicony KU-0108" +msgstr "Chicony KU-0108" + +msgid "Chicony KU-0420" +msgstr "Chicony KU-0420" + +msgid "Chromebook" +msgstr "Chromebook" + +msgid "Classmate PC" +msgstr "ПК Classmate" + +msgid "Compal FL90" +msgstr "Compal FL90" + +msgid "Compaq Armada laptop" +msgstr "Ноутбук Compaq Armada" + +msgid "Compaq Easy Access" +msgstr "Compaq Easy Access" + +msgid "Compaq Internet (7 keys)" +msgstr "Compaq Internet (7 клавиш)" + +msgid "Compaq Internet (13 keys)" +msgstr "Compaq Internet (13 клавиш)" + +msgid "Compaq Internet (18 keys)" +msgstr "Compaq Internet (18 клавиш)" + +msgid "Compaq iPaq" +msgstr "Compaq iPaq" + +msgid "Compaq Presario laptop" +msgstr "Ноутбук Compaq Presario" + +msgid "Creative Desktop Wireless 7000" +msgstr "Беспроводной настольный компьютер Creative Desktop Wireless 7000" + +msgid "Dell" +msgstr "Dell" + +msgid "Dell 101-key PC" +msgstr "Компьютер Dell с 101 клавишей" + +msgid "Dell Latitude laptop" +msgstr "Ноутбук Dell Latitude" + +msgid "Dell Inspiron 6000/8000 laptop" +msgstr "Ноутбук Dell Inspiron 6000/8000" + +msgid "Dell Precision M laptop" +msgstr "Ноутбук Dell Precision M" + +msgid "Dell Precision M65 laptop" +msgstr "Ноутбук Dell Precision M65" + +msgid "Dell SK-8125" +msgstr "Dell SK-8125" + +msgid "Dell SK-8135" +msgstr "Dell SK-8135" + +msgid "Dell USB Multimedia" +msgstr "Мультимедиа Dell USB" + +msgid "Dexxa Wireless Desktop" +msgstr "Беспроводной настольный компьютер Dexxa" + +msgid "Diamond 9801/9802" +msgstr "Diamond 9801/9802" + +msgid "DTK2000" +msgstr "DTK2000" + +msgid "eMachines m6800 laptop" +msgstr "Ноутбук eMachines m6800" + +msgid "Ennyah DKB-1008" +msgstr "Ennyah DKB-1008" + +msgid "Everex STEPnote" +msgstr "Everex STEPnote" + +msgid "Fujitsu-Siemens Amilo laptop" +msgstr "Ноутбук Fujitsu-Siemens Amilo" + +msgid "Genius Comfy KB-16M/Multimedia KWD-910" +msgstr "Ноутбук Genius Comfy KB-16M/Multimedia KWD-910" + +msgid "Genius Comfy KB-12e" +msgstr "Genius Comfy KB-12e" + +msgid "Genius Comfy KB-21e-Scroll" +msgstr "Genius Comfy KB-21e-Scroll" + +msgid "Genius KB-19e NB" +msgstr "Ноутбук Genius KB-19e" + +msgid "Genius KKB-2050HS" +msgstr "Genius KKB-2050HS" + +msgid "Gyration" +msgstr "Гирация" + +msgid "Happy Hacking" +msgstr "Счастливый взлом" + +msgid "Happy Hacking for Mac" +msgstr "Счастливый взлом для Mac" + +msgid "Hewlett-Packard Internet" +msgstr "Интернет Hewlett-Packard" + +msgid "Hewlett-Packard Mini 110 laptop" +msgstr "Ноутбук Hewlett-Packard Mini 110" + +msgid "Hewlett-Packard nx9020" +msgstr "Hewlett-Packard nx9020" + +msgid "Hewlett-Packard Omnibook 500" +msgstr "Hewlett-Packard Omnibook 500" + +msgid "Hewlett-Packard Omnibook 500 FA" +msgstr "Hewlett-Packard Omnibook 500 FA" + +msgid "Hewlett-Packard Omnibook 6000/6100" +msgstr "Hewlett-Packard Omnibook 6000/6100" + +msgid "Hewlett-Packard Omnibook XE3 GC" +msgstr "Hewlett-Packard Omnibook XE3 GC" + +msgid "Hewlett-Packard Omnibook XE3 GF" +msgstr "Hewlett-Packard Omnibook XE3 GF" + +msgid "Hewlett-Packard Omnibook XT1000" +msgstr "Hewlett-Packard Omnibook XT1000" + +msgid "Hewlett-Packard Pavilion dv5" +msgstr "Hewlett-Packard Pavilion dv5" + +msgid "Hewlett-Packard Pavilion ZT1100" +msgstr "Hewlett-Packard Pavilion ZT1100" + +msgid "Hewlett-Packard SK-2501 Multimedia" +msgstr "Hewlett-Packard SK-2501 Multimedia" + +msgid "Honeywell Euroboard" +msgstr "Honeywell Euroboard" + +msgid "IBM Rapid Access" +msgstr "IBM Rapid Access" + +msgid "IBM Rapid Access II" +msgstr "IBM Rapid Access II" + +msgid "IBM Space Saver" +msgstr "IBM Space Saver" + +msgid "IBM ThinkPad 560Z/600/600E/A22E" +msgstr "IBM ThinkPad 560Z/600/600E/A22E" + +msgid "IBM ThinkPad R60/T60/R61/T61" +msgstr "IBM ThinkPad R60/T60/R61/T61" + +msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t" +msgstr "IBM ThinkPad Z60m/Z60t/Z61m/Z61t" + +msgid "Keytronic FlexPro" +msgstr "Keytronic FlexPro" + +msgid "Kinesis" +msgstr "Kinesis" + +msgid "Logitech" +msgstr "Logitech" + +msgid "Logitech Access" +msgstr "Logitech Access" + +msgid "Logitech Cordless Desktop" +msgstr "Logitech Cordless Desktop" + +msgid "Logitech Cordless Desktop (alt.)" +msgstr "Logitech Cordless Desktop (альтернативный)" + +msgid "Logitech Cordless Desktop EX110" +msgstr "Logitech Cordless Desktop EX110" + +msgid "Logitech Cordless Desktop iTouch" +msgstr "Logitech Cordless Desktop iTouch" + +msgid "Logitech Cordless Desktop LX-300" +msgstr "Logitech Cordless Desktop LX-300" + +msgid "Logitech Cordless Desktop Navigator" +msgstr "Logitech Cordless Desktop Navigator" + +msgid "Logitech Cordless Desktop Optical" +msgstr "Logitech Cordless Desktop Optical" + +msgid "Logitech diNovo" +msgstr "Logitech diNovo" + +msgid "Logitech diNovo Edge" +msgstr "Logitech diNovo Edge" + +msgid "Logitech G15 extra keys via G15daemon" +msgstr "Дополнительные клавиши Logitech G15 через G15daemon" + +msgid "Logitech Internet" +msgstr "Logitech Internet" + +msgid "Logitech Internet 350" +msgstr "Logitech Internet 350" + +msgid "Logitech Internet Navigator" +msgstr "Logitech Internet Navigator" + +msgid "Logitech iTouch" +msgstr "Logitech iTouch" + +msgid "Logitech iTouch Cordless Y-RB6" +msgstr "Logitech iTouch Cordless Y-RB6" + +msgid "Logitech iTouch Internet Navigator SE" +msgstr "Logitech iTouch Internet Navigator SE" + +msgid "Logitech iTouch Internet Navigator SE USB" +msgstr "Logitech iTouch Internet Navigator SE USB" + +msgid "Logitech Ultra-X" +msgstr "Logitech Ultra-X" + +msgid "Logitech Ultra-X Cordless Media Desktop" +msgstr "Logitech Ultra-X Cordless Media Desktop" + +msgid "MacBook/MacBook Pro" +msgstr "MacBook/MacBook Pro" + +msgid "MacBook/MacBook Pro (intl.)" +msgstr "MacBook/MacBook Pro (международный)" + +msgid "Macintosh" +msgstr "Macintosh" + +msgid "Macintosh Old" +msgstr "Macintosh Old" + +msgid "Memorex MX1998" +msgstr "Memorex MX1998" + +msgid "Memorex MX2500 EZ-Access" +msgstr "Memorex MX2500 EZ-Access" + +msgid "Memorex MX2750" +msgstr "Memorex MX2750" + +msgid "Microsoft Comfort Curve 2000" +msgstr "Microsoft Comfort Curve 2000" + +msgid "Microsoft Internet" +msgstr "Microsoft Internet" + +msgid "Microsoft Internet Pro (Swedish)" +msgstr "Microsoft Internet Pro (шведский)" + +msgid "Microsoft Natural" +msgstr "Microsoft Natural" + +msgid "Microsoft Natural Elite" +msgstr "Microsoft Natural Elite" + +msgid "Microsoft Natural Ergonomic 4000" +msgstr "Microsoft Natural Ergonomic 4000" + +msgid "Microsoft Natural Wireless Ergonomic 7000" +msgstr "Microsoft Natural Wireless Ergonomic 7000" + +msgid "Microsoft Natural Pro/Internet Pro" +msgstr "Microsoft Natural Pro/Internet Pro" + +msgid "Microsoft Natural Pro USB/Internet Pro" +msgstr "Microsoft Natural Pro USB/Internet Pro" + +msgid "Microsoft Natural Pro OEM" +msgstr "Microsoft Natural Pro OEM" + +msgid "Microsoft Office Keyboard" +msgstr "Клавиатура Microsoft Office" + +msgid "Microsoft Surface" +msgstr "Microsoft Surface" + +msgid "Microsoft Wireless Multimedia 1.0A" +msgstr "Беспроводная мультимедийная клавиатура Microsoft 1,0 А" + +msgid "NEC SK-1300" +msgstr "NEC SK-1300" + +msgid "NEC SK-2500" +msgstr "NEC SK-2500" + +msgid "NEC SK-6200" +msgstr "NEC SK-6200" + +msgid "NEC SK-7100" +msgstr "NEC SK-7100" + +msgid "Northgate OmniKey 101" +msgstr "Northgate OmniKey 101" + +msgid "OLPC" +msgstr "OLPC" + +msgid "Ortek Multimedia/Internet MCK-800" +msgstr "Ortek Multimedia/Internet MCK-800" + +msgid "PC-98" +msgstr "PC-98" + +msgid "PinePhone Keyboard" +msgstr "Клавиатура PinePhone" + +msgid "Propeller Voyager KTEZ-1000" +msgstr "Propeller Voyager KTEZ-1000" + +msgid "QTronix Scorpius 98N+" +msgstr "QTronix Scorpius 98N+" + +msgid "Samsung SDM 4500P" +msgstr "Samsung SDM 4500P" + +msgid "Samsung SDM 4510P" +msgstr "Samsung SDM 4510P" + +msgid "Sanwa Supply SKB-KG3" +msgstr "Sanwa Supply SKB-KG3" + +msgid "Silvercrest Multimedia Wireless" +msgstr "Беспроводная мультимедийная клавиатура Silvercrest" + +msgid "SteelSeries Apex 300 (Apex RAW)" +msgstr "SteelSeries Apex 300 (Apex RAW)" + +msgid "Sun Type 6 (Japanese)" +msgstr "Sun Type 6 (японский)" + +msgid "Sun Type 6 USB (Japanese)" +msgstr "Sun Type 6 USB (японский)" + +msgid "Sun Type 6 USB (Unix)" +msgstr "Sun Type 6 USB (Unix)" + +msgid "Sun Type 6/7 USB" +msgstr "Sun Type 6/7 USB" + +msgid "Sun Type 6/7 USB (European)" +msgstr "Sun Type 6/7 USB (европейский)" + +msgid "Sun Type 7 USB" +msgstr "Sun Type 7 USB" + +msgid "Sun Type 7 USB (European)" +msgstr "Sun Type 7 USB (европейский)" + +msgid "Sun Type 7 USB (Japanese)/Japanese 106-key" +msgstr "Sun Type 7 USB (японский)/японская 106-клавишная клавиатура" + +msgid "Sun Type 7 USB (Unix)" +msgstr "Sun Type 7 USB (Unix)" + +msgid "Super Power Multimedia" +msgstr "Сверхмощная мультимедийная клавиатура" + +msgid "SVEN Ergonomic 2500" +msgstr "SVEN Ergonomic 2500" + +msgid "SVEN Slim 303" +msgstr "SVEN Slim 303" + +msgid "Symplon PaceBook tablet" +msgstr "Планшет Symplon PaceBook" + +msgid "Targa Visionary 811" +msgstr "Targa Visionary 811" + +msgid "Toshiba Satellite S3000" +msgstr "Toshiba Satellite S3000" + +msgid "Truly Ergonomic 227" +msgstr "Truly Ergonomic 227" + +msgid "Truly Ergonomic 229" +msgstr "Truly Ergonomic 229" + +msgid "Trust Direct Access" +msgstr "Trust Direct Access" + +msgid "Trust Slimline" +msgstr "Trust Slimline" + +msgid "Trust Wireless Classic" +msgstr "Trust Wireless Classic" + +msgid "TypeMatrix EZ-Reach 2020" +msgstr "TypeMatrix EZ-Reach 2020" + +msgid "TypeMatrix EZ-Reach 2030 PS2" +msgstr "TypeMatrix EZ-Reach 2030 PS2" + +msgid "TypeMatrix EZ-Reach 2030 USB" +msgstr "TypeMatrix EZ-Reach 2030 USB" + +msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)" +msgstr "TypeMatrix EZ-Reach 2030 USB (102/105: режим ЕС)" + +msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)" +msgstr "TypeMatrix EZ-Reach 2030 USB (106: японский режим)" + +msgid "Unitek KB-1925" +msgstr "Unitek KB-1925" + +msgid "ViewSonic KU-306 Internet" +msgstr "Интернет ViewSonic KU-306" + +msgid "Winbook Model XP5" +msgstr "Winbook Модель XP5" + +msgid "Yahoo! Internet" +msgstr "Интернет Yahoo!" \ No newline at end of file diff --git a/locale/ubl-settings-keyboard-options.pot b/locale/ubl-settings-keyboard-options.pot new file mode 100644 index 0000000..96ca08d --- /dev/null +++ b/locale/ubl-settings-keyboard-options.pot @@ -0,0 +1,545 @@ +# Language translations for ubl-settings-keyboard package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-keyboard package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr """Project-Id-Version: ubl-settings-keyboard 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "The \"< >\" key" +msgstr "" + +msgid "Right Ctrl" +msgstr "" + +msgid "Menu" +msgstr "" + +msgid "Any Win" +msgstr "" + +msgid "Left Win" +msgstr "" + +msgid "Right Win" +msgstr "" + +msgid "Any Alt" +msgstr "" + +msgid "Left Alt" +msgstr "" + +msgid "Right Alt" +msgstr "" + +msgid "Right Alt; Shift+Right Alt as Compose" +msgstr "" + +msgid "Right Alt never chooses 3rd level" +msgstr "" + +msgid "Enter on keypad" +msgstr "" + +msgid "Caps Lock" +msgstr "" + +msgid "Backslash" +msgstr "" + +msgid "Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser" +msgstr "" + +msgid "Backslash; acts as onetime lock when pressed together with another 3rd level chooser" +msgstr "" + +msgid "The "< >" key; acts as onetime lock when pressed together with another 3rd level chooser" +msgstr "" + +msgid "Caps Lock as Ctrl" +msgstr "" + +msgid "Left Ctrl as Meta" +msgstr "" + +msgid "Swap Ctrl and Caps Lock" +msgstr "" + +msgid "Caps Lock as Ctrl, Ctrl as Hyper" +msgstr "" + +msgid "To the left of \"A\"" +msgstr "" + +msgid "At the bottom left" +msgstr "" + +msgid "Right Ctrl as Right Alt" +msgstr "" + +msgid "Menu as Right Ctrl" +msgstr "" + +msgid "Swap Left Alt with Left Ctrl" +msgstr "" + +msgid "Swap Right Alt with Right Ctrl" +msgstr "" + +msgid "Swap Left Win with Left Ctrl" +msgstr "" + +msgid "Swap Right Win with Right Ctrl" +msgstr "" + +msgid "Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt" +msgstr "" + +msgid "Num Lock" +msgstr "" + +msgid "Scroll Lock" +msgstr "" + +msgid "Compose" +msgstr "" + +msgid "Legacy" +msgstr "" + +msgid "Unicode arrows and math operators" +msgstr "" + +msgid "Unicode arrows and math operators on default level" +msgstr "" + +msgid "Legacy Wang 724" +msgstr "" + +msgid "Wang 724 keypad with Unicode arrows and math operators" +msgstr "" + +msgid "Wang 724 keypad with Unicode arrows and math operators on default level" +msgstr "" + +msgid "Hexadecimal" +msgstr "" + +msgid "Phone and ATM style" +msgstr "" + +msgid "Shift + Num Lock enables PointerKeys" +msgstr "" + +msgid "Legacy key with dot" +msgstr "" + +msgid "Legacy key with comma" +msgstr "" + +msgid "Four-level key with dot" +msgstr "" + +msgid "Four-level key with dot, Latin-9 only" +msgstr "" + +msgid "Four-level key with comma" +msgstr "" + +msgid "Four-level key with momayyez" +msgstr "" + +msgid "Four-level key with abstract separators" +msgstr "" + +msgid "Semicolon on third level" +msgstr "" + +msgid "Caps Lock uses internal capitalization; Shift "pauses" Caps Lock" +msgstr "" + +msgid "Caps Lock uses internal capitalization; Shift does not affect Caps Lock" +msgstr "" + +msgid "Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock" +msgstr "" + +msgid "Caps Lock acts as Shift with locking; Shift does not affect Caps Lock" +msgstr "" + +msgid "Caps Lock toggles normal capitalization of alphabetic characters" +msgstr "" + +msgid "Caps Lock toggles Shift Lock (affects all keys)" +msgstr "" + +msgid "Swap Esc and Caps Lock" +msgstr "" + +msgid "Make Caps Lock an additional Esc" +msgstr "" + +msgid "Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock" +msgstr "" + +msgid "Make Caps Lock an additional Backspace" +msgstr "" + +msgid "Make Caps Lock an additional Super" +msgstr "" + +msgid "Make Caps Lock an additional Hyper" +msgstr "" + +msgid "Make Caps Lock an additional Menu key" +msgstr "" + +msgid "Make Caps Lock an additional Num Lock" +msgstr "" + +msgid "Make Caps Lock an additional Ctrl" +msgstr "" + +msgid "Caps Lock is disabled" +msgstr "" + +msgid "Add the standard behavior to Menu key" +msgstr "" + +msgid "Menu is mapped to Win" +msgstr "" + +msgid "Alt and Meta are on Alt" +msgstr "" + +msgid "Alt is mapped to Win and the usual Alt" +msgstr "" + +msgid "Ctrl is mapped to Win and the usual Ctrl" +msgstr "" + +msgid "Ctrl is mapped to Right Win and the usual Ctrl" +msgstr "" + +msgid "Ctrl is mapped to Alt, Alt to Win" +msgstr "" + +msgid "Meta is mapped to Win" +msgstr "" + +msgid "Meta is mapped to Left Win" +msgstr "" + +msgid "Hyper is mapped to Win" +msgstr "" + +msgid "Alt is mapped to Right Win, Super to Menu" +msgstr "" + +msgid "Left Alt is swapped with Left Win" +msgstr "" + +msgid "Alt is swapped with Win" +msgstr "" + +msgid "Win is mapped to PrtSc and the usual Win" +msgstr "" + +msgid "3rd level of Left Win" +msgstr "" + +msgid "3rd level of Right Win" +msgstr "" + +msgid "3rd level of Menu" +msgstr "" + +msgid "Left Ctrl" +msgstr "" + +msgid "3rd level of Left Ctrl" +msgstr "" + +msgid "3rd level of Right Ctrl" +msgstr "" + +msgid "3rd level of Caps Lock" +msgstr "" + +msgid "3rd level of the "< >" key" +msgstr "" + +msgid "Pause" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "PrtSc" +msgstr "" + +msgid "keypad" +msgstr "" + +msgid "numpad" +msgstr "" + +msgid "srvrkeys" +msgstr "" + +msgid "apple" +msgstr "" + +msgid "shift" +msgstr "" + +msgid "misc" +msgstr "" + +msgid "grab" +msgstr "" + +msgid "eurosign" +msgstr "" + +msgid "rupeesign" +msgstr "" + +msgid "Caps Lock chooses 5th level" +msgstr "" + +msgid "The "< >" key chooses 5th level" +msgstr "" + +msgid "Right Alt chooses 5th level" +msgstr "" + +msgid "Menu chooses 5th level" +msgstr "" + +msgid "Right Ctrl chooses 5th level" +msgstr "" + +msgid "The \"< >\" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "" + +msgid "Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "" + +msgid "Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "" + +msgid "Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "" + +msgid "The \"< >\" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "" + +msgid "Usual space at any level" +msgstr "" + +msgid "Non-breaking space at the 2nd level" +msgstr "" + +msgid "Non-breaking space at the 3rd level" +msgstr "" + +msgid "Non-breaking space at the 3rd level, thin non-breaking space at the 4th level" +msgstr "" + +msgid "Non-breaking space at the 4th level" +msgstr "" + +msgid "Non-breaking space at the 4th level, thin non-breaking space at the 6th level" +msgstr "" + +msgid "Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)" +msgstr "" + +msgid "Zero-width non-joiner at the 2nd level" +msgstr "" + +msgid "Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level" +msgstr "" + +msgid "Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level" +msgstr "" + +msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level" +msgstr "" + +msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level" +msgstr "" + +msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level" +msgstr "" + +msgid "Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level" +msgstr "" + +msgid "Kana Lock key is locking" +msgstr "" + +msgid "NICOLA-F style Backspace" +msgstr "" + +msgid "Make Zenkaku Hankaku an additional Esc" +msgstr "" + +msgid "Make right Alt a Hangul key" +msgstr "" + +msgid "Make right Ctrl a Hangul key" +msgstr "" + +msgid "Make right Alt a Hanja key" +msgstr "" + +msgid "Make right Ctrl a Hanja key" +msgstr "" + +msgid "At the corresponding key in a QWERTY layout" +msgstr "" + +msgid "At the corresponding key in a Dvorak layout" +msgstr "" + +msgid "At the corresponding key in a Colemak layout" +msgstr "" + +msgid "Sun key compatibility" +msgstr "" + +msgid "Ctrl+Alt+Backspace" +msgstr "" + +msgid "Right Alt (while pressed)" +msgstr "" + +msgid "Left Alt (while pressed)" +msgstr "" + +msgid "Left Win (while pressed)" +msgstr "" + +msgid "Right Win (while pressed)" +msgstr "" + +msgid "Any Win (while pressed)" +msgstr "" + +msgid "Menu (while pressed), Shift+Menu for Menu" +msgstr "" + +msgid "Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action" +msgstr "" + +msgid "Right Ctrl (while pressed)" +msgstr "" + +msgid "Right Alt" +msgstr "" + +msgid "Left Alt" +msgstr "" + +msgid "Caps Lock" +msgstr "" + +msgid "Shift+Caps Lock" +msgstr "" + +msgid "Caps Lock to first layout; Shift+Caps Lock to second layout" +msgstr "" + +msgid "Left Win to first layout; Right Win/Menu to second layout" +msgstr "" + +msgid "Left Ctrl to first layout; Right Ctrl to second layout" +msgstr "" + +msgid "Alt+Caps Lock" +msgstr "" + +msgid "Both Shifts together" +msgstr "" + +msgid "Both Alts together" +msgstr "" + +msgid "Both Alts together; AltGr alone chooses third level" +msgstr "" + +msgid "Both Ctrls together" +msgstr "" + +msgid "Ctrl+Shift" +msgstr "" + +msgid "Left Ctrl+Left Shift" +msgstr "" + +msgid "Right Ctrl+Right Shift" +msgstr "" + +msgid "Alt+Ctrl" +msgstr "" + +msgid "Alt+Shift" +msgstr "" + +msgid "Left Alt+Left Shift" +msgstr "" + +msgid "Right Alt+Right Shift" +msgstr "" + +msgid "Menu" +msgstr "" + +msgid "Left Win" +msgstr "" + +msgid "Alt+Space" +msgstr "" + +msgid "Win+Space" +msgstr "" + +msgid "Ctrl+Space" +msgstr "" + +msgid "Right Win" +msgstr "" + +msgid "Left Shift" +msgstr "" + +msgid "Right Shift" +msgstr "" + +msgid "Left Ctrl" +msgstr "" + +msgid "Right Ctrl" +msgstr "" + +msgid "Scroll Lock" +msgstr "" + +msgid "Ctrl+Left Win to first layout; Ctrl+Menu to second layout" +msgstr "" + +msgid "Left Ctrl+Left Win" +msgstr "" \ No newline at end of file diff --git a/locale/ubl-settings-keyboard-options_ru.po b/locale/ubl-settings-keyboard-options_ru.po new file mode 100644 index 0000000..cd1775f --- /dev/null +++ b/locale/ubl-settings-keyboard-options_ru.po @@ -0,0 +1,517 @@ +# Russian translations for ubl-settings-keyboard package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-keyboard package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubl-settings-keyboard 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: 2023-01-01 00:00+0600\n" +"Last-Translator: UBLinux Team \n" +"Language-Team: Russian - UBLinux Team \n" +"Language: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +msgid "The \"&lt; &gt;\" key" +msgstr "Клавиша \"&lt; &gt;\"" + +msgid "Right Ctrl" +msgstr "Правый Ctrl" + +msgid "Menu" +msgstr "Меню" + +msgid "Any Win" +msgstr "Любая клавиша Win" + +msgid "Left Win" +msgstr "Левая клавиша Win" + +msgid "Right Win" +msgstr "Правая клавиша Win" + +msgid "Any Alt" +msgstr "Любая клавиша Alt" + +msgid "Left Alt" +msgstr "Левая клавиша Alt" + +msgid "Right Alt" +msgstr "Правый Alt" + +msgid "Right Alt; Shift+Right Alt as Compose" +msgstr "Правый Alt; Shift+Правый Alt для ввода текста" + +msgid "Right Alt never chooses 3rd level" +msgstr "Правый Alt никогда не выбирает 3-й уровень" + +msgid "Enter on keypad" +msgstr "Enter на цифровой клавиатуре" + +msgid "Caps Lock" +msgstr "Caps Lock" + +msgid "Backslash" +msgstr "Обратная косая черта" + +msgid "Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser" +msgstr "Caps Lock; действует как однократная блокировка при одновременном нажатии с другим переключателем 3-го уровня" + +msgid "Backslash; acts as onetime lock when pressed together with another 3rd level chooser" +msgstr "Обратная косая черта; действует как однократная блокировка при одновременном нажатии с другим переключателем 3-го уровня" + +msgid "The \"&lt; &gt;\" key; acts as onetime lock when pressed together with another 3rd level chooser" +msgstr "Клавиша \"&lt; &gt;\"; Действует как однократная блокировка при одновременном нажатии с другим селектором 3-го уровня." + +msgid "Caps Lock as Ctrl" +msgstr "Caps Lock как Ctrl" + +msgid "Left Ctrl as Meta" +msgstr "Left Ctrl как Meta" + +msgid "Swap Ctrl and Caps Lock" +msgstr "Поменять местами Ctrl и Caps Lock" + +msgid "Caps Lock as Ctrl, Ctrl as Hyper" +msgstr "Caps Lock как Ctrl, Ctrl как Hyper" + +msgid "To the left of \"A\"" +msgstr "Слева от \"A\"" + +msgid "At the bottom left" +msgstr "В левом нижнем углу" + +msgid "Right Ctrl as Right Alt" +msgstr "Right Ctrl как Right Alt" + +msgid "Menu as Right Ctrl" +msgstr "Menu как Right Ctrl" + +msgid "Swap Left Alt with Left Ctrl" +msgstr "Поменять местами Left Alt и Left Ctrl" + +msgid "Swap Right Alt with Right Ctrl" +msgstr "Поменять местами Right Alt и Right Ctrl" + +msgid "Swap Left Win with Left Ctrl" +msgstr "Поменять местами Left Win и Left Ctrl" + +msgid "Swap Right Win with Right Ctrl" +msgstr "Поменять местами Right Win и Right Ctrl" + +msgid "Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt" +msgstr "Left Alt как Ctrl, Left Ctrl как Win, Left Win как Left Alt" + +msgid "Num Lock" +msgstr "Num Lock" + +msgid "Scroll Lock" +msgstr "Scroll Lock" + +msgid "Compose" +msgstr "Compose" + +msgid "Legacy" +msgstr "Legacy" + +msgid "Unicode arrows and math operators" +msgstr "Стрелки Unicode и математические операторы" + +msgid "Unicode arrows and math operators on default level" +msgstr "Стрелки Unicode и математические операторы по умолчанию" + +msgid "Legacy Wang 724" +msgstr "Legacy Wang 724" + +msgid "Wang 724 keypad with Unicode arrows and math operators" +msgstr "Клавиатура Wang 724 со стрелками Unicode и математическими операторами" + +msgid "Wang 724 keypad with Unicode arrows and math operators on default level" +msgstr "Клавиатура Wang 724 со стрелками Unicode и математическими операторами по умолчанию уровень" + +msgid "Hexadecimal" +msgstr "Шестнадцатеричный" + +msgid "Phone and ATM style" +msgstr "Стиль телефона и банкомата" + +msgid "Shift + Num Lock enables PointerKeys" +msgstr "Shift + Num Lock включает клавиши указателя" + +msgid "Legacy key with dot" +msgstr "Устаревшая клавиша с точкой" + +msgid "Legacy key with comma" +msgstr "Устаревшая клавиша с запятой" + +msgid "Four-level key with dot" +msgstr "Четырехуровневая клавиша с точкой" + +msgid "Four-level key with dot, Latin-9 only" +msgstr "Четырехуровневая клавиша с точкой, только Latin-9" + +msgid "Four-level key with comma" +msgstr "Четырехуровневая клавиша с запятой" + +msgid "Four-level key with momayyez" +msgstr "Четырехуровневая клавиша с momayyez" + +msgid "Four-level key with abstract separators" +msgstr "Четырехуровневая клавиша с абстрактными разделителями" + +msgid "Semicolon on third level" +msgstr "Точка с запятой на третьем уровне" + +msgid "Caps Lock uses internal capitalization; Shift \"pauses\" Caps Lock" +msgstr "Caps Lock использует внутреннюю заглавную клавишу; Shift «приостанавливает» Caps Lock" + +msgid "Caps Lock uses internal capitalization; Shift does not affect Caps Lock" +msgstr "Caps Lock использует внутреннюю заглавную клавишу; Shift не влияет на Caps Lock" + +msgid "Caps Lock acts as Shift with locking; Shift \"pauses\" Caps Lock" +msgstr "Caps Lock действует как Shift с блокировкой; Shift «приостанавливает» Caps Lock" + +msgid "Caps Lock acts as Shift with locking; Shift does not affect Caps Lock" +msgstr "Caps Lock действует как Shift с блокировкой; Shift не влияет на Caps Lock" + +msgid "Caps Lock toggles normal capitalization of alphabetic characters" +msgstr "Caps Lock переключает обычный режим заглавных букв алфавита" + +msgid "Caps Lock toggles Shift Lock (affects all keys)" +msgstr "Caps Lock переключает Shift Lock (действует на все клавиши)" + +msgid "Swap Esc and Caps Lock" +msgstr "Поменять местами Esc и Caps Lock" + +msgid "Make Caps Lock an additional Esc" +msgstr "Сделать Caps Lock дополнительным Esc" + +msgid "Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock" +msgstr "Сделать Caps Lock дополнительным Esc, но Shift + Caps Lock — это обычный Caps Lock" + +msgid "Make Caps Lock an additional Backspace" +msgstr "Сделать Caps Lock дополнительным Backspace" + +msgid "Make Caps Lock an additional Super" +msgstr "Сделать Caps Lock дополнительной клавишей Super" + +msgid "Make Caps Lock an additional Hyper" +msgstr "Сделать Caps Lock дополнительной клавишей Hyper" + +msgid "Make Caps Lock an additional Menu key" +msgstr "Сделать Caps Lock дополнительной клавишей Menu" + +msgid "Make Caps Lock an additional Num Lock" +msgstr "Сделать Caps Lock дополнительной клавишей Num Lock" + +msgid "Make Caps Lock an additional Ctrl" +msgstr "Сделать Caps Lock дополнительной клавишей Ctrl" + +msgid "Caps Lock is disabled" +msgstr "Caps Lock отключен" + +msgid "Add the standard behavior to Menu key" +msgstr "Добавить стандартное поведение клавиши Menu" + +msgid "Menu is mapped to Win" +msgstr "Меню назначено на Win" + +msgid "Alt and Meta are on Alt" +msgstr "Alt и Meta назначены на Alt" + +msgid "Alt is mapped to Win and the usual Alt" +msgstr "Alt назначены на Win и обычный Alt" + +msgid "Ctrl is mapped to Win and the usual Ctrl" +msgstr "Ctrl назначены на Win и обычный Ctrl" + +msgid "Ctrl is mapped to Right Win and the usual Ctrl" +msgstr "Ctrl назначены на Right Win и обычный Ctrl" + +msgid "Ctrl is mapped to Alt, Alt to Win" +msgstr "Ctrl назначены на Alt, Alt — на Win" + +msgid "Meta is mapped to Win" +msgstr "Meta назначены на Win" + +msgid "Meta is mapped to Left Win" +msgstr "Meta назначены на Left Win" + +msgid "Hyper is mapped to Win" +msgstr "Гипер сопоставлена ​​с Win" + +msgid "Alt is mapped to Right Win, Super to Menu" +msgstr "Alt сопоставлена ​​с правой Win, Super — с Menu" + +msgid "Left Alt is swapped with Left Win" +msgstr "Левый Alt поменян на левый Win" + +msgid "Alt is swapped with Win" +msgstr "Alt поменян на Win" + +msgid "Win is mapped to PrtSc and the usual Win" +msgstr "Win сопоставлена ​​с PrtSc и обычной Win" + +msgid "3rd level of Left Win" +msgstr "3-й уровень левой Win" + +msgid "3rd level of Right Win" +msgstr "3-й уровень правой Win" + +msgid "3rd level of Menu" +msgstr "3-й уровень Menu" + +msgid "Left Ctrl" +msgstr "Левый Ctrl" + +msgid "3rd level of Left Ctrl" +msgstr "3-й уровень левой Ctrl" + +msgid "3rd level of Right Ctrl" +msgstr "3-й уровень правой Ctrl" + +msgid "3rd level of Caps Lock" +msgstr "3-й уровень Caps Lock" + +msgid "3rd level of the \"&lt; &gt;\" key" +msgstr "3-й уровень клавиши \"&lt; &gt;\"" + +msgid "Pause" +msgstr "Pause" + +msgid "Insert" +msgstr "Insert" + +msgid "PrtSc" +msgstr "PrtSc" + +msgid "keypad" +msgstr "клавиатура" + +msgid "numpad" +msgstr "цифровая клавиатура" + +msgid "srvrkeys" +msgstr "srvrkeys" + +msgid "apple" +msgstr "apple" + +msgid "shift" +msgstr "shift" + +msgid "misc" +msgstr "разное" + +msgid "grab" +msgstr "grab" + +msgid "eurosign" +msgstr "евро" + +msgid "rupeesign" +msgstr "рупия" + +msgid "Caps Lock chooses 5th level" +msgstr "Caps Lock выбирает 5-й уровень" + +msgid "The \"&lt; &gt;\" key chooses 5th level" +msgstr "Клавиша \"&lt; &gt;\" Клавиша выбора 5-го уровня" + +msgid "Right Alt chooses 5th level" +msgstr "Правый Alt выбирает 5-й уровень" + +msgid "Menu chooses 5th level" +msgstr "Меню выбирает 5-й уровень" + +msgid "Right Ctrl chooses 5th level" +msgstr "Правый Ctrl выбирает 5-й уровень" + +msgid "Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "Правый Alt выбирает 5-й уровень и действует как однократная блокировка при нажатии с другим переключателем 5-го уровня" + +msgid "Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "Левая Win выбирает 5-й уровень и действует как однократная блокировка при нажатии с другим переключателем 5-го уровня" + +msgid "Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "Правая Win выбирает 5-й уровень и действует как однократная блокировка при нажатии с другим переключателем 5-го уровня" + +msgid "The \"&lt; &gt;\" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser" +msgstr "Клавиша \"&lt; &gt;\" выбирает 5-й уровень и действует как однократная блокировка при нажатии с другим переключателем 5-го уровня" + +msgid "Usual space at any level" +msgstr "Обычный пробел на любом уровне" + +msgid "Non-breaking space at the 2nd level" +msgstr "Неразрывный пробел на 2-м уровне" + +msgid "Non-breaking space at the 3rd level" +msgstr "Неразрывный пробел на 3-м уровне" + +msgid "Non-breaking space at the 3rd level, thin non-breaking space at the 4th level" +msgstr "Неразрывный пробел на 3-м уровне уровень, тонкий неразрывный пробел на 4-м уровне" + +msgid "Non-breaking space at the 4th level" +msgstr "Неразрывный пробел на 4-м уровне" + +msgid "Non-breaking space at the 4th level, thin non-breaking space at the 6th level" +msgstr "Неразрывный пробел на 4-м уровне, тонкий неразрывный пробел на 6-м уровне" + +msgid "Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)" +msgstr "Неразрывный пробел на 4-м уровне, тонкий неразрывный пробел на 6-м уровне (через Ctrl+Shift)" + +msgid "Zero-width non-joiner at the 2nd level" +msgstr "Необъединитель нулевой ширины на 2-м уровне" + +msgid "Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level" +msgstr "Необъединитель нулевой ширины на 2-м уровне, объединитель нулевой ширины на 3-м уровне" + +msgid "Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level" +msgstr "Необъединитель нулевой ширины на 2-м уровне, объединитель нулевой ширины на 3-м уровне, неразрывный пробел на 4-м уровне" + +msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level" +msgstr "Необъединитель нулевой ширины на 2-м уровне, неразрывный пробел на 3-м уровне" + +msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level" +msgstr "Необъединитель нулевой ширины на 2-м уровне, неразрывный пробел на 3-м уровне, объединитель нулевой ширины на 4-й уровень" + +msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level" +msgstr "Нулевой ширины необъединяющий символ на 2-м уровне, неразрывный пробел на 3-м уровне, тонкий неразрывный пробел на 4-м уровне" + +msgid "Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level" +msgstr "Нулевой ширины необъединяющий символ на 3-м уровне, нулевой ширины объединяющий символ на 4-м уровне" + +msgid "Kana Lock key is locking" +msgstr "Клавиша Kana Lock блокирует" + +msgid "NICOLA-F style Backspace" +msgstr "Клавиша Backspace в стиле NICOLA-F" + +msgid "Make Zenkaku Hankaku an additional Esc" +msgstr "Сделать Zenkaku Hankaku дополнительной клавишей Esc" + +msgid "Make right Alt a Hangul key" +msgstr "Сделать правый Alt клавишей Hangul" + +msgid "Make right Ctrl a Hangul key" +msgstr "Сделать правый Ctrl клавишей Hangul" + +msgid "Make right Alt a Hanja key" +msgstr "Сделать правый Alt клавишей Hanja" + +msgid "Make right Ctrl a Hanja key" +msgstr "Сделать правый Ctrl клавишей Hanja" + +msgid "At the corresponding key in a QWERTY layout" +msgstr "На соответствующей клавише в раскладке QWERTY" + +msgid "At the corresponding key in a Dvorak layout" +msgstr "На соответствующей клавише в раскладке Dvorak" + +msgid "At the corresponding key in a Colemak layout" +msgstr "На соответствующей клавише в раскладке Colemak" + +msgid "Sun key compatibility" +msgstr "Совместимость с клавишей Sun" + +msgid "Ctrl+Alt+Backspace" +msgstr "Ctrl+Alt+Backspac" + +msgid "Right Alt (while pressed)" +msgstr "Правый Alt (удерживая нажатой)" + +msgid "Left Alt (while pressed)" +msgstr "Левый Alt (удерживая нажатой)" + +msgid "Left Win (while pressed)" +msgstr "Левая Win (удерживая нажатой)" + +msgid "Right Win (while pressed)" +msgstr "Правая Win (удерживая нажатой)" + +msgid "Any Win (while pressed)" +msgstr "Любая Win (удерживая нажатой)" + +msgid "Menu (while pressed), Shift+Menu for Menu" +msgstr "Меню (удерживая нажатой), Shift+Menu для меню" + +msgid "Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action" +msgstr "Caps Lock (удерживая нажатой), Alt+Caps Lock для исходного действия Caps Lock" + +msgid "Right Ctrl (while pressed)" +msgstr "Правый Ctrl (удерживая нажатой)" + +msgid "Shift+Caps Lock" +msgstr "Shift+Caps Lock" + +msgid "Caps Lock to first layout; Shift+Caps Lock to second layout" +msgstr "Caps Lock на первую раскладку; Shift+Caps Lock на вторую раскладку" + +msgid "Left Win to first layout; Right Win/Menu to second layout" +msgstr "Левая Win на первую раскладку; Правая Win/Menu на вторую раскладку" + +msgid "Left Ctrl to first layout; Right Ctrl to second layout" +msgstr "Левый Ctrl на первую раскладку; Правый Ctrl на вторую раскладку" + +msgid "Alt+Caps Lock" +msgstr "Alt+Caps Lock" + +msgid "Both Shifts together" +msgstr "Оба Shift одновременно" + +msgid "Both Alts together" +msgstr "Оба Alt одновременно" + +msgid "Both Alts together; AltGr alone chooses third level" +msgstr "Оба Alt одновременно; AltGr отдельно выбирает третий уровень" + +msgid "Both Ctrls together" +msgstr "Оба Ctrl вместе" + +msgid "Ctrl+Shift" +msgstr "Ctrl+Shift" + +msgid "Left Ctrl+Left Shift" +msgstr "Левый Ctrl+Левый Shift" + +msgid "Right Ctrl+Right Shift" +msgstr "Правый Ctrl+Правый Shift" + +msgid "Alt+Ctrl" +msgstr "Alt+Ctrl" + +msgid "Alt+Shift" +msgstr "Alt+Shift" + +msgid "Left Alt+Left Shift" +msgstr "Левый Alt+Левый Shift" + +msgid "Right Alt+Right Shift" +msgstr "Правый Alt+Правый Shift" + +msgid "Alt+Space" +msgstr "Alt+Пробел" + +msgid "Win+Space" +msgstr "Win+Пробел" + +msgid "Ctrl+Space" +msgstr "Ctrl+Пробел" + +msgid "Left Shift" +msgstr "Левый Shift" + +msgid "Right Shift" +msgstr "Правый Shift" + + +msgid "Ctrl+Left Win to first layout; Ctrl+Menu to second layout" +msgstr "Ctrl+Левый Win на первую раскладку; Ctrl+Меню на вторую раскладку" + +msgid "Left Ctrl+Left Win" +msgstr "Левый Ctrl+Левый Win" \ No newline at end of file diff --git a/locale/ubl-settings-keyboard.pot b/locale/ubl-settings-keyboard.pot index 933a9a2..f9976c7 100644 --- a/locale/ubl-settings-keyboard.pot +++ b/locale/ubl-settings-keyboard.pot @@ -18,463 +18,178 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: source/ubl-strings.h:1 -msgid "Version:" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "ubl-settings-keyboard version:" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Usage:" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "[OPTIONS]" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Options:" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Show this help" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Show package version" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Lock this help menu" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Lock configuration saving" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Lock local configration saving" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Lock global configration saving" -msgstr "" - -#: source/ubl-strings.h:2 -msgid "Lock global configration loading" +msgid "" +"https://wiki.ublinux.com/Software/Programs_and_utilities/All/ubl-settings-keyboard" msgstr "" -#: source/ubl-strings.h:4 source/ubl-strings.h:42 +#: source/ubl-strings.h:3 source/ubl-strings.h:8 msgid "Keyboard" msgstr "" -#: source/ubl-strings.h:5 +#: source/ubl-strings.h:4 msgid "Keyboard configuration" msgstr "" -#: source/ubl-strings.h:7 -msgid "Operation succeeded" -msgstr "" - -#: source/ubl-strings.h:8 -msgid "" -"Warning! Application was launched without root - root-dependent actions are " -"locked" -msgstr "" - -#: source/ubl-strings.h:10 -msgid "About" -msgstr "" - -#: source/ubl-strings.h:11 -msgid "Documentation" -msgstr "" - -#: source/ubl-strings.h:13 -msgid "Save to local configuration" -msgstr "" - -#: source/ubl-strings.h:14 -msgid "Save to global configuration" -msgstr "" - -#: source/ubl-strings.h:15 -msgid "Save configuration" -msgstr "" - -#: source/ubl-strings.h:16 -msgid "Save" -msgstr "" - -#: source/ubl-strings.h:18 -msgid "Load local configuration" -msgstr "" - -#: source/ubl-strings.h:19 -msgid "Load global configuration" -msgstr "" - -#: source/ubl-strings.h:20 -msgid "Load" -msgstr "" - -#: source/ubl-strings.h:22 -msgid "Cancel" -msgstr "" - -#: source/ubl-strings.h:24 -msgid "Would you like to read documentation in the Web?" -msgstr "" - -#: source/ubl-strings.h:25 -msgid "" -"You will be redirected to documentation website where documentation is\n" -"translated and supported by community." -msgstr "" - -#: source/ubl-strings.h:26 -msgid "Always redirect to online documentation" -msgstr "" - -#: source/ubl-strings.h:27 -msgid "Open documentation" -msgstr "" - -#: source/ubl-strings.h:28 -msgid "Project Home Page" -msgstr "" - -#: source/ubl-strings.h:29 -msgid "Nothing were chosen" -msgstr "" - -#: source/ubl-strings.h:32 -msgid "Global configuration loading succseeded." -msgstr "" - -#: source/ubl-strings.h:33 -msgid "Local configuration loading succseeded." -msgstr "" - -#: source/ubl-strings.h:34 -msgid "Config loading failed" -msgstr "" - -#: source/ubl-strings.h:36 -msgid "Local and global configuration saving succseeded." -msgstr "" - -#: source/ubl-strings.h:37 -msgid "Global configuration saving succseeded." -msgstr "" - -#: source/ubl-strings.h:38 -msgid "Local configuration saving succseeded." -msgstr "" - -#: source/ubl-strings.h:40 +#: source/ubl-strings.h:6 msgid "Console" msgstr "" -#: source/ubl-strings.h:41 +#: source/ubl-strings.h:7 msgid "Num Lock on boot:" msgstr "" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:9 source/ubl-strings.h:23 msgid "Keyboard model:" msgstr "" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:10 msgid "Keyboard options:" msgstr "" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:11 msgid "Keyboard layouts:" msgstr "" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:12 msgid "Pick an option" msgstr "" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:13 msgid "Move layout up" msgstr "" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:14 msgid "Move layout down" msgstr "" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:15 msgid "Add layout" msgstr "" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:16 msgid "Remove layout" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:17 msgid "Default" msgstr "" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:18 source/ubl-strings.h:30 msgid "On" msgstr "" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:19 source/ubl-strings.h:31 msgid "Off" msgstr "" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:20 msgid "Accept" msgstr "" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "" - -msgid "Assamese" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Belarusian" -msgstr "" - -msgid "Bulgarian" -msgstr "" - -msgid "Bengali" -msgstr "" - -msgid "Bosnian" -msgstr "" - -msgid "Catalan" -msgstr "" - -msgid "Czech" -msgstr "" - -msgid "Danish" -msgstr "" - -msgid "German" -msgstr "" - -msgid "Greek" -msgstr "" - -msgid "English" -msgstr "" - -msgid "Spanish" -msgstr "" - -msgid "Estonian" -msgstr "" - -msgid "Finnish" -msgstr "" - -msgid "French" -msgstr "" - -msgid "Gujarati" -msgstr "" - -msgid "Hebrew" -msgstr "" - -msgid "Hindi" -msgstr "" - -msgid "Croatian" -msgstr "" - -msgid "Hungarian" -msgstr "" - -msgid "Armenian" -msgstr "" - -msgid "Indonesian" -msgstr "" - -msgid "Icelandic" -msgstr "" - -msgid "Italian" -msgstr "" - -msgid "Japanese" -msgstr "" - -msgid "Georgian" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "" - -msgid "Kashmiri" -msgstr "" - -msgid "Kurdish" -msgstr "" - -msgid "Kirghiz" -msgstr "" - -msgid "Lithuanian" -msgstr "" - -msgid "Latvian" -msgstr "" - -msgid "Macedonian" -msgstr "" - -msgid "Malayalam" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Malay" -msgstr "" - -msgid "Maltese" -msgstr "" - -msgid "Bokmal" -msgstr "" - -msgid "Dutch" -msgstr "" - -msgid "Nynorsk" -msgstr "" - -msgid "Oriya" -msgstr "" - -msgid "Punjabi" -msgstr "" - -msgid "Polish" -msgstr "" - -msgid "Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "" - -msgid "Russian" -msgstr "" - -msgid "Sanskrit" -msgstr "" - -msgid "Slovak" -msgstr "" - -msgid "Slovenian" -msgstr "" - -msgid "Albanian" -msgstr "" - -msgid "Serbian" +#: source/ubl-strings.h:20 +msgid "Cancel" msgstr "" -msgid "Swedish" +#: source/ubl-strings.h:22 +msgid "System" msgstr "" -msgid "Tamil" +#: source/ubl-strings.h:24 +msgid "Layouts:" msgstr "" -msgid "Telugu" +#: source/ubl-strings.h:25 +msgid "Default layout" msgstr "" -msgid "Thai" +#: source/ubl-strings.h:26 +msgid "Changing the layout:" msgstr "" -msgid "Turkish" +#: source/ubl-strings.h:27 +msgid "Additional options:" msgstr "" -msgid "Ukrainian" +#: source/ubl-strings.h:28 +msgid "Set Compose (Multi_Key) to the right Win key" msgstr "" -msgid "American" +#: source/ubl-strings.h:29 +msgid "Scroll Lock indication when switching layouts" msgstr "" -msgid "Vietnamese" +#: source/ubl-strings.h:32 +msgid "NumLock:" msgstr "" -msgid "Simplified Chinese" +#: source/ubl-strings.h:33 +msgid "Setting up TTY VT" msgstr "" -msgid "Traditional Chinese" +#: source/ubl-strings.h:34 +msgid "Key layout and switch:" msgstr "" -msgid "Chinese" +#: source/ubl-strings.h:35 +msgid "Keyboard layout" msgstr "" -msgid "Generic 86-key PC" +#: source/ubl-strings.h:36 +msgid "Designation" msgstr "" -msgid "Generic 101-key PC" +#: source/ubl-strings.h:37 +msgid "Variant" msgstr "" -msgid "Generic 102-key PC" +#: source/ubl-strings.h:38 +msgid "Name" msgstr "" -msgid "Generic 104-key PC" +#: source/ubl-strings.h:39 +msgid "Description" msgstr "" -msgid "Generic 104-key PC with L-shaped Enter key" +#: source/ubl-strings.h:20 +msgid "Options:" msgstr "" -msgid "Generic 105-key PC" +#: source/ubl-strings.h:20 +msgid "Additional key layout and switch:" msgstr "" -msgid "Dell 101-key PC" +#: source/ubl-strings.h:20 +msgid "Font:" msgstr "" -msgid "Dell Latitude laptop" +#: source/ubl-strings.h:20 +msgid "Group" msgstr "" -msgid "Dell Precision M65 laptop" +#: source/ubl-strings.h:20 +msgid "Additional key layout for the keyboard" msgstr "" -msgid "Dell Inspiron 6000/8000 laptop" +#: source/ubl-strings.h:20 +msgid "Font" msgstr "" -msgid "Dell Precision M laptop" +#: source/ubl-strings.h:20 +msgid "Are you sure you want to remove current option?" msgstr "" -msgid "Fujitsu-Siemens Amilo laptop" +#: source/ubl-strings.h:20 +msgid "Option deletion" msgstr "" -msgid "Hewlett-Packard Mini 110 laptop" +#: source/ubl-strings.h:20 +msgid "Are you sure you want to remove current layout?" msgstr "" -msgid "Asus laptop" +#: source/ubl-strings.h:20 +msgid "Layout deletion" msgstr "" -msgid "Apple laptop" +#: source/ubl-strings.h:20 +msgid "Manual input:" msgstr "" - -msgid "eMachines m6800 laptop" -msgstr "" \ No newline at end of file diff --git a/locale/ubl-settings-keyboard_ru.po b/locale/ubl-settings-keyboard_ru.po index 9257e06..7bd27c9 100644 --- a/locale/ubl-settings-keyboard_ru.po +++ b/locale/ubl-settings-keyboard_ru.po @@ -18,469 +18,180 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #: source/ubl-strings.h:1 -msgid "Version:" -msgstr "Версия:" - -#: source/ubl-strings.h:2 -msgid "ubl-settings-keyboard version:" -msgstr "Версия ubl-settings-keyboard: " - -#: source/ubl-strings.h:2 -msgid "Usage:" -msgstr "Использование:" - -#: source/ubl-strings.h:2 -msgid "[OPTIONS]" -msgstr "[АРГУМЕНТЫ]" - -#: source/ubl-strings.h:2 -msgid "Options:" -msgstr "Аргументы:" - -#: source/ubl-strings.h:2 -msgid "Show this help" -msgstr "Показать параметры справки" - -#: source/ubl-strings.h:2 -msgid "Show package version" -msgstr "Показать текущую версию" - -#: source/ubl-strings.h:2 -msgid "Lock this help menu" -msgstr "Блокировка вызова справки" - -#: source/ubl-strings.h:2 -msgid "Lock configuration saving" -msgstr "Блокировка сохранения локальной и глобальной конфигурации" - -#: source/ubl-strings.h:2 -msgid "Lock local configration saving" -msgstr "Блокировка сохранения локальной конфигурации" - -#: source/ubl-strings.h:2 -msgid "Lock global configration saving" -msgstr "Блокировка сохранения глобальной конфигурации" - -#: source/ubl-strings.h:2 -msgid "Lock global configration loading" -msgstr "Блокировка загрузки глобальной конфигурации" +msgid "" +"https://wiki.ublinux.com/Software/Programs_and_utilities/All/ubl-settings-" +"keyboard" +msgstr "https://wiki.ublinux.com/Software/Programs_and_utilities/All/ubl-settings-" +"keyboard" -#: source/ubl-strings.h:4 source/ubl-strings.h:42 +#: source/ubl-strings.h:3 source/ubl-strings.h:8 msgid "Keyboard" msgstr "Клавиатура" -#: source/ubl-strings.h:5 +#: source/ubl-strings.h:4 msgid "Keyboard configuration" msgstr "Настройки Клавиатуры" -#: source/ubl-strings.h:7 -msgid "Operation succeeded" -msgstr "Операция завершена" - -#: source/ubl-strings.h:8 -msgid "" -"Warning! Application was launched without root - root-dependent actions are " -"locked" -msgstr "" -"Внимание! Приложение было запущено без прав суперпользователя - действия, " -"требующие их наличия заблокированы" - -#: source/ubl-strings.h:10 -msgid "About" -msgstr "О программе" - -#: source/ubl-strings.h:11 -msgid "Documentation" -msgstr "Справка" - -#: source/ubl-strings.h:13 -msgid "Save to local configuration" -msgstr "Сохранить в локальную конфигурацию" - -#: source/ubl-strings.h:14 -msgid "Save to global configuration" -msgstr "Сохранить в глобальную конфигурацию" - -#: source/ubl-strings.h:15 -msgid "Save configuration" -msgstr "Сохранить конфигурацию" - -#: source/ubl-strings.h:16 -msgid "Save" -msgstr "Сохранить" - -#: source/ubl-strings.h:18 -msgid "Load local configuration" -msgstr "Загрузить локальную конфигуруцию" - -#: source/ubl-strings.h:19 -msgid "Load global configuration" -msgstr "Загрузить глобальную конфигурацию" - -#: source/ubl-strings.h:20 -msgid "Load" -msgstr "Загрузить" - -#: source/ubl-strings.h:22 -msgid "Cancel" -msgstr "Отмена" - -#: source/ubl-strings.h:24 -msgid "Would you like to read documentation in the Web?" -msgstr "Вы хотите прочитать справку в Сети?" - -#: source/ubl-strings.h:25 -msgid "" -"You will be redirected to documentation website where documentation is\n" -"translated and supported by community." -msgstr "" -"Вы будете перенаправлены на сайт с документацией, где страницы помощи\n" -"переводятся и поддерживаются сообществом." - -#: source/ubl-strings.h:26 -msgid "Always redirect to online documentation" -msgstr "Всегда перенаправлять" - -#: source/ubl-strings.h:27 -msgid "Open documentation" -msgstr "Прочитать справку" - -#: source/ubl-strings.h:28 -msgid "Project Home Page" -msgstr "Домашняя страница проекта" - -#: source/ubl-strings.h:29 -msgid "Nothing were chosen" -msgstr "Ничего не было выбрано" - -#: source/ubl-strings.h:32 -msgid "Global configuration loading succseeded." -msgstr "Успешно загружена глобальная конфигурация" - -#: source/ubl-strings.h:33 -msgid "Local configuration loading succseeded." -msgstr "Успешно загружена локальная конфигурация" - -#: source/ubl-strings.h:34 -msgid "Config loading failed" -msgstr "Ошибка загрузки конфигурации" - -#: source/ubl-strings.h:36 -msgid "Local and global configuration saving succseeded." -msgstr "Успешно записаны локальная и глобальная конфигурация" - -#: source/ubl-strings.h:37 -msgid "Global configuration saving succseeded." -msgstr "Успешно записана глобальная конфигурация" - -#: source/ubl-strings.h:38 -msgid "Local configuration saving succseeded." -msgstr "Успешно записана локальная конфигурация" - -#: source/ubl-strings.h:40 +#: source/ubl-strings.h:6 msgid "Console" msgstr "Консоль" -#: source/ubl-strings.h:41 +#: source/ubl-strings.h:7 msgid "Num Lock on boot:" msgstr "Num Lock при загрузке:" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:9 source/ubl-strings.h:23 msgid "Keyboard model:" msgstr "Модель клавиатуры:" -#: source/ubl-strings.h:44 +#: source/ubl-strings.h:10 msgid "Keyboard options:" msgstr "Опции клавиатуры:" -#: source/ubl-strings.h:45 +#: source/ubl-strings.h:11 msgid "Keyboard layouts:" msgstr "Раскладки клавиатуры:" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:12 msgid "Pick an option" msgstr "Выбрать опцию" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:13 msgid "Move layout up" msgstr "Переместить раскладку выше" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:14 msgid "Move layout down" msgstr "Переместить раскладку ниже" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:15 msgid "Add layout" msgstr "Добавить раскладку" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:16 msgid "Remove layout" msgstr "Удалить раскладку" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:17 msgid "Default" msgstr "По умолчанию" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:18 source/ubl-strings.h:30 msgid "On" msgstr "Включить" -#: source/ubl-strings.h:53 +#: source/ubl-strings.h:19 source/ubl-strings.h:31 msgid "Off" msgstr "Выключить" -#: source/ubl-strings.h:54 +#: source/ubl-strings.h:20 msgid "Accept" msgstr "Принять" -msgid "Afrikaans" -msgstr "Африканский" - -msgid "Arabic" -msgstr "Арабский" - -msgid "Assamese" -msgstr "Ассамский" - -msgid "Azerbaijani" -msgstr "Азербайджанский" - -msgid "Belarusian" -msgstr "Беларусский" - -msgid "Bulgarian" -msgstr "Болгарский" - -msgid "Bengali" -msgstr "Бенгальский" - -msgid "Bosnian" -msgstr "Боснийский" - -msgid "Catalan" -msgstr "Каталонский" - -msgid "Czech" -msgstr "Чешский" - -msgid "Danish" -msgstr "Датский" - -msgid "German" -msgstr "Немецкий" - -msgid "Greek" -msgstr "Греческий" - -msgid "English" -msgstr "Английский" - -msgid "Spanish" -msgstr "Испанский" - -msgid "Estonian" -msgstr "Эстонский" - -msgid "Finnish" -msgstr "Финский" - -msgid "French" -msgstr "Французский" - -msgid "Gujarati" -msgstr "Гуджаратский" - -msgid "Hebrew" -msgstr "Иврит" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Хорватский" - -msgid "Hungarian" -msgstr "Венгерский" - -msgid "Armenian" -msgstr "Армянский" - -msgid "Indonesian" -msgstr "Индонезийский" - -msgid "Icelandic" -msgstr "Исландский" - -msgid "Italian" -msgstr "Итальянский" - -msgid "Japanese" -msgstr "Японский" - -msgid "Georgian" -msgstr "Грузинский" - -msgid "Kazakh" -msgstr "Казахский" - -msgid "Kannada" -msgstr "Каннада" - -msgid "Korean" -msgstr "Корейский" - -msgid "Kashmiri" -msgstr "Кашмирский" - -msgid "Kurdish" -msgstr "Курдский" - -msgid "Kirghiz" -msgstr "Киргизский" - -msgid "Lithuanian" -msgstr "Литовский" - -msgid "Latvian" -msgstr "Латышский" - -msgid "Macedonian" -msgstr "Македонский" - -msgid "Malayalam" -msgstr "Малаялам" - -msgid "Marathi" -msgstr "Маратхи" - -msgid "Malay" -msgstr "Малайский" - -msgid "Maltese" -msgstr "Мальтийский" - -msgid "Bokmal" -msgstr "Букмол" - -msgid "Dutch" -msgstr "Нидерландский" - -msgid "Nynorsk" -msgstr "Норвежский" - -msgid "Oriya" -msgstr "Ория" - -msgid "Punjabi" -msgstr "Панджаби" - -msgid "Polish" -msgstr "Польский" - -msgid "Portuguese" -msgstr "Португальский" - -msgid "Romanian" -msgstr "Румынский" - -msgid "Russian" -msgstr "Русский" - -msgid "Sanskrit" -msgstr "Санскрит" - -msgid "Slovak" -msgstr "Словацкий" - -msgid "Slovenian" -msgstr "Словенский" - -msgid "Albanian" -msgstr "Албанский" - -msgid "Serbian" -msgstr "Сербский" - -msgid "Swedish" -msgstr "Шведский" - -msgid "Tamil" -msgstr "Тамильский" +#: source/ubl-strings.h:20 +msgid "Cancel" +msgstr "Отмена" -msgid "Telugu" -msgstr "Тулугу" +#: source/ubl-strings.h:22 +msgid "System" +msgstr "Система" -msgid "Thai" -msgstr "Тайский" +#: source/ubl-strings.h:24 +msgid "Layouts:" +msgstr "Раскладки:" -msgid "Turkish" -msgstr "Турецкий" +#: source/ubl-strings.h:25 +msgid "Default layout" +msgstr "Раскладка по умолчанию" -msgid "Ukrainian" -msgstr "Украинский" +#: source/ubl-strings.h:26 +msgid "Changing the layout:" +msgstr "Смена раскладки:" -msgid "American" -msgstr "Американский английский" +#: source/ubl-strings.h:27 +msgid "Additional options:" +msgstr "Дополнительные опции:" -msgid "Vietnamese" -msgstr "Вьетнамский" +#: source/ubl-strings.h:28 +msgid "Set Compose (Multi_Key) to the right Win key" +msgstr "Установить Compose (Multi_Key) на клавишу \"правая Win\"" -msgid "Simplified Chinese" -msgstr "Упрощённый Китайский" +#: source/ubl-strings.h:29 +msgid "Scroll Lock indication when switching layouts" +msgstr "Индикация Scroll Lock при переключении раскладки" -msgid "Traditional Chinese" -msgstr "Традиционный Китайский" +#: source/ubl-strings.h:32 +msgid "NumLock:" +msgstr "NumLock:" -msgid "Chinese" -msgstr "Китайский" +#: source/ubl-strings.h:33 +msgid "Setting up TTY VT" +msgstr "Настройка TTY VT" -msgid "Generic 86-key PC" -msgstr "Обычная 86-клавишная" +#: source/ubl-strings.h:34 +msgid "Key layout and switch:" +msgstr "Раскладка клавиш и переключатель:" -msgid "Generic 101-key PC" -msgstr "Обычная 101-клавишная" +#: source/ubl-strings.h:35 +msgid "Keyboard layout" +msgstr "Раскладка клавиатуры" -msgid "Generic 102-key PC" -msgstr "Обычная 102-клавишная" +#: source/ubl-strings.h:36 +msgid "Designation" +msgstr "Обозначение" -msgid "Generic 104-key PC" -msgstr "Обычная 104-клавишная" +#: source/ubl-strings.h:37 +msgid "Variant" +msgstr "Вариант" -msgid "Generic 104-key PC with L-shaped Enter key" -msgstr "Обычная 104-клавишная (Enter в форме буквы L)" +#: source/ubl-strings.h:38 +msgid "Name" +msgstr "Имя" -msgid "Generic 105-key PC" -msgstr "Обычная 105-клавишная" +#: source/ubl-strings.h:39 +msgid "Description" +msgstr "Описание" -msgid "Dell 101-key PC" -msgstr "Dell 101-клавишная" +#: source/ubl-strings.h:20 +msgid "Options:" +msgstr "Опции:" -msgid "Dell Latitude laptop" -msgstr "Ноутбук Dell Latitude" +#: source/ubl-strings.h:20 +msgid "Additional key layout and switch:" +msgstr "Дополнительная раскладка клавиш и переключатель:" -msgid "Dell Precision M65 laptop" -msgstr "Ноутбук Dell Precision M65" +#: source/ubl-strings.h:20 +msgid "Font:" +msgstr "Шрифт:" -msgid "Dell Inspiron 6000/8000 laptop" -msgstr "Ноутбук Dell Inspiron 6000/8000" +#: source/ubl-strings.h:20 +msgid "Group" +msgstr "Группа" -msgid "Dell Precision M laptop" -msgstr "Ноутбук Dell Precision M" +#: source/ubl-strings.h:20 +msgid "Additional key layout for the keyboard" +msgstr "Дополнительная раскладка клавиш для клавиатуры" -msgid "Fujitsu-Siemens Amilo laptop" -msgstr "Ноутбук Fujitsu-Siemens Amilo" +#: source/ubl-strings.h:20 +msgid "Font" +msgstr "Шрифт" -msgid "Hewlett-Packard Mini 110 laptop" -msgstr "Ноутбук Hewlett-Packard Mini 110" +#: source/ubl-strings.h:20 +msgid "Are you sure you want to remove current option?" +msgstr "Вы уверены что хотите удалить данную опцию?" -msgid "Asus laptop" -msgstr "Ноутбук Asus" +#: source/ubl-strings.h:20 +msgid "Option deletion" +msgstr "Удаление опции" -msgid "Apple laptop" -msgstr "Ноутбук Apple" +#: source/ubl-strings.h:20 +msgid "Are you sure you want to remove current layout?" +msgstr "Вы уверены что хотите удалить данную раскладку?" -msgid "eMachines m6800 laptop" -msgstr "Ноутбук eMachines m6800" +#: source/ubl-strings.h:20 +msgid "Layout deletion" +msgstr "Удаление раскладки" -#~ msgid "Acer laptop" -#~ msgstr "Ноутбук Acer" +#: source/ubl-strings.h:20 +msgid "Manual input:" +msgstr "Ручной выбор:" diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 5cabe32..f6ef902 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -34,7 +34,10 @@ set(DEPENDFILES ../ubl-settings-keyboard.glade ../ubl-settings-keyboard-layouts.glade ../ubl-settings-keyboard-options.glade - ../layouts.csv + ../ubl-settings-keyboard-keymaps.glade + ../ubl-settings-keyboard-font.glade + ../keymap-list.csv + ../font-list.csv ../gresource.xml ../ubl-settings-keyboard.css ) @@ -74,6 +77,11 @@ endif() set(SOURCE_FILES ubl-settings-keyboard.c + ubl-settings-keyboard-layouts.c + ubl-settings-keyboard-options.c + ubl-settings-keyboard-save.c + ubl-settings-keyboard-font.c + ubl-settings-keyboard-keymaps.c ubl-settings-keyboard.h ubl-strings.h ) diff --git a/source/ubl-settings-keyboard-font.c b/source/ubl-settings-keyboard-font.c new file mode 100644 index 0000000..3b5f1de --- /dev/null +++ b/source/ubl-settings-keyboard-font.c @@ -0,0 +1,90 @@ +#include "ubl-settings-keyboard.h" + +void on_font_accept(GtkWidget *, layouts_window *window){ + GtkWidget *output_widget = g_object_get_data(G_OBJECT(window->Window),"output"); + if (gtk_switch_get_active(GTK_SWITCH(window->OptionsFilterCombo))){ + gtk_entry_set_text(GTK_ENTRY(output_widget),""); + yon_config_remove_by_key(console_keymap_parameter); + on_subwindow_close(window->Window); + return; + } + char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry)); + if (yon_char_is_empty(target)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(NOTHING_CHOSEN_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + gtk_entry_set_text(GTK_ENTRY(output_widget),target); + yon_config_register(console_font_parameter,console_font_parameter_command,target); + on_subwindow_close(window->Window); +} + +void on_font_selection_changed(GtkWidget *,layouts_window *window){ + GtkTreeModel *model; + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&model, &iter)){ + char *target; + gtk_tree_model_get(model,&iter,0,&target,-1); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),target); + } else { + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),""); + } +} + +layouts_window *yon_font_window_new(){ + GtkBuilder *builder = gtk_builder_new_from_resource(glade_font_path); + layouts_window *window = malloc(sizeof(layouts_window)); + memset(window,0,sizeof(layouts_window)); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->MainTree = yon_gtk_builder_get_widget(builder,"FontTree"); + window->OptionsEntry = yon_gtk_builder_get_widget(builder,"ManualEntry"); + window->OptionsFilterCombo = yon_gtk_builder_get_widget(builder,"DefaultSwitch"); + window->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"FontList")); + window->parameters = yon_char_new(config(keyboard_layout_parameter)); + + g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->MainTree); + g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->OptionsEntry); + g_signal_connect(G_OBJECT(window->MainTree),"cursor-changed",G_CALLBACK(on_font_selection_changed),window); + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + int font_size; + int size; + config_str fonts = yon_resource_open_file(font_list_path, &font_size); + for (int i=0;iOptionsFilterCombo),0); + } + for (int i=0;iOptionsList),&iter); + gtk_list_store_set(GTK_LIST_STORE(window->OptionsList),&iter,0,parsed[0],1,parsed[1],-1); + if (!yon_char_is_empty(config_value)&&!strcmp(parsed[0],config_value)){ + gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&iter); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),config_value); + } + } + } + if (yon_char_is_empty(config_value)){ + gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),1); + } + return window; +} + +void yon_font_open(GtkWidget *,main_window *widgets){ + layouts_window *window = yon_font_window_new(); + g_object_set_data(G_OBJECT(window->Window),"output",widgets->TTYFontEntry); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),FONT_TITLE_LABEL,icon_path,"font-window"); + + g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_font_accept),window); +} \ No newline at end of file diff --git a/source/ubl-settings-keyboard-keymaps.c b/source/ubl-settings-keyboard-keymaps.c new file mode 100644 index 0000000..9f726b0 --- /dev/null +++ b/source/ubl-settings-keyboard-keymaps.c @@ -0,0 +1,108 @@ +#include "ubl-settings-keyboard.h" + +void on_keymaps_accept(GtkWidget *, layouts_window *window){ + main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); + GtkWidget *output_widget = g_object_get_data(G_OBJECT(window->Window),"output"); + if (gtk_switch_get_active(GTK_SWITCH(window->OptionsFilterCombo))){ + gtk_entry_set_text(GTK_ENTRY(output_widget),""); + yon_config_remove_by_key(console_keymap_parameter); + on_subwindow_close(window->Window); + return; + } + char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry)); + if (yon_char_is_empty(target)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(NOTHING_CHOSEN_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE); + return; + } + if (output_widget == widgets->TTYLayoutEntry){ + gtk_entry_set_text(GTK_ENTRY(output_widget),target); + yon_config_register(console_keymap_parameter,console_keymap_parameter_command,target); + + } else { + gtk_entry_set_text(GTK_ENTRY(output_widget),target); + yon_config_register(console_keymap_toggle_parameter,console_keymap_parameter_command,target); + + } + on_subwindow_close(window->Window); +} + +void on_keymaps_selection_changed(GtkWidget *,layouts_window *window){ + GtkTreeModel *model; + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&model, &iter)){ + char *target; + gtk_tree_model_get(model,&iter,0,&target,-1); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),target); + } else { + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),""); + } +} + +layouts_window *yon_keymaps_window_new(){ + GtkBuilder *builder = gtk_builder_new_from_resource(glade_keymaps_path); + layouts_window *window = malloc(sizeof(layouts_window)); + memset(window,0,sizeof(layouts_window)); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->MainTree = yon_gtk_builder_get_widget(builder,"KeymapTree"); + window->parameters = yon_char_new(config(keyboard_layout_parameter)); + window->OptionsEntry = yon_gtk_builder_get_widget(builder,"ManualEntry"); + window->OptionsFilterCombo = yon_gtk_builder_get_widget(builder,"DefaultSwitch"); + window->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"KeymapList")); + + g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->MainTree); + g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->OptionsEntry); + g_signal_connect(G_OBJECT(window->MainTree),"cursor-changed",G_CALLBACK(on_keymaps_selection_changed),window); + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + return window; +} + +void yon_keymaps_open(GtkWidget *self,main_window *widgets){ + layouts_window *window = yon_keymaps_window_new(); + if (self == widgets->TTYLayoutButton){ + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),KEYBOARD_LAYOUT_LABEL,icon_path,"font-window"); + g_object_set_data(G_OBJECT(window->Window),"output",widgets->TTYLayoutEntry); + } else { + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),KEYMAP_TITLE_LABEL,icon_path,"font-window"); + g_object_set_data(G_OBJECT(window->Window),"output",widgets->TTYSecondLayoutEntry); + } + g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_keymaps_accept),window); + + int keymap_size; + int size; + config_str keymaps = yon_resource_open_file(keymap_list_path, &keymap_size); + for (int i=0;iTTYLayoutButton){ + config_value = config(console_keymap_parameter); + } else { + config_value = config(console_keymap_toggle_parameter); + } + if (yon_char_is_empty(config_value)){ + gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),0); + } + for (int i=0;iOptionsList),&iter); + gtk_list_store_set(GTK_LIST_STORE(window->OptionsList),&iter,0,parsed[0],1,parsed[1],2,parsed[2],-1); + if (!yon_char_is_empty(config_value)&&!strcmp(parsed[0],config_value)){ + gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&iter); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),config_value); + } + } + } + if (yon_char_is_empty(config_value)){ + gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),1); + } +} \ No newline at end of file diff --git a/source/ubl-settings-keyboard-layouts.c b/source/ubl-settings-keyboard-layouts.c new file mode 100644 index 0000000..2825cb6 --- /dev/null +++ b/source/ubl-settings-keyboard-layouts.c @@ -0,0 +1,253 @@ +#include "ubl-settings-keyboard.h" + +void on_layouts_accept(GtkWidget *self, layouts_window *window){ + main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); + if (!yon_char_is_empty(window->parameters)){ + yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,window->parameters); + } else { + yon_config_remove_by_key(keyboard_layout_parameter); + } + on_subwindow_close(self); + yon_interface_update(widgets); +} + +void on_layouts_chosen(GtkCellRenderer *, gchar *path, layouts_window *window){ + GtkTreeIter iter; + gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->list),&iter,path); + int chosen; + char *layout, *variant; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&layout,1,&variant,3,&chosen,-1); + gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,!chosen,-1); + + + char *full_layout = NULL; + if (!yon_char_is_empty(variant)){ + full_layout = yon_char_unite(layout,"_",variant,NULL); + } else { + full_layout = layout; + } + if (!chosen){ + char *temp = yon_char_append_element(window->parameters,full_layout,","); + free(window->parameters); + window->parameters = temp; + } else { + char *temp = yon_char_remove_element(window->parameters,full_layout,","); + free(window->parameters); + window->parameters = temp; + } + free(full_layout); +} + +void on_system_layouts_add(GtkWidget *, main_window *widgets){ + yon_layouts_add(GTK_TREE_VIEW(widgets->LayoutTree),widgets->LayoutsList,widgets); +} + +layouts_window *yon_layouts_window_new(){ + GtkBuilder *builder = gtk_builder_new_from_resource(glade_layouts_path); + layouts_window *window = malloc(sizeof(layouts_window)); + memset(window,0,sizeof(layouts_window)); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->ChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChosenCell")); + window->MainTree = yon_gtk_builder_get_widget(builder,"LayoutsTree"); + window->parameters = yon_char_new(config(keyboard_layout_parameter)); + + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->ChosenCell),"toggled",G_CALLBACK(on_layouts_chosen),window); + return window; +} + +void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets){ + layouts_window *window = yon_layouts_window_new(); + yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"layout_window"); + + window->list = main_config.layouts_store; + + gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree), GTK_TREE_MODEL(main_config.layouts_store)); + gtk_tree_view_column_clicked(GTK_TREE_VIEW_COLUMN(gtk_tree_view_get_column(GTK_TREE_VIEW(window->MainTree),0))); + yon_layout_build(window); + g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_layouts_accept),window); + + char *languages = config(keyboard_layout_parameter); + int size; + config_str parsed = yon_char_parse(languages,&size,","); + GtkTreeIter iter,itar; + for_iter(window->list,&iter){ + int found = 0; + char *id, *id_var; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&id,-1); + for (int i=0;ilist),&iter,3,1,-1); + found=1; + break; + } + } + if (!found) { + gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,0,-1); + } + if (gtk_tree_model_iter_children(GTK_TREE_MODEL(window->list),&itar,&iter)){ + for (int valid2=1;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){ + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&id,1,&id_var,-1); + for (int i=0;ilist),&itar,3,1,-1); + found=1; + break; + } + } + } + } + + } +} + +void yon_layouts_remove(GtkTreeView *tree, GtkListStore *cur_list, main_window *widgets){ + GtkTreeModel *model = GTK_TREE_MODEL(cur_list); + GtkTreeIter iter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(tree),&model,&iter)){ + dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); + data->action_text = LAYOUT_REMOVE_LABEL; + data->title = LAYOUT_REMOVE_TITLE_LABEL; + if (yon_confirmation_dialog_call(widgets->Window,data)!=GTK_RESPONSE_ACCEPT) return; + char *layout, *variant; + gtk_tree_model_get(model,&iter,0,&layout,1,&variant,-1); + if (!yon_char_is_empty(variant)){ + char *temp = yon_char_unite(layout,"_",variant,NULL); + free(layout); + layout = temp; + } + yon_config_remove_element(keyboard_layout_parameter,layout,","); + } + yon_interface_update(widgets); +} + +void on_system_layouts_remove(GtkWidget *, main_window *widgets){ + yon_layouts_remove(GTK_TREE_VIEW(widgets->LayoutTree),widgets->LayoutsList,widgets); +} + +// standard functions + +config_str yon_layout_get_children(char *layout_id, int *size){ + (*size)=0; + config_str final = NULL; + for (int i=0;iLayoutsList,&iter); + gtk_list_store_set(widgets->LayoutsList,&iter,0,parsed[0],1,parsed[1],2,_(parsed[2]),-1); + } + } + + } else { + for (int i=0;iLayoutsList,&iter); + gtk_list_store_set(widgets->LayoutsList,&iter,0,parsed[0],2,_(parsed[1]),-1); + } + } + } +} + +void yon_layout_build(layouts_window *window){ + gtk_tree_store_clear(window->list); + GtkTreeIter parent; + GtkTreeIter iter; + int size; + config_str layouts = yon_config_load(layouts_command,&size); + for (int i=0;ilist,&parent,NULL); + gtk_tree_store_set(window->list,&parent,0,parsed[0],2,_(parsed[1]),-1); + int variants_size; + config_str variants = yon_layout_get_children(parsed[0],&variants_size); + yon_char_parsed_free(parsed,parsed_size); + for (int k=0;klist,&iter,&parent); + gtk_tree_store_set(window->list,&iter,0,parsed[0],1,parsed[1],2,_(parsed[2]),-1); + yon_char_parsed_free(parsed,parsed_size); + } + yon_char_parsed_free(variants,variants_size); + + } + yon_char_parsed_free(layouts,size); + +} + +void on_layout_move_up(GtkWidget *, main_window *widgets){ + GtkTreeModel *model; + GtkTreeIter iter,*previter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutTree)),&model,&iter)){ + previter = gtk_tree_iter_copy(&iter); + if (!gtk_tree_model_iter_previous(model,previter)) return; + char *a, *b; + gtk_tree_model_get(model,&iter,0,&a,-1); + gtk_tree_model_get(model,previter,0,&b,-1); + char *layouts = config(keyboard_layout_parameter); + char *temp = yon_char_swap_element(layouts,a,b,","); + yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,temp); + free(temp); + gtk_list_store_swap(widgets->LayoutsList,&iter,previter); + gtk_tree_iter_free(previter); + } +} + +void on_layout_move_down(GtkWidget *, main_window *widgets){ + GtkTreeModel *model; + GtkTreeIter iter,*nextiter; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutTree)),&model,&iter)){ + nextiter = gtk_tree_iter_copy(&iter); + if (!gtk_tree_model_iter_next(model,nextiter)) return; + char *a, *b; + gtk_tree_model_get(model,&iter,0,&a,-1); + gtk_tree_model_get(model,nextiter,0,&b,-1); + char *layouts = config(keyboard_layout_parameter); + char *temp = yon_char_swap_element(layouts,a,b,","); + yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,temp); + free(temp); + gtk_list_store_swap(widgets->LayoutsList,&iter,nextiter); + gtk_tree_iter_free(nextiter); + } +} + +// void on_layout_dnd_inserted(GtkTreeModel *, GtkTreePath* , GtkTreeIter* iter, main_window *widgets){ +// char *target; +// gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsList),iter,0,&target,-1); +// } + +// void on_layout_dnd_deleted(GtkTreeModel *, GtkTreePath* , GtkTreeIter* iter, main_window *widgets){ + +// char *target; +// gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsList),iter,0,&target,-1); +// printf("%s\n",target); +// } \ No newline at end of file diff --git a/source/ubl-settings-keyboard-options.c b/source/ubl-settings-keyboard-options.c new file mode 100644 index 0000000..ac7b0ba --- /dev/null +++ b/source/ubl-settings-keyboard-options.c @@ -0,0 +1,177 @@ +#include "ubl-settings-keyboard.h" + +void on_option_chosen(GtkCellRenderer *, gchar *path, layouts_window *window){ + GtkTreeIter iter; + GtkTreeIter itar; + gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->OptionsFilter),&iter,path); + gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(window->OptionsFilter),&itar,&iter); + int chosen; + char *target; + gtk_tree_model_get(GTK_TREE_MODEL(window->OptionsList),&itar,0,&target,2,&chosen,-1); + gtk_list_store_set(GTK_LIST_STORE(window->OptionsList),&itar,2,!chosen,-1); + + char *options_string = yon_char_new(gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry))); + if (!chosen){ + char *temp = yon_char_append_element(options_string,target,","); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),temp); + free(temp); + } else { + char *temp = yon_char_remove_element(options_string,target,","); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),temp); + free(temp); + } +} + +gboolean yon_filter_refilter(GtkTreeModel *model, GtkTreeIter *iter, layouts_window *window){ + char *target_id; + const char *id = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->OptionsFilterCombo)); + if (yon_char_is_empty(id)) return 0; + gtk_tree_model_get(model,iter,0,&target_id,-1); + char *filter_section = yon_char_divide_search(target_id,":",-1); + int result = !strcmp(filter_section,id); + if (target_id) + free(target_id); + if (filter_section) + free(filter_section); + return result; +} + +void yon_options_setup(layouts_window *window){ + int size; + config_str option_commands = yon_char_parsed_new(&size, + lv2_options_command, + lv3_options_command, + ctrl_options_command, + grp_led_options_command, + mod_led_options_command, + keypad_options_command, + kpdl_options_command, + caps_options_command, + altwin_options_command, + Compose_options_command, + compat_options_command, + currencysign_options_command, + lv5_options_command, + nbsp_options_command, + japan_options_command, + korean_options_command, + esperanto_options_command, + solaris_options_command, + terminate_options_command, + NULL); + + char *command_full = yon_char_parsed_to_string(option_commands,size,"; "); + + int options_size; + config_str options = yon_config_load(command_full,&options_size); + GtkTreeIter iter; + + int filter_size; + config_str filter = NULL; + + char *config_options = config(options_parameter); + + for (int i=0;iOptionsList,&iter); + gtk_list_store_set(window->OptionsList,&iter,0,parsed[0],1,_(parsed[1]),2,yon_char_check_element(config_options,parsed[0],","),-1); + char *str = yon_char_new(parsed[0]); + char *type = yon_char_divide_search(str,":",-1); + if (yon_char_parsed_check_exist(filter,filter_size,type)==-1){ + yon_char_parsed_add_or_create_if_exists(filter,&filter_size,type); + gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->OptionsFilterCombo),type,type); + } + if (!yon_char_is_empty(str))free(str); + if (!yon_char_is_empty(type))free(type); + yon_char_parsed_free(parsed,parsed_size); + } + gtk_combo_box_set_active(GTK_COMBO_BOX(window->OptionsFilterCombo),0); + yon_char_parsed_free(filter,filter_size); + yon_char_parsed_free(option_commands,size); +} + +void on_options_filter_changed(GtkWidget *, layouts_window *window){ + gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(window->OptionsFilter)); +} + +void on_options_accept(GtkWidget *self, layouts_window *window){ + main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets"); + char *options = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry)); + if (!yon_char_is_empty(options)){ + yon_config_register(options_parameter,options_parameter_command,options); + } else { + yon_config_remove_by_key(options_parameter); + } + on_subwindow_close(self); + yon_interface_update(widgets); +} + +void on_options_save(GtkWidget *,main_window *widgets){ + char *main_id = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LayoutChangingCombo)); + int parameter_parsed_size; + config_str parameter_parsed = NULL; + yon_char_parsed_add_or_create_if_exists(parameter_parsed,¶meter_parsed_size,!yon_char_is_empty(main_id)?main_id:""); + GtkTreeIter iter; + for_iter(GTK_TREE_MODEL(widgets->OptionsList),&iter){ + char *cur_id; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->OptionsList),&iter,0,&cur_id,-1); + yon_char_parsed_add_or_create_if_exists(parameter_parsed,¶meter_parsed_size,cur_id); + } + char *final_parameter = yon_char_parsed_to_string_full(parameter_parsed,parameter_parsed_size,","); + yon_char_parsed_free(parameter_parsed,parameter_parsed_size); + if (!yon_char_is_empty(final_parameter)){ + yon_config_register(options_parameter,options_parameter_command,final_parameter); + free(final_parameter); + } else { + yon_config_remove_by_key(options_parameter); + } +} + +layouts_window *yon_options_window_new(){ + + GtkBuilder *builder = gtk_builder_new_from_resource(glade_options_path); + layouts_window *window = malloc(sizeof(layouts_window)); + window->Window = yon_gtk_builder_get_widget(builder,"Window"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); + window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); + window->MainTree = yon_gtk_builder_get_widget(builder,"OptionsTree"); + window->OptionsFilterCombo = yon_gtk_builder_get_widget(builder,"OptionsFilterCombo"); + window->OptionsEntry = yon_gtk_builder_get_widget(builder,"OptionsEntry"); + window->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"OptionsList")); + window->OptionsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"OptionsFilter")); + window->ChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChosenCell")); + + g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"changed",G_CALLBACK(on_options_filter_changed),window); + g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->ChosenCell),"toggled",G_CALLBACK(on_option_chosen),window); + gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree),GTK_TREE_MODEL(window->OptionsFilter)); + gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(window->OptionsFilter),(GtkTreeModelFilterVisibleFunc)yon_filter_refilter,window,NULL); + yon_options_setup(window); + char *parameter_options = config(options_parameter); + gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),parameter_options); + return window; +} + +void on_options_open(GtkWidget *, main_window *widgets){ + layouts_window *window = yon_options_window_new(); + g_object_set_data(G_OBJECT(window->Window),"widgets",widgets); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_options_accept),window); +} + + +void on_option_remove(GtkWidget*, main_window *widgets){ + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->OptionsTree)),&model, &iter)){ + dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); + data->action_text = OPTION_REMOVE_LABEL; + data->title = OPTION_REMOVE_TITLE_LABEL; + if (yon_confirmation_dialog_call(widgets->Window,data)!=GTK_RESPONSE_ACCEPT) return; + char *target; + gtk_tree_model_get(model,&iter,0,&target,-1); + yon_config_remove_element(options_parameter,target,","); + } + yon_interface_update(widgets); +} \ No newline at end of file diff --git a/source/ubl-settings-keyboard-save.c b/source/ubl-settings-keyboard-save.c new file mode 100644 index 0000000..9a0d199 --- /dev/null +++ b/source/ubl-settings-keyboard-save.c @@ -0,0 +1,126 @@ +#include "ubl-settings-keyboard.h" + +void on_save_done(main_window *, config_str output, int size){ + char *final_output = yon_char_parsed_to_string(output,size,""); + if (final_output){ + printf("%s\n",final_output); + free(final_output); + } + yon_char_parsed_free(output,size); + switch (main_config.save_config){ + case YON_CONFIG_GLOBAL: + yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + break; + case YON_CONFIG_LOCAL: + yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + break; + case YON_CONFIG_BOTH: + yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_LOCAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + break; + } + +} + +void yon_interface_save(main_window *widgets){ + if (gtk_switch_get_active(GTK_SWITCH(widgets->DefaultLayoutsSwitch))){ + yon_config_remove_by_key(keyboard_layout_parameter); + } else if (yon_config_check_ignore(keyboard_layout_parameter)){ + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutsList); + GtkTreeIter iter; + int parameters_size; + config_str parameters = NULL; + for_iter(model,&iter){ + char *target; + gtk_tree_model_get(model,&iter,0,&target,-1); + yon_char_parsed_add_or_create_if_exists(parameters,¶meters_size,target); + } + char *final = yon_char_parsed_to_string(parameters,parameters_size,","); + yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,final); + } +} + +void on_config_global_local_save(GtkWidget *, main_window *widgets){ + yon_interface_save(widgets); + main_config.save_config=YON_CONFIG_BOTH; + yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL); +} + +void on_config_local_save(GtkWidget *, main_window *widgets){ + yon_interface_save(widgets); + main_config.save_config=YON_CONFIG_LOCAL; + yon_save_proceed("system",YON_CONFIG_LOCAL,config_get_local_command,NULL); + +} + +void on_config_global_save(GtkWidget *, main_window *widgets){ + yon_interface_save(widgets); + main_config.save_config=YON_CONFIG_GLOBAL; + yon_save_proceed("global",YON_CONFIG_GLOBAL,config_get_global_command,NULL); + +} + +void on_config_custom_save(GtkWidget *, main_window *widgets){ + yon_interface_save(widgets); + main_config.save_config=YON_CONFIG_LOCAL; + template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL); + if (window){}; +} + +void on_config_local_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_LOCAL); + yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + yon_interface_update(widgets); + main_config.load_mode=1; +} + +void on_config_global_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_GLOBAL); + yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + yon_interface_update(widgets); + main_config.load_mode=0; + +} + +void on_config_custom_load(GtkWidget *,main_window *widgets){ + yon_load_proceed(YON_CONFIG_CUSTOM); + textdomain(template_ui_LocaleName); + yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); + textdomain(LocaleName); + main_config.load_mode=3; + yon_interface_update(widgets); +} + +void yon_load_proceed(YON_CONFIG_TYPE type){ + yon_config_clean(); + if (!yon_char_is_empty(config_get_default_command)) + yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); + if (type==YON_CONFIG_GLOBAL){ + yon_config_load_config(type,yon_debug_output("%s\n",config_get_global_command),NULL); + } else if (type==YON_CONFIG_LOCAL){ + yon_config_load_config(type,config_get_local_command,NULL); + } else if (type==YON_CONFIG_CUSTOM){ + char *path=""; + textdomain(template_ui_LocaleName); + GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); + textdomain(LocaleName); + gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services"); + gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL); + GtkFileFilter *filter = gtk_file_filter_new(); + gtk_file_filter_add_pattern(filter,"*.ini"); + gtk_file_filter_set_name(filter, "*.ini"); + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter); + gtk_widget_show(dialog); + int response = gtk_dialog_run(GTK_DIALOG(dialog)); + if (response == GTK_RESPONSE_ACCEPT){ + char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); + if (!yon_char_is_empty(file)){ + path=file; + } + gtk_widget_destroy(dialog); + } else { + gtk_widget_destroy(dialog); + } + char *command = yon_config_get_custom_command(path); + yon_config_load_config(type,command,NULL); + } +} \ No newline at end of file diff --git a/source/ubl-settings-keyboard.c b/source/ubl-settings-keyboard.c index 873b37b..c832b84 100644 --- a/source/ubl-settings-keyboard.c +++ b/source/ubl-settings-keyboard.c @@ -2,187 +2,127 @@ config main_config; -void on_save_done(main_window *, config_str output, int size){ - char *final_output = yon_char_parsed_to_string(output,size,""); - if (final_output){ - printf("%s\n",final_output); - free(final_output); - } - yon_char_parsed_free(output,size); - switch (main_config.save_config){ - case YON_CONFIG_GLOBAL: - yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); - break; - case YON_CONFIG_LOCAL: - yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); - break; - case YON_CONFIG_BOTH: - yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_LOCAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); - break; - } - -} - -void on_config_global_local_save(GtkWidget *, main_window *){ - main_config.save_config=YON_CONFIG_BOTH; - yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL); -} - -void on_config_local_save(GtkWidget *, main_window *){ - main_config.save_config=YON_CONFIG_LOCAL; - yon_save_proceed("system",YON_CONFIG_LOCAL,config_get_local_command,NULL); - -} - -void on_config_global_save(GtkWidget *, main_window *){ - main_config.save_config=YON_CONFIG_GLOBAL; - yon_save_proceed("global",YON_CONFIG_GLOBAL,config_get_global_command,NULL); - -} - -void on_config_custom_save(GtkWidget *, main_window *){ - main_config.save_config=YON_CONFIG_LOCAL; - template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL); - if (window){}; -} - -void on_config_local_load(GtkWidget *,main_window *widgets){ - yon_load_proceed(YON_CONFIG_LOCAL); - yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); - yon_interface_update(widgets); - main_config.load_mode=1; -} - -void on_config_global_load(GtkWidget *,main_window *widgets){ - yon_load_proceed(YON_CONFIG_GLOBAL); - yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); - yon_interface_update(widgets); - main_config.load_mode=0; - -} - -void on_config_custom_load(GtkWidget *,main_window *widgets){ - yon_load_proceed(YON_CONFIG_CUSTOM); - textdomain(template_ui_LocaleName); - yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE); - textdomain(LocaleName); - main_config.load_mode=3; - yon_interface_update(widgets); -} - -void yon_load_proceed(YON_CONFIG_TYPE type){ - yon_config_clean(); - if (!yon_char_is_empty(config_get_default_command)) - yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); - if (type==YON_CONFIG_GLOBAL){ - yon_config_load_config(type,yon_debug_output("%s\n",config_get_global_command),NULL); - } else if (type==YON_CONFIG_LOCAL){ - yon_config_load_config(type,config_get_local_command,NULL); - } else if (type==YON_CONFIG_CUSTOM){ - char *path=""; - textdomain(template_ui_LocaleName); - GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); - textdomain(LocaleName); - gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services"); - gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL); - GtkFileFilter *filter = gtk_file_filter_new(); - gtk_file_filter_add_pattern(filter,"*.ini"); - gtk_file_filter_set_name(filter, "*.ini"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter); - gtk_widget_show(dialog); - int response = gtk_dialog_run(GTK_DIALOG(dialog)); - if (response == GTK_RESPONSE_ACCEPT){ - char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - if (!yon_char_is_empty(file)){ - path=file; - } - gtk_widget_destroy(dialog); - } else { - gtk_widget_destroy(dialog); - } - char *command = yon_config_get_custom_command(path); - yon_config_load_config(type,command,NULL); - } -} gboolean yon_interface_update(main_window *widgets){ - g_signal_handlers_block_by_func(G_OBJECT(widgets->ModelCombo),G_CALLBACK(on_model_changed),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->MoveDownButton),G_CALLBACK(on_move_down),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->MoveUpButton),G_CALLBACK(on_move_up),widgets); - g_signal_handlers_block_by_func(G_OBJECT(widgets->OptionsButton),G_CALLBACK(on_options_open),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->OptionsEditButton),G_CALLBACK(on_options_open),widgets); g_signal_handlers_block_by_func(G_OBJECT(widgets->NumLockCombo),G_CALLBACK(on_num_lock_changed),widgets); - gtk_list_store_clear(widgets->layoutsList); + g_signal_handlers_block_by_func(G_OBJECT(widgets->LayoutChangingCombo),G_CALLBACK(on_options_save),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->ScrollLockSwitch),G_CALLBACK(on_scroll_lock_switch),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->ComposeSwitch),G_CALLBACK(on_compose_switch),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->DefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets); + // g_signal_handlers_block_by_func(G_OBJECT(widgets->TTYLayoutCombo),G_CALLBACK(on_tty_changed),widgets); - gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ModelCombo),0); + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->KeyboardModelCombo),0); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),0); - GtkTreeIter iter; - gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),DEFAULT_LABEL); { - char *name = yon_config_get_by_key(model_parameter); - char *id; - if (name) { - int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->modelsList),&iter); - for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->modelsList),&iter)){ - gtk_tree_model_get(GTK_TREE_MODEL(widgets->modelsList),&iter,1,&id,-1); - if (!strcmp(name,id)){ - gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->ModelCombo),&iter); - break; - } - } - } else gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ModelCombo),0); + char *kbmodel = yon_config_get_by_key(model_parameter); + if (kbmodel) { + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),kbmodel); + } } { - char *name = yon_config_get_by_key(options_parameter); - if (name) { - char *id, *rname; - gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),name); - int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.options_list),&iter); - for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.options_list),&iter)){ - gtk_tree_model_get(GTK_TREE_MODEL(main_config.options_list),&iter,0,&id,1,&rname,-1); - if (!strcmp(id,name)){ - gtk_list_store_set(main_config.options_list,&iter,2,1,-1); - gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),rname); - break; - } + gtk_list_store_clear(widgets->LayoutsList); + char *layouts = config(keyboard_layout_parameter); + + int layouts_parsed_size; + config_str layouts_parsed = yon_char_parse(layouts,&layouts_parsed_size,","); + for(int i=0;iDefaultLayoutsSwitch),1); + } else { + gtk_switch_set_active(GTK_SWITCH(widgets->DefaultLayoutsSwitch),0); + } + + if (yon_char_is_empty(layouts)){ + char *element = yon_char_parsed_check_exist_begins_with(main_config.layouts_list,main_config.layouts_size,"us|"); + if (element){ + int parsed_size; + config_str parsed = yon_char_parse(element,&parsed_size,"|"); + GtkTreeIter iter; + gtk_list_store_append(widgets->LayoutsList,&iter); + gtk_list_store_set(widgets->LayoutsList,&iter,0,parsed[0],2,_(parsed[1]),-1); + yon_char_parsed_free(parsed,parsed_size); } } } { - if (main_config.layouts_list){ - for_iter(main_config.layouts_list,&iter){ - gtk_list_store_set(main_config.layouts_list,&iter,2,0,-1); + gtk_list_store_clear(widgets->OptionsList); + char *options = config(options_parameter); + if (!yon_char_is_empty(options)){ + GtkTreeIter iter; + int size; + config_str parsed = yon_char_parse(options,&size,","); + if (!yon_char_is_empty(parsed[0])){ + gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LayoutChangingCombo),parsed[0]); + } else { + gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LayoutChangingCombo),0); + } + for (int i=1;iOptionsList,&iter); + gtk_list_store_set(widgets->OptionsList,&iter,0,option_parsed[0],1,_(option_parsed[1]),-1); + yon_char_parsed_free(option_parsed,option_parsed_size); + } + if (yon_char_parsed_check_exist(parsed,size,"compose:rwin")>-1){ + gtk_switch_set_active(GTK_SWITCH(widgets->ComposeSwitch),1); + } else { + gtk_switch_set_active(GTK_SWITCH(widgets->ComposeSwitch),0); + } + if (yon_char_parsed_check_exist(parsed,size,"grp_led:scroll")>-1){ + gtk_switch_set_active(GTK_SWITCH(widgets->ScrollLockSwitch),1); + } else { + gtk_switch_set_active(GTK_SWITCH(widgets->ScrollLockSwitch),0); } + + yon_char_parsed_free(parsed,size); } + } + { char *name = yon_config_get_by_key(num_lock_boot_parameter); if (name) { if (!strcmp(name,"yes")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),1); else if (!strcmp(name,"no")) gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),2); } - else gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->NumLockCombo),0); - if (main_config.layouts_list){ - int size=0; - name = yon_config_get_by_key(keyboard_layout_parameter); - config_str layouts = yon_char_parse(name,&size,","); - GtkTreeIter iter, itar; - char *rid,*rname; - gtk_list_store_clear(widgets->layoutsList); - for (int i=0;ilayoutsList,&itar); - gtk_list_store_set(widgets->layoutsList,&itar,0,rname,1,rid,2,1,-1); - } - } - } + } + + { + char *tty_layout = config(console_keymap_parameter); + if (!yon_char_is_empty(tty_layout)){ + gtk_entry_set_text(GTK_ENTRY(widgets->TTYLayoutEntry),tty_layout); + } else { + gtk_entry_set_text(GTK_ENTRY(widgets->TTYLayoutEntry),yon_char_get_localised_from_lib(DEFAULT_LABEL)); + } + + char *tty_keymap = config(console_keymap_toggle_parameter); + if (!yon_char_is_empty(tty_keymap)){ + gtk_entry_set_text(GTK_ENTRY(widgets->TTYSecondLayoutEntry),tty_keymap); + } else { + gtk_entry_set_text(GTK_ENTRY(widgets->TTYSecondLayoutEntry),yon_char_get_localised_from_lib(DEFAULT_LABEL)); + } + + char *tty_font = config(console_font_parameter); + if (!yon_char_is_empty(tty_font)){ + gtk_entry_set_text(GTK_ENTRY(widgets->TTYFontEntry),tty_font); + } else { + gtk_entry_set_text(GTK_ENTRY(widgets->TTYFontEntry),yon_char_get_localised_from_lib(DEFAULT_LABEL)); } } - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ModelCombo),G_CALLBACK(on_model_changed),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->MoveDownButton),G_CALLBACK(on_move_down),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->MoveUpButton),G_CALLBACK(on_move_up),widgets); - g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OptionsButton),G_CALLBACK(on_options_open),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->KeyboardModelCombo),G_CALLBACK(on_model_changed),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OptionsEditButton),G_CALLBACK(on_options_open),widgets); g_signal_handlers_unblock_by_func(G_OBJECT(widgets->NumLockCombo),G_CALLBACK(on_num_lock_changed),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->LayoutChangingCombo),G_CALLBACK(on_options_save),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ScrollLockSwitch),G_CALLBACK(on_scroll_lock_switch),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ComposeSwitch),G_CALLBACK(on_compose_switch),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->DefaultLayoutsSwitch),G_CALLBACK(on_layout_default_toggled),widgets); + // g_signal_handlers_unblock_by_func(G_OBJECT(widgets->TTYLayoutCombo),G_CALLBACK(on_tty_changed),widgets); return G_SOURCE_REMOVE; } @@ -204,202 +144,182 @@ void on_model_changed(GtkComboBoxText *self, main_window *widgets){ yon_config_remove_by_key(model_parameter); break; default: - char *id; - GtkTreeIter iter; - gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widgets->ModelCombo),&iter); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->modelsList),&iter,1,&id,-1); - yon_config_register(model_parameter,model_parameter_command,id); + char *id = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo)); + yon_config_register(model_parameter,model_parameter_command,id); break; } } - -void on_options_accept(GtkWidget *self, dictionary *dict){ - main_window *widgets = yon_dictionary_get_data(dict->first,main_window*); - layouts_window *window = yon_dictionary_get_data(dict->first->next,layouts_window*); - GtkTreeModel *model = GTK_TREE_MODEL(window->list); +void yon_config_init(){ + int size; + main_config.models_list = gtk_list_store_new(3,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_BOOLEAN); GtkTreeIter iter; - char *name, *id; - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&model,&iter)){ - gtk_tree_model_get(model,&iter,0,&id,1,&name,-1); - gtk_entry_set_text(GTK_ENTRY(widgets->OptionsEntry),name); - yon_config_register(options_parameter,options_parameter_command,id); - - } - on_subwindow_close(self); -} -void yon_layouts_save(main_window *widgets){ - GtkTreeIter iter; - GtkTreeIter child_iter; - int size; - config_str parsed = NULL; - for_iter(widgets->layoutsFilter,&iter){ - char *name, *id; - gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(widgets->layoutsFilter),&child_iter,&iter); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->layoutsList),&child_iter,0,&name,1,&id,-1); - yon_char_parsed_add_or_create_if_exists(parsed,&size,id); + main_config.layouts_store = gtk_tree_store_new(4,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_BOOLEAN); + main_config.variants_list = yon_config_load(layouts_variant_command,&main_config.variants_size); + main_config.layouts_list = yon_config_load(layouts_command,&main_config.layouts_size); + for (int i=0;i0){ - yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,yon_char_parsed_to_string(parsed,size,",")); - yon_char_parsed_free(parsed,size); - } else { - yon_config_remove_by_key(keyboard_layout_parameter); + for (int i=0;iWindow = yon_gtk_builder_get_widget(builder,"Window"); - window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); - window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); - window->MainTree = yon_gtk_builder_get_widget(builder,"LayoutsTree"); - window->list = main_config.options_list; - gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree),GTK_TREE_MODEL(window->list)); - dictionary *dict = NULL; - gtk_tree_view_remove_column(GTK_TREE_VIEW(window->MainTree),gtk_tree_view_get_column(GTK_TREE_VIEW(window->MainTree),0)); - yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); - yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); - g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); - g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_options_accept),dict); -} - -GList *yon_get_all_selected(GtkTreeView *tree, int column){ - GtkTreeIter iter; - GList *list = NULL; - GtkTreeModel *model = gtk_tree_view_get_model(tree); - for_iter(model,&iter){ - int status; - gtk_tree_model_get(model,&iter,column,&status,-1); - if (status){ - GtkTreePath *path = gtk_tree_model_get_path(model,&iter); - list = g_list_append(list,path); + { + int size; + config_str option_commands = yon_char_parsed_new(&size, + lv2_options_command, + lv3_options_command, + ctrl_options_command, + grp_led_options_command, + mod_led_options_command, + keypad_options_command, + kpdl_options_command, + caps_options_command, + altwin_options_command, + Compose_options_command, + compat_options_command, + currencysign_options_command, + lv5_options_command, + nbsp_options_command, + japan_options_command, + korean_options_command, + esperanto_options_command, + solaris_options_command, + terminate_options_command, + NULL); + + char *command_full = yon_char_parsed_to_string(option_commands,size,"; "); + main_config.options = g_hash_table_new(g_str_hash,g_str_equal); + int options_size; + config_str options = yon_config_load(command_full,&options_size); + for(int i=0;ifirst,main_window*); - layouts_window *window = yon_dictionary_get_data(dict->first->next,layouts_window*); - gtk_list_store_clear(widgets->layoutsList); - GtkTreeModel *model = GTK_TREE_MODEL(window->list); - GList *list = yon_get_all_selected(GTK_TREE_VIEW(window->MainTree),2); - char *name; - char *id; - GtkTreeIter iter, lwiter; - GtkTreePath *pth; - for (guint i=0;ilayoutsList,&iter); - gtk_tree_model_get(model,&lwiter,0,&name,1,&id,-1); - gtk_list_store_set(widgets->layoutsList,&iter,1,name,0,id,2,1,-1); + main_config.options_list = gtk_list_store_new(3,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_BOOLEAN); + config_str rtn = yon_config_load(get_options_command,&size); + for (int i=0; ilist),&iter,path); - int chosen; - gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,2,&chosen,-1); - gtk_list_store_set(window->list,&iter,2,!chosen,-1); + yon_char_parsed_free(rtn,size); } -void on_layouts_add(GtkWidget *, main_window *widgets){ - GtkBuilder *builder = gtk_builder_new_from_resource(glade_layouts_path); - layouts_window *window = malloc(sizeof(layouts_window)); - window->Window = yon_gtk_builder_get_widget(builder,"Window"); - window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); - window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); - window->ChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChosenCell")); - window->MainTree = yon_gtk_builder_get_widget(builder,"LayoutsTree"); - window->list = main_config.layouts_list; - gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree), GTK_TREE_MODEL(window->list)); - gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),GTK_SELECTION_MULTIPLE); - - yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"layout_window"); - - dictionary *dict = NULL; - yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); - yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); - - g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); - g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_layouts_accept),dict); - g_signal_connect(G_OBJECT(window->ChosenCell),"toggled",G_CALLBACK(on_layouts_chosen),window); - char *languages = config(keyboard_layout_parameter); - int size; - config_str parsed = yon_char_parse(languages,&size,","); - GtkTreeIter iter; - for_iter(window->list,&iter){ - int found = 0; - char *id; - gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&id,-1); - for (int i=0;ilist,&iter,2,1,-1); - found=1; - break; - } - } - if (!found) { - gtk_list_store_set(window->list,&iter,2,0,-1); - } +void on_compose_switch(GtkWidget *,int status,main_window *widgets){ + switch(status){ + case 0:{ + yon_config_remove_element(options_parameter,"compose:rwin",","); + } break; + case 1:{ + yon_config_append_element(options_parameter,"compose:rwin",","); + } break; } + yon_interface_update(widgets); } -void on_layouts_remove(GtkWidget *, main_window *widgets){ - GtkTreeModel *model = GTK_TREE_MODEL(widgets->layoutsList); - GtkTreeIter iter; - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutsTree)),&model,&iter)){ - GtkTreeIter iter_converted; - char *target; - gtk_tree_model_get(model,&iter,1,&target,-1); - gtk_tree_model_filter_convert_iter_to_child_iter(widgets->layoutsFilter,&iter_converted,&iter); - gtk_list_store_remove(widgets->layoutsList,&iter_converted); - yon_config_remove_element(keyboard_layout_parameter,target,","); +void on_scroll_lock_switch(GtkWidget *,int status,main_window *widgets){ + switch(status){ + case 0:{ + yon_config_remove_element(options_parameter,"grp_led:scroll",","); + } break; + case 1:{ + yon_config_append_element(options_parameter,"grp_led:scroll",","); + } break; } + yon_interface_update(widgets); } -void on_move_up(GtkWidget *, main_window *widgets){ - GtkTreeModel *model = GTK_TREE_MODEL(widgets->layoutsFilter); - GtkTreeIter iter,*previter; - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutsTree)),&model,&iter)){ - previter = gtk_tree_iter_copy(&iter); - if (gtk_tree_model_iter_previous(model,previter)) - { - GtkTreeIter iter_converted, previter_converted; - gtk_tree_model_filter_convert_iter_to_child_iter(widgets->layoutsFilter,&iter_converted,&iter); - gtk_tree_model_filter_convert_iter_to_child_iter(widgets->layoutsFilter,&previter_converted,previter); - gtk_list_store_move_before(widgets->layoutsList,&iter_converted,&previter_converted); - yon_layouts_save(widgets); - } +// void on_tty_changed(GtkWidget *, main_window *widgets){ +// char *tty_layout = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->TTYLayoutCombo)); +// if (!yon_char_is_empty(tty_layout)){ +// yon_config_register(console_keymap_parameter,console_keymap_parameter_command,tty_layout); +// } else { +// yon_config_remove_by_key(console_keymap_parameter); +// } +// } + +// void on_tty_keymap_changed(GtkWidget *, main_window *widgets){ +// char *tty_layout = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->TTYKeymapCombo)); +// if (!yon_char_is_empty(tty_layout)){ +// yon_config_register(console_keymap_toggle_parameter,console_keymap_toggle_parameter_command,tty_layout); +// } else { +// yon_config_remove_by_key(console_keymap_toggle_parameter); +// } +// } + +// void on_tty_font_changed(GtkWidget *, main_window *widgets){ +// char *tty_layout = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->TTYFontCombo)); +// if (!yon_char_is_empty(tty_layout)){ +// yon_config_register(console_font_parameter,console_font_parameter_command,tty_layout); +// } else { +// yon_config_remove_by_key(console_font_parameter); +// } +// } + +void on_layout_default_sensitive_toggled(GtkWidget *, int status, main_window *widgets){ + gtk_widget_set_sensitive(widgets->LayoutTree,!status); + gtk_widget_set_sensitive(widgets->LayoutAddButton,!status); + if (status){ + gtk_widget_set_sensitive(widgets->LayoutRemoveButton,!status); + gtk_widget_set_sensitive(widgets->LayoutMoveUpButton,!status); + gtk_widget_set_sensitive(widgets->LayoutMoveDownButton,!status); + }else { + on_layout_selection_changed(GTK_TREE_VIEW(widgets->LayoutTree),widgets); + } } -void on_move_down(GtkWidget *, main_window *widgets){ - GtkTreeModel *model = GTK_TREE_MODEL(widgets->layoutsFilter); - GtkTreeIter iter,*nextiter; - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutsTree)),&model,&iter)){ - nextiter = gtk_tree_iter_copy(&iter); - if (gtk_tree_model_iter_next(model,nextiter)){ - GtkTreeIter iter_converted, nextiter_converted; - gtk_tree_model_filter_convert_iter_to_child_iter(widgets->layoutsFilter,&iter_converted,&iter); - gtk_tree_model_filter_convert_iter_to_child_iter(widgets->layoutsFilter,&nextiter_converted,nextiter); - gtk_list_store_move_after(widgets->layoutsList,&iter_converted,&nextiter_converted); - yon_layouts_save(widgets); +void on_layout_default_toggled(GtkWidget *, int status, main_window *widgets){ + if (!status){ + GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutsList); + GtkTreeIter iter; + char *locales = NULL; + for_iter(model,&iter){ + char *target, *variant; + + gtk_tree_model_get(model,&iter,0,&target,1,&variant,-1); + char *key = NULL; + if (!yon_char_is_empty(variant)){ + key = yon_char_unite(target,"_",variant,NULL); + } else { + key = yon_char_new(target); + } + char *temp = yon_char_append_element(locales?locales:"",key,","); + if (!yon_char_is_empty(locales)) free(locales); + locales = temp; + } + if (!yon_char_is_empty(locales)){ + yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,locales); } } - } +void on_layout_selection_changed(GtkTreeView *self,main_window *widgets){ + int status = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)),NULL,NULL); + gtk_widget_set_sensitive(widgets->LayoutMoveDownButton,status); + gtk_widget_set_sensitive(widgets->LayoutMoveUpButton,status); + gtk_widget_set_sensitive(widgets->LayoutRemoveButton,status); +} -// standard functions +void on_option_selection_changed(GtkTreeView *self,main_window *widgets){ + int status = gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)),NULL,NULL); + gtk_widget_set_sensitive(widgets->OptionsRemoveButton,status); +} void yon_main_window_complete(main_window *widgets){ widgets = yon_remalloc(widgets,sizeof(main_window)); @@ -408,76 +328,125 @@ void yon_main_window_complete(main_window *widgets){ // Custom widgets configuration { - widgets->NumLockCombo = yon_gtk_builder_get_widget(builder,"NumlockCombo"); - widgets->ModelCombo = yon_gtk_builder_get_widget(builder,"ModelCombo"); - widgets->keyboard = yon_gtk_builder_get_widget(builder,"keyboard"); - widgets->keytable = yon_gtk_builder_get_widget(builder,"keytable"); - widgets->grp_toggle = yon_gtk_builder_get_widget(builder,"grp_toggle"); - widgets->OptionsEntry = yon_gtk_builder_get_widget(builder,"OptionsEntry"); - widgets->OptionsButton = yon_gtk_builder_get_widget(builder,"OptionsButton"); - widgets->LayoutsTree = yon_gtk_builder_get_widget(builder,"LayoutsTree"); - widgets->MoveUpButton = yon_gtk_builder_get_widget(builder,"MoveUpButton"); - widgets->MoveDownButton = yon_gtk_builder_get_widget(builder,"MoveDownButton"); - widgets->AddButton = yon_gtk_builder_get_widget(builder,"AddButton"); - widgets->RemoveButton = yon_gtk_builder_get_widget(builder,"RemoveButton"); - widgets->layoutsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); - widgets->layoutsFilter = GTK_TREE_MODEL_FILTER(gtk_builder_get_object(builder,"LayoutsFilter")); - widgets->modelsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore2")); - - int size; - GtkTreeIter iter; - config_str models = yon_config_load(get_models_command,&size); - for (int i=0;imodelsList,&iter); - gtk_list_store_set(widgets->modelsList,&iter,1,models[i],0,_(models[i+1]),-1); - } - main_config.layouts_list = gtk_list_store_new(3,G_TYPE_STRING,G_TYPE_STRING,G_TYPE_BOOLEAN); - int laysize; - config_str rtn = yon_resource_open_file(layouts_path,&size); - for (int i=0; iKeyboardModelCombo = yon_gtk_builder_get_widget(builder,"KeyboardModelCombo"); + widgets->DefaultLayoutsSwitch = yon_gtk_builder_get_widget(builder,"DefaultLayoutsSwitch"); + widgets->LayoutTree = yon_gtk_builder_get_widget(builder,"LayoutTree"); + widgets->LayoutAddButton = yon_gtk_builder_get_widget(builder,"LayoutAddButton"); + widgets->LayoutRemoveButton = yon_gtk_builder_get_widget(builder,"LayoutRemoveButton"); + widgets->LayoutMoveUpButton = yon_gtk_builder_get_widget(builder,"LayoutMoveUpButton"); + widgets->LayoutMoveDownButton = yon_gtk_builder_get_widget(builder,"LayoutMoveDownButton"); + widgets->LayoutChangingCombo = yon_gtk_builder_get_widget(builder,"LayoutChangingCombo"); + widgets->OptionsTree = yon_gtk_builder_get_widget(builder,"OptionsTree"); + widgets->OptionsEditButton = yon_gtk_builder_get_widget(builder,"OptionsEditButton"); + widgets->OptionsRemoveButton = yon_gtk_builder_get_widget(builder,"OptionsRemoveButton"); + widgets->ComposeSwitch = yon_gtk_builder_get_widget(builder,"ComposeSwitch"); + widgets->ScrollLockSwitch = yon_gtk_builder_get_widget(builder,"ScrollLockSwitch"); + widgets->NumLockCombo = yon_gtk_builder_get_widget(builder,"NumLockCombo"); + + widgets->TTYLayoutEntry = yon_gtk_builder_get_widget(builder,"TTYLayoutEntry"); + widgets->TTYLayoutButton = yon_gtk_builder_get_widget(builder,"TTYLayoutButton"); + widgets->TTYSecondLayoutEntry = yon_gtk_builder_get_widget(builder,"TTYSecondLayoutEntry"); + widgets->TTYSecondLayoutButton = yon_gtk_builder_get_widget(builder,"TTYSecondLayoutButton"); + widgets->TTYFontEntry = yon_gtk_builder_get_widget(builder,"TTYFontEntry"); + widgets->TTYFontButton = yon_gtk_builder_get_widget(builder,"TTYFontButton"); + widgets->LayoutsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"LayoutsList")); + widgets->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"OptionsList")); /* Widget registration for config monitoring | Регистрация виджетов для мониторинга конфига */ // yon_window_config_add_custom_parameter(widgets->HeadInfoLabel,"head-text","label",YON_TYPE_STRING); /* Signal connection | Присоединение сигналов */ - g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_layouts_add),widgets); - g_signal_connect(G_OBJECT(widgets->RemoveButton),"clicked",G_CALLBACK(on_layouts_remove),widgets); - g_signal_connect(G_OBJECT(widgets->ModelCombo),"changed",G_CALLBACK(on_model_changed),widgets); - g_signal_connect(G_OBJECT(widgets->MoveDownButton),"clicked",G_CALLBACK(on_move_down),widgets); - g_signal_connect(G_OBJECT(widgets->MoveUpButton),"clicked",G_CALLBACK(on_move_up),widgets); - g_signal_connect(G_OBJECT(widgets->OptionsButton),"clicked",G_CALLBACK(on_options_open),widgets); + g_signal_connect(G_OBJECT(widgets->LayoutAddButton),"clicked",G_CALLBACK(on_system_layouts_add),widgets); + g_signal_connect(G_OBJECT(widgets->LayoutRemoveButton),"clicked",G_CALLBACK(on_system_layouts_remove),widgets); + g_signal_connect(G_OBJECT(widgets->TTYLayoutButton),"clicked",G_CALLBACK(yon_keymaps_open),widgets); + g_signal_connect(G_OBJECT(widgets->TTYSecondLayoutButton),"clicked",G_CALLBACK(yon_keymaps_open),widgets); + g_signal_connect(G_OBJECT(widgets->TTYFontButton),"clicked",G_CALLBACK(yon_font_open),widgets); + g_signal_connect(G_OBJECT(widgets->KeyboardModelCombo),"changed",G_CALLBACK(on_model_changed),widgets); + g_signal_connect(G_OBJECT(widgets->OptionsEditButton),"clicked",G_CALLBACK(on_options_open),widgets); + g_signal_connect(G_OBJECT(widgets->OptionsRemoveButton),"clicked",G_CALLBACK(on_option_remove),widgets); g_signal_connect(G_OBJECT(widgets->NumLockCombo),"changed",G_CALLBACK(on_num_lock_changed),widgets); - } + g_signal_connect(G_OBJECT(widgets->LayoutChangingCombo),"changed",G_CALLBACK(on_options_save),widgets); + g_signal_connect(G_OBJECT(widgets->ComposeSwitch),"state-set",G_CALLBACK(on_compose_switch),widgets); + g_signal_connect(G_OBJECT(widgets->ScrollLockSwitch),"state-set",G_CALLBACK(on_scroll_lock_switch),widgets); + // g_signal_connect(G_OBJECT(widgets->LayoutsList),"row-inserted",G_CALLBACK(on_layout_dnd_inserted),widgets); + // g_signal_connect(G_OBJECT(widgets->LayoutsList),"row-deleted",G_CALLBACK(on_layout_dnd_deleted),widgets); + + g_signal_connect(G_OBJECT(widgets->LayoutTree),"cursor-changed",G_CALLBACK(on_layout_selection_changed),widgets); + g_signal_connect(G_OBJECT(widgets->OptionsTree),"cursor-changed",G_CALLBACK(on_option_selection_changed),widgets); + + g_signal_connect(G_OBJECT(widgets->DefaultLayoutsSwitch),"state-set",G_CALLBACK(on_layout_default_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->DefaultLayoutsSwitch),"state-set",G_CALLBACK(on_layout_default_sensitive_toggled),widgets); + + g_signal_connect(G_OBJECT(widgets->LayoutMoveUpButton),"clicked",G_CALLBACK(on_layout_move_up),widgets); + g_signal_connect(G_OBJECT(widgets->LayoutMoveDownButton),"clicked",G_CALLBACK(on_layout_move_down),widgets); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets); - g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_global_local_save),NULL); - g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),NULL); - g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),NULL); - g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),NULL); + g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_global_local_save),widgets); + g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),widgets); + g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),widgets); + g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),widgets); + yon_gtk_combo_box_block_scroll(GTK_COMBO_BOX(widgets->NumLockCombo)); + yon_gtk_combo_box_block_scroll(GTK_COMBO_BOX(widgets->KeyboardModelCombo)); + yon_gtk_combo_box_block_scroll(GTK_COMBO_BOX(widgets->LayoutChangingCombo)); + + } + + int size; + config_str models = yon_config_load(get_models_command,&size); + for (int i=0;iKeyboardModelCombo),parsed[0],_(parsed[1])); + yon_char_parsed_free(parsed,parsed_size); + } + + { + int size; + config_str options = yon_config_load(grp_options_command,&size); + for (int i=0;iLayoutChangingCombo),parsed[0],_(parsed[1])); + yon_char_parsed_free(parsed,parsed_size); + } + yon_char_parsed_free(options,size); + } + yon_char_parsed_free(models,size); + + // { + // config_str parsed = yon_config_load(tty_layout_command,&size); + // for (int i=0;iTTYLayoutCombo),parsed[i],parsed[i]); + // } + // yon_char_parsed_free(parsed,size); + // } + // { + // config_str parsed = yon_config_load(tty_keymap_command,&size); + // for (int i=0;iTTYKeymapCombo),parsed[i],parsed[i]); + // } + // yon_char_parsed_free(parsed,size); + // } + // { + // config_str parsed = yon_config_load(tty_font_command,&size); + // for (int i=0;iTTYFontCombo),parsed[i],parsed[i]); + // } + // yon_char_parsed_free(parsed,size); + // } yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size); yon_save_window_set_postsave_function(on_save_done,widgets); + gtk_tree_view_column_clicked(GTK_TREE_VIEW_COLUMN(gtk_tree_view_get_column(GTK_TREE_VIEW(widgets->LayoutTree),0))); on_config_local_load(NULL,widgets); } @@ -485,7 +454,7 @@ void yon_main_window_complete(main_window *widgets){ int main(int argc, char *argv[]){ setlocale(LC_ALL, ""); textdomain (LocaleName); - + yon_config_init(); yon_ubl_connect_config((_template_config*)&main_config); yon_ubl_window_init(TITLE_LABEL,TITLE_INFO_LABEL,LocaleName,CssPath,LocaleName,version_application,WIKI_LINK); config_str unfound = NULL; diff --git a/source/ubl-settings-keyboard.h b/source/ubl-settings-keyboard.h index e6a5eaf..d090338 100644 --- a/source/ubl-settings-keyboard.h +++ b/source/ubl-settings-keyboard.h @@ -21,35 +21,116 @@ #define glade_path "/com/ublinux/ui/ubl-settings-keyboard.glade" #define glade_layouts_path "/com/ublinux/ui/ubl-settings-keyboard-layouts.glade" #define glade_options_path "/com/ublinux/ui/ubl-settings-keyboard-options.glade" +#define glade_keymaps_path "/com/ublinux/ui/ubl-settings-keyboard-keymaps.glade" +#define glade_font_path "/com/ublinux/ui/ubl-settings-keyboard-font.glade" #define banner_path "/com/ublinux/images/ubl-settings-keyboard-banner.png" #define CssPath "/com/ublinux/css/ubl-settings-keyboard.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) #define icon_path "com.ublinux.ubl-settings-keyboard" +#define keymap_list_path "resource://com/ublinux/csv/keymap-list.csv" +#define font_list_path "resource://com/ublinux/csv/font-list.csv" + #define LocaleName "ubl-settings-keyboard" #define model_parameter "XKBMODEL" -#define model_parameter_command "ubconfig --source global get keyboard XKBMODEL" +#define model_parameter_command "ubconfig --source global get [keyboard] XKBMODEL" #define keyboard_layout_parameter "XKBLAYOUT" -#define keyboard_layout_parameter_command "ubconfig --source global get keyboard XKBLAYOUT" +#define keyboard_layout_parameter_command "ubconfig --source global get [keyboard] XKBLAYOUT" #define options_parameter "XKBOPTIONS" -#define options_parameter_command "ubconfig --source global get keyboard XKBOPTIONS" +#define options_parameter_command "ubconfig --source global get [keyboard] XKBOPTIONS" #define num_lock_boot_parameter "NUMLOCK" -#define num_lock_boot_parameter_command "ubconfig --source global get keyboard NUMLOCK" +#define num_lock_boot_parameter_command "ubconfig --source global get [keyboard] NUMLOCK" + +#define console_keymap_parameter "CONSOLE_KEYMAP" +#define console_keymap_parameter_command "ubconfig --source global get [keyboard] CONSOLE_KEYMAP" + +#define console_keymap_toggle_parameter "CONSOLE_KEYMAP_TOGGLE" +#define console_keymap_toggle_parameter_command "ubconfig --source global get [keyboard] CONSOLE_KEYMAP_TOGGLE" + +#define console_font_parameter "CONSOLE_FONT" +#define console_font_parameter_command "ubconfig --source global get [locale] CONSOLE_FONT" -#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK",NULL) -#define config_get_local_command "ubconfig --source system get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK" -#define config_get_global_command "ubconfig --source global get keyboard XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK" -#define config_get_default_command "" +#define yon_config_get_custom_command(target) yon_char_unite("ubconfig --source ",target," -ea get [keyboard] XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK CONSOLE_KEYMAP CONSOLE_KEYMAP_TOGGLE -- [locale] CONSOLE_FONT",NULL) +#define config_get_local_command "ubconfig --source system -ea get [keyboard] XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK CONSOLE_KEYMAP CONSOLE_KEYMAP_TOGGLE -- [locale] CONSOLE_FONT" +#define config_get_global_command "ubconfig --source global -ea get [keyboard] XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK CONSOLE_KEYMAP CONSOLE_KEYMAP_TOGGLE -- [locale] CONSOLE_FONT" +#define config_get_default_command "ubconfig --source default -ea get [keyboard] XKBMODEL XKBLAYOUT XKBOPTIONS NUMLOCK CONSOLE_KEYMAP CONSOLE_KEYMAP_TOGGLE -- [locale] CONSOLE_FONT" #define config_get_global_only_parameters "" #define config_get_local_only_parameters "" #define get_options_command "grep -E \"grp:.*toggle|grp_led:.*toggle|compose:.*toggle\" /usr/share/X11/xkb/rules/base.lst|sed -e 's/^ *//g' -e 's/\t//g' -e 's/toggle */toggle;/g'" -#define get_models_command "sed '/<\\/modelList>/q' /usr/share/X11/xkb/rules/base.xml | grep -E '^ {8,8}|^ {8,8}'|sed -e 's/ *//g' -e 's,,,g' -e 's/ *//g' -e 's,,,g'" +#define get_models_command "sed -En '/^! model$/,/^ *$/!d;s/[[:blank:]]+([^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" #define layouts_path "resource:///com/ublinux/csv/layouts.csv" +#define layouts_command "sed -En '/^! layout$/,/^ *$/!d;s/[[:blank:]]+([^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" +#define layouts_variant_command "sed -En '/^! variant$/,/^ *$/!d;s/[[:blank:]]+([^ ]+)[[:blank:]]+([^ :]+):[[:blank:]]+(.*)/\\2|\\1|\\3/p' /usr/share/X11/xkb/rules/evdev.lst" + +// grp : Switching to another layout +#define grp_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(grp:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// lv2 : Key to choose the 2nd level +#define lv2_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(lv2:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// lv3 : Key to choose the 3nd level +#define lv3_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(lv3:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// ctrl : Ctrl position +#define ctrl_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(ctrl:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// grp_led : Use keyboard LED to show alternative layout +#define grp_led_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(grp_led:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// mod_led : Use keyboard LED to indicate modifiers +#define mod_led_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(mod_led:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// keypad : Layout of numeric keypad +#define keypad_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(keypad:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// kpdl : Numeric keypad Delete behavior +#define kpdl_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(kpdl:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// caps : Caps Lock behavior +#define caps_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(caps:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// altwin : Alt and Win behavior +#define altwin_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(altwin:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// Compose key : Position of Compose key +#define Compose_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(compose:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// compat : Compatibility options +#define compat_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+((numpad|srvrkeys|apple|shift|misc|keypad|grab):[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// currencysign : Currency signs +#define currencysign_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+((eurosign|rupeesign):[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// lv5 : Key to choose the 5th level +#define lv5_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(lv5:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// nbsp : Non-breaking space input +#define nbsp_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(nbsp:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// japan : Japanese keyboard options +#define japan_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(japan:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// korean : Korean Hangul/Hanja keys +#define korean_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(korean:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// esperanto : Esperanto letters with superscripts +#define esperanto_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(esperanto:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// solaris : Old Solaris keycodes compatibility +#define solaris_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(solaris:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +// terminate : Key sequence to kill the X server +#define terminate_options_command "sed -En '/^! option$/,/^ *$/!d;s/[[:blank:]]+(terminate:[^ ]+)[[:blank:]]+(.*)/\\1|\\2/p' /usr/share/X11/xkb/rules/evdev.lst" + +#define tty_layout_command "find /usr/share/kbd/keymaps/ -type f -name \"*.map.*\" | sed -En \"s:.*/(.*)\\..*\\..*:\\1:p\" | sort -ufV" +#define tty_keymap_command "find /usr/share/kbd/keymaps/ -type f -name \"*.map.*\" | sed -En \"s:.*/(.*)\\..*\\..*:\\1:p\" | sort -ufV" +#define tty_font_command "find /usr/share/kbd/consolefonts -maxdepth 1 -type f -name \"*.gz\" | sed -En \"s:.*/(.*)(\\.psf\\.gz|\\.psfu\\.gz)$:\\1:p\" | sort -ufV" + typedef char* string; __attribute__((unused)) static \ @@ -60,29 +141,43 @@ typedef struct { int save_config; config_str launch_arguments; int launch_size; - char *options; - GtkListStore *layouts_list; + GHashTable *options; + GtkTreeStore *layouts_store; GtkListStore *options_list; + GtkListStore *models_list; + config_str variants_list; + int variants_size; + config_str layouts_list; + int layouts_size; } config; +extern config main_config; + typedef struct { template_window_fields + GtkWidget *KeyboardModelCombo; + GtkWidget *DefaultLayoutsSwitch; + GtkWidget *LayoutTree; + GtkWidget *LayoutAddButton; + GtkWidget *LayoutRemoveButton; + GtkWidget *LayoutMoveUpButton; + GtkWidget *LayoutMoveDownButton; + GtkWidget *LayoutChangingCombo; + GtkWidget *OptionsTree; + GtkWidget *OptionsEditButton; + GtkWidget *OptionsRemoveButton; + GtkWidget *ComposeSwitch; + GtkWidget *ScrollLockSwitch; GtkWidget *NumLockCombo; - GtkWidget *ModelCombo; - GtkWidget *keyboard; - GtkWidget *keytable; - GtkWidget *grp_toggle; - GtkWidget *OptionsEntry; - GtkWidget *OptionsButton; - GtkWidget *LayoutsTree; - GtkWidget *MoveUpButton; - GtkWidget *MoveDownButton; - GtkWidget *AddButton; - GtkWidget *RemoveButton; - GtkTreeModelFilter *layoutsFilter; - GtkListStore *layoutsList; - GtkListStore *modelsList; + GtkWidget *TTYLayoutEntry; + GtkWidget *TTYLayoutButton; + GtkWidget *TTYSecondLayoutEntry; + GtkWidget *TTYSecondLayoutButton; + GtkWidget *TTYFontEntry; + GtkWidget *TTYFontButton; + GtkListStore *LayoutsList; + GtkListStore *OptionsList; } main_window; @@ -100,11 +195,17 @@ typedef struct { typedef struct { GtkWidget *Window; + GtkWidget *StatusBox; GtkWidget *MainTree; GtkWidget *CancelButton; GtkWidget *AcceptButton; + GtkWidget *OptionsFilterCombo; + GtkWidget *OptionsEntry; GtkCellRenderer *ChosenCell; - GtkListStore *list; + GtkTreeStore *list; + GtkListStore *OptionsList; + GtkTreeModel *OptionsFilter; + char *parameters; } layouts_window; typedef struct { @@ -133,13 +234,50 @@ void config_init(); void yon_main_window_complete(main_window *widgets); void on_move_down(GtkWidget *self, main_window *widgets); void on_move_up(GtkWidget *self, main_window *widgets); -void on_layouts_add(GtkWidget *self, main_window *widgets); -void on_layouts_accept(GtkWidget *self, dictionary *dict); +void on_layouts_accept(GtkWidget *self, layouts_window *window); void on_options_open(GtkWidget *self, main_window *widgets); -void on_options_accept(GtkWidget *self, dictionary *dict); +void on_options_accept(GtkWidget *self, layouts_window *window); void on_model_changed(GtkComboBoxText *self, main_window *widgets); void on_num_lock_changed(GtkComboBox *self, main_window *widgets); -void on_layouts_remove(GtkWidget *, main_window *widgets); -void yon_layouts_save(main_window *widgets); void on_layouts_chosen(GtkCellRenderer *self, gchar *path, layouts_window *window); -GList *yon_get_all_selected(GtkTreeView *tree, int column); \ No newline at end of file +GList *yon_get_all_selected(GtkTreeView *tree, int column); +void on_system_layouts_add(GtkWidget *, main_window *widgets); +void yon_layouts_add(GtkTreeView *tree, GtkListStore *cur_list, main_window *widgets); +void yon_layouts_remove(GtkTreeView *tree, GtkListStore *cur_list, main_window *widgets); +void on_system_layouts_remove(GtkWidget *, main_window *widgets); +void yon_config_init(); +void yon_layout_build(layouts_window *window); +config_str yon_layout_get_children(char *layout_id, int *size); +layouts_window *yon_layouts_window_new(); +void yon_layout_load(char *layout,main_window *widgets); +void yon_options_setup(layouts_window *window); +layouts_window *yon_options_window_new(); +void on_options_filter_changed(GtkWidget *, layouts_window *window); +gboolean yon_filter_refilter(GtkTreeModel *model, GtkTreeIter *iter, layouts_window *window); +void yon_options_setup(layouts_window *window); +void on_option_chosen(GtkCellRenderer *, gchar *path, layouts_window *window); +void on_options_save(GtkWidget *,main_window *widgets); +void on_compose_switch(GtkWidget *,int status,main_window *widgets); +void on_scroll_lock_switch(GtkWidget *,int status,main_window *widgets); +void on_option_remove(GtkWidget*, main_window *widgets); +void on_layout_move_down(GtkWidget *, main_window *widgets); +void on_layout_move_up(GtkWidget *, main_window *widgets); +void on_layout_dnd_inserted(GtkTreeModel *, GtkTreePath* path, GtkTreeIter* iter, main_window *widgets); +void on_layout_dnd_deleted(GtkTreeModel *, GtkTreePath* path, GtkTreeIter* iter, main_window *widgets); +void on_tty_changed(GtkWidget *, main_window *widgets); +void on_tty_keymap_changed(GtkWidget *, main_window *widgets); +void on_tty_font_changed(GtkWidget *, main_window *widgets); +void yon_keymaps_open(GtkWidget *,main_window *widgets); +layouts_window *yon_keymaps_window_new(); +void on_keymaps_accept(GtkWidget *, layouts_window *window); +void on_font_accept(GtkWidget *, layouts_window *window); +layouts_window *yon_font_window_new(); +void yon_font_open(GtkWidget *,main_window *widgets); +void on_keymaps_selection_changed(GtkWidget *,layouts_window *window); +void on_font_accept(GtkWidget *, layouts_window *window); +void on_font_selection_changed(GtkWidget *,layouts_window *window); +void yon_interface_save(main_window *widgets); +void on_layout_default_toggled(GtkWidget *, int status, main_window *widgets); +void on_layout_selection_changed(GtkTreeView*,main_window *widgets); +void on_option_selection_changed(GtkTreeView *self,main_window *widgets); +void on_layout_default_sensitive_toggled(GtkWidget *, int status, main_window *widgets); \ No newline at end of file diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 21c8f9d..8fa6494 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -1,4 +1,4 @@ -#define WIKI_LINK _("https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-keyboard") +#define WIKI_LINK _("https://wiki.ublinux.ru/software/programs_and_utilities/all/ubl-settings-keyboard") #define TITLE_LABEL _("Keyboard") #define TITLE_INFO_LABEL _("Keyboard configuration") @@ -7,8 +7,8 @@ #define NUM_LOCK_LABEL _("Num Lock on boot:") #define KEYBOARD_LABEL _("Keyboard") #define MODEL_LABEL _("Keyboard model:") -#define OPTIONS_LABEL _("Keyboard options:") -#define LAYOUTS_LABEL _("Keyboard layouts:") +#define KEYBOARD_OPTIONS_LABEL _("Keyboard options:") +#define KEYBOARD_LAYOUTS_LABEL _("Keyboard layouts:") #define EDIT_LABEL _("Pick an option") #define MOVE_UP_LABEL _("Move layout up") #define MOVE_DOWN_LABEL _("Move layout down") @@ -17,4 +17,37 @@ #define DEFAULT_LABEL _("Default") #define ON_LABEL _("On") #define OFF_LABEL _("Off") -#define ACCEPT_LABEL _("Accept") \ No newline at end of file +#define ACCEPT_LABEL _("Accept") +#define CANCEL_LABEL _("Cancel") + +#define SYSTEM_LABEL _("System") +#define KEYBOARD_MODEL_LABEL _("Keyboard model:") +#define LAYOUTS_LABEL _("Layouts:") +#define DEFAULT_LAYOUT_LABEL _("Default layout") +#define LAYOUT_CHANGING_LABEL _("Changing the layout:") +#define ADDITIONAL_OPTIONS_LABEL _("Additional options:") +#define SET_COMPOSE_LABEL _("Set Compose (Multi_Key) to the right Win key") +#define SCROLL_LOCK_LABEL _("Scroll Lock indication when switching layouts") +#define ON_LABEL _("On") +#define OFF_LABEL _("Off") +#define NUMLOCK_LABEL _("NumLock:") +#define TTY_LAYOUT_LABEL _("Setting up TTY VT") +#define SECONDARY_LAYOUT_LABEL _("Key layout and switch:") +#define KEYBOARD_LAYOUT_LABEL _("Keyboard layout") +#define DESIGNATION_LABEL _("Designation") +#define VARIANT_LABEL _("Variant") +#define NAME_LABEL _("Name") +#define DESCRIPTION_LABEL _("Description") +#define OPTIONS_LABEL _("Options:") +#define KEYMAP_LABEL _("Additional key layout and switch:") +#define FONT_LABEL _("Font:") + +#define GROUP_LABEL _("Group") +#define KEYMAP_TITLE_LABEL _("Additional key layout for the keyboard") +#define FONT_TITLE_LABEL _("Font") + +#define OPTION_REMOVE_LABEL _("Are you sure you want to remove current option?") +#define OPTION_REMOVE_TITLE_LABEL _("Option deletion") +#define LAYOUT_REMOVE_LABEL _("Are you sure you want to remove current layout?") +#define LAYOUT_REMOVE_TITLE_LABEL _("Layout deletion") +#define MANUAL_LABEL _("Manual input:") \ No newline at end of file diff --git a/ubl-settings-keyboard-font.glade b/ubl-settings-keyboard-font.glade new file mode 100644 index 0000000..7a336ad --- /dev/null +++ b/ubl-settings-keyboard-font.glade @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + 450 + 550 + True + False + com.ublinux.ubl-settings-keyboard + + + True + False + 5 + vertical + 5 + + + True + False + vertical + 5 + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + + + True + True + + + False + True + 0 + + + + + True + False + Default + + + False + True + 1 + + + + + False + True + 1 + + + + + True + True + 5 + 5 + in + + + True + True + FontList + 1 + both + + + Font + True + 0 + + + + 0 + + + + + + + Description + + + + 1 + + + + + + + + + True + True + 2 + + + + + True + False + 5 + 5 + 5 + + + True + False + Manual input: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 3 + + + + + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 2 + Keyboard + + + + + + + + True + False + 5 + 5 + 5 + 5 + 6 + 6 + 32 + com.ublinux.ubl-settings-keyboard + + + + + Cancel + True + True + True + image2 + + + 1 + + + + + Accept + True + True + True + image1 + + + end + 2 + + + + + + + + True + False + com.ublinux.libublsettingsui-gtk3.accept-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic + + diff --git a/ubl-settings-keyboard-keymaps.glade b/ubl-settings-keyboard-keymaps.glade new file mode 100644 index 0000000..23a2aaf --- /dev/null +++ b/ubl-settings-keyboard-keymaps.glade @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + True + False + com.ublinux.libublsettingsui-gtk3.accept-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic + + + 450 + 550 + True + False + com.ublinux.ubl-settings-keyboard + + + True + False + 5 + vertical + 5 + + + True + False + vertical + 5 + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + 5 + + + True + True + + + False + True + 0 + + + + + True + False + Default + + + False + True + 1 + + + + + False + True + 1 + + + + + True + True + 5 + 5 + in + + + True + True + KeymapList + 1 + both + + + + + + Keyboard layout + 0 + + + + 0 + + + + + + + Group + + + + 1 + + + + + + + Description + + + word + 120 + + + 2 + + + + + + + + + True + True + 2 + + + + + True + False + 5 + 5 + 5 + + + True + False + Manual input: + + + False + True + 0 + + + + + True + True + + + True + True + 1 + + + + + False + True + 3 + + + + + + + True + False + + + True + False + 5 + 5 + 5 + 5 + 2 + Keyboard + + + + + + + + True + False + 5 + 5 + 5 + 5 + 6 + 6 + 32 + com.ublinux.ubl-settings-keyboard + + + + + Cancel + True + True + True + image2 + + + 1 + + + + + Accept + True + True + True + image1 + + + end + 2 + + + + + + + diff --git a/ubl-settings-keyboard-layouts.glade b/ubl-settings-keyboard-layouts.glade index f36fbe5..7a0cb5a 100644 --- a/ubl-settings-keyboard-layouts.glade +++ b/ubl-settings-keyboard-layouts.glade @@ -1,127 +1,58 @@ - + True False - emblem-ok-symbolic + com.ublinux.libublsettingsui-gtk3.accept-symbolic True False - process-stop-symbolic + com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic - - - - - - - - - - - + 450 550 True False - dialog - - - False - 3 - 3 - 3 - 3 - vertical - 5 - - - False - end - - - Cancel - True - True - True - image2 - - - True - True - 0 - - - - - Accept - True - True - True - image1 - - - True - True - 1 - - - - - False - False - 0 - - + com.ublinux.ubl-settings-keyboard + + + True + True + in - + True True - in + False + 1 - - True - True - liststore1 - False - 1 - - - + + column - - column - - - - 2 - - - + + + 3 + + + + + + column + 0 - - column - 0 - - - - 1 - - - + + + 2 + - - True - True - 1 - @@ -129,7 +60,6 @@ True False - True True @@ -159,6 +89,31 @@ com.ublinux.ubl-settings-keyboard + + + Cancel + True + True + True + image2 + + + 1 + + + + + Accept + True + True + True + image1 + + + end + 2 + + diff --git a/ubl-settings-keyboard-options.glade b/ubl-settings-keyboard-options.glade index d9d8518..f0e5d48 100644 --- a/ubl-settings-keyboard-options.glade +++ b/ubl-settings-keyboard-options.glade @@ -3,46 +3,127 @@ - + + + + + + + + + + + + OptionsList + + + True + False + com.ublinux.libublsettingsui-gtk3.accept-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic + + 450 550 True False - dialog - + com.ublinux.ubl-settings-keyboard + + True False - 3 - 3 - 3 - 3 vertical - 5 - - + + + True + False + vertical + + + + + + False + True + 0 + + + + + True False - end + 5 + 5 + 5 + 5 + vertical + 5 - - Cancel + True - True - True - image2 + False - True + False True 0 - - Accept + True True - True - image1 + never + in + + + True + True + OptionsList + + + + + + + + + 2 + + + + + + + Name + + + + 0 + + + + + + + Description + + + word + 250 + + + 1 + + + + + + True @@ -50,53 +131,55 @@ 1 + + + True + False + 5 + + + True + False + Options: + + + False + True + 0 + + + + + True + True + grp:lalt_lshift_toggle,grp_led:scroll,compose:rwin + + + True + True + 1 + + + + + False + True + 2 + + - False - False - 0 + True + True + 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True False - True True @@ -126,20 +209,35 @@ com.ublinux.ubl-settings-keyboard + + + Cancel + True + True + True + image2 + + + 1 + + + + + Accept + True + True + True + image1 + + + end + 2 + + - - True - False - emblem-ok-symbolic - - - True - False - process-stop-symbolic - diff --git a/ubl-settings-keyboard.glade b/ubl-settings-keyboard.glade index 3445b85..8ee8cbb 100644 --- a/ubl-settings-keyboard.glade +++ b/ubl-settings-keyboard.glade @@ -1,5 +1,5 @@ - + + + + + + + + + + + + + + + + + + True False - user-trash-symbolic + com.ublinux.libublsettingsui-gtk3.increase-symbolic + + + True + False + com.ublinux.libublsettingsui-gtk3.increase-symbolic True False - value-increase-symbolic + com.ublinux.libublsettingsui-gtk3.trash-symbolic True False - document-edit-symbolic - - - - - - - - - - + com.ublinux.libublsettingsui-gtk3.pan-up - - liststore1 - - - - - - - - - - - Default - - - - - + True False - False - - - True - False - Load global configuration - - - - - - True - False - Load local configuration - - - + com.ublinux.libublsettingsui-gtk3.pan-down - + True False - False - False + com.ublinux.libublsettingsui-gtk3.trash-symbolic - + True False - False - - - True - False - Save configuration - - - - - - True - False - Save to global configuration - - - - - - True - False - Save to local configuration - - - + com.ublinux.libublsettingsui-gtk3.edit-symbolic - + True False + com.ublinux.libublsettingsui-gtk3.edit-symbolic - + True False + com.ublinux.libublsettingsui-gtk3.edit-symbolic + 350 True False - 5 - 5 - 5 - 5 - 5 - 5 - True - True vertical - 5 - - - True - False - 0.019999999552965164 - in - - - True - False - 5 - 5 - 5 - - - True - False - 5 - - - True - False - Num Lock on boot: - 0 - - - False - True - 0 - - - - - True - False - 0 - - Default - On - Off - - - - True - True - 1 - - - - - - - - - True - False - Console - - - - - False - True - 0 - - - + True - False - 0.019999999552965164 + True + never in - + True False - 5 - 5 - 5 True False + 5 + 5 + 5 + 5 + 5 + 5 + True + True vertical - 6 + 5 - + True False - 5 + 0.019999999552965164 + in - + True False - Keyboard model: - 0 + 5 + 5 + 5 + + + True + False + vertical + 6 + + + True + False + 5 + + + True + False + Keyboard model: + 1 + + + False + True + 0 + + + + + True + False + 0 + + + True + True + 1 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + vertical + 5 + + + True + False + 10 + + + True + False + Layouts: + 1 + + + False + True + 0 + + + + + True + True + True + + + False + True + 1 + + + + + True + False + Default layout + + + False + True + 2 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + True + in + 100 + 150 + + + True + False + True + LayoutsList + False + both + + + + + + Keyboard layout + + + + 2 + + + + + + + Designation + + + + 0 + + + + + + + Variant + + + + 1 + + + + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + + + True + False + True + True + Move layout up + image4 + + + + False + True + 0 + + + + + True + False + True + True + Move layout down + image5 + + + + False + True + 1 + + + + + True + False + True + True + Add layout + image2 + + + + False + True + 2 + + + + + True + False + True + True + Remove layout + image6 + + + + False + True + 3 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + True + True + 1 + + + + + True + True + 1 + + + + + True + False + 5 + + + True + False + Changing the layout: + 1 + + + False + True + 0 + + + + + True + False + + Default + + + + True + True + 1 + + + + + False + True + 2 + + + + + True + False + 5 + + + True + False + vertical + 5 + + + True + False + Additional options: + 0 + + + False + True + 0 + + + + + True + False + 5 + + + True + True + in + 100 + 150 + + + True + True + OptionsList + both + + + + + + Name + + + + 0 + + + + + + + Description + + + + 1 + + + + + + + + + True + True + 0 + + + + + True + False + vertical + 5 + + + True + True + True + image1 + + + + False + True + 0 + + + + + True + False + True + True + image3 + + + + False + True + 1 + + + + + False + True + 1 + + + + + True + True + 1 + + + + + True + True + 0 + + + + + True + True + 3 + + + + + True + False + 5 + + + True + False + start + 1 + + + False + True + 0 + + + + + True + False + vertical + 5 + + + True + False + 5 + + + True + True + + + False + True + 0 + + + + + True + False + Set Compose (Multi_Key) to the right Win key + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + True + + + False + True + 0 + + + + + True + False + Scroll Lock indication when switching layouts + + + False + True + 1 + + + + + False + True + 1 + + + + + False + True + 1 + + + + + False + True + 4 + + + + + True + False + 5 + + + True + False + NumLock: + 1 + + + False + True + 0 + + + + + True + False + 0 + + Default + On + Off + + + + True + True + 1 + + + + + False + True + 6 + + + + - - False - True - 0 - - - + + True False - liststore2 - 0 - 1 - - - - 0 - - + System - - True - True - 1 - - False + True True 0 - + True False - 5 + 0.019999999552965164 + in - + True False - vertical - 5 + 5 + 5 + 5 - + True - True - in + False + vertical + 5 - + True - True - LayoutsFilter - False + False + 5 - - column + + True + False + Key layout and switch: + 0 + + + False + True + 0 + + + + + True + False + 5 - - - 0 - + + True + True + + + True + True + 0 + + + + + True + True + True + image9 + + + + False + True + 1 + + + True + True + 1 + + + False + True + 0 + - - - True - True - 0 - - - - - True - True - 0 - - - - - True - False - vertical - 5 - - - True - True - True - Move layout up - + True - True - False - True - menu4 - up + False + 5 + + + True + False + Additional key layout and switch: + 0 + + + False + True + 0 + + - + + True + False + 5 + + + True + True + + + True + True + 0 + + + + + True + True + True + image8 + + + + False + True + 1 + + + + + True + True + 1 + - + + False + True + 2 + - - - - False - True - 0 - - - - - True - True - True - Move layout down - + True - True - False - True - menu5 + False + 5 + + + True + False + Font: + 0 + + + False + True + 0 + + - + + True + False + 5 + + + True + True + + + True + True + 0 + + + + + True + True + True + image7 + + + + False + True + 1 + + + + + True + True + 1 + - + + False + True + 3 + - - - - False - True - 1 - - - - - True - True - True - Добавить раскладку - image3 - - - - False - True - 2 - - - - - True - True - True - Удалить раскладку - image1 - - - False - True - 4 - - - False - True - 1 - - - - - True - True - end - 2 - - - - - True - False - Keyboard layouts: - 0 - - - False - True - end - 4 - - - - - False - 5 - - - True - False - KEYBOARD: - 0 - - - False - True - 0 - - - - - True - True - - - True - True - 1 - - - - False - True - 4 - - - - - True - False - 5 - - - True - False - Keyboard options: - 0 - - - False - True - 0 - - - - + + True False + Setting up TTY VT - - True - True - 1 - - - - - True - True - True - Pick an option - image4 - - - - False - True - 2 - False True - 7 + 3 - - - True - False - Keyboard - - True True - 3 + 1 - - - - + + + + + + + + + + + + +