From aa8a75444719d62aa95b5c86aacabcad6b25b338 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Apr 10 2018 05:46:26 +0000 Subject: import ibus-1.5.17-2.el7 --- diff --git a/.gitignore b/.gitignore index 7ac0742..e597972 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -SOURCES/ibus-1.5.3.tar.gz +SOURCES/ibus-1.5.17.tar.gz +SOURCES/ibus-cldr-emoji-annotation-32.0.0_1.tar.gz diff --git a/.ibus.metadata b/.ibus.metadata index 05fb407..27955fc 100644 --- a/.ibus.metadata +++ b/.ibus.metadata @@ -1 +1,2 @@ -51ba186cbf5e1e194ba0cd22b81f00d9d40ec521 SOURCES/ibus-1.5.3.tar.gz +2e2039757d7e8e60f4101b8d197b6fb972f2e787 SOURCES/ibus-1.5.17.tar.gz +55c6d1c7f91eafa8210695d3635c98632feabcd8 SOURCES/ibus-cldr-emoji-annotation-32.0.0_1.tar.gz diff --git a/SOURCES/0001-Fix-a-build-error-of-Gdk.EventKey-with-vala-0.23.2.patch b/SOURCES/0001-Fix-a-build-error-of-Gdk.EventKey-with-vala-0.23.2.patch deleted file mode 100644 index f9d2f93..0000000 --- a/SOURCES/0001-Fix-a-build-error-of-Gdk.EventKey-with-vala-0.23.2.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 67343c621eb5b19bfba40d3b3af6ddacf7032e1c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 21 Feb 2014 11:45:55 +0900 -Subject: [PATCH] Fix a build error of Gdk.EventKey with vala 0.23.2 - -Review URL: https://codereview.appspot.com/66480044 ---- - ui/gtk3/switcher.vala | 22 +++++++++++++++++----- - 1 file changed, 17 insertions(+), 5 deletions(-) - -diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala -index c606682..d7f7366 100644 ---- a/ui/gtk3/switcher.vala -+++ b/ui/gtk3/switcher.vala -@@ -340,21 +340,29 @@ class Switcher : Gtk.Window { - - public override bool key_press_event(Gdk.EventKey e) { - bool retval = true; -+ -+/* Gdk.EventKey is changed to the pointer. -+ * https://git.gnome.org/browse/vala/commit/?id=598942f1 -+ */ -+#if VALA_0_24 -+ Gdk.EventKey pe = e; -+#else - Gdk.EventKey *pe = &e; -+#endif - - if (m_popup_delay_time > 0) { - restore_window_position("pressed"); - } - - do { -- uint modifiers = KeybindingManager.MODIFIER_FILTER & pe->state; -+ uint modifiers = KeybindingManager.MODIFIER_FILTER & pe.state; - - if ((modifiers != m_modifiers) && - (modifiers != (m_modifiers | Gdk.ModifierType.SHIFT_MASK))) { - break; - } - -- if (pe->keyval == m_keyval) { -+ if (pe.keyval == m_keyval) { - if (modifiers == m_modifiers) - next_engine(); - else // modififers == m_modifiers | SHIFT_MASK -@@ -362,7 +370,7 @@ class Switcher : Gtk.Window { - break; - } - -- switch (pe->keyval) { -+ switch (pe.keyval) { - case 0x08fb: /* leftarrow */ - case 0xff51: /* Left */ - previous_engine(); -@@ -378,7 +386,7 @@ class Switcher : Gtk.Window { - case 0xff54: /* Down */ - break; - default: -- debug("0x%04x", pe->keyval); -+ debug("0x%04x", pe.keyval); - if (m_loop != null) { - m_loop.quit(); - m_loop = null; -@@ -391,9 +399,13 @@ class Switcher : Gtk.Window { - } - - public override bool key_release_event(Gdk.EventKey e) { -+#if VALA_0_24 -+ Gdk.EventKey pe = e; -+#else - Gdk.EventKey *pe = &e; -+#endif - -- if (KeybindingManager.primary_modifier_still_pressed((Gdk.Event *)pe, -+ if (KeybindingManager.primary_modifier_still_pressed((Gdk.Event) pe, - m_primary_modifier)) { - return true; - } --- -2.4.3 - diff --git a/SOURCES/ibus-1030358-translation_updates.patch b/SOURCES/ibus-1030358-translation_updates.patch deleted file mode 100644 index 990d116..0000000 --- a/SOURCES/ibus-1030358-translation_updates.patch +++ /dev/null @@ -1,16685 +0,0 @@ -diff -urN a/ibus-1.5.3/po/as.po b/ibus-1.5.3/po/as.po ---- a/ibus-1.5.3/po/as.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/as.po 2013-12-04 18:19:35.501917350 +0530 -@@ -8,19 +8,30 @@ - # Amitakhya Phukan , 2010. - # ngoswami , 2011. - # Nilamdyuti Goswami , 2012. -+# translation of ibus.pot to Source -+# Source translation of ibus. -+# Copyright (C) 2008-2013 Peng Huang -+# Amitakhya Phukan , 2009 -+# Amitakhya Phukan , 2010 -+# fujiwara , 2011 -+# ngoswami , 2011 -+# ngoswami , 2012-2013 -+# ngoswami , 2013. #zanata - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-10-18 11:07+0000\n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-09-25 08:00-0400\n" - "Last-Translator: ngoswami \n" --"Language-Team: Assamese \n" -+"Language-Team: Assamese (http://www.transifex.com/projects/p/fedora/language/" -+"as/)\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: as\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -62,13 +73,15 @@ - msgid "Always" - msgstr "সদায়ে" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus পছন্দসমূহ" - - #: ../setup/setup.ui.h:12 - msgid "The shortcut keys for switching to next input method in the list" --msgstr "তালিকাত উপস্থিত পৰবৰ্তী ইনপুট পদ্ধতিলৈ পৰিবৰ্তনৰ বাবে প্ৰযোজ্য চৰ্টকাট কি'" -+msgstr "" -+"তালিকাত উপস্থিত পৰবৰ্তী ইনপুট পদ্ধতিলৈ পৰিবৰ্তনৰ বাবে প্ৰযোজ্য চৰ্টকাট কি'" - - #: ../setup/setup.ui.h:13 - msgid "Next input method:" -@@ -76,7 +89,9 @@ - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "তালিকাত উপস্থিত পূৰ্ববৰ্তী ইনপুট পদ্ধতিলৈ পৰিবৰ্তনৰ বাবে প্ৰযোজ্য চৰ্টকাট কি'" -+msgstr "" -+"তালিকাত উপস্থিত পূৰ্ববৰ্তী ইনপুট পদ্ধতিলৈ পৰিবৰ্তনৰ বাবে প্ৰযোজ্য চৰ্টকাট " -+"কি'" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" -@@ -86,9 +101,11 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "ইনপুট পদ্ধতি খোলা আৰু বন্ধ কৰাৰ বাবে প্ৰয়োজনীয় চৰ্টকাট কি' নিৰ্ধাৰণ কৰক" -+msgstr "" -+"ইনপুট পদ্ধতি খোলা আৰু বন্ধ কৰাৰ বাবে প্ৰয়োজনীয় চৰ্টকাট কি' নিৰ্ধাৰণ কৰক" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -126,11 +143,13 @@ - msgid "Language panel position:" - msgstr "ভাষাৰ পেনেলৰ স্থান:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "চিস্টেম ট্ৰেত আইকন দেখুৱাওক" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ভাষাৰ বাৰত ইনপুট পদ্ধতিৰ নাম দেখুৱাওক" - -@@ -159,65 +178,82 @@ - msgstr "সাধাৰণ" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "সক্ৰিয় ইনপুট পদ্ধতিসমূহ স্বনিৰ্বাচিত কৰক (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "সক্ৰিয় ইনপুট পদ্ধতিসমূহ স্বনিৰ্বাচিত কৰক" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "নিৰ্বাচিত ইনপুট পদ্ধতিক সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাত যোগ কৰক" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" --msgstr "সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাৰ পৰা নিৰ্বাচিত ইনপুট পদ্ধতি আঁতৰুৱা হ'ব" -+msgstr "" -+"সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাৰ পৰা নিৰ্বাচিত ইনপুট পদ্ধতি আঁতৰুৱা হ'ব" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" --msgstr "নিৰ্বাচিত ইনপুট পদ্ধতিক সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাৰ ওপৰলৈ স্থানান্তৰ কৰক" -+msgstr "" -+"নিৰ্বাচিত ইনপুট পদ্ধতিক সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাৰ ওপৰলৈ স্থানান্তৰ কৰক" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" --msgstr "নিৰ্বাচিত ইনপুট পদ্ধতিক সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাৰ তললৈ স্থানান্তৰ কৰক" -+msgstr "" -+"নিৰ্বাচিত ইনপুট পদ্ধতিক সামৰ্থবান ইনপুট পদ্ধতিৰ তালিকাৰ তললৈ স্থানান্তৰ কৰক" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "নিৰ্বাচিত ইনপুট পদ্ধতি সংক্ৰান্ত তথ্য দেখুৱাওক" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "নিৰ্বাচিত ইনপুট পদ্ধতিৰ ইনস্টল দেখুৱাওক" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "অবিকল্পিত ইনপুট পদ্ধতি তালিকাৰ ওপৰৰ প্ৰথমত।\nতাক সলনি কৰিবলৈ আপুনি ওপৰ/তল বুটাম ব্যৱহাৰ কৰিব পাৰে।" -+msgstr "" -+"অবিকল্পিত ইনপুট পদ্ধতি তালিকাৰ ওপৰৰ প্ৰথমত।\n" -+"তাক সলনি কৰিবলৈ আপুনি ওপৰ/তল বুটাম ব্যৱহাৰ কৰিব পাৰে।" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ইনপুট পদ্ধতি" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "চিস্টেম কিবৰ্ড বিন্যাস ব্যৱহাৰ কৰক" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "চিস্টেম কিবৰ্ড (XKB) বিন্যাস ব্যৱহাৰ কৰক" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "কিবৰ্ডৰ বিন্যাস" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "সকলো এপ্লিকেচনৰ মাজত একেই ইনপুট পদ্ধতি অংশীদাৰী কৰক" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "বিশ্বব্যাপী ইনপুট পদ্ধতি সংহতিসমূহ" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "উন্নত" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -225,157 +261,274 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nবুদ্ধিমান ইনপুট bus\nঘৰৰ পৃষ্ঠা: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"বুদ্ধিমান ইনপুট bus\n" -+"ঘৰৰ পৃষ্ঠা: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "লগিনত ibus আৰম্ভ কৰক" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "আৰম্ভণি" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "বিষয়ে" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ইনপুট পদ্ধতি আধাৰ" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ইনপুট পদ্ধতি আধাৰ আৰম্ভ কৰক" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "পূৰ্বল'ড ইঞ্জিন অৱস্থা" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"পূৰ্বল'ড ইঞ্জিনসমূহ এই অৱস্থাৰ সৈতে ল'ড কৰা হয়। 0 = ব্যৱহাৰকাৰী স্বনিৰ্বাচিত " -+"ইঞ্জিনসমূহ। 1 = ভাষা সম্বন্ধিত ইঞ্জিনসমূহ।" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "মূখ্য পূৰ্বল'ড ইঞ্জিনসমূহ আৰম্ভ কৰা হৈছে (_e)" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "ইঞ্জিনসমূহ আগতে ল'ড কৰক" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus আৰম্ভৰ আগতে ইঞ্জিন ল'ড কৰক" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "ইঞ্জিনসমূহৰ ক্ৰম" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ইনপুট পদ্ধতি তালিকাত সংৰক্ষিত ইঞ্জিন ক্ৰম" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME চুইচাৰ উইন্ডোৰ বাবে মিলিছেকেণ্ডত পপআপ বিলম্ব" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME চুইচাৰ উইন্ডো দেখুৱাবলে মিলিছেকেণ্ডত পপআপ বিলম্ব দেখুৱাওক। অবিকল্পিত হল " -+"400. 0 = উইন্ডো তৎক্ষনাত দেখুৱাওক। 0 < মিলিছেকেণ্ডত বিলম্ব। 0 > উইন্ডো " -+"নেদেখুৱাব আৰু পূৰ্বৱৰ্তী/পৰৱৰ্তী ইঞ্জিন চুইচ নকৰিব।" -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "সংৰক্ষিত সংস্কৰণ সংখ্যা" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"সংৰক্ষিত সংস্কৰণ সংখ্যাক পূৰ্বতে ইনস্টল কৰা ibus আৰু বৰ্তমান ibus ৰ মাজত " -+"পাৰ্থক্য নিৰীক্ষণ কৰিবলৈ ব্যৱহাৰ কৰা হব।" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ব্যৱহাৰ কৰক" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "যদি .xmodmap/.Xmodmap ইতিমধ্যে অস্তিত্ববান থাকে, xmodmap চলাওক।" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "লেটিন বিন্যাস যাৰ কোনো ASCII নাই" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "us বিন্যাসক লেটিন বিন্যাসসমূহলৈ সংযোজন কৰা হয়। অপৰৰ প্ৰয়োজন নাই।" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB বিন্যাস তালিকা যি ibus-setup ত দেখুৱা হয়" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB বিন্যাস তালিকা যি ibus-setup ত দেখুৱা হয়। বিন্যাস \"layout\" অথবা " -+"\"layout(variant)\"" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "ট্ৰিগাৰৰ চৰ্টকাট কি'সমূহ" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse ৰ বাবে চৰ্টকাট কি'সমূহ ট্ৰিগাৰ কৰক" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "পৰিবৰ্তক কি'সমূহৰ বাহিৰে চৰ্টকাট কি'সমূহ আৰম্ভ কৰক" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"পৰিবৰ্তক কি'সমূহৰ বাহিৰে চৰ্টকাট কি'সমূহ আৰম্ভ কৰক। তালিকাক ibus-gjs দ্বাৰা " -+"ব্যৱহাৰ কৰা হয়।" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "চৰ্টকাট কি'সমূহ সামৰ্থবান কৰক" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ইনপুট পদ্ধতি খুলিবলে চৰ্টকাট কি'সমূহ" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "চৰ্টকাট কি'সমূহ অসামৰ্থবান কৰক" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ইনপুট পদ্ধতি বন্ধ কৰিবলে চৰ্টকাট কি'সমূহ" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "পৰবৰ্তী ইঞ্জিন চৰ্টকাট কি'সমূহ" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "তালিকাত থকা পৰৱৰ্তী ইনপুট পদ্ধতিলে যাবলে চৰ্টকাট কি'সমূহ" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "পূৰ্ববৰ্তী ইঞ্জিনৰ চৰ্টকাট কি'" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "তালিকাত থকা পূৰ্বৱৰ্তী ইনপুট পদ্ধতিলে যাবলে চৰ্টকাট কি'সমূহ" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "স্বচালিতভাৱে লুকাওক" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "ভাষাৰ পেনেলৰ আচৰণ। ০ = মেনুত প্ৰোথিত, ১ = স্বচালিতভাৱে লুকাওক, ২ = সদায় দেখুৱাওক" -+msgstr "" -+"ভাষাৰ পেনেলৰ আচৰণ। ০ = মেনুত প্ৰোথিত, ১ = স্বচালিতভাৱে লুকাওক, ২ = সদায় " -+"দেখুৱাওক" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ভাষাৰ পেনেলৰ স্থান" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "ভাষাৰ পেনেলৰ স্থান। 0 = ওপৰৰ বাওঁফালৰ কোণত, 1 = ওপৰৰ সোঁফালৰ কোণত, 2 = তলৰ বাওঁফালৰ কোণত, 3 = তলৰ সোঁফালৰ কোণত, 4 = স্বনিৰ্বাচিত" -+msgstr "" -+"ভাষাৰ পেনেলৰ স্থান। 0 = ওপৰৰ বাওঁফালৰ কোণত, 1 = ওপৰৰ সোঁফালৰ কোণত, 2 = তলৰ " -+"বাওঁফালৰ কোণত, 3 = তলৰ সোঁফালৰ কোণত, 4 = স্বনিৰ্বাচিত" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "লুক-আপ টেবুলৰ দিশ" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "লুকআপ টেবুলৰ দিশ। ০ = আনুভূমিক, ১ = উলম্ব" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ইনপুট পদ্ধতিৰ নাম দেখুৱাওক" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "স্বনিৰ্বাচিত ফন্ট ব্যৱহাৰ কৰক" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "ভাষাৰ পেনেলৰ বাবে স্বনিৰ্বাচিত ফন্টৰ নাম ব্যৱহাৰ কৰক" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup ত চিস্টেম কি'বৰ্ড বিন্যাসমূহৰ তালিকা" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"অবিকল্পিতভাৱে সকলো চিস্টেম কি'বৰ্ড বিন্যাস নেদেখুৱাবলৈ দল তালিকা ব্যৱহাৰ কৰা " -+"হয়। তালিকা বস্তুক gconf কিৰ শেষত সংযোজন কৰা হব। উদাহৰণস্বৰূপ .../" -+"xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup ত ইউৰোপিয়ান ভাষাসমূহৰ তালিকা" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup এ ভাষাসমূহক কেৱল ইনপুট পদ্ধতি তালিকাত দেখুৱায় যেতিয়া আপুনি যিকোনো " -+"এটা ভাষাত ibus-setup চলাই। অন্য ভাষাসমূহ এটা প্ৰসাৰিত বুটামৰ অন্তৰ্গত থাকে।" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup ত এছিয়ান ভাষাসমূহৰ তালিকা" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "স্বনিৰ্বাচিত ফন্ট" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ভাষাৰ পেনেলৰ বাবে স্বনিৰ্বাচিত ফন্ট" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "পূৰ্বসম্পাদনা লিখনী প্ৰোথিত কৰক" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "এপ্লিকেচনৰ উইন্ডোত পূৰ্বসম্পাদনা লিখনী প্ৰোথিত কৰক" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "সৰ্বব্যাপী ইনপুট পদ্ধতি ব্যৱহাৰ কৰক" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "ইনপুট পদ্ধতি অবিকল্পিতভাৱে সামৰ্থবান কৰক" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "যেতিয়া এপ্লিকেচনে ইনপুট ফকাচ প্ৰাপ্ত কৰে তেতিয়া অবিকল্পিতভাৱে ইনপুট পদ্ধতি সামৰ্থবান কৰক" -+msgstr "" -+"যেতিয়া এপ্লিকেচনে ইনপুট ফকাচ প্ৰাপ্ত কৰে তেতিয়া অবিকল্পিতভাৱে ইনপুট পদ্ধতি " -+"সামৰ্থবান কৰক" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf সংৰক্ষিত নাম উপসৰ্গসমূহ" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "নাম পৰিবৰ্তন বন্ধ কৰিবলে DConf কি'সমূহৰ উপসৰ্গসমূহ" - -@@ -383,36 +536,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "স্বত্বাধিকাৰ (c) ২০০৭-২০১০ পেং হুৱাং\nস্বত্বাধিকাৰ (c) ২০০৭-২০১০ Red Hat, Inc." -+msgstr "" -+"স্বত্বাধিকাৰ (c) ২০০৭-২০১০ পেং হুৱাং\n" -+"স্বত্বাধিকাৰ (c) ২০০৭-২০১০ Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "অন্য" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ভাষা: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "কিবৰ্ডৰ বিন্যাস: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "লিখক: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "বিৱৰণ:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "এটা ইনপুট পদ্ধতি বাছক" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "সকলো ইনপুট পদ্ধতি দেখুৱাওক" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "কেৱল আপোনাৰ অঞ্চলৰ বাবে ইনপুট পদ্ধতিসমূহ দেখুৱাওক" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -432,118 +597,159 @@ - msgid "Modifiers:" - msgstr "পৰিবৰ্তক:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "অনুগ্ৰহ কৰি এটা কি' টিপক (বা এটা কি'ৰ মিশ্ৰণ)।\nকি' এৰিলে ডাইলগ বন্ধ হ'ব।" -+msgstr "" -+"অনুগ্ৰহ কৰি এটা কি' টিপক (বা এটা কি'ৰ মিশ্ৰণ)।\n" -+"কি' এৰিলে ডাইলগ বন্ধ হ'ব।" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "অনুগ্ৰহ কৰি এটা কি' টিপক (বা এটা কি'ৰ মিশ্ৰণ)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ট্ৰিগাৰ" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "সামৰ্থবান কৰক" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "অসামৰ্থবান কৰক" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"পূৰ্বৱৰ্তী ইনপুট পদ্ধতিলৈ চুইচ কৰিবলে shift ৰ সৈতে চৰ্টকাট ব্যৱহাৰ কৰক" - --#: ../setup/main.py:331 -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"আপোনাৰ সংৰক্ষিত ইনপুট পদ্ধতিসমূহৰ তালিকাক তৎক্ষনাত পৰিষ্কাৰ কৰা হব আৰু " -+"তালিকাক প্ৰতিবাৰ লগিন ভাষাৰ সহায়ত সংৰূপণ কৰা হব। আপুনি ইয়াৰ সৈতে সন্মত নে?" -+ -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus ডিমন চলি থকা নাই। আপুনি আৰম্ভ কৰিব বিচাৰে নেকি?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus আৰম্ভ কৰা হৈছে! যদি আপুনি IBus ব্যৱহাৰ কৰিব নোৱাৰে, নিম্নলিখিত শাৰীসমূহ " -+"আপোনাৰ $HOME/.bashrc লে যোগ কৰক; তাৰ পিছত আপোনাৰ ডেস্কটপত পুনৰ লগ কৰক।\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus আৰম্ভ কৰা হৈছে! যদি আপুনি IBus ব্যৱহাৰ কৰিব নোৱাৰে, নিম্নলিখিত শাৰীসমূহ আপোনাৰ $HOME/.bashrc লে যোগ কৰক; তাৰ পিছত আপোনাৰ ডেস্কটপত পুনৰ লগ কৰক।\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus ডিমনক %d ছেকেণ্ডত আৰম্ভ কৰিব পৰা নগল" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s ৰ কাৰণে কিবৰ্ডৰ চৰ্টকাট বাছক" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ইনপুট পদ্ধতিসমূহ চুইচ কৰা" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "কেৱল ইঞ্জিন নাম তালিকাভুক্ত কৰক" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "কমান্ড [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus লে সংযোগ কৰিব নোৱাৰি।\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "ভাষা: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "কোনো ইঞ্জিন সংহতি কৰা হোৱা নাই।\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "বিশ্বব্যাপী ইঞ্জিন সংহতি কৰা ব্যৰ্থ হল।\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "বিশ্বব্যাপী ইঞ্জিন প্ৰাপ্ত কৰা ব্যৰ্থ হল।\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "চিস্টেম ৰেজিস্ট্ৰি ক্যাশ পঢ়ক।" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "ৰেজিস্ট্ৰি ক্যাশ FILE পঢ়ক।" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb বিন্যাসক %sলে পৰিবৰ্তন কৰাটো ব্যৰ্থ হয়।" -+msgid "The registry cache is invalid.\n" -+msgstr "ৰেজিস্ট্ৰি ক্যাশ বৈধ নহয়।\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "চিস্টেম ৰেজিস্ট্ৰি ক্যাশ লিখক।" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "ৰেজিস্ট্ৰি ক্যাশ FILE লিখক।" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "ব্যৱহাৰ: %s COMMAND [OPTION...]\n" - "\n" --msgstr "ব্যৱহাৰ: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "কমান্ডসমূহ:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s এটা অজ্ঞাত কমান্ড!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus আপডেইট" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space এতিয়া অবিকল্পিত হটকি।" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "স্বত্বাধিকাৰ (c) 2007-2012 পেং হুৱাং\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus এটা Linux/Unix ৰ কাৰণে বুদ্ধিমান ইনপুট bus।" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "অমিতাক্ষ ফুকন (aphukan@fedoraproject.org), নীলমদ্যুতি গোস্বামী (ngoswami@redhat.com)" -+msgstr "" -+"অমিতাক্ষ ফুকন (aphukan@fedoraproject.org), নীলমদ্যুতি গোস্বামী " -+"(ngoswami@redhat.com)" - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "পুনাৰম্ভ" -diff -urN a/ibus-1.5.3/po/bn_IN.po b/ibus-1.5.3/po/bn_IN.po ---- a/ibus-1.5.3/po/bn_IN.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/bn_IN.po 2013-12-04 18:19:35.501917350 +0530 -@@ -7,19 +7,21 @@ - # Runa Bhattacharjee , 2009. - # Runa Bhattacharjee , 2009, 2010. - # , 2012. -+# sray , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-19 14:18+0000\n" --"Last-Translator: runa \n" -+"PO-Revision-Date: 2013-10-09 02:06-0400\n" -+"Last-Translator: sray \n" - "Language-Team: Bengali (India) \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: bn_IN\n" -+"Language: bn-IN\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -61,13 +63,15 @@ - msgid "Always" - msgstr "সর্বদা" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus সংক্রান্ত পছন্দ" - - #: ../setup/setup.ui.h:12 - msgid "The shortcut keys for switching to next input method in the list" --msgstr "তালিকায় উপস্থিত পরবর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট কি" -+msgstr "" -+"তালিকায় উপস্থিত পরবর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট কি" - - #: ../setup/setup.ui.h:13 - msgid "Next input method:" -@@ -75,7 +79,9 @@ - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "তালিকায় উপস্থিত পূর্ববর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট কি" -+msgstr "" -+"তালিকায় উপস্থিত পূর্ববর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট " -+"কি" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" -@@ -85,9 +91,11 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "ইনপুট পদ্ধতি খোলা ও বন্ধ করার জন্য প্রয়োজনীয় শর্ট-কাট কি নির্ধারণ করুন" -+msgstr "" -+"ইনপুট পদ্ধতি খোলা ও বন্ধ করার জন্য প্রয়োজনীয় শর্ট-কাট কি নির্ধারণ করুন" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -125,17 +133,20 @@ - msgid "Language panel position:" - msgstr "ভাষার প্যানেলের অবস্থান:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "সিস্টেম ট্রের মধ্যে আইকন প্রদর্শন করা হবে" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ভাষার বারের মধ্যে ইনপুট পদ্ধতির নাম প্রদর্শন করা হবে" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "চেকবক্স নির্বাচিত হলে, ভাষার বারের মধ্যে ইনপুট পদ্ধতির নাম প্রদর্শন করা হবে" -+msgstr "" -+"চেকবক্স নির্বাচিত হলে, ভাষার বারের মধ্যে ইনপুট পদ্ধতির নাম প্রদর্শন করা হবে" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -143,7 +154,8 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "অ্যাপ্লিকেশনের উইন্ডোর মধ্যে ইনপুট পদ্ধতির প্রি-এডিট টেক্সট সন্নিবেশ করা হবে" -+msgstr "" -+"অ্যাপ্লিকেশনের উইন্ডোর মধ্যে ইনপুট পদ্ধতির প্রি-এডিট টেক্সট সন্নিবেশ করা হবে" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -158,65 +170,86 @@ - msgstr "সাধারণ" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "সক্রিয় ইনপুট পদ্ধতিগুলি কাস্টোমাইজ করুন (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "সক্রিয় ইনপুট পদ্ধতিগুলি কাস্টোমাইজ করুন" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "নির্বাচিত ইনপুট পদ্ধতিটি, সক্রিয় ইনপুট পদ্ধতির তালিকা যোগ করা হবে" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" --msgstr "সক্রিয় ইনপুট পদ্ধতির তালিকা থেকে নির্বাচিত ইনপুট পদ্ধতিটি মুছে ফেলা হবে" -+msgstr "" -+"সক্রিয় ইনপুট পদ্ধতির তালিকা থেকে নির্বাচিত ইনপুট পদ্ধতিটি মুছে ফেলা হবে" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" --msgstr "নির্বাচিত ইনপুট পদ্ধতিটি, সক্রিয় ইনপুট পদ্ধতির তালিকায় উপরে স্থানান্তর করা হবে" -+msgstr "" -+"নির্বাচিত ইনপুট পদ্ধতিটি, সক্রিয় ইনপুট পদ্ধতির তালিকায় উপরে স্থানান্তর করা " -+"হবে" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" --msgstr "নির্বাচিত ইনপুট পদ্ধতিটি, সক্রিয় ইনপুট পদ্ধতির তালিকায় নীচে স্থানান্তর করা হবে" -+msgstr "" -+"নির্বাচিত ইনপুট পদ্ধতিটি, সক্রিয় ইনপুট পদ্ধতির তালিকায় নীচে স্থানান্তর করা " -+"হবে" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "নির্বাচিত ইনপুট পদ্ধতি সংক্রান্ত তথ্য প্রদর্শন করা হবে" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "নির্বাচিত ইনপুট পদ্ধতির সেট-আপ প্রদর্শন করা হবে" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "তালিকার শীর্ষে উপস্থিত ইনপুট পদ্ধতিটি ডিফল্ট পদ্ধতি রূপে ধার্য করা হবে।\nডিফল্ট পদ্ধতি পরিবর্তনের জন্য উপর/নীচে চিহ্নকারী বাটনগুলি প্রয়োগ করা যাবে।" -+msgstr "" -+"তালিকার শীর্ষে উপস্থিত ইনপুট পদ্ধতিটি ডিফল্ট পদ্ধতি রূপে ধার্য করা " -+"হবে।\n" -+"ডিফল্ট পদ্ধতি পরিবর্তনের জন্য উপর/নীচে চিহ্নকারী বাটনগুলি প্রয়োগ করা যাবে।" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ইনপুট পদ্ধতি" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "সিস্টেম কি-বোর্ড বিন্যাস প্রয়োগ করা হবে" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "সিস্টেম কি-বোর্ড (XKB) বিন্যাস প্রয়োগ করা হবে" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "কি-বোর্ডের বিন্যাস" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "সকল অ্যাপ্লিকেশনের মধ্যে একই ইনপুট পদ্ধতি ব্যবহার করা হবে" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ইনপুট পদ্ধতির সার্বজনীন বৈশিষ্ট্য" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "উন্নত" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -224,157 +257,278 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nবুদ্ধিবিশিষ্ট ইনপুট বাস\nহোম-পেজ: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"বুদ্ধিবিশিষ্ট ইনপুট বাস\n" -+"হোম-পেজ: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "লগ-ইন করার সময় ibus আরম্ভ করা হবে" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "প্রারম্ভ" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "পরিচিতি" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ইনপুট পদ্ধতির পরিকাঠামো" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ইনপুট পদ্ধতির পরিকাঠামো আরম্ভ করা হবে" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "ইঞ্জিন মোড পূর্বে লোড করুন" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"প্রিলোড ইঞ্জিনগুলি এই মোড দিয়ে লোড হয়। 0 = ব্যবহারকারীর জন্য কাস্টোমাইজ করা " -+"ইঞ্জিন। 1 = ভাষা ভিত্তিক ইঞ্জিন।" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "প্রধান প্রিলোড ইঞ্জিনের সূচনা করা হয়েছে" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "ইঞ্জিন পূর্বে লোড করা হবে" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus আরম্ভের সময় ইঞ্জিনগুলি পূর্বে লোড করা হবে" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "ইঞ্জিনের অনুক্রম" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ইনপুট পদ্ধতির তালিকায় সংরক্ষিত ইঞ্জিনের অনুক্রম" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME স্যুইচার উইন্ডোর ক্ষেত্রে পপ-অাপ বিলম্ব মিলিসেকেন্ড" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME স্যুইচার উইন্ডো দেখাতে পপ-অাপ বিলম্ব মিলিসেকেন্ড সেট করুন। ডিফল্ট হল 400." -+" 0 = উইন্ডো সংগে সংগে দেখান। 0 < মিলিসেকেন্ড পরে দেখান। 0 > উইন্ডো " -+"দেখাবেন না এবং পূর্ববর্তী/পরবর্তী উইন্ডোতে স্যুইচ করুন।" -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "সংরক্ষিত সংস্করণ নম্বর" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"সংরক্ষিত সংস্করণ নম্বর, পূর্বে ইনস্টল থাকা ibus এর সংস্করণ এবং বর্তমান ibus " -+"এর একটির মধ্যে পার্থক্য যাচাই করতে ব্যবহার করা হবে।" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ব্যবহার করুন" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap উপস্থিত থাকলে, xmodmap চালান।" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ল্যাটিন লেঅাউট যার কোনো ASCII নেই" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "লেঅাউট ল্যাটিন লেঅাউটে প্রয়োগ হয়েছে তাই বিভিন্নতার কোনো প্রয়োজন নেই।" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB সজ্জা তালিকা যা ibus-setup এ দেখানো হয়" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB লেঅাউট তালিকা যা ibus-setup এ দেখানো হয়। ফর্ম্যাট হল \"লেঅাউট\" বা " -+"\"লেঅাউট(বিভিন্নতা)\"।" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "ট্রিগারের শর্টকাট-কি" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse এর জন্য শর্টকাট কী ট্রিগার করুন" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "মডিফায়ার কী ছাড়াই শর্টকাট কী ট্রিগার করুন" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"মডিফায়ার কী ছাড়াই শর্টকাট কী ট্রিগার করুন। তালিকা ibus-gjs দ্বারা ব্যবহৃত " -+"হয়।" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "শর্ট-কাট কি সক্রিয় করুন" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ইনপুট পদ্ধতি চালু করার জন্য ব্যবহৃত শর্ট-কাট কি" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "শর্ট-কাট কি নিষ্ক্রিয় করুন" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ইনপুট পদ্ধতি বন্ধ করার জন্য ব্যবহৃত শর্ট-কাট কি" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "পরবর্তী ইঞ্জিনের জন্য শর্টকাট-কি" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" --msgstr "তালিকায় উপস্থিত পরবর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট কি" -+msgstr "" -+"তালিকায় উপস্থিত পরবর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট কি" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "পূর্ববর্তী ইঞ্জিনের শর্টকাট-কি" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" --msgstr "তালিকায় উপস্থিত পূর্ববর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট কি" -+msgstr "" -+"তালিকায় উপস্থিত পূর্ববর্তী ইনপুট পদ্ধতিতে পরিবর্তনের জন্য প্রযোজ্য শর্ট-কাট " -+"কি" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "স্বয়ংক্রিয়ভাবে আড়াল করা হবে" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "ভাষা প্রদর্শনের প্যানেলের আচরণ। 0 (০) = মেনুর মধ্যে সন্নিবেশ করা হবে, 1 (১) = স্বয়ংক্রিয়ভাবে আড়াল করা হবে, 2 (২) = সর্বদা প্রদর্শন করা হবে" -+msgstr "" -+"ভাষা প্রদর্শনের প্যানেলের আচরণ। 0 (০) = মেনুর মধ্যে সন্নিবেশ করা হবে, 1 (১) =" -+" স্বয়ংক্রিয়ভাবে আড়াল করা হবে, 2 (২) = সর্বদা প্রদর্শন করা হবে" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ভাষার প্যানেলের অবস্থান" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "ভাষার প্যানেলের অবস্থান। 0 = উপরে বাঁদিকের কোণায়, 1 = উপরে ডানদিকের কোণায়, 2 = নীচে বাঁদিকের কোণায়, 3 = নীচে ডানদিকের কোণায়, 4 = স্বনির্ধারিত" -+msgstr "" -+"ভাষার প্যানেলের অবস্থান। 0 = উপরে বাঁদিকের কোণায়, 1 = উপরে ডানদিকের কোণায়, 2 " -+"= নীচে বাঁদিকের কোণায়, 3 = নীচে ডানদিকের কোণায়, 4 = স্বনির্ধারিত" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "লুক-আপ টেবিলের দিশা" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "লুক-আপ টেবিলের দিশা। 0 (০) = অনুভুমিক, 1 (১) = উল্লম্ব" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ইনপুট পদ্ধতির নাম প্রদর্শন করা হবে" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "স্বনির্ধারিত ফন্ট প্রয়োগ করুন" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "ভাষার প্যানেলের জন্য স্বনির্ধারিত ফন্টের নাম ব্যবহার করা হবে" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup এ সিস্টেম কীবোর্ড লেঅাউট গ্রুপের তালিকা" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"ডিফল্ট ভাবে সমস্ত সিস্টেম কীবোর্ড লেঅাউট না দেখানোর জন্য গ্রুপ তালিকা " -+"ব্যবহার করা হয়। gconf কী'র শেষে তালিকা অাইটেম প্রয়োগ করা হবে। উদাঃ .../" -+"xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup এ ইউরোপীয় ভাষাগুলির তালিকা" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ভাষাগুলির কোনো একটিতে অাপনি ibus-setup চালালে, ibus-setup ভাষাগুলিকে " -+"শুধুমাত্র ইনপুট পদ্ধতি তালিকায় দেখায়। অন্যান্য ভাষাগুলি এক বিস্তৃত বোতামের " -+"তলায় লুকানো থাকে।" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup এ এশিয় ভাষাগুলির তালিকা" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "স্বনির্ধারিত ফন্ট" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ভাষার প্যানেলের জন্য ব্যবহারযোগ্য স্বনির্ধারিত ফন্টের নাম" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "প্রি-এডিট টেক্সট সন্নিবেশ করা হবে" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "অ্যাপ্লিকেশন উইন্ডোর মধ্যে প্রি-এডিট টেক্সট সন্নিবেশ করা হবে" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "সার্বজনীন ইনপুট পদ্ধতি " - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "ডিফল্ট অবস্থায় ইনপুট পদ্ধতি সক্রিয় করা হবে" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "ইনপুট প্রাপ্ত করার উদ্দেশ্যে অ্যাপ্লিকেশনে ফোকাস করা হলে, ডিফল্ট রূপে ইনপুট পদ্ধতি সক্রিয় করা হবে" -+msgstr "" -+"ইনপুট প্রাপ্ত করার উদ্দেশ্যে অ্যাপ্লিকেশনে ফোকাস করা হলে, ডিফল্ট রূপে ইনপুট " -+"পদ্ধতি সক্রিয় করা হবে" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf দ্বারা নেম প্রেফিক্স সংরক্ষণ করা হবে" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "নেম পরিবর্তন প্রতিরোধ করার জন্য DConf-কির প্রেফিক্স" - -@@ -382,36 +536,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "স্বত্বাধিকার (c) ২০০৭-২০০৯ পেং হুয়াং\nস্বত্বাধিকার (c) ২০০৭-২০০৯ Red Hat, Inc." -+msgstr "" -+"স্বত্বাধিকার (c) ২০০৭-২০০৯ পেং হুয়াং\n" -+"স্বত্বাধিকার (c) ২০০৭-২০০৯ Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "অন্যান্য" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ভাষা: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "কি-বোর্ড বিন্যাস: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "নির্মাতা: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "বিবরণ:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "একটি ইনপুট পদ্ধতি নির্বাচন করুন" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "সকল ইনপুট পদ্ধতি দেখান" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "শুধুমাত্র অাপনার অঞ্চলের জন্য ইনপুট পদ্ধতি দেখান" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -431,118 +597,157 @@ - msgid "Modifiers:" - msgstr "পরিবর্তক:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "অনুগ্রহ করে কোনো কি (অথবা কি সংকলন) টিপুন।\nকি মুক্ত করা হলে এই ডায়লগ বক্সটি বন্ধ করা হবে।" -+msgstr "" -+"অনুগ্রহ করে কোনো কি (অথবা কি সংকলন) টিপুন।\n" -+"কি মুক্ত করা হলে এই ডায়লগ বক্সটি বন্ধ করা হবে।" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "অনুগ্রহ করে একটি কি (অথবা কি সংকলন) টিপুন" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ট্রিগার" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "সক্রিয় করুন" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "নিষ্ক্রিয় করুন" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "পূর্ববর্তী ইনপুট পদ্ধতিতে চলে অাসতে shift সমেত শর্টকাট ব্যবহার করুন" - --#: ../setup/main.py:331 -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"অাপনার সংরক্ষিত ইনপুট পদ্ধতিগুলির তালিকা সংগে সংগে সাফ করা হবে এবং " -+"প্রত্যেকবার লগিন ভাষা দিয়ে তালিকা কনফিগার করা হবে। অাপনার এতে অাপত্তি নেই " -+"তো?" -+ -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus ডেমন বর্তমানে চলছে না। এটি আরম্ভ করা হবে কি?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus আরম্ভ করা হয়েছে! IBus ব্যবহার করা সম্ভব না হলে $HOME/.bashrc ফাইলের " -+"মধ্যে নিম্নলিখিত পংক্তিগুলি যোগ করে ডেস্কটপে পুনরায় লগ-ইন করুন।\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus আরম্ভ করা হয়েছে! IBus ব্যবহার করা সম্ভব না হলে $HOME/.bashrc ফাইলের মধ্যে নিম্নলিখিত পংক্তিগুলি যোগ করে ডেস্কটপে পুনরায় লগ-ইন করুন।\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus ডেমনটি %d সেকেন্ডে আরম্ভ করা যায়নি।" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s-র জন্য কি-বোর্ড শর্ট-কাট ধার্য করুন" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ইনপুট পদ্ধতি পাল্টানো" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "শুধুমাত্র ইঞ্জিনের নামের তালিকা প্রদর্শন করা হবে" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "command [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus-র সাথে সংযোগ করতে ব্যর্থ।\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "ভাষা: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "কোনো ইঞ্জিন নির্ধারিত হয়নি।\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "গ্লোবাল ইঞ্জিন নির্ধারণ করতে ব্যর্থ।\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "গ্লোবাল ইঞ্জিন প্রাপ্ত করতে ব্যর্থ।\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "সিস্টেম রেজিস্ট্রি ক্যাশ পড়ুন।" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "রেজিস্ট্রি ক্যাশ FILE পড়ুন।" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb বিন্যাসকে %s-এ পরিবর্তন করতে ব্যর্থ।" -+msgid "The registry cache is invalid.\n" -+msgstr "রেজিস্ট্রি ক্যাশ অবৈধ।\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "সিস্টেম রেজিস্ট্রি ক্যাশ লিখুন।" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "রেজিস্ট্রি ক্যাশ FILE লিখুন।" -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "ব্যবহারপ্রণালী: %s COMMAND [OPTION...]\n" - "\n" --msgstr "ব্যবহারপ্রণালী: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "কমান্ড:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s একটি অজানা কমান্ড!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus অাপডেট" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space হল এখন ডিফল্ট হটকী।" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "স্বত্বাধিকার (c) ২০০৭-২০১২ পেং হুয়াং\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "Linux/Unix-র সাথে ব্যবহারযোগ্য বুদ্ধিবিশিষ্ট ইনপুট বাস হল IBus" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "রুণা ভট্টাচার্য্য (runab@fedoraproject.org)" - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "পুনরারম্ভ" -diff -urN a/ibus-1.5.3/po/de.po b/ibus-1.5.3/po/de.po ---- a/ibus-1.5.3/po/de.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/de.po 2013-12-04 18:19:35.501917350 +0530 -@@ -2,26 +2,27 @@ - # German translation of ibus. - # Copyright (C) 2008 Peng Huang - # This file is distributed under the same license as the ibus package. --# -+# - # Translators: - # Fabian Affolter , 2009. - # Hedda Peters , 2009. - # Mario Blättermann , 2011. -+# rgromans , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2012-05-16 10:14+0900\n" --"PO-Revision-Date: 2011-06-23 14:37+0000\n" --"Last-Translator: mariobl \n" -+"PO-Revision-Date: 2013-12-04 01:05-0500\n" -+"Last-Translator: rgromans \n" - "Language-Team: German \n" --"Language: de\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: de\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - "X-Poedit-Language: German\n" --"X-Generator: KBabel 1.11.4\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -32,38 +33,39 @@ - msgstr "Vertikal" - - #: ../setup/setup.ui.h:3 --msgid "Embedded in menu" --msgstr "In Menü eingebettet" -- --#: ../setup/setup.ui.h:4 --msgid "When active" --msgstr "Wenn aktiv" -- --#: ../setup/setup.ui.h:5 --msgid "Always" --msgstr "Immer" -- --#: ../setup/setup.ui.h:6 - msgid "Top left corner" - msgstr "Ecke oben links" - --#: ../setup/setup.ui.h:7 -+#: ../setup/setup.ui.h:4 - msgid "Top right corner" - msgstr "Ecke oben rechts" - --#: ../setup/setup.ui.h:8 -+#: ../setup/setup.ui.h:5 - msgid "Bottom left corner" - msgstr "Ecke unten links" - --#: ../setup/setup.ui.h:9 -+#: ../setup/setup.ui.h:6 - msgid "Bottom right corner" - msgstr "Ecke unten rechts" - --#: ../setup/setup.ui.h:10 -+#: ../setup/setup.ui.h:7 - msgid "Custom" - msgstr "Benutzerdefiniert" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:8 -+msgid "Embedded in menu" -+msgstr "In Menü eingebettet" -+ -+#: ../setup/setup.ui.h:9 -+msgid "When active" -+msgstr "Wenn aktiv" -+ -+#: ../setup/setup.ui.h:10 -+msgid "Always" -+msgstr "Immer" -+ -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus-Einstellungen" - -@@ -89,9 +91,10 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "Tastenkombination zum An- oder Ausschalten der Eingabemethode" -+msgstr "Tastenkombination zum Ein- oder Ausschalten der Eingabemethode" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -120,7 +123,8 @@ - #: ../setup/setup.ui.h:24 - msgid "Set the behavior of ibus how to show or hide language bar" - msgstr "" --"Verhalten von IBus einstellen, das Sprach-Panel anzuzeigen oder zu verstecken" -+"Verhalten von IBus einstellen, das Sprach-Panel anzuzeigen oder zu " -+"verstecken" - - #: ../setup/setup.ui.h:25 - msgid "Show language panel:" -@@ -130,11 +134,13 @@ - msgid "Language panel position:" - msgstr "Position des Sprach-Panels:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "Symbol im Benachrichtigungsfeld anzeigen" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "Name der Eingabemethode auf Sprachleiste anzeigen" - -@@ -150,7 +156,7 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "Den Preedit-Text der Eingabemethode in Anwendungsfenster einbetten" -+msgstr "Den Preedit-Text der Eingabemethode im Anwendungsfenster einbetten" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -165,76 +171,88 @@ - msgstr "Allgemein" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "Anpassen aktive Eingabe _Methoden" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "Anpassen aktive Eingabe Methoden" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "" - "Fügen Sie die gewählte Eingabemethode zu den aktivierten Eingabemethoden " - "hinzu" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "" --"Entfernen Sie die gewählte Eingabemethode aus den aktivierten Eingabemethoden" -+"Entfernen Sie die gewählte Eingabemethode aus den aktivierten " -+"Eingabemethoden" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "" - "Bewegen Sie die gewählte Eingabemethode in den aktivierten Eingabemethoden " - "nach oben" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "" - "Bewegen Sie die gewählte Eingabemethode in den aktivierten Eingabemethoden " - "nach unten" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "Informationen zur gewählten Eingabemethode anzeigen" - --#: ../setup/setup.ui.h:40 --#, fuzzy -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" --msgstr "Informationen zur gewählten Eingabemethode anzeigen" -+msgstr "Einrichtung der gewählten Eingabemethode anzeigen" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." - msgstr "" - "Die standardmäßige Eingabemethode steht in der Liste an erster " - "Stelle.\n" --"Sie können dies mit den Hoch/Runter-Schaltflächen ändern." -+"Sie können dies mit den Hinauf/Hinunter-Schaltflächen ändern." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "Eingabemethode" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "System-Tastaturbelegung verwenden" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "System-Tastatur (XKB) Belegung verwenden" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "Tastaturbelegung" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "Dieselbe Eingabemethode für alle Anwendungen verwenden" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" --msgstr "Eingabemethode wählen" -+msgstr "Eingabemethode wählen" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "Erweitert" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -250,88 +268,165 @@ - "\n" - "\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "IBus bei der Anmeldung starten" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "Starten" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "Info" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "Eingabemethode-Framework" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus-Eingabemethode-Framework starten" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "Engine-Modus vorladen" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"Vorgeladene Engines sind mit diesem Modus geladen. 0 = Benutzer angepasste " -+"Engines. 1 = Mit Sprache verbundene Engines." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "Die Schlüssel vorgeladene_Engine wird initialisiert" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "Engines vorladen" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "Engines vorladen, während IBus startet" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "Engines Reihenfolge" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "Reihenfolge der gespeicherten Engines in der Eingabe-Methoden Liste" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "Popup Verzögerung in Millisekunden für IME Switcher Fenster" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Einstellen Popup Verzögerung in Millisekunden bei IME Switcher Fenster-" -+"Anzeige. Der Standardwert ist 400. 0 = Zeige das Fenster sofort. 0 < " -+"Verzögerung in Millisekunden. 0 > Das Fenster nicht anzeigen und " -+"umschalten prev/next-Engines." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "Gespeicherte Versions-Nummer" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." - msgstr "" -+"Die gespeicherte Versionsnummer wird verwendet, um den Unterschied zwischen " -+"der Version des zuvor installierten ibus und dem aktuellen ibus überprüfen." - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "Verwenden Sie xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "xmodmap durchführen falls .xmodmap/.Xmodmap existiert." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "Latin Tastaturbelegung die keine ASCII-Codes haben" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"US Tastaturbelegung ist an die Latin Tastaturbelegung angehängt. Variante " -+"ist nicht erforderlich." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB Tastaturbelegungs-Liste, die bei ibus-Setup angezeigt wird" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB Tastaturbelegungs-Liste, die bei ibus-Setup angezeigt wird. Das Format " -+"ist \"layout\" oder \"layout(variant)\"." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "Auslöser-Tastenkombination" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "Auslöser-Tastenkombination für gtk_accelerator_parse" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "Auslöser-Tastenkombination ohne Zusatztasten" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"Auslöser-Tastenkombination ohne Zusatztasten. Diese Liste wird von ibus-gjs " -+"verwendet." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "Tastenkürzel aktivieren" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "Tastenkürzel zum Einschalten der Eingabemethoden" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "Tastenkürzel deaktivieren" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "Tastenkürzel zum Ausschalten der Eingabemethoden" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "Nächste Engine-Tastenkombination" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "" - "Tastenkombination zum Wechseln zur nächsten Eingabemethode in der Liste" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "Vorherige Engine-Tastenkombination" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "Tastenkombination zum Wechseln zur vorherigen Eingabemethode" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "Automatisch verstecken" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" -@@ -339,11 +434,11 @@ - "Verhalten des Sprach-Panels: 0 = Im Menü einbetten, 1 = Automatisch " - "verstecken, 2 = Immer anzeigen" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "Position des Sprach-Panels" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" -@@ -351,63 +446,95 @@ - "Die Position des Sprach-Panels: 0 = Ecke oben links, 1 = Ecke oben rechts, 2 " - "= Ecke unten links, 3 = Ecke unten rechts, 4 = Benutzerdefiniert" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "Ausrichtung der Lookup-Tabelle" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "Ausrichtung der Lookup-Tabelle. 0 = Horizontal, 1 = Vertikal" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "Name der Eingabemethode anzeigen" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "Benutzerdefinierte Schriftart verwenden" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "Benutzerdefinierte Schriftart für Sprach-Panel verwenden" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "Liste der System-Tastaturbelegungsgruppen bei ibus-Setup" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"Die Gruppenliste wird nicht standardmäßig alle System-Tastatur-Layouts " -+"anzeigen. Das Listen-Element wird am Ende des gconf Schlüssel angehängt " -+"werden. z. B. .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "Liste der Europäischen Sprachen bei ibus-Setup" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-Setup zeigt die Sprachen nur in der Eingabe-Methode Liste, wenn Sie " -+"ibus-Setup in einer der Sprachen ausführen. Andere Sprachen sind unter einem " -+"erweiterten Schalter versteckt." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "Liste der Asiatischen Sprachen bei ibus-Setup" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "Benutzerdefinierte Schriftart" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "Name der benutzerdefinierten Schriftart für Sprach-Panel" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "Preedit-Text einbetten" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "Preedit-Text in Anwendungsfenster einbetten" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "Globale Eingabemethode wählen" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "Eingabemethode standardmäßig aktivieren" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "" - "Eingabemethode standardmäßig aktivieren, wenn die Anwendung Eingabefokus " - "erlangt" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf bewahrt Namens-Präfixe" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "Präfixe von dconf Schlüsseln um Namens-Umwandlung zu stoppen" - - #: ../ibus/_config.py.in:41 - msgid "" -@@ -417,34 +544,44 @@ - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "Sonstige" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "Sprache: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "Tastaturbelegung: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "Autor: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "Beschreibung:\n" - --#: ../setup/enginecombobox.py:136 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "Eingabemethode wählen" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "Zeige alle Eingabemethoden" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "Zeige nur die Eingabemethoden für Ihre Region" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -464,7 +601,7 @@ - msgid "Modifiers:" - msgstr "Hilfstasten:" - --#: ../setup/keyboardshortcut.py:235 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." -@@ -472,29 +609,32 @@ - "Bitte eine Taste (oder eine Tastenkombination drücken).\n" - "Der Dialog wird geschlossen, wenn die Taste losgelassen wird." - --#: ../setup/keyboardshortcut.py:237 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "Bitte eine Taste (oder eine Tastenkombination drücken)" - --#: ../setup/main.py:79 --msgid "trigger" --msgstr "Auslöser" -- --#: ../setup/main.py:80 --msgid "enable" --msgstr "aktivieren" -- --#: ../setup/main.py:81 --msgid "disable" --msgstr "deaktivieren" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"Verwende Tastenkombination mit Umschalttaste zum Wechseln zur vorherigen " -+"Eingabemethode" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"Die Liste der gespeicherten Eingabemethoden wird sofort gelöscht und die " -+"Liste wird jedesmal von der Anmeldungs-Sprache konfiguriert werden. Sind Sie " -+"damit einverstanden?" - --#: ../setup/main.py:323 --#, fuzzy -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "IBus-Daemon wurde nicht gestartet. Möchten Sie ihn jetzt starten?" -+msgstr "Der IBus Daemon läuft nicht. Möchten Sie ihn jetzt starten?" - --#: ../setup/main.py:344 --#, fuzzy -+#: ../setup/main.py:400 - msgid "" - "IBus has been started! If you cannot use IBus, add the following lines to " - "your $HOME/.bashrc; then relog into your desktop.\n" -@@ -503,84 +643,119 @@ - " export QT_IM_MODULE=ibus" - msgstr "" - "IBus wurde gestartet! Falls Sie IBus nicht nutzen können, fügen Sie bitte " --"folgende Zeilen in $HOME/.bashrc hinzu und melden sich neu am Desktop an.\n" -+"folgende Zeilen in $HOME/.bashrc hinzu; melden sich neu am Desktop an.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - --#: ../setup/main.py:357 -+#. Translators: %d == 5 currently -+#: ../setup/main.py:414 - #, python-format --msgid "IBus daemon coundn't be started in %d seconds" --msgstr "" -+msgid "IBus daemon could not be started in %d seconds" -+msgstr "IBus Daemon konnte nicht in %d Sekunden gestartet werden" - --#: ../setup/main.py:369 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "Wählen Sie eine Tastenkombination für %s" - --#: ../ui/gtk3/panel.vala:330 --#, fuzzy -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "Wechsel der Eingabemethoden" -+ -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "Nur Name der List-Engine" -+ -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 -+#, c-format -+msgid "Can't connect to IBus.\n" -+msgstr "Verbindung mit IBus nicht möglich.\n" -+ -+#: ../tools/main.vala:84 -+#, c-format -+msgid "language: %s\n" -+msgstr "Sprache: %s\n" -+ -+#: ../tools/main.vala:152 -+#, c-format -+msgid "No engine is set.\n" -+msgstr "Keine Engine ist gesetzt.\n" -+ -+#: ../tools/main.vala:160 -+#, c-format -+msgid "Set global engine failed.\n" -+msgstr "Setzen Globale Engine fehlgeschlagen.\n" -+ -+#: ../tools/main.vala:165 -+#, c-format -+msgid "Get global engine failed.\n" -+msgstr "Holen der Global engine fehlgeschlagen.\n" -+ -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "Lesen des System-Registry Cache." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "Lesen der Registry Cache Datei." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 -+#, c-format -+msgid "The registry cache is invalid.\n" -+msgstr "Der Registry Cache ist ungültig.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "Schreiben des System-Registry Cache." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "Schreiben der Registry Cache Datei." -+ -+#: ../tools/main.vala:300 -+#, c-format -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "Verwendung: %s COMMAND [OPTION...]\n" -+"\n" -+ -+#: ../tools/main.vala:301 -+#, c-format -+msgid "Commands:\n" -+msgstr "Befehle:\n" -+ -+#: ../tools/main.vala:327 -+#, c-format -+msgid "%s is unknown command!\n" -+msgstr "%s ist unbekannter Befehl!\n" -+ -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus Aktualisierung" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Supertaste+Leertaste ist jetzt der Standard Hotkey." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" --msgstr "" --"Copyright (c) 2007-2010 Peng Huang\n" --"Copyright (c) 2007-2010 Red Hat, Inc." -+msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:335 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus ist ein intelligenter Eingabe-Bus für Linux/Unix." - --#: ../ui/gtk3/panel.vala:339 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "" - "Fabian Affolter , 2009.\n" - "Hedda Peters , 2009." - --#: ../ui/gtk3/panel.vala:371 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "Neustart" -- --#~ msgid "Previous page" --#~ msgstr "Vorherige Seite" -- --#~ msgid "Next page" --#~ msgstr "Nächste Seite" -- --#~ msgid "" --#~ "Some input methods have been installed, removed or updated. Please " --#~ "restart ibus input platform." --#~ msgstr "" --#~ "Einige Eingabemethoden wurden installiert, entfernt oder aktualisiert. " --#~ "Bitte starten Sie die IBus-Eingabe-Plattform erneut." -- --#~ msgid "Restart Now" --#~ msgstr "Jetzt neu starten" -- --#~ msgid "Later" --#~ msgstr "Später" -- --#~ msgid "IBus Panel" --#~ msgstr "IBus-Panel" -- --#~ msgid "IBus input method framework" --#~ msgstr "IBus-Eingabemethode-Framework" -- --#~ msgid "Turn off input method" --#~ msgstr "Eingabemethode ausschalten" -- --#~ msgid "No input window" --#~ msgstr "Kein Eingabefenster" -- --#~ msgid "About the input method" --#~ msgstr "Über die Eingabemethode" -- --#~ msgid "Switch input method" --#~ msgstr "Eingabemethode wechseln" -- --#~ msgid "About the Input Method" --#~ msgstr "Info zu Eingabemethoden" -- --#~ msgid "next input method" --#~ msgstr "Nächste Eingabemethode" -- --#~ msgid "previous input method" --#~ msgstr "Vorherige Eingabemethode" -diff -urN a/ibus-1.5.3/po/es.po b/ibus-1.5.3/po/es.po ---- a/ibus-1.5.3/po/es.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/es.po 2013-12-04 18:19:35.501917350 +0530 -@@ -9,19 +9,21 @@ - # Domingo Becker , 2012. - # Gladys Guerrero , 2012. - # Héctor Daniel Cabrera , 2011. -+# gguerrer , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-11 14:13+0000\n" --"Last-Translator: Domingo Becker \n" -+"PO-Revision-Date: 2013-12-02 06:44-0500\n" -+"Last-Translator: gguerrer \n" - "Language-Team: Spanish \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: es\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -63,13 +65,15 @@ - msgid "Always" - msgstr "Siempre" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "Preferencias de IBus" - - #: ../setup/setup.ui.h:12 - msgid "The shortcut keys for switching to next input method in the list" --msgstr "Tecla programada para cambiar al siguiente método de entrada en la lista" -+msgstr "" -+"Tecla programada para cambiar al siguiente método de entrada en la lista" - - #: ../setup/setup.ui.h:13 - msgid "Next input method:" -@@ -77,7 +81,8 @@ - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "Tecla programada para cambiar al método de entrada anterior en la lista" -+msgstr "" -+"Teclas de atajos para cambiar al método de entrada anterior en la lista" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" -@@ -85,11 +90,12 @@ - - #: ../setup/setup.ui.h:16 - msgid "..." --msgstr "…" -+msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "Atajo de teclado para encender o apagar el método de entrada" -+msgstr "Atajo de teclado para activar o desactivar el método de entrada" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -109,15 +115,17 @@ - - #: ../setup/setup.ui.h:22 - msgid "Set the orientation of candidates in lookup table" --msgstr "Poner la orientación de la tabla de búsqueda de candidatos" -+msgstr "Poner la orientación de candidatos en la tabla de búsqueda" - - #: ../setup/setup.ui.h:23 - msgid "Candidates orientation:" --msgstr "Orientaciones candidato:" -+msgstr "Orientaciones de candidato:" - - #: ../setup/setup.ui.h:24 - msgid "Set the behavior of ibus how to show or hide language bar" --msgstr "Configurar el comportamiento de ibus sobre cómo mostrar u ocultar la barra de idiomas" -+msgstr "" -+"Configurar el comportamiento de ibus sobre la forma de mostrar u ocultar la " -+"barra de idiomas" - - #: ../setup/setup.ui.h:25 - msgid "Show language panel:" -@@ -125,19 +133,23 @@ - - #: ../setup/setup.ui.h:26 - msgid "Language panel position:" --msgstr "Posición del panel de idioma:" -+msgstr "Posición del panel de idiomas:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" --msgstr "Mostrar un ícono en el área de notificación" -+msgstr "Mostrar un icono en el área de notificación" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "Mostrar el nombre del método de entrada en la barra de idioma" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "Mostrar el nombre del método de entrada en la barra de idioma cuando se marque la casilla" -+msgstr "" -+"Mostrar el nombre del método de entrada en la barra de idioma cuando se " -+"marque la casilla" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -145,7 +157,9 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "Insertar el texto previamente editado del método de entrada en la ventana de la aplicación" -+msgstr "" -+"Insertar el texto previamente editado del método de entrada en la ventana de " -+"la aplicación" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -160,65 +174,87 @@ - msgstr "General" - - #: ../setup/setup.ui.h:35 --msgid "Add the selected input method into the enabled input methods" --msgstr "Agregar el método de entrada seleccionado a los métodos de entrada habilitados" -+msgid "Customize active input _methods" -+msgstr "Personalizar _methods de entrada activos" - - #: ../setup/setup.ui.h:36 --msgid "Remove the selected input method from the enabled input methods" --msgstr "Eliminar el método de entrada seleccionado de los métodos de entrada habilitados" -+msgid "Customize active input methods" -+msgstr "Personalizar métodos de entrada activos" - - #: ../setup/setup.ui.h:37 --msgid "Move up the selected input method in the enabled input methods list" --msgstr "Mover arriba el método de entrada seleccionado en la lista de métodos de entrada habilitados" -+msgid "Add the selected input method into the enabled input methods" -+msgstr "" -+"Agregar el método de entrada seleccionado a los métodos de entrada " -+"habilitados" - - #: ../setup/setup.ui.h:38 --msgid "Move down the selected input method in the enabled input methods" --msgstr "Mover abajo el método de entrada seleccionado en los métodos de entrada habilitados" -+msgid "Remove the selected input method from the enabled input methods" -+msgstr "" -+"Eliminar el método de entrada seleccionado de los métodos de entrada " -+"habilitados" - - #: ../setup/setup.ui.h:39 -+msgid "Move up the selected input method in the enabled input methods list" -+msgstr "" -+"Mover arriba el método de entrada seleccionado en la lista de métodos de " -+"entrada habilitados" -+ -+#: ../setup/setup.ui.h:40 -+msgid "Move down the selected input method in the enabled input methods" -+msgstr "" -+"Mover abajo el método de entrada seleccionado en los métodos de entrada " -+"habilitados" -+ -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "Mostrar información sobre el método de entrada seleccionado" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "Mostrar la configuración del método de entrada seleccionado" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "El método de entrada determinado está al comienzo de la lista.\nPuede usar los botones arriba/abajo para cambiarlo." -+msgstr "" -+"El método de entrada determinado está al comienzo de la lista.\n" -+"Puede usar los botones arriba/abajo para cambiarlo." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "Métodos de Entrada" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "Usar el diseño del teclado del sistema" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "Usar el diseño del teclado del sistema (XKB)" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "Diseño del Teclado" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "Compartir el mismo método de entrada con todas las aplicaciones" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "Configuraciones globales de método de entrada" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "Avanzado" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -226,157 +262,284 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nEl bus de entrada inteligente\nSitio web: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"El bus de entrada inteligente\n" -+"Sitio web: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "Iniciar ibus al ingresar" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "Inicio" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "Acerca de" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "Marco de trabajo para métodos de entrada" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "Inicie el marco de trabajo para métodos de entrada IBus" -- - #: ../data/ibus.schemas.in.h:1 --msgid "Preload engines" --msgstr "Precargar máquinas" -+msgid "Preload engine mode" -+msgstr "Modo de motor de precarga" - - #: ../data/ibus.schemas.in.h:2 --msgid "Preload engines during ibus starts up" --msgstr "Precargar los motores durante el inicio de ibus" -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"Los motores de precarga se suben con este modo. 0 = motores personalizados " -+"de usuarios. 1 = motores relacionados con el lenguaje." - - #: ../data/ibus.schemas.in.h:3 --msgid "Engines order" --msgstr "Orden de las máquinas" -+msgid "The key preload_engines is initialized" -+msgstr "La clave de preload_engines se inicializa" - - #: ../data/ibus.schemas.in.h:4 --msgid "Saved engines order in input method list" --msgstr "Orden de las máquinas guardada en la lista de métodos de entrada" -+msgid "Preload engines" -+msgstr "Precargar motores " - - #: ../data/ibus.schemas.in.h:5 --msgid "Trigger shortcut keys" --msgstr "Activadora de los Atajos de teclado" -+msgid "Preload engines during ibus starts up" -+msgstr "Precargar motores durante el inicio de ibus" -+ -+#: ../data/ibus.schemas.in.h:6 -+msgid "Engines order" -+msgstr "Orden de motores" - - #: ../data/ibus.schemas.in.h:7 -+msgid "Saved engines order in input method list" -+msgstr "Orden de los motores guardados en la lista de métodos de entrada" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "" -+"Retraso en milisegundos de la ventana emergente para ventana del cambiador " -+"IME " -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Establecer retraso de la ventana emergente en milisegundos para la ventana " -+"del cambiador IME. El predeterminado es 400. 0 = Mostrar la ventana " -+"inmediatamente. 0 < milisegundos de retraso. 0 > No mostrar la ventana " -+"ni los motores anteriores o posteriores." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "El número de versión ha sido guardado" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"El número de versión guardado se utilizará para revisar la diferencia entre " -+"la versión del IBUS instalado previamente y uno de los IBUS actuales." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "Usar xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "Ejecutar xmodmap si .xmodmap/.Xmodmap existe." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "Diseño latino que no tiene ASCII" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"Diseño de EE.UU se anexa a los diseños latinos. La variante no es necesaria." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "Lista de diseño XKB se muestra en ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"Lista de diseño XKB la cual se muestra en ibus-setup. El formato es " -+"\"layout\" o \"layout(variant)\"." -+ -+#: ../data/ibus.schemas.in.h:18 -+msgid "Trigger shortcut keys" -+msgstr "Activador de los Atajos de teclado" -+ -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "Activador de los atajos para gtk_accelarator_parse" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "Activador de los Atajos de teclado sin teclas de modificador." -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"Activador de los Atajos de teclado sin teclas de modificador. La lista es " -+"utilizada por ibus-gfs." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "Habilitar atajos de teclado" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "Los atajos de teclado para habilitar el método de entrada" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "Inhabilitar atajos de teclado" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "Los atajos de teclado para inhabilitar el método de entrada" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "Atajo de teclado para el siguiente motor" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" --msgstr "Los atajos de teclado para avanzar al siguiente método de entrada de la lista" -+msgstr "" -+"Los atajos de teclado para avanzar al siguiente método de entrada de la " -+"lista" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "Atajo de teclado para la máquina previa" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" --msgstr "Los atajos de teclado para retroceder al método de entrada anterior en la lista" -+msgstr "" -+"Los atajos de teclado para retroceder al método de entrada anterior en la " -+"lista" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "Auto Ocultar" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "El comportamiento del panel de idioma. 0 = Incrustado en el menú, 1 = Ocultarlo automáticamente, 2 = Mostrarlo siempre" -+msgstr "" -+"El comportamiento del panel de idioma. 0 = Incrustado en el menú, 1 = " -+"Ocultarlo automáticamente, 2 = Mostrarlo siempre" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "Posición del panel de idioma" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "La posicion el panel de idioma. 0 = esquina superior izquierda, 1 = esquina superior derecha, 2 = esquina inferior izquierda, 3 = esquina inferior derecha, 4 = personalizado" -+msgstr "" -+"La posicion el panel de idioma. 0 = esquina superior izquierda, 1 = esquina " -+"superior derecha, 2 = esquina inferior izquierda, 3 = esquina inferior " -+"derecha, 4 = personalizado" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "Orientación de búsqueda en la tabla " - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "Orientación de la tabla de búsqueda. 0 = Horizontal, 1 = Vertical" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "Mostrar el nombre del método de entrada" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "Usar fuente personalizada" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "Usar nombre de fuente personalizada para el panel de idioma" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "Lista de los grupos de diseño de teclado de sistema en ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"La lista de grupo no se utiliza para mostrar todos los diseños de teclado. " -+"El elemento de lista será anexado al final de la tecla gconf. Por ejemplo ..." -+"/xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "Lista de los idiomas europeos ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup muestra los idiomas en la lista del método de entrada cuando " -+"usted ejecuta ibus-setup en uno de los idiomas. Otras lenguas están ocultas " -+"en un botón extendido." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "Lista de idiomas asiáticos en ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "Fuente personalizada" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "Nombre de fuente personalizado para el panel de idioma" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "Insertar texto preeditado" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "Insertar texto previamente editado en la ventana de la aplicación" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "Utilizar método de entrada global" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "Habilitar método de entrada en forma predeterminada" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "Habilitar método de entrada en forma predeterminada cuando la aplicación en uso solicite alguno" -+msgstr "" -+"Habilitar método de entrada en forma predeterminada cuando la aplicación en " -+"uso solicite alguno" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf preserva los prefijos de nombres" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "Prefijos para las claves de DConf para parar la conversión de nombres" - -@@ -384,36 +547,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "Otro" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "Idioma: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "Diseño del teclado: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "Autor: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "Descripción:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "Seleccione un método de entrada" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "Muestra todos los métodos de entrada" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "Muestra únicamente los métodos de entrada para su región" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -433,118 +608,159 @@ - msgid "Modifiers:" - msgstr "Modificadores:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "Por favor, presione una tecla (o una combinación de tecla).\nEl diálogo será cerrado cuando la tecla sea soltada." -+msgstr "" -+"Por favor, presione una tecla (o una combinación de tecla).\n" -+"El diálogo será cerrado al soltar la tecla." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "Por favor, presione una tecla (o combinación de teclas)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "activador" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "habilitar" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "Inhabilitar" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"Usa el atajo con la tecla de flecha arriba (shift) para cambiar al método de " -+"entrada anterior" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"La lista de sus métodos de entrada guardados será eliminada inmediatamente y " -+"será configurada cada vez por el idioma de ingreso. ¿Está de acuerdo con " -+"esto?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "El demonio IBus no se está ejecutando. ¿Desea iniciarlo?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"¡IBus fue iniciado! Si no puede usar IBus, agregue las siguientes líneas a " -+"su $HOME/.bashrc; luego vuelva a ingresar a su cuenta.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "¡IBus fue iniciado! Sin no puede usar IBus, agregue las siguientes líneas a su $HOME/.bashrc; luego vuelga a ingresar a su cuenta.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "El demonio IBus no se pudo iniciar en %d segundos" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "Seleccione la tecla de atajo para %s" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "cambiando métodos de entrada" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "Listar sólo los nombres de máquinas" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "comando [OPCIONES]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "No se puede conectar a IBus.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "idioma: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "No se configuró la máquina.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "Falló la configuración de la máquina global.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "Falló al obtener la máquina global.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "Lea la memoria cache del registro de sistema" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "Lea la cache de registro FILE." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "El cambio del diseño de xkb a %s falló." -+msgid "The registry cache is invalid.\n" -+msgstr "La cache de registro es inválida.\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "Escribir la cache de registro de sistema." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "Escribir cache de registro FILE." -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "USO: %s COMANDO [OPCIÓN...]\n" - "\n" --msgstr "USO: %s COMANDO [OPCION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "Comandos:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "¡%s es un comando desconocido!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "Actualización de IBus" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+Espacio es ahora la tecla de atajo predeterminada." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus es un bus de entrada inteligente para Linux/Unix." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "Domingo Becker, , 2009" - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "Reiniciar" -diff -urN a/ibus-1.5.3/po/fr.po b/ibus-1.5.3/po/fr.po ---- a/ibus-1.5.3/po/fr.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/fr.po 2013-12-04 18:19:35.501917350 +0530 -@@ -10,19 +10,21 @@ - # , 2012. - # Julien Humbert , 2009, 2010, 2011. - # Sam Friedmann , 2010. -+# Sam Friedmann , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-10-15 03:22+0000\n" --"Last-Translator: dominique \n" -+"PO-Revision-Date: 2013-10-21 02:08-0400\n" -+"Last-Translator: Sam Friedmann \n" - "Language-Team: French \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: fr\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -64,33 +66,39 @@ - msgid "Always" - msgstr "Toujours afficher" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "Préférences de IBus" - - #: ../setup/setup.ui.h:12 - msgid "The shortcut keys for switching to next input method in the list" --msgstr "Raccourci clavier pour passer à la méthode d'entrée suivante de la liste" -+msgstr "" -+"Raccourci clavier pour passer à la méthode de saisie suivante de la liste" - - #: ../setup/setup.ui.h:13 - msgid "Next input method:" --msgstr "Méthode d'entrée suivante :" -+msgstr "Méthode de saisie suivante :" - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "Raccourci clavier pour revenir à la méthode d'entrée précédente de la liste" -+msgstr "" -+"Raccourci clavier pour revenir à la méthode de saisie précédente de la liste" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" --msgstr "Méthode d'entrée précédente :" -+msgstr "Méthode de saisie précédente :" - - #: ../setup/setup.ui.h:16 - msgid "..." - msgstr "…" - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "Sélection des raccourcis claviers pour activer ou désactiver les méthodes d'entrées" -+msgstr "" -+"Sélection des raccourcis claviers pour activer ou désactiver les méthodes de " -+"saisies" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -128,17 +136,21 @@ - msgid "Language panel position:" - msgstr "Afficher la barre de langue :" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "Afficher l'icône dans la boîte à miniatures" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" --msgstr "Afficher le nom de la méthode d'entrée sur la barre de langue" -+msgstr "Afficher le nom de la méthode de saisie sur la barre de langue" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "Afficher le nom de la méthode d'entrée sur la barre de langue lorsque la case est cochée" -+msgstr "" -+"Afficher le nom de la méthode de saisie sur la barre de langue lorsque la " -+"case est cochée" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -146,7 +158,9 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "Insérer le texte en cours d'édition par la méthode d'entrée dans la fenêtre de l'application" -+msgstr "" -+"Insérer le texte en cours d'édition par la méthode de saisie dans la fenêtre " -+"de l'application" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -161,65 +175,85 @@ - msgstr "Général" - - #: ../setup/setup.ui.h:35 --msgid "Add the selected input method into the enabled input methods" --msgstr "Ajouter la méthode d'entrée selectionnée aux méthodes d'entrée actives" -+msgid "Customize active input _methods" -+msgstr "Personnaliser les _méthodes de saisies actives" - - #: ../setup/setup.ui.h:36 --msgid "Remove the selected input method from the enabled input methods" --msgstr "Supprimer la méthode d'entrée sélectionnée des méthodes d'entrées actives" -+msgid "Customize active input methods" -+msgstr "Personnaliser les méthodes de saisies actives" - - #: ../setup/setup.ui.h:37 --msgid "Move up the selected input method in the enabled input methods list" --msgstr "Déplacer vers le haut la méthode d'entrée sélectionnée dans la liste des méthodes d'entrée actives" -+msgid "Add the selected input method into the enabled input methods" -+msgstr "" -+"Ajouter la méthode de saisie sélectionnée aux méthodes de saisie actives" - - #: ../setup/setup.ui.h:38 --msgid "Move down the selected input method in the enabled input methods" --msgstr "Déplacer vers le bas la méthode d'entrée sélectionnée dans la liste des méthodes d'entrée actives" -+msgid "Remove the selected input method from the enabled input methods" -+msgstr "" -+"Supprimer la méthode de saisie sélectionnée des méthodes de saisies actives" - - #: ../setup/setup.ui.h:39 --msgid "Show information of the selected input method" --msgstr "Afficher les informations de la méthode d'entrée sélectionnée" -+msgid "Move up the selected input method in the enabled input methods list" -+msgstr "" -+"Déplacer vers le haut la méthode de saisie sélectionnée dans la liste des " -+"méthodes de saisie actives" - - #: ../setup/setup.ui.h:40 --msgid "Show setup of the selected input method" --msgstr "Afficher le paramétrage de la méthode d'entrée sélectectionnée" -+msgid "Move down the selected input method in the enabled input methods" -+msgstr "" -+"Déplacer vers le bas la méthode de saisie sélectionnée dans la liste des " -+"méthodes de saisie actives" - - #: ../setup/setup.ui.h:41 -+msgid "Show information of the selected input method" -+msgstr "Afficher les informations de la méthode de saisie sélectionnée" -+ -+#: ../setup/setup.ui.h:42 -+msgid "Show setup of the selected input method" -+msgstr "Afficher le paramétrage de la méthode de saisie sélectionnée" -+ -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "La méthode d'entrée par défaut se trouve en haut de la liste.\nUtilisez les boutons « Monter/Descendre » pour changer l'ordre." -+msgstr "" -+"La méthode de saisie par défaut se trouve en haut de la liste.\n" -+"Utilisez les boutons « Monter/Descendre » pour changer l'ordre." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" --msgstr "Méthode d'entrée" -+msgstr "Méthode de saisie" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "Utiliser la disposition clavier système" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "Utiliser la disposition clavier système (XKB)" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "Disposition du clavier" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" --msgstr "Partager la même méthode d'entrée pour toutes les applications" -+msgstr "Partager la même méthode de saisie pour toutes les applications" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" --msgstr "Configuration de la méthode d'éntrée globale" -+msgstr "Configuration de la méthode de saisie globale" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "Avancé" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -227,194 +261,331 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nThe intelligent input bus\nPage d'accueil : http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"The intelligent input bus\n" -+"Page d'accueil : http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "Démarrer IBus lors de la connexion" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "Démarrage" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "À propos" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "Framework de méthode de saisie" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "Démarrer le framework de méthode de saisie IBus" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "Mode moteur préchargé" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"Les moteurs préchargés sont chargés avec ce mode. 0 = moteurs personnalisés " -+"par l'utilisateur. 1 = moteurs liés aux langues." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "La clé preload_engines est initialisée" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "Précharger les moteurs" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "Précharger les moteurs au démarrage d'ibus" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "Ordre des moteurs" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "Ordre des moteurs enregistré dans la liste des méthodes de saisie" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" - msgstr "" -+"Millisecondes de délai du popup pour la fenêtre du sélecteur de méthode de " -+"saisie IME" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Définit les millisecondes de délai du popup pour afficher la fenêtre du " -+"sélecteur IME.La valeur par défaut est 400. 0 = Afficher la fenêtre " -+"immédiatement. 0 < Délai de millisecondes. 0 > Ne pas afficher la " -+"fenêtre et sélectionner les moteurs suivants ou précédents." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "Numéro de version enregistré" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"Le numéro de version enregistré sera utilisé pour vérifier la différence " -+"entre la version ibus précédemment installée et l'un des ibus actuel." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "Utiliser xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "Exécuter xmodmap si .xmodmap/.Xmodmap existe." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "Disposition de clavier latin qui ne possède pas ASCII" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"la disposition US est attachée aux dispositions latines. Une variante n'est " -+"pas nécessaire." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "Liste de disposition XKB affichée lors de ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"Liste de disposition XKB affichée lors de ibus-setup. Le format est " -+"« layout » ou « layout(variant) »." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" --msgstr "Raccourci clavier déclencheur" -+msgstr "Raccourcis clavier déclencheurs" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "Raccourcis clavier déclencheurs pour gtk_accelerator_parse" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "Raccourcis clavier déclencheurs sans clés de modification" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"Raccourcis clavier déclencheurs sans clés de modification. La liste est " -+"utilisée par ibus-gjs." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "Activer les raccourcis clavier" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" --msgstr "Les raccourcis clavier pour la méthode d'entrée sont activés" -+msgstr "Les raccourcis clavier pour la méthode de saisie sont activés" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "Désactiver les raccourcis clavier" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" --msgstr "Les raccourcis clavier pour la méthode d'entrée sont désactivés" -+msgstr "Les raccourcis clavier pour la méthode de saisie sont désactivés" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "Raccourci clavier pour passer au moteur suivant" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" --msgstr "Raccourci clavier pour passer à la méthode d'entrée suivante de la liste" -+msgstr "" -+"Raccourci clavier pour passer à la méthode de saisie suivante de la liste" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "Raccourci clavier pour revenir au moteur précédent" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" --msgstr "Raccourci clavier pour revenir à la méthode d'entrée précédente" -+msgstr "Raccourci clavier pour revenir à la méthode de saisie précédente" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "Masquage automatique" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "Sélection du comportement d'affichage de la liste des candidats. 0 = Insérée dans le menu, 1 = Masquer automatiquement, 2 = Toujours afficher" -+msgstr "" -+"Sélection du comportement d'affichage de la liste des candidats. 0 = Insérée " -+"dans le menu, 1 = Masquer automatiquement, 2 = Toujours afficher" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "Position de la barre" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "Position de la barre de langue. 0 = Coin supérieur gauche, 1 = Coin supérieur droit, 2 = Coin inférieur gauche, 3 = Coin inférieur droit, 4 = Personnalisé" -+msgstr "" -+"Position de la barre de langue. 0 = Coin supérieur gauche, 1 = Coin " -+"supérieur droit, 2 = Coin inférieur gauche, 3 = Coin inférieur droit, 4 = " -+"Personnalisé" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "Orientation de la liste des candidats" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "Orientation de la liste des candidats. 0 = Horizontale, 1 = Verticale" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" --msgstr "Afficher le nom de la méthode d'entrée" -+msgstr "Afficher le nom de la méthode de saisie" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "Utiliser une police personnalisée :" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "Utiliser une police personnalisée pour la barre de langue" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "Liste des groupes de disposition de clavier du système sur ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"La liste des groupes est utilisée pour ne pas afficher par défaut toutes les " -+"dispositions de clavier du système. L'élément de la liste sera ajouté à la " -+"fin de la clé gconf. Par ex. : .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "Liste des langues européennes sur ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup affiche les langues uniquement dans la liste de la méthode de " -+"saisie lorsque vous exécutez ibus-setup sur l'une des langues. Les autres " -+"langues sont cachées sous un bouton étendu." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "Liste des langues asiatiques sur ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "Police personnalisée" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "Police personnalisée pour le panneau de langue" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "Insérer le texte en cours d'édition" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "Insérer le texte en cours d'édition dans la fenêtre de l'application" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "Utiliser la méthode d'éntrée globale" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" --msgstr "Par défaut, activer la méthode d'entrée" -+msgstr "Par défaut, activer la méthode de saisie" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "Par défaut, activer la méthode d'entrée lorsque l'application reçoit le focus" -+msgstr "" -+"Par défaut, activer la méthode de saisie lorsque l'application reçoit le " -+"focus" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf préserve les préfixes de noms" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "Les préfixes des clés DConf arrêtent les conversion de noms" - - #: ../ibus/_config.py.in:41 - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "Autre" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "Langue : %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "Disposition du clavier : %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "Auteur : %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "Description :\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" --msgstr "Sélectionnez une méthode d'entrée" -+msgstr "Sélectionnez une méthode de saisie" -+ -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "Afficher toutes les méthodes de saisie" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "Afficher les méthodes de saisie pour votre région uniquement" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -434,118 +605,160 @@ - msgid "Modifiers:" - msgstr "Modificateurs :" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "Veuillez appuyer sur une touche (ou une combinaison de touches).\nLa boîte de dialogue se fermera lorsque la touche sera relâchée." -+msgstr "" -+"Veuillez appuyer sur une touche (ou une combinaison de touches).\n" -+"La boîte de dialogue se fermera lorsque la touche sera relâchée." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "Veuillez appuyer sur une touche (ou une combinaison de touches)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "déclencheur" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "activer" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "désactiver" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"Utiliser le raccourci avec le bouton « shift » (« Maj. ») pour sélectionner " -+"la méthode de saisie précédente" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"La liste de vos méthodes de saisie enregistrées sera immédiatement supprimée " -+"et la liste sera configurée par la langue de connexion à chaque fois. Êtes-" -+"vous d'accord avec ceci ?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "" -+"Le démon IBus n'est pas en cours d'exécution. Souhaitez-vous le lancer ?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - msgstr "" -+"IBus a été lancé ! Si vous ne pouvez pas utiliser IBus, veuillez ajouter les " -+"lignes suivantes à $HOME/.bashrc; puis reconnectez-vous à votre bureau.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" --msgstr "" -+msgstr "Le démon IBus n'a pas pu être lancé en %d secondes" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" --msgstr "Raccourci clavier pour %s" -+msgstr "Sélectionnez le raccourci clavier pour %s" - --#: ../tools/main.vala:40 --msgid "List engine name only" --msgstr "" -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "changement de méthode de saisie" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "" -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "Répertorier les noms de moteur uniquement" - --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" --msgstr "" -+msgstr "Impossible de se connecter à IBus.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" --msgstr "" -+msgstr "langue : %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" --msgstr "" -+msgstr "Aucun moteur paramétré.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" --msgstr "" -+msgstr "Échec du paramétrage du moteur global.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" --msgstr "" -+msgstr "Échec de l'obtention du moteur global.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "Lire le cache du registre système." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "Lire le FILE du cache du registre." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "" -+msgid "The registry cache is invalid.\n" -+msgstr "Le cache du registre est invalide.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "Écrire le cache du registre système." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "Écrire sur leFILE du cache du registre." - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "Utilisation : %s COMMAND [OPTION...]\n" - "\n" --msgstr "" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" --msgstr "" -+msgstr "Commandes :\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" --msgstr "" -+msgstr "%s est une commande inconnue !\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "Mise à jour d'IBus" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+espace est maintenant la touche d'accès rapide." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" --msgstr "" -+msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus est un IME intelligent pour Linux/Unix" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "Julien Humbert " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "Redémarrer" -diff -urN a/ibus-1.5.3/po/gu.po b/ibus-1.5.3/po/gu.po ---- a/ibus-1.5.3/po/gu.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/gu.po 2013-12-04 18:19:35.502917360 +0530 -@@ -7,19 +7,29 @@ - # Ankit Patel , 2010. - # Sweta Kothari , 2009-2010. - # sweta , 2011-2012. -+# translation of ibus.pot to Source -+# Source translation of ibus. -+# Copyright (C) 2008-2013 Peng Huang -+# Ankit Patel , 2010 -+# fujiwara , 2011 -+# sweta , 2009-2010 -+# sweta , 2011-2013 -+# sweta , 2013 -+# swkothar , 2013. #zanata - msgid "" - msgstr "" --"Project-Id-Version: ibus.master.gu\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-20 09:23+0000\n" --"Last-Translator: sweta \n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-09-27 05:43-0400\n" -+"Last-Translator: swkothar \n" - "Language-Team: Gujarati \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: gu\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -61,7 +71,8 @@ - msgid "Always" - msgstr "હંમેશા" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus પસંદગીઓ" - -@@ -85,7 +96,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "ઇનપુટ પદ્દતિને ફેરબદલી કરવાનું ચાલુ અથવા ા બંધ કરવા માટે ટૂંકાણ કીઓ" - -@@ -115,7 +127,9 @@ - - #: ../setup/setup.ui.h:24 - msgid "Set the behavior of ibus how to show or hide language bar" --msgstr "ભાષા પેનલને કેવી રીતે બતાવવી અથવા છુપાડવી તે માટે ibus નાં વર્ણતૂકને સુયોજિત કરો" -+msgstr "" -+"ભાષા પેનલને કેવી રીતે બતાવવી અથવા છુપાડવી તે માટે ibus નાં વર્ણતૂકને સુયોજિત " -+"કરો" - - #: ../setup/setup.ui.h:25 - msgid "Show language panel:" -@@ -125,17 +139,20 @@ - msgid "Language panel position:" - msgstr "ભાષા પેનલનું સ્થાન:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "સિસ્ટમ ટ્રે પર ચિહ્નને બતાવો" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ભાષા પેનલ પર ઇનપુટ પદ્દતિ નામને બતાવો" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "જ્યારે ચેકબોક્સને ચકાસતા હોય ત્યારે ભાષા પેનલ પર ઇનપુટ પદ્દતિનાં નામને બતાવો" -+msgstr "" -+"જ્યારે ચેકબોક્સને ચકાસતા હોય ત્યારે ભાષા પેનલ પર ઇનપુટ પદ્દતિનાં નામને બતાવો" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -158,65 +175,79 @@ - msgstr "સામાન્ય" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "સક્રિય ઇનપુટ પદ્દતિઓને વૈવિધ્યપૂર્ણ બનાવો (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "સક્રિય ઇનપુટ પદ્દતિઓને વૈવિધ્યપૂર્ણ બનાવો" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "સક્રિય થયેલ ઇનપુટ પદ્દતિઓમાં પસંદ થયેલ ઇનપુટ પદ્દતિને ઉમેરો" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "સક્રિય થયેલ ઇનપુટ પદ્દતિઓ માંથી પસંદ થયેલ ઇનપુટ પદ્દતિને દૂર કરો" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "સક્રિય થયેલ ઇનપુટ પદ્દતિઓ યાદીમાં પસંદ થયેલ ઇનપુટ પદ્દતિને ઉપર ખસેડો" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "સક્રિય થયેલ ઇનપુટ પદ્દતિઓમાં પસંદ થયેલ ઇનપુટ પદ્દતિને નીચે ખસેડો" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "પસંદ થયેલ ઇનપુટ પદ્દતિની જાણકારીને બતાવો" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "પસંદ થયેલ ઇનપુટ પદ્દતિનાં સુયોજનને બતાવો" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "મૂળભૂત ઇનપુટ પદ્દતિ યાદીમાં ઉપર છે.\nતેને બદલવા માટે તમે ઉપર કરો/નીચે કરો બટનોને વાપરી શકો છો." -+msgstr "" -+"મૂળભૂત ઇનપુટ પદ્દતિ યાદીમાં ઉપર છે.\n" -+"તેને બદલવા માટે તમે ઉપર કરો/નીચે કરો બટનોને વાપરી શકો છો." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ઇનપુટ પદ્દતિ" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "સિસ્ટમ કિબોર્ડ લેઆઉટને વાપરો" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "સિસ્ટમ કિબોર્ડ (XKB) લેઆઉટને વાપરો" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "કિબોર્ડ લેઆઉટ" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "બધા કાર્યક્રમોમાં એજ ઇનપુટ પદ્દતિને વહેંચો" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "વૈશ્ર્વિક ઇનપુટ પદ્દતિ સુયોજનો" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "ઉન્નત" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -224,157 +255,270 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nહોશિયાર ઇનપુટ બસ\nઘરપાનું: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"હોશિયાર ઇનપુટ બસ\n" -+"ઘરપાનું: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "પ્રવેશ પર ibus ને શરૂ કરો" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "શરૂઆત કરો" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "વિશે" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ઇનપુટ પદ્દતિ ફ્રેમવર્ક" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ઇનપુટ પદ્દતિ ફ્રેમવર્કને શરૂ કરો" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "પહેલેથી લાવેલ એંજિન સ્થિતિ" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"પહેલેથી લાવેલ એંજિનોને આ સ્થિતિ સાથે લાવેલ છે. 0 = વપરાશકર્તા વૈવિધ્યપૂર્ણ " -+"એંજિન. 1 = ભાષા સંબંધિત એંજિન." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "કિ પહેલેથી લાવેલ એંજિનોની શરૂઆત થયેલ છે (_e)" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "એંજિનોને ફરીથી લોડ કરો" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus શરૂ કરવા દરમ્યાન એંજિનોને ફરીથી લોડ કરો" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "એંજિન ક્રમ" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ઇનપુટ પદ્દતિ યાદીમાં સંગ્રહેલ એંજિન ક્રમ" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME સ્વીચર વિન્ડો માટે પોપઅપનો મિલીસેકંડનો વિલંબ" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME સ્વીચર વિન્ડોને બતાવવા માટે મિલિસેકંડનો વિલંબ સુયોજિત કરો. મૂળભૂત 400 છે." -+" 0 = વિન્ડોને તરત જ બતાવો. 0 < મિલિસેકંડમાં વિલંબ. 0 > વિન્ડોને બતાવો " -+"નહિં અને પહેલાંનુ/પછીનાં એંજિનને બદલો." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "સંગ્રહેલ આવૃત્તિ નંબર" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"પહેલાંની સ્થાપિત થયેલ ibus અને હાલની ibus ની એકની આવૃત્તિ વચ્ચે તફાવત ચકાસવા " -+"માટે સંગ્રહેલ આવૃત્તિ નંબરને વાપરેલ હશે." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ને વાપરો" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "xmodmap ચલાવો જો .xmodmap/.Xmodmap અસ્તિત્વમાં હોય." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "લેટિન લેઆઉટ કે જેની પાસે ASCII નથી" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "us લેઆઉટ લેટિન લેઆઉટ સાથે જોડાયેલ છે. ચલની જરૂરિયાત નથી." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB લેઆઉટ યાદી કે જે ibus-setup પર બતાવેલ છે" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB લેઆઉટ યાદી કે જે ibus-setup પર બતાવેલ છે. બંધારણ \"લેઆઉટ\" અથવા " -+"\"લેઆઉટ(ચલ)\" છે." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "ટ્રીગર ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse માટે ટ્રીગર ટૂંકાણ કી" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "સંપાદિત કી વગર ટ્રીગર ટૂંકાણ કી" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "સંપાદિત કી વગર ટ્રીગર ટૂંકાણ કી. યાદી એ ibus-gjs દ્દારા વાપરેલ છે." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "ટૂંકાણ કીઓને સક્રિય કરો" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ઇનપુટ પદ્દતિને ચાલુ કરવા માટે ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "ટૂંકાણ કીઓને નિષ્ક્રિય કરો" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ઇનપુટ પદ્દતિને બંધ કરવા માટે ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "પછીની એંજિન ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "યાદીમાં પછીની ઇનપુટ પદ્દતિને બદલવા માટે ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "પહેલાંની એંજિન ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "યાદીમાં પહેલાંની ઇનપુટ પદ્દતિને લાવવા માટે ટૂંકાણ કીઓ" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "આપમેળે છુપાવો" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "ભાષા પેનલની વર્ણતૂક. 0 = હંમેશા છુપાવો, 1 = આપમેળે છુપાવો, 2 = હંમેશા બતાવો" -+msgstr "" -+"ભાષા પેનલની વર્ણતૂક. 0 = હંમેશા છુપાવો, 1 = આપમેળે છુપાવો, 2 = હંમેશા બતાવો" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ભાષા પેનલ સ્થાન" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "ભાષા પેનલનું સ્થાન. ૦ = ઉંચે ડાબી બાજુનો ખૂણો, ૧ = ઉંચે જમણી બાજુનો ખૂણો, ૨ = નીચે ડાબી બાજુનો ખૂણો, ૩ = નીચે જમણી બાજુનો ખૂણો, ૪ = વૈવિધ્ય" -+msgstr "" -+"ભાષા પેનલનું સ્થાન. ૦ = ઉંચે ડાબી બાજુનો ખૂણો, ૧ = ઉંચે જમણી બાજુનો ખૂણો, ૨ =" -+" નીચે ડાબી બાજુનો ખૂણો, ૩ = નીચે જમણી બાજુનો ખૂણો, ૪ = વૈવિધ્ય" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "કોષ્ટકને જોવાની દિશા" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "કોષ્ટકને જોવાની દિશા. 0 = આડુ, 1 = ઊભુ " - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ઇનપુટ પદ્દતિ નામને બતાવો" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "વૈવિધ્ય ફોન્ટને વાપરો" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "ભાષા પેનલ માટે વૈવિધેય ફોન્ટ નામ ને વાપરો" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup પર સિસ્ટમ કિબોર્ડ લેઆઉટની યાદી" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"મૂળભૂત યાદી એ મૂળભૂત રીતે બધા સિસ્ટમ કિબોર્ડ લેઆઉટને બતાવવા માટે વાપરેલ નથી. " -+"યાદી વસ્તુ gconf કીને અંતે જોડાયેલ હશે. દા.ત. .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup પર યુરોપિયન ભાષાઓની યાદી" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup એ ઇનપુટ પદ્દતિ યાદીમાં ફક્ત ભાષાઓને બતાવે છે જ્યારે તમે કોઇપણ " -+"ભાષામાંની એક પર ibus-setup ને ચલાવો. બીજી ભાષાઓ વિસ્તરેલ બટન હેઠળ છુપાયેલ છે." -+"" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup પર એશિયન ભાષાઓની યાદી" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "વૈવિધ્ય ફોન્ટ" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ભાષા પેનલ માટે વૈવિધ્ય ફોન્ટ નામ" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "બેસાડેલ Preedit લખાણ" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "કાર્યક્રમ વિન્ડોમાં બેસાડેલ Preedit લખાણ" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "વૈશ્ર્વિક ઇનપુટ પદ્દતિને વાપરો" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "મૂળભૂત રીતે ઇનપુટ પદ્દતિને સક્રિય કરો" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "મૂળભૂત રીતે ઇનપુટ પદ્દતિને સક્રિય કરો જ્યારે કાર્યક્રમને ઇનપુટ ફોકસ મળે છે" -+msgstr "" -+"મૂળભૂત રીતે ઇનપુટ પદ્દતિને સક્રિય કરો જ્યારે કાર્યક્રમને ઇનપુટ ફોકસ મળે છે" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf નામ ઉપસર્ગને સાચવે છે" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "નામનું રૂપાંતરણને બંધ કરવા માટે DConf કીઓનાં ઉપસર્ગો" - -@@ -382,36 +526,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "બીજા" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ભાષા: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "કિબોર્ડ લેઆઉટ: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "લેખક: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "વર્ણન:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ઇનપુટ પદ્દતિને પસંદ કરો" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "બધી ઇનપુટ પદ્દતિને બતાવો" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "ફક્ત તમારાં વિસ્તારની ઇનપુટ પદ્દતિને બતાવો" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -431,118 +587,156 @@ - msgid "Modifiers:" - msgstr "બદલનારો:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "મહેરબાની કરીને કીને દબાવો (અથવા કી સંયોજન).\nસંવાદ એ બંધ થયેલ હશે જ્યારે કી પ્રકાશિત થયેલ હોય તો." -+msgstr "" -+"મહેરબાની કરીને કીને દબાવો (અથવા કી સંયોજન).\n" -+"સંવાદ એ બંધ થયેલ હશે જ્યારે કી પ્રકાશિત થયેલ હોય તો." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "મહેરબાની કરીને કી ને દબાવો (અથવા કી સંયોજન)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ટ્રીગર" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "સક્રિય" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "નિષ્ક્રિય" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "પહેલાંની ઇનપુટ પદ્દતિને બદલવા shift સાથે ટૂંકાણ વાપરો" - --#: ../setup/main.py:331 -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"તમારી સંગ્રહેલ ઇનપુટ પદ્દતિઓની યાદી એ તરત જ સાફ થઇ જશે અને દરેક વખતે ભાષામાં " -+"પ્રવેશીને યાદી રૂપરેખાંકિત થશે. શું તમે આની સાથે સંમત છો?" -+ -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus ડિમન ચાલી રહ્યુ નથી. શું તમે તેને શરૂ કરવા ઇચ્છો છો?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus ને શરૂ કરી દેવામાં આવી છે! જો તમે IBus ને વાપરી શકતા ન હોય તો, તમારી " -+"$HOME/.bashrc માં નીચેના વાક્યોને ઉમેરો; પછી ડેસ્કટોપમાં પુન:લોગ કરો.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus ને શરૂ કરી દેવામાં આવી છે! જો તમે IBus ને વાપરી શકતા ન હોય તો, તમારી $HOME/.bashrc માં નીચેના વાક્યોને ઉમેરો; પછી ડેસ્કટોપમાં પુન:લોગ કરો.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus ડિમન %d સેકંડમાં શરૂ કરી શક્યા નહિં" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s માટે કિબોર્ડ ટૂંકાણોને પસંદ કરો" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ઇનપુટ પદ્દતિને બદલી રહ્યા છે" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "ફક્ત એંજિન નામની યાદી કરો" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "આદેશ [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus માં જોડી શકાતુ નથી.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "ભાષા: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "એજિંન સુયોજિત નથી.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "વૈશ્ર્વિક એંજિનને સુયોજિત કરવામાં નિષ્ફળતા.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "વૈશ્ર્વિક એંજિનને મેળવવામાં નિષ્ફળતા.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "સિસ્ટમ રજીસ્ટરી કેશને વાંચો." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "રજીસ્ટરી કેશ FILE ને વાંચો." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "%s માં xkb લેઆઉટને બદલવામાં નિષ્ફળતા." -+msgid "The registry cache is invalid.\n" -+msgstr "રજીસ્ટરી કેશ અયોગ્ય છે.\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "સિસ્ટમ રજીસ્ટરી કેશને લખો." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "રજીસ્ટરી કેશ FILE ને લખો." -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "વપરાશ: %s COMMAND [OPTION...]\n" - "\n" --msgstr "વપરાશ: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "આદેશો:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s એ અજ્ઞાત આદેશ છે!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus સુધારો" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space એ હવે મૂળભૂત હોટકી છે." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus એ Linux/Unix માટે હોશિયાર ઇનપુટ બસ છે." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "શ્ર્વેતા કોઠારી " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "પુન:શરૂ કરો" -diff -urN a/ibus-1.5.3/po/hi.po b/ibus-1.5.3/po/hi.po ---- a/ibus-1.5.3/po/hi.po 2013-12-04 18:18:56.970587209 +0530 -+++ b/ibus-1.5.3/po/hi.po 2013-12-04 18:19:35.502917360 +0530 -@@ -6,19 +6,21 @@ - # Translators: - # Rajesh Ranjan , 2009. - # Rajesh Ranjan , 2009,2011-2012. -+# rranjan , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-21 07:21+0000\n" --"Last-Translator: Rajesh Ranjan \n" -+"PO-Revision-Date: 2013-11-01 07:04-0400\n" -+"Last-Translator: rranjan \n" - "Language-Team: Hindi \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: hi\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -60,7 +62,8 @@ - msgid "Always" - msgstr "हमेशा" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus वरीयता" - -@@ -84,7 +87,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "इनपुट विधि को चालू या बंद रखने के लिए शॉर्टकट कुंजी" - -@@ -124,11 +128,13 @@ - msgid "Language panel position:" - msgstr "भाषा पैनल स्थिति:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "तंत्र तश्तरी पर प्रतीक दिखाएँ" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "भाषा पट्टी पर इनपुट विधि नाम दिखाएँ" - -@@ -142,7 +148,8 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "इनपुट विधि के पूर्वसंपादित पाठ को अनुप्रयोग विंडो में अंतःस्थापित करें" -+msgstr "" -+"इनपुट विधि के पूर्वसंपादित पाठ को अनुप्रयोग विंडो में अंतःस्थापित करें" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -157,65 +164,79 @@ - msgstr "सामान्य" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "सक्रिय इनपुट विधि मनपसंद बनाएँ (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "सक्रिय इनपुट विधि मनपसंद बनाएँ" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "सक्रिय किए गए इनपुट विधि में चुनी गई इनपुट विधियों को जोड़ें" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "सक्रिय की गई इनपुट विधियों में चुनी गई इनपुट विधियों हटाएँ" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "सक्रिय की गई इनपुट विधि सूची में चुनी गई इनपुट विधियों को ले जाएँ" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "सक्रिय की गई इनपुट विधियों में चुनी गई इनपुट विधियों को खिसकाएँ" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "चुनी गई इनपुट विधि की सूचना दिखाएँ" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "चुने गए इनपुट विधि का सेटअप दिखाएँ" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "तयशुदा इनपुट विधि सूची में सबसे ऊपर है.\nआप ऊपर/नीचे बटन को इसे बदलने के लिए प्रयोग कर सकते हैं." -+msgstr "" -+"तयशुदा इनपुट विधि सूची में सबसे ऊपर है.\n" -+"आप ऊपर/नीचे बटन को इसे बदलने के लिए प्रयोग कर सकते हैं." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "इनपुट विधि" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "तंत्र कुंजीपट लेआउट का प्रयोग करें" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "तंत्र कुंजीपट (XKB) लेआउट का प्रयोग करें" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "कुंजीपट लेआउट" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "सभी अनुप्रयोगों के बीच समान इनपुट विधि को साझा करें" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "कोई इनपुट विधि चुनें" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "उन्नत" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -223,157 +244,273 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nतेज-तर्रार इनपुट बस\nहोमपेज: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"तेज-तर्रार इनपुट बस\n" -+"होमपेज: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "लॉगिन पर ibus आरंभ करें" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "स्टार्टअप" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "परिचय" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "IBus विधि फ्रेमवर्क" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus इनपुट विधि फ्रेमवर्क आरंभ करें" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "प्रीलोड ईंजन अवस्था" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"प्रीलोड ईंजन को इस अवस्था से लोड किया जाता है. 0 = उपयोक्ता द्वारा मनपसंद " -+"किया ईंजन. 1 = भाषा संबंधी ईंजन." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "कुंजी preload_engines आरंभ किया गया है" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "पहले से लोड इंजन" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus आरंभन के दौरान पहले से लोड इंजन" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "इंजन क्रम" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "इंजन क्रम को इनपुट विधि सूची में सहेजा" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME स्विचर विंडो के लिए विलंबित मिलीसेकेंड पॉपअप करें" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME स्विचर विंडो दिखाने के लिए पॉपअप विलंब मिलीसेकेंड सेट करें. तयशुदा 400 " -+"है. 0 = विंडो तत्काल दिखाएँ. 0 < विलंब मिलीसेकेंड. 0 > विंडो को मत " -+"दिखाएँ और पिछला/अगला ईंजन मत दिखाएँ." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "सहेजा संस्करण संख्या" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"सहेजा संस्करण संख्या को पहले से संस्थापित ibus और अभी के मौजूदा ibus से " -+"संस्करण के बीच अंतर करने के लिए उपयोग किया जाएगा." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap का उपयोग करें" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "xmodmap चलाएँ यदि .xmodmap/.Xmodmap मौजूद है." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "लैटिन ख़ाका जिसमें ASCII नहीं है" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "यूएस ख़ाका लैटिन ख़ाका में स्वीकार है. चर जरूरी नहीं है." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB ख़ाका जो ibus-setup पर दिखाया गया है" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB ख़ाका सूची जो कि ibus-setup पर दिखाया गया है. \"layout\" या " -+"\"layout(variant)\" प्रारूप है." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "शॉर्टकट कुंजी ट्रिगर करें" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse के लिए लघुकुँजी ट्रिगर करें" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "बिना मॉडिफायर कुँझी के लघुकुँजी ट्रिगर करें" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"बिना मॉडिफायर कुँझी के लघुकुँजी ट्रिगर करें. सूची को ibus-gjs के द्वारा " -+"प्रयोग किया गया है." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "शॉर्टकट कुँजियाँ सक्रिय करें" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "इनपुट विधि को चालू करने के लिए शॉर्टकट कुँजियाँ" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "शॉर्टकट कुँजियाँ निष्क्रिय करें" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "इनपुट विधि को बंद करने के लिए शॉर्टकट कुँजियाँ" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "अगला इंजन शॉर्टकट कुंजी" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "सूची में अगली इनपुट विधि में जाने के लिए शॉर्टकट कुंजियाँ" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "पिछला इंजन शॉर्टकट कुंजी" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "सूची में पिछली इनपुट विधि में जाने के लिए शॉर्टकट कुंजियाँ" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "स्वतः छुपाएँ" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "भाषा फलक का व्यवहार. 0 = मेन्यू में अंतःस्थापित, 1 = स्वतः छिपाएँ, 2 = हमेशा दिखाएँ" -+msgstr "" -+"भाषा फलक का व्यवहार. 0 = मेन्यू में अंतःस्थापित, 1 = स्वतः छिपाएँ, 2 = हमेशा " -+"दिखाएँ" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "भाषा पैनल स्थिति" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "भाषा पटल की स्थिति. 0 = ऊपरी बायाँ कोना, 1 = ऊपरी दाहिना कोना, 2 = निचला बायां कोना, 3 = निचला दाहिना कोना, 4 = पसंदीदा" -+msgstr "" -+"भाषा पटल की स्थिति. 0 = ऊपरी बायाँ कोना, 1 = ऊपरी दाहिना कोना, 2 = निचला " -+"बायां कोना, 3 = निचला दाहिना कोना, 4 = पसंदीदा" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "लुकअप सारणी की दिशा" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "सारणी देखने के लिए दिशा. 0 = क्षैतिज, 1 = लंबवत" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "इनपुट विधि नाम दिखाएँ" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "मनपसंद फ़ॉन्ट का प्रयोग करें" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "भाषा पटल के लिए मनपसंद फ़ॉन्ट नाम का प्रयोग करें" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup पर तंत्र कुँजीपटल ख़ाका समूह की सूची" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"समूह सूची को तयशुदा रूप से सभी तंत्र कुँजीपटल को दिखाने के लिए प्रयोग नहीं " -+"किया गया है. सूची मद को gconf कुँजी के अंत में जोड़ा जाएगा. जैसे .../" -+"xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup पर यूरोपीय भाषाओं की सूची" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup केवल भाषा को इनपुट सूची में दिखाता है जब आप ibus-setup को किसी एक " -+"भाषा पर चलाते हैं. विस्तारित बटन के अंतर्गत अन्य भाषाएँ छिपी हैं." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup पर एशियाई भाषाओं की सूची" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "मनपसंद फ़ॉन्ट" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "भाषा पटल के लिए मनपसंद फ़ॉन्ट नाम" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "पूर्वसंपादित पाठ अंतःस्थापित करें" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "अनुप्रयोग विंडो में पूर्वसंपादित पाठ अंतःस्थापित करें" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "लक्ष्य इनपुट विधि का प्रयोग करें" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "इनपुट विधि को तयशुदा रूप से सक्रिय करें" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "जब अनुप्रयोग इनपुट फोकस पाता है तो इनपुट विधि को तयशुदा रूप से सक्रिय करें" -+msgstr "" -+"जब अनुप्रयोग इनपुट फोकस पाता है तो इनपुट विधि को तयशुदा रूप से सक्रिय करें" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf नाम उपसर्ग को संरक्षित करता है" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "DConf कुँजी का उपसर्ग नाम वार्तालाप रोकने के लिए" - -@@ -381,36 +518,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "अन्य" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "भाषा: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "कुंजीपट लेआउट: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "लेखक: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "विवरण:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "कोई इनपुट विधि चुनें" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "सभी इनपुट पद्धति दिखाएँ" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "अपने क्षेत्र के लिए केवल इनपुट विधि दिखाएँ" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -430,118 +579,157 @@ - msgid "Modifiers:" - msgstr "परिवर्तनकर्ता:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "कृपया कोई कुंजी दबाएँ (या कोई कुंजी संयोग).\nयह संवाद कुंजी छोड़े जाने पर बंद हो जाएगा." -+msgstr "" -+"कृपया कोई कुंजी दबाएँ (या कोई कुंजी संयोग).\n" -+"यह संवाद कुंजी छोड़े जाने पर बंद हो जाएगा." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "कृपया कोई कुंजी दबाएँ (या कोई कुंजी संयोग)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ट्रिगर" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "सक्रिय करें" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "निष्क्रिय करें" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"शिफ्ट के साथ शॉर्टकट का उपयोग करें ताकि पिछले इनपुट विधि में स्विच कर सकें" - --#: ../setup/main.py:331 -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"आपके सहेजे इनपुट विधि की सूची को तत्काल साफ़ किया जाएगा और सूची को हर बार " -+"लॉगिन भाषा के द्वारा विन्यस्त किया जाएगा. क्या आप इसके लिए सहमत हैं?" -+ -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus डेमॉन चल नहीं रहा है. क्या आप इसे आरंभ करना चाहते हैं?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus को आरंभ किया गया है! यदि आप IBus का उपयोग नहीं करना चाहते हैं, अपने " -+"$HOME/.bashrc; में निम्नलिखित पंक्ति जोड़ें फिर अपने डेस्कटॉप में लॉग करें.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus को आरंभ किया गया है! यदि आप IBus का उपयोग नहीं करना चाहते हैं, अपने $HOME/.bashrc; में निम्नलिखित पंक्ति जोड़ें फिर अपने डेस्कटॉप में लॉग करें.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus %d सेकेंड में आरंभ नहीं हो सका" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s के लिए कुंजीपटल शॉर्टकर्ट चुनें" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "इनपुट विधि स्विच कर रहा है" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "इंजन नाम को केवल सूचीबद्ध करता है" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "command [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus में कनेक्ट नहीं हो सकता है.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "भाषा: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "कोई इंजन सेट नहीं.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "वैश्विक इंजन विफल के रूप में सेट करें.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "वैश्विक इंजन विफल पाएँ.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "तंत्र पंजीयन कैश पढ़ें" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "रजिस्ट्री कैश FILE पढ़ें" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb लेआउट को %s विफल में स्विच करें." -+msgid "The registry cache is invalid.\n" -+msgstr "रजिस्ट्री कैश अवैध है.\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "तंत्र रजिस्ट्री कैश लिखें." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "रजिस्ट्री कैश FILE लिखें" -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "प्रयोग: %s COMMAND [OPTION...]\n" - "\n" --msgstr "प्रयोग: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "कमांड:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s अज्ञात कमांड है!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus अद्यतन" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space तयशुदा हॉटकी अब है." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "कॉपीराइट (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus Linux/Unix के लिए तेज तर्रार इनपुट बस है." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "राजेश रंजन (rranjan@redhat.com)" - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "पुनः प्रारंभ करें" -diff -urN a/ibus-1.5.3/po/it.po b/ibus-1.5.3/po/it.po ---- a/ibus-1.5.3/po/it.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/it.po 2013-12-04 18:19:35.502917360 +0530 -@@ -7,20 +7,22 @@ - # Sergio Zanchetta 2009 - # Gruppo traduzione Italiano di Ubuntu , 2009 - # Milo Casagrande , 2009. -+# fvalen , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: ibus.master\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2012-05-16 10:14+0900\n" --"PO-Revision-Date: 2010-07-30 08:36+1000\n" --"Last-Translator: \n" --"Language-Team: \n" --"Language: \n" -+"PO-Revision-Date: 2013-11-03 07:45-0500\n" -+"Last-Translator: fvalen \n" -+"Language-Team: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"Language: it\n" -+"X-Generator: Zanata 3.1.2\n" - "X-Launchpad-Export-Date: 2009-12-01 17:40+0000\n" --"X-Generator: KBabel 1.11.4\n" -+"Plural-Forms: nplurals=2; plural=(n != 1)\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -31,38 +33,39 @@ - msgstr "Verticale" - - #: ../setup/setup.ui.h:3 --msgid "Embedded in menu" --msgstr "Inserito nel menu" -- --#: ../setup/setup.ui.h:4 --msgid "When active" --msgstr "Quando attivoB" -- --#: ../setup/setup.ui.h:5 --msgid "Always" --msgstr "Sempre" -- --#: ../setup/setup.ui.h:6 - msgid "Top left corner" - msgstr "Angolo superiore sinistro" - --#: ../setup/setup.ui.h:7 -+#: ../setup/setup.ui.h:4 - msgid "Top right corner" - msgstr "Angolo superiore destro" - --#: ../setup/setup.ui.h:8 -+#: ../setup/setup.ui.h:5 - msgid "Bottom left corner" - msgstr "Angolo inferiore sinistro" - --#: ../setup/setup.ui.h:9 -+#: ../setup/setup.ui.h:6 - msgid "Bottom right corner" - msgstr "Angolo inferiore destro" - --#: ../setup/setup.ui.h:10 -+#: ../setup/setup.ui.h:7 - msgid "Custom" - msgstr "Personalizzato" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:8 -+msgid "Embedded in menu" -+msgstr "Inserito nel menu" -+ -+#: ../setup/setup.ui.h:9 -+msgid "When active" -+msgstr "Quando attivoB" -+ -+#: ../setup/setup.ui.h:10 -+msgid "Always" -+msgstr "Sempre" -+ -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "Preferenze di IBus" - -@@ -88,7 +91,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "I tasti scorciatoia per abilitare o disabilitare i metodi di input" - -@@ -98,11 +102,11 @@ - - #: ../setup/setup.ui.h:19 - msgid "Enable:" --msgstr "" -+msgstr "Abilita:" - - #: ../setup/setup.ui.h:20 - msgid "Disable:" --msgstr "" -+msgstr "Disabilita:" - - #: ../setup/setup.ui.h:21 - msgid "Keyboard Shortcuts" -@@ -130,11 +134,13 @@ - msgid "Language panel position:" - msgstr "Posizione pannello della lingua:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "Mostrare l'icona nell'area di notifica" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "Mostrare il nome del metodo di input nella barra della lingua" - -@@ -167,31 +173,38 @@ - msgstr "Generali" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "Personalizza i _metodi di input attivi" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "Personalizza i metodi di input attivi" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "Aggiunge il metodo selezionato ai metodi di input abilitati" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "Rimuove il metodo selezionato dai metodi di input abilitati" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "Sposta in alto il metodo selezionato nei metodi di input abilitati" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "Sposta in basso il metodo selezionato nei metodi di input abilitati" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "Mostra le informazioni sul metodo di input selezionato" - --#: ../setup/setup.ui.h:40 --#, fuzzy -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" --msgstr "Mostra le informazioni sul metodo di input selezionato" -+msgstr "Mostra le impostazioni del metodo di input selezionato" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." -@@ -200,35 +213,39 @@ - "Per cambiarlo è possibile usare i pulsanti su/giù." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "Metodo di input" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "Usa la disposizione di tastiera del sistema" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "Usa la disposizione di tastiera del sistema (XKB)" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "Disposizione tastiera" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "Condivide lo stesso metodo di input tra le applicazioni" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "Seleziona un metodo di input" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "Avanzate" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -244,92 +261,166 @@ - "\n" - "\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "Avvia IBus all'accesso" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "Avvio" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "Informazioni" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "Framework del metodo di input" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "Avvia il framework del metodo di input di IBus" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "Modalità preload dei motori" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"I motori con modalità preload vengono caricati con questa modalità. 0 = " -+"motori personalizzati dall'utente. 1 = motori relativi alla lingua." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "preload_engines è inizializzato" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "Pre-carica i motori" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "Precarica i motori durante l'avvio di ibus" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "Ordine motori" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "Ordine dei motori salvato nell'elenco del metodo di input" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "Ritardo popup in millisecondi per la finestra del selettore IME" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Imposta il ritardo in millisecondi per mostrare la finestra del selettore " -+"IME. L'impostazione predefinita è 400. 0 = Mostra la finestra immediatamente." -+" 0 < Ritardo in millisecondi. 0 > Non mostrare la finestra e passa ai " -+"motori prec/succ." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "Numero versione salvato" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." - msgstr "" -+"Il numero di versione salvato verrà usato per controllare la differenza che " -+"intercorre tra la versione dell'ibus precedentemente installato e la " -+"versione dell'ibus corrente." - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "Usa xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "Esegui xmodmap se esiste .xmodmap/.Xmodmap." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "Disposizione Latin senza ASCII" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"La disposizione us viene associata alle disposizioni latin. la variante non " -+"è necessaria." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "Elenco disposizione XKB come riportato su ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"Elenco disposizione XKB riportato su ibus-setup. Il formato è \"layout\" o " -+"\"layout(variant)\"." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "Tasto di scelta rapida di avvio" - --#: ../data/ibus.schemas.in.h:7 --#, fuzzy -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "Tasti di scelta rapida di avvio per gtk_accelerator_parse" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "Tasti di scelta rapida di avvio senza i tasti modificatori" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"Tasti di scelta rapida di avvio senza i tasti modificatori. L'elenco viene " -+"usato da ibus-gjs." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" --msgstr "Tasto di scelta rapida di avvio" -+msgstr "Abilita i tasti scorciatoia" - --#: ../data/ibus.schemas.in.h:8 --#, fuzzy -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" --msgstr "I tasti scorciatoia per abilitare o disabilitare i metodi di input" -+msgstr "I tasti scorciatoia per abilitare il metodo di input" - --#: ../data/ibus.schemas.in.h:9 --#, fuzzy -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" --msgstr "Tasto di scelta rapida di avvio" -+msgstr "Disabilita tasti scorciatoia" - --#: ../data/ibus.schemas.in.h:10 --#, fuzzy -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" --msgstr "I tasti scorciatoia per abilitare o disabilitare i metodi di input" -+msgstr "Tasti scorciatoia per disabilitare il metodo di input" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "Motore dei tasti di scelta rapida successivo" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "" - "I tasti scorciatoia per passare al metodo di input successivo nell'elenco" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "Motore dei tasti di scelta rapida precedente" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "I tasti scorciatoia per passare al metodo di input precedente" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "Nasconde automaticamente" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" -@@ -337,11 +428,11 @@ - "Il comportamento del pannello della lingua. 0 = Inserito nel menu, 1 = " - "Nasconde automaticamente, 2 = Mostra sempre" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "Posizione pannello della lingua" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" -@@ -350,100 +441,142 @@ - "Angolo in alto a destra, 2 = Angolo in basso a sinistra, 3 = Angolo in basso " - "a destra, 4 = Personalizzata" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "Orientamento della tabella di ricerca" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "Orientamento della tabella di ricerca. 0 = Orizzontale, 1 = Verticale" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "Mostra il nome del metodo di input" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "Usare carattere personalizzato" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "Usa un tipo di carattere personalizzato per il pannello della lingua" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "Elenco gruppi disposizione tastiera del sistema su ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"Per impostazione predefinita l'elenco dei gruppi viene usato per non " -+"mostrare tutte le disposizioni della tastiera del sistema. L'elemento verrà " -+"accodato alla fine di gconf key. es .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "Elenco di lingue europee su ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup mostra le lingue solo nell'elenco del metodo di input quando si " -+"esegue ibus-setup con una delle lingue stesse. Le altre lingue sono nascoste " -+"dietro un pulsante esteso." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "Elenco di lingue orientali su ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "Carattere personalizzato" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" --msgstr "Nome del tipo di carattere personalizzato per il pannello della lingua" -+msgstr "" -+"Nome del tipo di carattere personalizzato per il pannello della lingua" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "Inserire il testo pre-modificato" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "Inserire il testo pre-modificato nella finestra dell'applicazione" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "Usa il metodo di input globale" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "Abilita per impostazione predefinita il metodo di input" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "" - "Abilita per impostazione predefinita il metodo di input quando le " - "applicazioni ottengono l'input focus" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "Mantieni i prefissi dei nomi DConf" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "Prefissi di chiavi DConf per arrestare la conversione dei nomi" - - #: ../ibus/_config.py.in:41 - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "" --"Copyright © 2007-2010 Peng Huang\n" -+msgstr "Copyright © 2007-2010 Peng Huang\n" - "Copyright © 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "Altro" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "Lingua: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "Disposizione tastiera: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "Autore: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "Descrizione:\n" - --#: ../setup/enginecombobox.py:136 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "Seleziona un metodo di input" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "Mostra tutti i metodi di input" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "Mostra solo i metodi di input per la tua regione" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -463,7 +596,7 @@ - msgid "Modifiers:" - msgstr "Modificatori:" - --#: ../setup/keyboardshortcut.py:235 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." -@@ -471,29 +604,31 @@ - "Premere un tasto (o una combinazione di tasti).\n" - "La finestra verrà chiusa dopo il rilascio del tasto stesso." - --#: ../setup/keyboardshortcut.py:237 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "Premere un tasto (o una combinazione di tasti)" - --#: ../setup/main.py:79 --msgid "trigger" --msgstr "l'avvio" -- --#: ../setup/main.py:80 --msgid "enable" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" - msgstr "" -+"Usa i tasti scorciatoia e shift per passare al metodo di input successivo" - --#: ../setup/main.py:81 --msgid "disable" --msgstr "" -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"L'elenco dei metodi di input salvati verrà resettato immediatamente e sarà " -+"configurato dalla lingua che esegue la registrazione. Accetti questo " -+"processo?" - --#: ../setup/main.py:323 --#, fuzzy -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "Il demone IBus non è in esecuzione. Avviarlo ora?" -+msgstr "Il demone IBus non è in esecuzione. Desideri avviarlo?" - --#: ../setup/main.py:344 --#, fuzzy -+#: ../setup/main.py:400 - msgid "" - "IBus has been started! If you cannot use IBus, add the following lines to " - "your $HOME/.bashrc; then relog into your desktop.\n" -@@ -507,76 +642,114 @@ - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - --#: ../setup/main.py:357 -+#. Translators: %d == 5 currently -+#: ../setup/main.py:414 - #, python-format --msgid "IBus daemon coundn't be started in %d seconds" --msgstr "" -+msgid "IBus daemon could not be started in %d seconds" -+msgstr "Impossibile avviare il demone IBus in %d secondi" - --#: ../setup/main.py:369 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "Selezione delle scorciatoie da tastiera per %s" - --#: ../ui/gtk3/panel.vala:330 --#, fuzzy -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "selezione metodi di input in corso" -+ -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "Elenca solo il nome dei motori" -+ -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 -+#, c-format -+msgid "Can't connect to IBus.\n" -+msgstr "Impossibile connettersi a IBus.\n" -+ -+#: ../tools/main.vala:84 -+#, c-format -+msgid "language: %s\n" -+msgstr "lingua: %s\n" -+ -+#: ../tools/main.vala:152 -+#, c-format -+msgid "No engine is set.\n" -+msgstr "Nessun motore impostato.\n" -+ -+#: ../tools/main.vala:160 -+#, c-format -+msgid "Set global engine failed.\n" -+msgstr "Impostazione motore globale fallita.\n" -+ -+#: ../tools/main.vala:165 -+#, c-format -+msgid "Get global engine failed.\n" -+msgstr "Acquisizione motore globale fallita.\n" -+ -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "Consulta la cache del registro di sistema." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "Consulta il FILE cache del registro." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 -+#, c-format -+msgid "The registry cache is invalid.\n" -+msgstr "La cache del registro non è valida.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "Scrivi sulla cache del registro di sistema." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "Scrivi sul FILE cache del registro." -+ -+#: ../tools/main.vala:300 -+#, c-format -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "Utilizzo: %s COMMAND [OPTION...]\n" -+"\n" -+ -+#: ../tools/main.vala:301 -+#, c-format -+msgid "Commands:\n" -+msgstr "Comandi:\n" -+ -+#: ../tools/main.vala:327 -+#, c-format -+msgid "%s is unknown command!\n" -+msgstr "%s è un comando sconosciuto!\n" -+ -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "Aggiornamento IBus" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+spazio è ora la combinazione predefinita." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" --msgstr "" --"Copyright © 2007-2010 Peng Huang\n" --"Copyright © 2007-2010 Red Hat, Inc." -+msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:335 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus è un bus di input intelligente per Linux/Unix." - --#: ../ui/gtk3/panel.vala:339 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "" - "Launchpad Contributions:\n" - " Sergio Zanchetta https://launchpad.net/~primes2h" - --#: ../ui/gtk3/panel.vala:371 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "Riavvia" -- --#~ msgid "Previous page" --#~ msgstr "Pagina precedente" -- --#~ msgid "Next page" --#~ msgstr "Pagina successiva" -- --#~ msgid "" --#~ "Some input methods have been installed, removed or updated. Please " --#~ "restart ibus input platform." --#~ msgstr "" --#~ "Alcuni metodi di input sono stati installati, rimossi o aggiornati. " --#~ "Riavviare la piattaforma di input di ibus." -- --#~ msgid "Restart Now" --#~ msgstr "Riavvia ora" -- --#~ msgid "Later" --#~ msgstr "Più tardi" -- --#~ msgid "IBus input method framework" --#~ msgstr "Ambiente del metodo di input IBus" -- --#~ msgid "Turn off input method" --#~ msgstr "Disabilita metodo di input" -- --#~ msgid "No input window" --#~ msgstr "Nessuna finestra di input" -- --#~ msgid "About the input method" --#~ msgstr "Informazioni sul metodo di input" -- --#~ msgid "Switch input method" --#~ msgstr "Cambia metodo di input" -- --#~ msgid "About the Input Method" --#~ msgstr "Informazioni sul metodo di input" -- --#~ msgid "next input method" --#~ msgstr "il metodo di input successivo" -- --#~ msgid "previous input method" --#~ msgstr "il metodo di input precedente" -diff -urN a/ibus-1.5.3/po/ja.po b/ibus-1.5.3/po/ja.po ---- a/ibus-1.5.3/po/ja.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/ja.po 2013-12-04 18:19:35.502917360 +0530 -@@ -11,19 +11,35 @@ - # Makoto Mizukami , 2010. - # UTUMI Hirosi , 2008. - # , 2012. -+# translation of ibus.pot to Source -+# Source translation of ibus. -+# Copyright (C) 2008-2013 Peng Huang -+# fujiwara , 2011 -+# Hajime Taira , 2012 -+# hyuugabaru , 2009 -+# hyuugabaru , 2009 -+# IWAI, Masaharu , 2009 -+# Kiyoto Hashida , 2010 -+# Makoto Mizukami , 2010 -+# UTUMI Hirosi , 2008 -+# 高一人参 @欠陥遺伝子 , 2012 -+# 高一人参 @欠陥遺伝子 , 2012 -+# noriko , 2013. #zanata - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-10-28 05:56+0000\n" --"Last-Translator: 高一人参 @欠陥遺伝子 \n" --"Language-Team: Japanese \n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-11-03 10:10-0500\n" -+"Last-Translator: noriko \n" -+"Language-Team: Japanese (http://www.transifex.com/projects/p/fedora/language/" -+"ja/)\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: ja\n" - "Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -35,19 +51,19 @@ - - #: ../setup/setup.ui.h:3 - msgid "Top left corner" --msgstr "左上隅" -+msgstr "左上" - - #: ../setup/setup.ui.h:4 - msgid "Top right corner" --msgstr "右上隅" -+msgstr "右上" - - #: ../setup/setup.ui.h:5 - msgid "Bottom left corner" --msgstr "左下隅" -+msgstr "左下" - - #: ../setup/setup.ui.h:6 - msgid "Bottom right corner" --msgstr "右下隅" -+msgstr "右下" - - #: ../setup/setup.ui.h:7 - msgid "Custom" -@@ -55,43 +71,45 @@ - - #: ../setup/setup.ui.h:8 - msgid "Embedded in menu" --msgstr "メニューに組み込む" -+msgstr "メニューに組み込み" - - #: ../setup/setup.ui.h:9 - msgid "When active" --msgstr "アクティブであるとき" -+msgstr "アクティブの場合" - - #: ../setup/setup.ui.h:10 - msgid "Always" - msgstr "常に表示する" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus の設定" - - #: ../setup/setup.ui.h:12 - msgid "The shortcut keys for switching to next input method in the list" --msgstr "リストの中で次のインプットメソッドに切り替えるためのショートカットキー" -+msgstr "一覧内の次の入力メソッドに切り替えるためのショートカットキー" - - #: ../setup/setup.ui.h:13 - msgid "Next input method:" --msgstr "次のインプットメソッド:" -+msgstr "次の入力メソッド:" - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "リストの中でひとつ前のインプットメソッドに切り替えるためのショートカットキー" -+msgstr "一覧内のひとつ前の入力メソッドに切り替えるためのショートカットキー" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" --msgstr "ひとつ前のインプットメソッド:" -+msgstr "ひとつ前の入力メソッド:" - - #: ../setup/setup.ui.h:16 - msgid "..." --msgstr "..." -+msgstr "…" - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "インプットメソッドをオン、オフするためのショートカットキーを設定します" -+msgstr "入力メソッドをオンまたはオフするためのショートカットキー" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -129,17 +147,19 @@ - msgid "Language panel position:" - msgstr "言語パネルの位置" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "システムトレイにアイコンを表示する" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" --msgstr "言語バーにインプットメソッド名を表示する" -+msgstr "言語バーに入力メソッド名を表示する" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "チェックボックスをチェックしたときに言語バー上でインプットメソッドの名前を表示します" -+msgstr "チェックボックスにチェック付けると、言語バーに入力メソッド名が表示されます" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -147,7 +167,7 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "アプリケーションウィンドウにインプットメソッドのプリエディットテキストを組み込みます" -+msgstr "アプリケーションウィンドウに入力メソッドのプリエディットテキストを組み込みます" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -162,65 +182,79 @@ - msgstr "一般" - - #: ../setup/setup.ui.h:35 --msgid "Add the selected input method into the enabled input methods" --msgstr "選択したインプットメソッドを有効なインプットメソッドへ追加します" -+msgid "Customize active input _methods" -+msgstr "アクティブな入力メソッドのカスタマイズ (_M)" - - #: ../setup/setup.ui.h:36 --msgid "Remove the selected input method from the enabled input methods" --msgstr "選択したインプットメソッドを有効なインプットメソッドから削除します" -+msgid "Customize active input methods" -+msgstr "アクティブな入力メソッドをカスタマイズします" - - #: ../setup/setup.ui.h:37 --msgid "Move up the selected input method in the enabled input methods list" --msgstr "選択したインプットメソッドを有効なインプットメソッドの中で上へ移動します" -+msgid "Add the selected input method into the enabled input methods" -+msgstr "選択した入力メソッドを有効な入力メソッドへ追加します" - - #: ../setup/setup.ui.h:38 --msgid "Move down the selected input method in the enabled input methods" --msgstr "選択したインプットメソッドを有効なインプットメソッドの中で下へ移動します" -+msgid "Remove the selected input method from the enabled input methods" -+msgstr "選択した入力メソッドを有効な入力メソッドから削除します" - - #: ../setup/setup.ui.h:39 --msgid "Show information of the selected input method" --msgstr "選択したインプットメソッドの情報を表示します" -+msgid "Move up the selected input method in the enabled input methods list" -+msgstr "有効な入力メソッド一覧内で選択した入力メソッドを上へ移動させます" - - #: ../setup/setup.ui.h:40 --msgid "Show setup of the selected input method" --msgstr "選択したインプットメソッドの設定を表示します" -+msgid "Move down the selected input method in the enabled input methods" -+msgstr "有効な入力メソッド一覧内で選択した入力メソッドを下へ移動させます" - - #: ../setup/setup.ui.h:41 -+msgid "Show information of the selected input method" -+msgstr "選択した入力メソッドの情報を表示します" -+ -+#: ../setup/setup.ui.h:42 -+msgid "Show setup of the selected input method" -+msgstr "選択した入力メソッドの設定を表示します" -+ -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "デフォルトのインプットメソッドはリストの中で一番上のものです。\n「上へ/下へ」ボタンを使ってデフォルトを変更できます。" -+msgstr "" -+"一覧の先頭にある入力メソッドがデフォルトになります。\n" -+"デフォルトを変更する場合は「上へ/下へ」ボタンを使用します。" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" --msgstr "インプットメソッド" -+msgstr "入力メソッド" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" --msgstr "システムキーボードレイアウトを使用する" -+msgstr "システムのキーボードレイアウトを使用する" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" --msgstr "システムキーボード (XKB) レイアウトを使用する" -+msgstr "システムのキーボード (XKB) レイアウトを使用する" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "キーボードレイアウト" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" --msgstr "すべてのアプリケーション間で同じインプットメソッドを共有する" -+msgstr "すべてのアプリケーション間で同じ入力メソッドを共有する" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" --msgstr "グローバルインプットメソッドの設定" -+msgstr "グローバルの入力メソッド設定" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "詳細" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -228,194 +262,309 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nインテリジェントなインプットバス\nホームページ: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"インテリジェントなインプットバス\n" -+"ホームページ: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "ログイン時に IBus を起動" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "スタートアップ" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "情報" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "インプットメソッドフレームワーク" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus インプットメソッドフレームワークを起動" -- - #: ../data/ibus.schemas.in.h:1 --msgid "Preload engines" --msgstr "エンジンのプリロード" -+msgid "Preload engine mode" -+msgstr "プリロードエンジンモード" - - #: ../data/ibus.schemas.in.h:2 --msgid "Preload engines during ibus starts up" --msgstr "ibus の開始中にエンジンをプリロード" -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "プリロードエンジンはこのモードで読み込まれます。0 はユーザーによってカスタマイズされたエンジン、1 は言語に関連するエンジンです。" - - #: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "プリロードエンジンが初期化されるキー" -+ -+#: ../data/ibus.schemas.in.h:4 -+msgid "Preload engines" -+msgstr "プリロードエンジン" -+ -+#: ../data/ibus.schemas.in.h:5 -+msgid "Preload engines during ibus starts up" -+msgstr "ibus 起動時のプリロードエンジン" -+ -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "エンジンの順序" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" --msgstr "インプットメソッドの一覧の中から保存されたエンジンの順序" -+msgstr "入力メソッドの一覧の中から保存されたエンジンの順序" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME 切り替えウィンドウのポップアップ遅延時間 (ミリ秒単位)" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME 切り替えウィンドウのポップアップ表示を遅延させるミリ秒数を指定します。デフォルトは 400 ミリ秒です。「0 =" -+"」ならウィンドウが直ちに表示されます。「0 <」にすると指定したミリ秒数遅延します。「0 " -+">」の場合はウィンドウは表示されず前のエンジンまたは次のエンジンに切り替わります。" -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "保存されているバージョン番号" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"保存されているバージョン番号は、以前インストールした ibus のバージョンと現在の ibus のバージョンの違いをチェックする場合に使用されます。" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap を使用する" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap が存在する場合は xmodmap を実行します。" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ASCII がないラテンレイアウト" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "ラテンレイアウトに US レイアウトが追加されます。バリアントは必要ありません。" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus 設定に表示される XKB レイアウト" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "ibus 設定に表示される XKB レイアウトの一覧です。形式は「レイアウト」または「レイアウト(バリアント)」です。" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" --msgstr "トリガーショートカットキー" -+msgstr "ショートカットキーを動作させる" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse 用のショートカットキーを動作させる" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "修飾キーなしでショートカットキーを動作させる" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "修飾キーなしでショートカットキーを動作させます。一覧は ibus-gjs で使用されます。" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "ショートカットキーを有効にする" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" --msgstr "インプットメソッドをオンに切り替えるためのショートカットキー" -+msgstr "入力メソッドをオンに切り替えるためのショートカットキー" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "ショートカットキーを無効にする" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" --msgstr "インプットメソッドをオフに切り替えるためのショートカットキー" -+msgstr "入力メソッドをオフに切り替えるためのショートカットキー" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "次のエンジンへのショートカットキー" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" --msgstr "リスト中の次のインプットメソッドに切り替えるためのショートカットキー" -+msgstr "一覧内の次の入力メソッドに切り替えるためのショートカットキー" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "前のエンジンへのショートカットキー" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" --msgstr "リスト中のひとつ前のインプットメソッドに切り替えるためのショートカットキー" -+msgstr "一覧内のひとつ前の入力メソッドに切り替えるためのショートカットキー" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "自動的に隠す" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "言語パネルの動作。0 = メニューに組み込む、1 = 自動的に隠す、2 = 常に表示" -+msgstr "言語パネルの動作です。0 = メニューに組み込む、1 = 自動的に隠す、2 = 常に表示" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "言語パネルの位置" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "言語パネルの位置。0 = 左上隅、1 = 右上隅、2 = 左下隅、3 = 右下隅、4 = カスタム" -+msgstr "言語パネルの位置です。0 = 左上、1 = 右上、2 = 左下、3 = 右下、4 = カスタム" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" --msgstr "検索テーブルの方位" -+msgstr "検索テーブルの向き" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" --msgstr "検索テーブルの方位。0 = 横、1 = 縦" -+msgstr "検索テーブルの向きです。0 = 横、1 = 縦" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" --msgstr "インプットメソッド名を表示する" -+msgstr "入力メソッド名を表示する" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "カスタムフォントを使う" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "言語パネル用にカスタムフォント名を使用する" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus -setup 上のシステムキーボードレイアウトのグループ一覧" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"このグループ一覧を使用して、デフォルトではすべてのシステムキーボードレイアウトを表示させないようにします。一覧のアイテムは gconf " -+"キーの末尾に追加されます (.../xkblayoutconfig/item1 など)。" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus -setup 上のヨーロッパ言語一覧" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"この言語のいずれかひとつで ibus -setup " -+"を実行すると、入力メソッド一覧にある言語しか表示されなくなります。他の言語は拡張ボタンの下に隠されます。" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup 上のアジア言語一覧" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "カスタムフォント" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "言語パネル用のカスタムフォント名" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "前編集テキストを組み込む" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" --msgstr "アプリケーションウィンドウにプリエディットテキストを組み込む" -+msgstr "アプリケーションウィンドウに前編集テキストを組み込みます" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" --msgstr "グローバルインプットメソッドを使用する" -+msgstr "グローバル入力メソッドを使用する" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" --msgstr "標準でインプットメソッドを有効にする" -+msgstr "デフォルトで入力メソッドを有効にする" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "アプリケーションに入力フォーカスが当たったとき標準でインプットメソッドを有効にする" -+msgstr "アプリケーションで入力が必要とされる場合にはデフォルトで入力メソッドを有効にします" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "DConf の名前のプレフィックスを保護する" -+msgstr "DConf により名前のプレフィックスを維持する" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "DConf キーのプレフィックスは名前変換を停止します" -+msgstr "名前の変換を阻止する DConf キーのプレフィックスです" - - #: ../ibus/_config.py.in:41 - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "その他" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "言語: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "キーボードレイアウト: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "作者: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "説明:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" --msgstr "インプットメソッドの選択" -+msgstr "入力メソッドの選択" -+ -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "すべての入力メソッドを表示" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "ユーザーの地域の入力メソッドのみを表示" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -433,120 +582,159 @@ - - #: ../setup/keyboardshortcut.py:80 - msgid "Modifiers:" --msgstr "モディファイア:" -+msgstr "修飾キー:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "キーもしくはキーの組み合わせを入力してください。\nキーを離すとダイアログを閉じます" -+msgstr "キーもしくはキーの組み合わせを入力してください。\n" -+"キーを離すとダイアログを閉じます。" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "キーもしくはキーの組み合わせを入力してください" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "トリガー" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "有効" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "無効" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "以前の入力メソッドに切り替えるにはショートカットにシフトキーを付けて使用します" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "保存した入力メソッドの一覧が直ちに消去され、一覧は毎回、ログイン時の言語で設定されるようになります。よろしいですか?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "IBus デーモンは稼働していません。開始しますか?" -+msgstr "IBus デーモンが実行されていません。起動しますか?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus は起動されています。IBus が使用できない場合は、次の行を $HOME/.bashrc " -+"に追記し、デスクトップにログインし直してみてください。\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus は開始しました。もし IBus を利用できない場合、次の環境変数を $HOME/.bashrc へ追記し、デスクトップに再ログインしてください。\nexport GTK_IM_MODULE=ibus\nexport XMODIFIERS=@im=ibus\nexport QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" --msgstr "IBus デーモンは %d 秒以内に開始できませんでした。" -+msgstr "IBus デーモンを %d 秒以内に開始できませんでした。" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s のキーボードショートカットを選択" - --#: ../tools/main.vala:40 --msgid "List engine name only" --msgstr "エンジンの名前のみ一覧" -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "入力メソッドの切り替え中" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "command [OPTIONS]" -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "エンジン名のみ表示" - --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" --msgstr "IBus へ接続できません。\n" -+msgstr "IBus に接続できません。\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "言語: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "エンジンが設定されていません。\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "グローバルエンジンの設定に失敗しました。\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "グローバルエンジンの取得に失敗しました。\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "システムレジストリーキャッシュを読み込みます。" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "レジストリーキャッシュ FILE を読み込みます。" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb レイアウトから %s への切り替えに失敗しました。" -+msgid "The registry cache is invalid.\n" -+msgstr "レジストリーキャッシュは無効です。\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "システムレジストリーキャッシュを書き込みます。" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "レジストリーキャッシュ FILE を書き込みます。" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "使い方: %s コマンド [オプション...]\n" - "\n" --msgstr "使い方: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "コマンド:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s は不明なコマンドです。\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus の更新" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space が現在のデフォルトのホットキーです。" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." --msgstr "IBus は、Linux/Unix のためのインテリジェントなインプットバスです。" -+msgstr "IBus は Linux/Unix のためのインテリジェントなインプットバスです。" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "UTUMI Hirosi \nIWAI, Masaharu \n日向原 龍一 " -+msgstr "" -+"UTUMI Hirosi \n" -+"IWAI, Masaharu \n" -+"日向原 龍一 \n" -+"MIZUMOTO, Noriko " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "再起動" -diff -urN a/ibus-1.5.3/po/kn.po b/ibus-1.5.3/po/kn.po ---- a/ibus-1.5.3/po/kn.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/kn.po 2013-12-04 18:19:35.502917360 +0530 -@@ -2,23 +2,24 @@ - # Kannada translation of ibus. - # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER - # This file is distributed under the same license as the ibus package. --# -+# - # Shankar Prasad , 2009, 2010. - # shanky , 2011. -+# Shankar Prasad , 2009, 2010, 2013. - msgid "" - msgstr "" --"Project-Id-Version: ibus.master.kn\n" -+"Project-Id-Version: PACKAGE VERSION\n" - "Report-Msgid-Bugs-To: \n" --"POT-Creation-Date: 2012-05-16 10:14+0900\n" --"PO-Revision-Date: 2011-03-23 12:03+0000\n" --"Last-Translator: shanky \n" --"Language-Team: kn_IN \n" --"Language: kn\n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-10-29 07:38-0400\n" -+"Last-Translator: Shankar Prasad \n" -+"Language-Team: Kannada \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: Lokalize 1.0\n" -+"Language: kn\n" - "Plural-Forms: nplurals=1; plural=0\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -29,38 +30,39 @@ - msgstr "ಲಂಬ" - - #: ../setup/setup.ui.h:3 --msgid "Embedded in menu" --msgstr "ಮೆನುವನಲ್ಲಿ ಅಡಕಗೊಳಿಸಲಾದ" -- --#: ../setup/setup.ui.h:4 --msgid "When active" --msgstr "ಸಕ್ರಿಯವಾಗಿದ್ದಾಗ" -- --#: ../setup/setup.ui.h:5 --msgid "Always" --msgstr "ಯಾವಾಗಲೂ" -- --#: ../setup/setup.ui.h:6 - msgid "Top left corner" - msgstr "ಮೇಲಿನ ಎಡ ಮೂಲೆ" - --#: ../setup/setup.ui.h:7 -+#: ../setup/setup.ui.h:4 - msgid "Top right corner" - msgstr "ಮೇಲಿನ ಬಲ ಮೂಲೆ" - --#: ../setup/setup.ui.h:8 -+#: ../setup/setup.ui.h:5 - msgid "Bottom left corner" - msgstr "ಕೆಳಗಿನ ಎಡ ಮೂಲ" - --#: ../setup/setup.ui.h:9 -+#: ../setup/setup.ui.h:6 - msgid "Bottom right corner" - msgstr "ಕೆಳಗಿನ ಬಲ ಮೂಲ" - --#: ../setup/setup.ui.h:10 -+#: ../setup/setup.ui.h:7 - msgid "Custom" - msgstr "ಇಚ್ಛೆಯ" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:8 -+msgid "Embedded in menu" -+msgstr "ಮೆನುವನಲ್ಲಿ ಅಡಕಗೊಳಿಸಲಾದ" -+ -+#: ../setup/setup.ui.h:9 -+msgid "When active" -+msgstr "ಸಕ್ರಿಯವಾಗಿದ್ದಾಗ" -+ -+#: ../setup/setup.ui.h:10 -+msgid "Always" -+msgstr "ಯಾವಾಗಲೂ" -+ -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus ಆದ್ಯತೆಗಳು" - -@@ -84,7 +86,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳನ್ನು ಆಫ್ ಹಾಗು ಆನ್ ಮಾಡಲು ಶಾರ್ಟ್-ಕೀಲಿಗಳು" - -@@ -115,7 +118,8 @@ - #: ../setup/setup.ui.h:24 - msgid "Set the behavior of ibus how to show or hide language bar" - msgstr "" --"ಭಾಷಾ ಪಟ್ಟಿಕೆಯನ್ನು ಹೇಗೆ ತೋರಿಸಬೇಕು ಅಥವ ಅಡಗಿಸಬೇಕು ಎನ್ನುವ ibus ನ ವರ್ತನೆಯನ್ನು ಹೊಂದಿಸಿ" -+"ಭಾಷಾ ಪಟ್ಟಿಕೆಯನ್ನು ಹೇಗೆ ತೋರಿಸಬೇಕು ಅಥವ ಅಡಗಿಸಬೇಕು ಎನ್ನುವ ibus ನ ವರ್ತನೆಯನ್ನು " -+"ಹೊಂದಿಸಿ" - - #: ../setup/setup.ui.h:25 - msgid "Show language panel:" -@@ -125,17 +129,21 @@ - msgid "Language panel position:" - msgstr "ಭಾಷೆಯ ಫಲಕದ ಸ್ಥಳ:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "ವ್ಯವಸ್ಥೆಯ ಟ್ರೇಯಲ್ಲಿ ಚಿಹ್ನೆಯನ್ನು ತೋರಿಸು" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ಭಾಷೆಯ ಫಲಕದಲ್ಲಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಹೆಸರನ್ನು ತೋರಿಸು" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "ಗುರುತುಚೌಕದಲ್ಲಿ ಗುರುತು ಹಾಕಿದಾಗ ಭಾಷಾ ಪಟ್ಟಿಯಲ್ಲಿ ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಹೆಸರನ್ನು ತೋರಿಸು" -+msgstr "" -+"ಗುರುತುಚೌಕದಲ್ಲಿ ಗುರುತು ಹಾಕಿದಾಗ ಭಾಷಾ ಪಟ್ಟಿಯಲ್ಲಿ ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಹೆಸರನ್ನು " -+"ತೋರಿಸು" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -158,34 +166,45 @@ - msgstr "ಸಾಮಾನ್ಯ" - - #: ../setup/setup.ui.h:35 --msgid "Add the selected input method into the enabled input methods" --msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳಿಗೆ ಸೇರಿಸಿ" -+msgid "Customize active input _methods" -+msgstr "ಸಕ್ರಿಯ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಅಗತ್ಯಾನುಗುಣಗೊಳಿಸು (_m)" - - #: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "ಸಕ್ರಿಯ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಅಗತ್ಯಾನುಗುಣಗೊಳಿಸಿ" -+ -+#: ../setup/setup.ui.h:37 -+msgid "Add the selected input method into the enabled input methods" -+msgstr "" -+"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳಿಗೆ ಸೇರಿಸಿ" -+ -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "" --"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳ ಪಟ್ಟಿಯಿಂದ ತೆಗೆದು ಹಾಕಿ" -+"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳ ಪಟ್ಟಿಯಿಂದ " -+"ತೆಗೆದು ಹಾಕಿ" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "" --"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಮೇಲಕ್ಕೆ ಜರುಗಿಸಿ" -+"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳ ಪಟ್ಟಿಯಲ್ಲಿ " -+"ಮೇಲಕ್ಕೆ ಜರುಗಿಸಿ" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "" --"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಕೆಳಕ್ಕೆ ಜರುಗಿಸಿ" -+"ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಶಕ್ತಗೊಂಡಿರುವ ಇನ್‌ಪುಟ್‌ ವಿಧಾನಗಳ ಪಟ್ಟಿಯಲ್ಲಿ " -+"ಕೆಳಕ್ಕೆ ಜರುಗಿಸಿ" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸು" - --#: ../setup/setup.ui.h:40 --#, fuzzy -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" --msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸು" -+msgstr "ಆಯ್ಕೆ ಮಾಡಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಸೆಟ್ಅಪ್‌ ಅನ್ನು ತೋರಿಸು" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." -@@ -195,35 +214,39 @@ - "small>" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನ" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "ವ್ಯವಸ್ಥೆಯ ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸವನ್ನು ಬಳಸಿ" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "ವ್ಯವಸ್ಥೆಯ ಕೀಲಿಮಣೆ (XKB) ವಿನ್ಯಾಸವನ್ನು ಬಳಸಿ" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸ" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "ಒಂದೇ ಇನ್‌ಪುಟ್‌ ವಿಧಾನವನ್ನು ಎಲ್ಲಾ ಅನ್ವಯಗಳಲ್ಲೂ ಬಳಸು" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ಜಾಗತಿಕ ಇನ್‌ಪುಟ್‌ ವಿಧಾನದ ಸಿದ್ಧತೆಗಳು" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "ಸುಧಾರಿತ" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -239,87 +262,164 @@ - "\n" - "\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "ಪ್ರವೇಶಿಸಿದಾಗ ibus ಅನ್ನು ಆರಂಭಿಸು" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "ಆರಂಭ" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "ಇದರ ಬಗ್ಗೆ" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "IBus ವಿಧಾನದ ಫ್ರೇಮ್‌ವರ್ಕ್" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಆರಂಭಿಸು" -- - #: ../data/ibus.schemas.in.h:1 --msgid "Preload engines" --msgstr "ಎಂಜಿನ್‌ಗಳನ್ನು ಮೊದಲೆ ಲೋಡ್ ಮಾಡು" -+msgid "Preload engine mode" -+msgstr "ಪ್ರಿಲೋಡ್ ಎಂಜಿನ್ ಸ್ಥಿತಿ" - - #: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"ಪ್ರಿಲೋಡ್ ಮಾಡಲಾದ ಎಂಜಿನ್‌ಗಳನ್ನು ಈ ಕ್ರಮದೊಂದಿಗೆ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ. 0 = " -+"ಬಳಕೆದಾರರಿಂದ ಅಗತ್ಯಾನುಗುಣಗೊಳಿಸಲಾದ ಎಂಜಿನ್‌ಗಳು, 1 = ಭಾಷೆಗೆ ಸಂಬಂಧಿಸಿದ ಎಂಜಿನ್‌ಗಳು." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "ಪ್ರಮುಖ ಪ್ರಿಲೋಡ್_ಎಂಜಿನ್‌ಗಳನ್ನು ಆರಂಭಿಸಲಾಗಿದೆ" -+ -+#: ../data/ibus.schemas.in.h:4 -+msgid "Preload engines" -+msgstr "ಪ್ರಿಲೋಡ್ ಎಂಜಿನ್‌ಗಳು" -+ -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus ಆರಂಭಗೊಂಡಾಗ ಲೋಡ್ ಮಾಡಲಾದ ಎಂಜಿನ್‌ಗಳು" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "ಎಂಜಿನ್‌ಗಳ ಕ್ರಮ" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಪಟ್ಟಿಯಲ್ಲಿನ ಉಳಿಸಲಾದ ಎಂಜಿನ್‌ಗಳು" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME ಬದಲಾವಣೆಗಾರ ಕಿಟಕಿಗಾಗಿ ಪುಟಿಕೆ (ಪಾಪ್ಅಪ್) ವಿಳಂಬ, ಮಿಲಿಸೆಕೆಂಡುಗಳಲ್ಲಿ" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME ಬದಲಾವಣೆಗಾರ ಕಿಟಕಿಯನ್ನು ತೋರಿಸಲು ಮಿಲಿಸೆಕೆಂಡುಗಳಲ್ಲಿ ಪುಟಿಕೆ (ಪಾಪ್ಅಪ್) " -+"ವಿಳಂಬವನ್ನು ಹೊಂದಿಸಿ. ಪೂರ್ವನಿಯೋಜಿತವು 400 ಆಗಿರುತ್ತದೆ. 0 = ಕಿಟಕಿಯನ್ನು ತಕ್ಷಣವೆ " -+"ತೋರಿಸು. 0 < ಮಿಲಿಸೆಕೆಂಡುಗಳಲ್ಲಿ ವಿಳಂಬ. 0 > ಕಿಟಕಿಯನ್ನು ತೋರಿಸಬೇಡ ಮತ್ತು " -+"ಹಿಂದಿನ/ಮುಂದಿನ ಎಂಜಿನ್‌ಗಳಿಗೆ ಬದಲಾಯಿಸಬೇಡ." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "ಉಳಿಸಲಾದ ಆವೃತ್ತಿ ಸಂಖ್ಯೆ" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." - msgstr "" -+"ಉಳಿಸಲಾದ ಆವೃತ್ತಿ ಸಂಖ್ಯೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಈ ಹಿಂದೆ ಅನುಸ್ಥಾಪಿಸಲಾದ ibus ಮತ್ತು " -+"ಪ್ರಸಕ್ತ ಲಭ್ಯವಿರುವ ibus ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಿರುತ್ತದೆ." - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ಅನ್ನು ಬಳಸು" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ xmodmap ಅನ್ನು ಚಲಾಯಿಸಿ." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ASCII ಅನ್ನು ಹೊಂದಿರದ ಲ್ಯಾಟಿನ್ ವಿನ್ಯಾಸ" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"ಲ್ಯಾಟಿನ್‌ ವಿನ್ಯಾಸಗಳಿಗೆ us ವಿನ್ಯಾಸವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ವೇರಿಯಂಟ್‌ನ " -+"ಅಗತ್ಯವಿರುವುದಿಲ್ಲ." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus-setup ನಲ್ಲಿ ತೋರಿಸಲಾಗುವ XKB ವಿನ್ಯಾಸ" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"ibus-setup ನಲ್ಲಿ ತೋರಿಸಲಾಗುವ XKB ವಿನ್ಯಾಸ. ನಮೂನೆಯು \"layout\" ಅಥವ " -+"\"layout(variant)\" ಆಗಿರುತ್ತದೆ." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳನ್ನು ಟ್ರಿಗರ್ ಮಾಡು" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳನ್ನು ಟ್ರಿಗರ್ ಮಾಡು" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "ಮಾರ್ಪಡಕ ಕೀಲಿಗಳು ಇಲ್ಲದೆ ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳನ್ನು ಟ್ರಿಗರ್ ಮಾಡು" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"ಮಾರ್ಪಡಕ ಕೀಲಿಗಳು ಇಲ್ಲದೆ ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳನ್ನು ಟ್ರಿಗರ್ ಮಾಡು. ಪಟ್ಟಿಯನ್ನು ibus-" -+"gjs ಇಂದ ಬಳಸಲಾಗುತ್ತದೆ." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳನ್ನು ಶಕ್ತಗೊಳಿಸು" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಆನ್ ಮಾಡಲು ಬಳಸಬಹುದಾದ ಶಾರ್ಟ್-ಕಟ್‌ ಕೀಲಿ" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳನ್ನು ಅಶಕ್ತಗೊಳಿಸು" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಆಫ್ ಮಾಡಲು ಬಳಸಬಹುದಾದ ಶಾರ್ಟ್-ಕಟ್‌ ಕೀಲಿ" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "ಮುಂದಿನ ಎಂಜಿನ್ ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳು" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "ಪಟ್ಟಿಯಲ್ಲಿನ ಮುಂದಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನಕ್ಕೆ ಬದಲಾಯಿಸಲು ಶಾರ್ಟ್-ಕಟ್‌ ಕೀಲಿಗಳು" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "ಹಿಂದಿನ ಎಂಜಿನ್ ಶಾರ್ಟ್-ಕಟ್ ಕೀಲಿಗಳು" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "ಹಿಂದಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನಕ್ಕೆ ಬದಲಾಯಿಸಲು ಶಾರ್ಟ್-ಕಟ್‌ ಕೀಲಿಗಳು" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "ಸ್ವಯಂ ಅಡಗಿಸುವಿಕೆ" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" -@@ -327,11 +427,11 @@ - "ಭಾಷೆಯ ಫಲಕದ ವರ್ತನೆ. 0 = ಮೆನುವಿನಲ್ಲಿ ಅಡಕಗೊಳಿಸಲಾಗಿದೆ, 1 = ಸ್ವಯಂ ಅಡಗಿಸು, 2 = " - "ಯಾವಾಗಲೂ ತೋರಿಸು" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ಭಾಷೆಯ ಫಲಕವನ್ನು ತೋರಿಸು" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" -@@ -339,62 +439,95 @@ - "ಭಾಷೆಯ ಫಲಕವು ಇರುವ ಸ್ಥಳ. 0 = ಮೇಲಿನ ಎಡ ಮೂಲೆ, 1 = ಮೇಲಿನ ಬಲ ಮೂಲೆ, 2 = ಕೆಳಗಿನ ಎಡ " - "ಮೂಲೆ, 3 = ಕೆಳಗಿನ ಬಲ ಮೂಲೆ, 4 = ಇಚ್ಛೆಯ" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "ನೋಡಬೇಕಿರುವ (ಲುಕ್‌ಅಪ್‌) ಕೋಷ್ಟಕದ ಹೊಂದಿಕೆ" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "ನೋಡಬೇಕಿರುವ (ಲುಕ್‌ಅಪ್‌) ಕೋಷ್ಟಕದ ಹೊಂದಿಕೆ. 0 = ಅಡ್ಡಲಾಗಿ, 1 = ಲಂಬವಾಗಿ" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಹೆಸರನ್ನು ತೋರಿಸು" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "ಇಚ್ಛೆಯ ಅಕ್ಷರಶೈಲಿಯನ್ನು ಬಳಸು" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "ಭಾಷೆಯ ಫಲಕಕ್ಕಾಗಿ ಇಚ್ಛೆಯ ಅಕ್ಷರಶೈಲಿಯ ಹೆಸರನ್ನು ಬಳಸಿ" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup ನಲ್ಲಿ ವ್ಯವಸ್ಥೆ ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸ ಗುಂಪುಗಳ ಪಟ್ಟಿ" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"ಗುಂಪಿನ ಪಟ್ಟಿಯು ವ್ಯವಸ್ಥೆಯ ಎಲ್ಲಾ ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸಗಳನ್ನು ತೋರಿಸುವಂತೆ ಬಳಸಲು " -+"ಇರುವುದಲ್ಲ. ಪಟ್ಟಿ ಅಂಶವನ್ನು gconf ಕೀಲಿಯ ಕೊನೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಉದಾ. .../" -+"xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup ನಲ್ಲಿರುವ ಯುರೋಪಿನ ಭಾಷೆಗಳ ಪಟ್ಟಿ" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ನೀವು ibus-setup ಅನ್ನು ಚಲಾಯಿಸಿದಾಗ ಭಾಷೆಗಳನ್ನು ibus-setup ಕೇವಲ ಇನ್‌ಪುಟ್ ವಿಧಾನದ " -+"ಪಟ್ಟಿಯಲ್ಲಿ ತೋರಿಸುತ್ತದೆ. ಇತರೆ ಭಾಷೆಗಳನ್ನು ಒಂದು ಅಡಗಿಸಲಾದ ವಿಸ್ತೃತ ಗುಂಡಿಯ " -+"ಅಡಿಯಲ್ಲಿ ಅಡಗಿಸಲಾಗುತ್ತದೆ." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup ನಲ್ಲಿರುವ ಏಶಿಯಾದ ಭಾಷೆಗಳ ಪಟ್ಟಿ" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "ಇಚ್ಛೆಯ ಅಕ್ಷರಶೈಲಿ" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ಭಾಷೆಯ ಫಲಕಕ್ಕಾಗಿನ ಇಚ್ಛೆಯ ಅಕ್ಷರಶೈಲಿಯ ಹೆಸರು" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "ಪೂರ್ವ-ಸಂಪಾದನಾ(ಪ್ರಿ-ಎಡಿಟ್) ಪಠ್ಯವನ್ನು ಅಡಕಗೊಳಿಸು" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "ಅನ್ವಯ ವಿಂಡೊದಲ್ಲಿ ಪೂರ್ವ-ಸಂಪಾದನಾ(ಪ್ರಿ-ಎಡಿಟ್) ಪಠ್ಯವನ್ನು ಅಡಕಗೊಳಿಸು" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "ಜಾಗತಿಕ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಬಳಸಿ" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಶಕ್ತಗೊಳಿಸು" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "" --"ಅನ್ವಯವು ಇನ್‌ಪುಟ್ ಗಮನವನ್ನು ಪಡೆದುಕೊಂಡಾಗ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಶಕ್ತಗೊಳಿಸು" -+"ಅನ್ವಯವು ಇನ್‌ಪುಟ್ ಗಮನವನ್ನು ಪಡೆದುಕೊಂಡಾಗ ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ " -+"ಶಕ್ತಗೊಳಿಸು" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf ಹೆಸರುಗಳು ಪ್ರಿಫಿಕ್ಸುಗಳನ್ನು ಹಾಗೆಯೆ ಇರಿಸಿಕೊಳ್ಳುತ್ತದೆ" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "ಹೆಸರಿನ ಪರಿವರ್ತನೆಯನ್ನು ಬದಲಿಸುವ DConf ಕೀಲಿಗಳ ಪ್ರಿಫಿಕ್ಸುಗಳು" - - #: ../ibus/_config.py.in:41 - msgid "" -@@ -404,34 +537,44 @@ - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "ಇತರೆ" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ಭಾಷೆ: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "ಕೀಲಿಮಣೆ ವಿನ್ಯಾಸ: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "ಕತೃ: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "ವಿವರಣೆ:\n" - --#: ../setup/enginecombobox.py:136 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ಒಂದು ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "ಎಲ್ಲಾ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ತೋರಿಸು" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "ನಿಮ್ಮ ಪ್ರದೇಶದ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಮಾತ್ರ ತೋರಿಸು" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -451,7 +594,7 @@ - msgid "Modifiers:" - msgstr "ಮಾರ್ಪಡಕಗಳು:" - --#: ../setup/keyboardshortcut.py:235 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." -@@ -459,29 +602,30 @@ - "ದಯವಿಟ್ಟು ಒಂದು ಕೀಲಿಯನ್ನು (ಅಥವ ಒಂದು ಕೀಲಿ ಸಂಯೋಜನೆಯನ್ನು) ಒತ್ತಿ.\n" - "ಕೀಲಿಯನ್ನು ಬಿಟ್ಟಾಗ ಸಂವಾದವು ಮುಚ್ಚಲ್ಪಡುತ್ತದೆ." - --#: ../setup/keyboardshortcut.py:237 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "ದಯವಿಟ್ಟು ಒಂದು ಕೀಲಿಯನ್ನು (ಅಥವ ಒಂದು ಕೀಲಿ ಸಂಯೋಜನೆಯನ್ನು) ಒತ್ತಿ" - --#: ../setup/main.py:79 --msgid "trigger" --msgstr "ಟ್ರಿಗರ್" -- --#: ../setup/main.py:80 --msgid "enable" --msgstr "ಶಕ್ತಗೊಳಿಸು" -- --#: ../setup/main.py:81 --msgid "disable" --msgstr "ಅಶಕ್ತಗೊಳಿಸು" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "ಹಿಂದಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನಕ್ಕೆ ಬದಲಾಯಿಸಲು ಶಿಫ್ಟಿನೊಂದಿಗೆ ಸಮೀಪಮಾರ್ಗವನ್ನು ಬಳಸಿ" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"ನಿಮ್ಮ ಉಳಿಸಲಾದ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಕೂಡಲೆ ತೆರವುಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು " -+"ಪಟ್ಟಿಯನ್ನು ಪ್ರತಿ ಬಾರಿಯ ಪ್ರವೇಶದ ಭಾಷೆಯಿಂದ ಸಂರಚಿಸಲಾಗುತ್ತದೆ. ನೀವಿದನ್ನು " -+"ಒಪ್ಪಿಕೊಳ್ಳುವಿರಾ?" - --#: ../setup/main.py:323 --#, fuzzy -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "IBus ಡೀಮನ್ ಇನ್ನೂ ಸಹ ಆರಂಭಗೊಂಡಿಲ್ಲ. ನೀವದನ್ನು ಈಗಲೆ ಆರಂಭಿಸಲು ಬಯಸುತ್ತೀರೆ?" -+msgstr "IBus ಡೀಮನ್ ಚಾಲನೆಯಲ್ಲಿಲ್ಲ. ನೀವದನ್ನು ಆರಂಭಿಸಲು ಬಯಸುತ್ತೀರೆ?" - --#: ../setup/main.py:344 --#, fuzzy -+#: ../setup/main.py:400 - msgid "" - "IBus has been started! If you cannot use IBus, add the following lines to " - "your $HOME/.bashrc; then relog into your desktop.\n" -@@ -489,80 +633,119 @@ - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - msgstr "" --"IBus ಅನ್ನು ಆರಂಭಿಸಲಾಗಿದೆ! ನಿಮಗೆ IBus ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗದೆ ಇದ್ದಲ್ಲಿ, ನಿಮ್ಮ $HOME/." --"bashrc ಯಲ್ಲಿ ಈ ಕೆಳಗಿನ ಸಾಲನ್ನು ಸೇರಿಸಿ, ನಂತರ ನಿಮ್ಮ ಗಣಕತೆರೆಗೆ ಮರಳಿ ದಾಖಲಾಗಿ.\n" --" export GTK_IM_MODULE=ibus\n" -+"IBus ಅನ್ನು ಆರಂಭಿಸಲಾಗಿದೆ! ನಿಮಗೆ IBus ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗದೆ ಇದ್ದಲ್ಲಿ, ನಿಮ್ಮ " -+"$HOME/.bashrc ಯಲ್ಲಿ ಈ ಕೆಳಗಿನ ಸಾಲನ್ನು ಸೇರಿಸಿ, ನಂತರ ನಿಮ್ಮ ಗಣಕತೆರೆಗೆ ಮರಳಿ " -+"ದಾಖಲಾಗಿ.\n" -+" export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - --#: ../setup/main.py:357 -+#. Translators: %d == 5 currently -+#: ../setup/main.py:414 - #, python-format --msgid "IBus daemon coundn't be started in %d seconds" --msgstr "" -+msgid "IBus daemon could not be started in %d seconds" -+msgstr "IBus ಡೀಮನ್ ಅನ್ನು %d ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಆರಂಭಿಸಲಾಗಿಲ್ಲ" - --#: ../setup/main.py:369 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s ಗಾಗಿ ಕೀಲಿಮಣೆ ಶಾರ್ಟ್-ಕಟ್‌ ಕೀಲಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" - --#: ../ui/gtk3/panel.vala:330 --#, fuzzy -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಬದಲಿಸುವಿಕೆ" -+ -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "ಎಂಜಿನ್‌ನ ಹೆಸರನ್ನು ಮಾತ್ರ ಪಟ್ಟಿ ಮಾಡು" -+ -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 -+#, c-format -+msgid "Can't connect to IBus.\n" -+msgstr "IBus ನೊಂದಿಗೆ ಸಂಪರ್ಕಕಲ್ಪಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.\n" -+ -+#: ../tools/main.vala:84 -+#, c-format -+msgid "language: %s\n" -+msgstr "ಭಾಷೆ: %s\n" -+ -+#: ../tools/main.vala:152 -+#, c-format -+msgid "No engine is set.\n" -+msgstr "ಯಾವುದೆ ಎಂಜಿನ್ ಅನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ.\n" -+ -+#: ../tools/main.vala:160 -+#, c-format -+msgid "Set global engine failed.\n" -+msgstr "ಸಾರ್ವತ್ರಿಕ ಎಂಜಿನ್ ಹೊಂದಿಸುವಿಕೆಯು ವಿಫಲಗೊಂಡಿದೆ.\n" -+ -+#: ../tools/main.vala:165 -+#, c-format -+msgid "Get global engine failed.\n" -+msgstr "ಸಾರ್ವತ್ರಿಕ ಎಂಜಿನ್ ಪಡೆಯುವಿಕೆಯು ವಿಫಲಗೊಂಡಿದೆ.\n" -+ -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "ವ್ಯವಸ್ಥೆಯ ರಿಜಿಸ್ಟ್ರಿ ಕ್ಯಾಶೆಯನ್ನು ಓದು." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "ರಿಜಿಸ್ಟ್ರಿ ಕ್ಯಾಶೆ FILE ಅನ್ನು ಓದು." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 -+#, c-format -+msgid "The registry cache is invalid.\n" -+msgstr "ರಿಜಿಸ್ಟ್ರಿ ಕ್ಯಾಶೆಯು ಅಮಾನ್ಯವಾಗಿದೆ.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "ವ್ಯವಸ್ಥೆಯ ರಿಜಿಸ್ಟ್ರಿ ಕ್ಯಾಶೆಯನ್ನು ಬರೆ." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "ರಿಜಿಸ್ಟ್ರಿ ಕ್ಯಾಶೆ FILE ಅನ್ನು ಬರೆ." -+ -+#: ../tools/main.vala:300 -+#, c-format -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "ಬಳಕೆ: %s COMMAND [OPTION...]\n" -+"\n" -+ -+#: ../tools/main.vala:301 -+#, c-format -+msgid "Commands:\n" -+msgstr "ಆದೇಶಗಳು:\n" -+ -+#: ../tools/main.vala:327 -+#, c-format -+msgid "%s is unknown command!\n" -+msgstr "%s ಎನ್ನುವುದು ಗೊತ್ತಿರದ ಆದೇಶ!\n" -+ -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus ಅಪ್‌ಡೇಟ್‌" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space ಎನ್ನುವುದು ಈಗ ಪೂರ್ವನಿಯೋಜಿತ ಹಾಟ್‌ಕೀಲ್ ಆಗಿರುತ್ತದೆ." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" --msgstr "" --"Copyright (c) 2007-2010 Peng Huang\n" --"Copyright (c) 2007-2010 Red Hat, Inc." -+msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:335 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus ಎನ್ನುವುದು Linux/Unix ಗಾಗಿನ ಒಂದು ಚತುರ ಇನ್‌ಪುಟ್ ಬಸ್." - --#: ../ui/gtk3/panel.vala:339 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "ಶಂಕರ್ ಪ್ರಸಾದ್ " - --#: ../ui/gtk3/panel.vala:371 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "ಪುನರಾರಂಭಿಸು" -- --#~ msgid "Previous page" --#~ msgstr "ಹಿಂದಿನ ಪುಟ" -- --#~ msgid "Next page" --#~ msgstr "ಮುಂದಿನ ಪುಟ" -- --#~ msgid "" --#~ "Some input methods have been installed, removed or updated. Please " --#~ "restart ibus input platform." --#~ msgstr "" --#~ "ಕೆಲವು ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಅನುಸ್ಥಾಪಿಸಲಾಗಿದೆ, ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಅಥವ ಅಪ್‌ಡೇಟ್ " --#~ "ಮಾಡಲಾಗಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ibus ಇನ್‌ಪುಟ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ಮರಳಿ ಆರಂಭಿಸಿ." -- --#~ msgid "Restart Now" --#~ msgstr "ಮರಳಿ ಆರಂಭಿಸು" -- --#~ msgid "Later" --#~ msgstr "ನಂತರ" -- --#~ msgid "IBus input method framework" --#~ msgstr "IBus ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಫ್ರೇಮ್‌ವರ್ಕ್" -- --#~ msgid "Turn off input method" --#~ msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಆಫ್‌ ಮಾಡಿ" -- --#~ msgid "No input window" --#~ msgstr "ಯಾವುದೆ ಇನ್‌ಪುಟ್ ವಿಂಡೊ ಇಲ್ಲ" -- --#~ msgid "About the input method" --#~ msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಬಗೆಗೆ" -- --#~ msgid "Switch input method" --#~ msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸು" -- --#~ msgid "About the Input Method" --#~ msgstr "ಇನ್‌ಪುಟ್ ವಿಧಾನದ ಬಗೆಗೆ" -- --#~ msgid "next input method" --#~ msgstr "ಮುಂದಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನ" -- --#~ msgid "previous input method" --#~ msgstr "ಹಿಂದಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನ" -diff -urN a/ibus-1.5.3/po/ko.po b/ibus-1.5.3/po/ko.po ---- a/ibus-1.5.3/po/ko.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/ko.po 2013-12-04 18:19:35.503917369 +0530 -@@ -8,19 +8,21 @@ - # Eun-Ju Kim , 2012. - # Hyunsok Oh , 2010. - # Michelle Kim , 2012. -+# eukim , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-12-05 03:56+0000\n" --"Last-Translator: Michelle Kim \n" -+"PO-Revision-Date: 2013-10-09 09:47-0400\n" -+"Last-Translator: eukim \n" - "Language-Team: Korean \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: ko\n" - "Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -62,7 +64,8 @@ - msgid "Always" - msgstr "항상" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus 환경 설정 " - -@@ -86,7 +89,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "입력 방식을 활성 또는 해제하기 위한 단축키" - -@@ -126,11 +130,13 @@ - msgid "Language panel position:" - msgstr "언어 패널 위치:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "시스템 트레이에 아이콘 보여주기" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "언어 도구 모음에 입력 방식 이름 보여주기" - -@@ -159,65 +165,79 @@ - msgstr "일반 " - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "활성 입력 방식 사용자 지정(_M)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "활성 입력 방식 사용자 지정 " -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "활성화된 입력 방식에 선택한 입력 방식을 추가합니다 " - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "활성화된 입력 방식 목록에서 선택한 입력 방식을 제거" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "활성화된 입력 방식 목록에서 선택한 입력 방식을 위로 이동합니다" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "활성화된 입력 방식 목록에서 선택한 입력 방식을 아래로 이동합니다" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "선택한 입력 방식의 정보 보여주기" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "선택한 입력 방식 설정 보기 " - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "기본 입력 방식은 목록의 맨 위에 있습니다.\n위로/아래 버튼을 사용하여 변경할 수 있습니다. " -+msgstr "" -+"기본 입력 방식은 목록의 맨 위에 있습니다.\n" -+"위로/아래 버튼을 사용하여 변경할 수 있습니다. " - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "입력 방식 " - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "시스템 키보드 레이아웃 사용 " - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "시스템 키보드 (XKB) 레이아웃 사용 " - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "키보드 레이아웃 " - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "모든 어플리케이션에서 동일한 입력 방식 공유" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "전역 입력 방식 설정" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "고급 " - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -225,194 +245,307 @@ - "\n" - "\n" - "\n" --msgstr "IBus\n지능형 입력 버스\n홈페이지: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"지능형 입력 버스\n" -+"홈페이지: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "로그인 시 ibus 시작 " - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "시작 " - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "정보 " - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "입력 방식 프레임워크" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus 입력 방식 프레임워크 시작" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "엔진 모드 미리 로드" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "사전 로드 엔진은 이 모드로 로딩됩니다. 0 = 사용자 지정 엔진. 1 = 언어 관련 엔진." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "주요 preload_engines이 초기화되었습니다 " -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "엔진 미리로드" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus 시작 시 엔진 미리 로드 " - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "엔진 순서 " - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "입력 방식 목록에 있는 저장된 엔진 순서 " -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME 스위치 창의 팝업 지연 시간 (밀리초)" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." - msgstr "" -+"IME 스위치 창을 표시하기 위해 팝업 지연 시간 (밀리초)을 설정합니다. 기본값은 400입니다. 0 = 즉시 창을 표시합니다. 0 " -+"< 지연 (밀리초). 0 > 창을 표시하지 않고 이전/다음 엔진으로 전환하지 마십시오." - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "저장된 버전 번호 " -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "저장된 버전 번호는 이전에 설치된 ibus 버전과 현재 ibus 중 하나 간의 차이를 확인하기 위해 사용됩니다." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap 사용 " -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap이 존재할 경우 xmodmap을 실행합니다." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ASCII이 없는 라틴어 레이아웃 " -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "영어 레이아웃이 라틴어 레이아웃에 추가되어 있습니다. 변형이 필요하지 않습니다." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus 설정에 표시되는 XKB 레이아웃 목록 " -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "ibus 설정에 표시되는 XKB 레이아웃 목록. 형식은 \"layout\" 또는 \"layout(variant)\"입니다." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "트리거 단축키" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse 용 트리거 단축키 " -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "수정 키 없는 트리거 단축키 " -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "수정 키 없는 트리거 단축키. 목록은 ibus-gjs에 의해 사용됩니다." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "단축키 활성화 " - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "입력 방식 전환을 위한 단축키 활성화 " - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "단축키 비활성화 " - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "입력 방식 전환을 위한 단축키 비활성화 " - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "다음 엔진 단축키" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "목록에 있는 다음 입력 방식으로 전환하기 위한 단축 키" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "이전 엔진 단축키" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "목록에 있는 이전 입력 방식으로 전환하기 위한 단축 키" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "자동 숨기기" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" - msgstr "언어 패널의 동작 0 = 메뉴에 포함, 1 = 자동 숨기기, 2 = 항상 표시 " - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "언어 패널 위치" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" - msgstr "언어 패널의 위치. 0 = 왼쪽 위, 1 = 오른쪽 위, 2 = 왼쪽 아래, 3 = 오른쪽 아래, 4 = 사용자 지정" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "검색 테이블의 방향 " - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "검색 테이블의 방향. 0 = 가로, 1 = 세로 " - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "입력 방식 이름 보여주기" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "사용자 정의 글꼴 사용 " - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "언어 패널 용 사용자 정의 글꼴 이름 사용" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus 설정에서 시스템 키보드 레이아웃 그룹 목록 " -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"그룹 목록은 기본값으로 모든 시스템 키보드 레이아웃을 표시하는데 사용되지 않습니다. 목록 항목은 gconf 키 마지막에 추가됩니다. 예: " -+".../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus 설정에서 유럽어 목록 " -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus 설정은 언어 중 하나에서 ibus 설정을 실행할 때 입력 방식 목록에 있는 언어만을 표시합니다. 다른 언어는 확장 버튼 아래에 " -+"숨겨져 있습니다." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus 설정에서 아시아어 목록 " -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "사용자 정의 글꼴" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "언어 패널 용 사용자 정의 글꼴 이름" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "편집전 텍스트 포함" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "어플리케이션 창에 편집전 텍스트를 포함" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "전역 입력 방식 사용" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "입력기를 디폴트로 활성화" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "프로그램의 입력창에 포커스가 가면 디폴트로 입력기를 활성화합니다" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf는 이름 접두어를 저장합니다 " - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "이름 변환을 중지하기 위한 DConf 키의 접두부 " - - #: ../ibus/_config.py.in:41 - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "기타" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "언어: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "키보드 레이아웃: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "저자: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "설명:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "입력 방식을 선택합니다" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "모든 입력 방식 표시 " -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "해당 지역의 입력 방식만 표시 " -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -432,118 +565,153 @@ - msgid "Modifiers:" - msgstr "수정자: " - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "키 또는 키 조합을 입력하십시오.\n키를 입력하면 대화 상자가 닫히게 됩니다." -+msgstr "키 또는 키 조합을 입력하십시오.\n" -+"키를 입력하면 대화 상자가 닫히게 됩니다." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "키 또는 키 조합을 입력하십시오. " - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "트리거 " -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "활성화 " -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "비활성화 " -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "이전 입력 방식으로 전환하려면 shift와 함께 단축키를 사용합니다 " -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "저장된 입력 방식 목록은 즉시 삭제되고 목록은 로그인 언어에 의해 매번 설정됩니다. 이에 동의하십니까? " - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "" -+msgstr "IBus 데몬이 실행되고 있지 않습니다. 이를 시작하시겠습니까?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - msgstr "" -+"IBus가 시작되었습니다. IBus를 사용할 수 없는 경우 $HOME/.bashrc;에 다음과 같은 줄을 추가한 후 데스크탑으로 다시 " -+"로그인합니다. \n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" --msgstr "" -+msgstr "IBus 데몬을 %d 초에 시작할 수 없습니다 " - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s의 단축키를 선택" - --#: ../tools/main.vala:40 --msgid "List engine name only" --msgstr "" -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "입력 방식 전환하기 " - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "" -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "엔진 이름만 나열 " - --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" --msgstr "" -+msgstr "IBus에 연결할 수 없습니다.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" --msgstr "" -+msgstr "언어: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" --msgstr "" -+msgstr "엔진이 설정되어 있지 않습니다.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" --msgstr "" -+msgstr "글로벌 엔진 설정을 실패했습니다.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" --msgstr "" -+msgstr "글로벌 엔진을 가져오는데 실패했습니다.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "시스템 레지스트리 캐시를 읽습니다." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "레지스트리 캐시 파일을 읽습니다." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "" -+msgid "The registry cache is invalid.\n" -+msgstr "레지스트리 캐시가 잘못되었습니다.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "시스템 레지스트리 캐시를 쓰기합니다." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "레지스트리 캐시 파일을 쓰기합니다." - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "사용법: %s COMMAND [OPTION...]\n" - "\n" --msgstr "" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" --msgstr "" -+msgstr "명령:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" --msgstr "" -+msgstr "%s는 알 수 없는 명령입니다!\n" -+ -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus 업데이트 " -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "현재 Super+space가 디폴트 핫키입니다." - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus는 Linux/Unix를 위한 지능형 입력 버스입니다. " - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "김은주(eukim@redhat.com)" - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "재시작" -diff -urN a/ibus-1.5.3/po/ml.po b/ibus-1.5.3/po/ml.po ---- a/ibus-1.5.3/po/ml.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/ml.po 2013-12-04 18:19:35.503917369 +0530 -@@ -5,19 +5,21 @@ - # - # Translators: - # Ani Peter , 2009,2012. -+# apeter , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-22 10:10+0000\n" --"Last-Translator: Ani Peter \n" -+"PO-Revision-Date: 2013-11-02 03:27-0400\n" -+"Last-Translator: apeter \n" - "Language-Team: Malayalam \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: ml\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -59,13 +61,16 @@ - msgid "Always" - msgstr "എപ്പോഴും" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus മുന്‍ഗണനകള്‍" - - #: ../setup/setup.ui.h:12 - msgid "The shortcut keys for switching to next input method in the list" --msgstr "അടുത്ത ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറ്റുന്നതിനായി അടുത്ത സംവിധാനത്തിനുള്ള എളുപ്പവഴി" -+msgstr "" -+"അടുത്ത ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറ്റുന്നതിനായി അടുത്ത " -+"സംവിധാനത്തിനുള്ള എളുപ്പവഴി" - - #: ../setup/setup.ui.h:13 - msgid "Next input method:" -@@ -73,7 +78,9 @@ - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "മുമ്പുള്ള ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറ്റുന്നതിനായി തൊട്ടു് മുമ്പുള്ള സംവിധാനത്തിനുള്ള എളുപ്പവഴി" -+msgstr "" -+"മുമ്പുള്ള ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറ്റുന്നതിനായി തൊട്ടു് " -+"മുമ്പുള്ള സംവിധാനത്തിനുള്ള എളുപ്പവഴി" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" -@@ -83,9 +90,12 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" --msgstr "ഇന്‍പുട്ട് മെഥേഡ് ഓണ്‍ അല്ലെങ്കില്‍ ഓഫ് ചെയ്യുന്നതിനുള്ള എളുപ്പവളികള്‍ സജ്ജമാക്കുക" -+msgstr "" -+"ഇന്‍പുട്ട് മെഥേഡ് ഓണ്‍ അല്ലെങ്കില്‍ ഓഫ് ചെയ്യുന്നതിനുള്ള എളുപ്പവളികള്‍ " -+"സജ്ജമാക്കുക" - - #: ../setup/setup.ui.h:18 - msgid "Enable or disable:" -@@ -123,17 +133,21 @@ - msgid "Language panel position:" - msgstr "ഭാഷയുടെ പാനല്‍ സ്ഥാനം:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "സിസ്റ്റം ട്രേയില്‍ ചിഹ്നം കാണിക്കുക" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ഭാഷയുടെ പാനലില്‍ ഇന്‍പുട്ട് മെഥേഡിന്റെ പേരു് കാണിക്കുക" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "ചെക്ക്ബോക്സ് ചെക്ക് ചെയ്യുമ്പോള്‍ ഭാഷയുടെ പാനലില്‍ ഇന്‍പുട്ട് മെഥേഡിന്റെ പേരു് കാണിക്കുക" -+msgstr "" -+"ചെക്ക്ബോക്സ് ചെക്ക് ചെയ്യുമ്പോള്‍ ഭാഷയുടെ പാനലില്‍ ഇന്‍പുട്ട് മെഥേഡിന്റെ " -+"പേരു് കാണിക്കുക" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -141,7 +155,9 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "പ്രയോഗത്തിനുള്ള ജാലകത്തില്‍ പ്രീഎഡിറ്റ് ടെക്സ്റ്റിനുള്ള ഇന്‍പുട്ട് രീകി ചേര്‍ക്കുക" -+msgstr "" -+"പ്രയോഗത്തിനുള്ള ജാലകത്തില്‍ പ്രീഎഡിറ്റ് ടെക്സ്റ്റിനുള്ള ഇന്‍പുട്ട് രീകി " -+"ചേര്‍ക്കുക" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -156,65 +172,88 @@ - msgstr "സാധാരണ" - - #: ../setup/setup.ui.h:35 --msgid "Add the selected input method into the enabled input methods" --msgstr "സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളിലേക്കു് തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് ചേര്‍ക്കുക" -+msgid "Customize active input _methods" -+msgstr "സജീവമായ ഇന്‍പുട്ട് രീതി_കള്‍ യഥേഷ്ടമാക്കുക" - - #: ../setup/setup.ui.h:36 --msgid "Remove the selected input method from the enabled input methods" --msgstr "സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളില്‍ നിന്നും തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് നീക്കം ചെയ്യുക" -+msgid "Customize active input methods" -+msgstr "സജീവമായ ഇന്‍പുട്ട് രീതികള്‍ യഥേഷ്ടമാക്കുക" - - #: ../setup/setup.ui.h:37 --msgid "Move up the selected input method in the enabled input methods list" --msgstr "സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളില്‍ നിന്നും തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് മുകളിലേക്ക് നീക്കുക" -+msgid "Add the selected input method into the enabled input methods" -+msgstr "" -+"സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളിലേക്കു് തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് " -+"ചേര്‍ക്കുക" - - #: ../setup/setup.ui.h:38 --msgid "Move down the selected input method in the enabled input methods" --msgstr "സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളില്‍ നിന്നും തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് താഴേക്ക് നീക്കുക" -+msgid "Remove the selected input method from the enabled input methods" -+msgstr "" -+"സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളില്‍ നിന്നും തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് " -+"നീക്കം ചെയ്യുക" - - #: ../setup/setup.ui.h:39 -+msgid "Move up the selected input method in the enabled input methods list" -+msgstr "" -+"സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളില്‍ നിന്നും തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് " -+"മുകളിലേക്ക് നീക്കുക" -+ -+#: ../setup/setup.ui.h:40 -+msgid "Move down the selected input method in the enabled input methods" -+msgstr "" -+"സജ്ജമാക്കിയ ഇന്‍പുട്ട് മെഥേഡുകളില്‍ നിന്നും തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡ് " -+"താഴേക്ക് നീക്കുക" -+ -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് മെഥേഡിനെപ്പറ്റിയുള്ള വിവരങ്ങള്‍ കാണിക്കുക" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "തെരഞ്ഞെടുത്ത ഇന്‍പുട്ട് രീതിയുടെ സജ്ജീകരണം കാണിയ്ക്കുക" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "പട്ടികയില്‍ ആദ്യമുള്ളതാണു് സ്വതവേയുള്ള ഇന്‍പുട്ട് മെഥേഡ്.\nഇതു് മാറ്റുന്നതിനായി മുകളിലേക്കും താഴേക്കും ഉള്ള ബട്ടണ്‍ ഉപയോഗിക്കാം." -+msgstr "" -+"പട്ടികയില്‍ ആദ്യമുള്ളതാണു് സ്വതവേയുള്ള ഇന്‍പുട്ട് മെഥേഡ്.\n" -+"ഇതു് മാറ്റുന്നതിനായി മുകളിലേക്കും താഴേക്കും ഉള്ള ബട്ടണ്‍ ഉപയോഗിക്കാം." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ഇന്‍പുട്ട് മെഥേഡ്" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "സിസ്റ്റം കീബോര്‍ഡ് മാതൃക ഉപയോഗിക്കുക" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "സിസ്റ്റം കീബോര്‍ഡ് (XKB) മാതൃക ഉപയോഗിക്കുക" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "കീബോര്‍ഡ് മാതൃക" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "എല്ലാ പ്രയോഗങ്ങളിലും ഒരേ ഇന്‍പുട്ട് രീതി ഉപയോഗിക്കുക" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ഗ്ലോബല്‍ ഇന്‍പുട്ട് മെഥേഡ് ഉപയോഗിക്കുക" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "മെച്ചപ്പെട്ടവ" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -222,157 +261,282 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nഇന്റലി‍ജന്റ് ഇന്‍പുട്ട് ബസ്\nപ്രധാന താള്‍: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"ഇന്റലി‍ജന്റ് ഇന്‍പുട്ട് ബസ്\n" -+"പ്രധാന താള്‍: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "പ്രവേശിക്കുമ്പോള്‍ തന്നെ ibus ആരംഭിക്കുക" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "ആരംഭത്തില്‍" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "സംബന്ധിച്ചു്" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ഇന്‍പുട്ട് മെഥേഡ് ആകൃതി" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ഇന്‍പുട്ട് മെഥേഡ് ആകൃതി ആരംഭിയ്ക്കുക" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "എഞ്ചിന്‍ മോഡ് മുന്നേ ലഭ്യമാക്കുക" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"മുന്നേ ലഭ്യമാക്കുന്ന എഞ്ചിനുകള്‍ ഈ മോഡില്‍ ലഭ്യമാക്കുന്നു. 0 = " -+"ഉപയോക്താവിനുചിതമായ എഞ്ചിനുകള്‍. 1 = ഭാഷ സംബന്ധിച്ചുള്ള എഞ്ചിനുകള്‍" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "preload_engines കീ ആരംഭിച്ചിരിയ്ക്കുന്നു" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "സംവിധാനങ്ങള്‍ ലഭ്യമാക്കുക" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus ആരംഭിക്കുമ്പോള്‍ സംവിധാനങ്ങള്‍ ലഭ്യമാക്കുക" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "എഞ്ചിന്‍ ക്രമങ്ങള്‍" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ഇന്‍പുട്ട് മെഥേഡ് പട്ടികയില്‍ സൂക്ഷിച്ചിട്ടുള്ള എഞ്ചിന്‍ ക്രമങ്ങള്‍" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "ഐഎംഇ സ്വിച്ചര്‍ ജാലകത്തിനു് പോപ്പപ്പ് താമസം മില്ലിസെക്കന്‍ഡുകളില്‍" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"ഐഎംഇ സ്വിച്ചര്‍ ജാലകം കാണിയ്ക്കുന്നതിനു് പോപ്പപ്പ് താമസം " -+"മില്ലിസെക്കന്‍ഡുകളില്‍ കാണിയ്ക്കുക. സ്വതവേയുള്ള മൂല്ല്യം 400. 0 = ജാലകം " -+"ഉടന്‍ കാണിയ്ക്കുക. 0 < താമസം മില്ലിസെക്കന്‍ഡുകളില്‍. 0 > ജാലകം " -+"കാണിയ്ക്കാതെ മുമ്പുള്ള/അടുത്ത എഞ്ചിനുകള്‍ തമ്മില്‍ മാറുക." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "സൂക്ഷിച്ച പതിപ്പു് " -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"മുമ്പു് ഇന്‍സ്റ്റോള്‍ ചെയ്ത ibus-ന്റെ പതിപ്പും നിലവിലുള്ള ഒരെണ്ണത്തിന്റെ " -+"പതിപ്പും തമ്മിലുള്ള വ്യത്യാസം പരിശോധിയ്ക്കുന്നതിനു് സൂക്ഷിച്ചിട്ടുള്ള " -+"പതിപ്പു് നമ്പര്‍ ഉപയോഗിയ്ക്കുന്നു." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ഉപയോഗിയ്ക്കുക" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap നിലവിലുണ്ടെങ്കില്‍, xmodmap പ്രവര്‍ത്തിപ്പിയ്ക്കുക." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ആസ്കി ഇല്ലാത്ത ലാറ്റിന്‍ ശൈലി" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "ലാറ്റിന്‍ ശൈലികളനുസരിച്ചാകുന്ന യുഎസ് ശൈലികള്‍. വേരിയന്റ് ആവശ്യമില്ല." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus-setup-ല്‍ കാണിയ്ക്കുന്ന എക്സ്‌കെബി ശൈലി പട്ടിക" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"എക്സ്‌കെബി ശൈലിയിലുള്ള പട്ടിക, ഇതു് ibus-setup-ല്‍ കാണിച്ചിരിയ്ക്കുന്നു. " -+"\"ശൈലി\" അല്ലെങ്കില്‍ \"ശൈലി(വേരിയന്റ്)\" ആണു് ശൈലി." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "എളുപ്പവഴികള്‍ ട്രിഗര്‍ ചെയ്യുക" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse-നുള്ള എളുപ്പവഴികള്‍ ട്രിഗ്ഗര്‍ ചെയ്യുക" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "മോഡിഫയര്‍ കീകളില്ലാതെ എഴുപ്പവഴികള്‍ ട്രിഗ്ഗര്‍ ചെയ്യുക" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"മോഡിഫയര്‍ കീകളില്ലാതെ എളുപ്പവഴികള്‍ ട്രിഗ്ഗര്‍ ചെയ്യുക. ibus-gjs പട്ടിക " -+"ഉപയോഗിയ്ക്കുന്നു." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "കുറുക്കുവഴി കീകള്‍ പ്രവര്‍ത്തന സജ്ജമാക്കുക" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ഇന്‍പുട്ട രീതി ഓണ്‍ ചെയ്യുന്നതിനുള്ള കുറുക്കുവഴി കീകള്‍" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "കുറുക്കുവഴി കീകള്‍ പ്രവര്‍ത്തന രഹിതമാക്കുക" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ഇന്‍പുട്ട രീതി ഓഫ് ചെയ്യുന്നതിനുള്ള കുറുക്കുവഴി കീകള്‍" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "അടുത്ത സംവിധാനത്തിനുള്ള എളുപ്പവഴികള്‍" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" --msgstr "പട്ടികയിലുള്ള അടുത്ത ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറ്റുന്നതിനുള്ള എളുപ്പവഴി" -+msgstr "" -+"പട്ടികയിലുള്ള അടുത്ത ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറ്റുന്നതിനുള്ള " -+"എളുപ്പവഴി" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "തൊട്ടു് മുമ്പുള്ള സംവിധാനത്തിനുള്ള എളുപ്പവഴികള്‍" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" --msgstr "മുമ്പുള്ള ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറുന്നതിനുള്ള എളുപ്പവഴി" -+msgstr "" -+"മുമ്പുള്ള ഇന്‍പുട്ട് മെഥേഡ് സംവിധാനത്തിലേക്ക് മാറുന്നതിനുള്ള എളുപ്പവഴി" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "സ്വയം അദൃശ്യമാക്കുക" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "ഭാഷയുടെ പാനലിന്റെ രീതി. 0 = മെനുവില്‍ ഉള്‍പ്പെടുത്തുക, 1 = സ്വയം അദൃശ്യമാകുക, 2 = എപ്പോഴും കാണിക്കുക" -+msgstr "" -+"ഭാഷയുടെ പാനലിന്റെ രീതി. 0 = മെനുവില്‍ ഉള്‍പ്പെടുത്തുക, 1 = സ്വയം " -+"അദൃശ്യമാകുക, 2 = എപ്പോഴും കാണിക്കുക" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ഭാഷയുടെ പാനല്‍ സ്ഥാനം" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "ഭാഷയുടെ പാനലിന്റെ സ്ഥാനം. 0 = മുകളില്‍ ഇടതു് കോണ്‍, 1 = മുകളില്‍ വലതു് കോണ്‍, 2 = താഴെ ഇടതു് കോണ്‍, 3 = താഴെ വലതു് കോണ്‍, 4 = യഥേഷ്ടം" -+msgstr "" -+"ഭാഷയുടെ പാനലിന്റെ സ്ഥാനം. 0 = മുകളില്‍ ഇടതു് കോണ്‍, 1 = മുകളില്‍ വലതു് " -+"കോണ്‍, 2 = താഴെ ഇടതു് കോണ്‍, 3 = താഴെ വലതു് കോണ്‍, 4 = യഥേഷ്ടം" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "ലുക്കപ്പ് പട്ടികയുടെ ക്രമീകരണം" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "ലുക്കപ്പ് പട്ടികയുടെ ക്രമീകരണം. 0 = നേരെയുള്ള, 1 = കുറുകയുള്ള" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ഇന്‍പുട്ട് മെഥേഡിന്റെ പേരു് കാണിക്കുക" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "സജ്ജമാക്കിയ അക്ഷരസഞ്ചയം ഉപയോഗിക്കുക" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" --msgstr "ഭാഷ്ക്കുള്ള പാനലില്‍ നിങ്ങള്‍ സജ്ജമാക്കിയ അക്ഷരസഞ്ചയത്തിന്റെ പേരു് ഉപയോഗിക്കുക" -+msgstr "" -+"ഭാഷ്ക്കുള്ള പാനലില്‍ നിങ്ങള്‍ സജ്ജമാക്കിയ അക്ഷരസഞ്ചയത്തിന്റെ പേരു് " -+"ഉപയോഗിക്കുക" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup-ലുള്ള സിസ്റ്റം കീബോര്‍ഡ് ശൈലി ഗ്രൂപ്പുകളുടെ പട്ടിക" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"എല്ലാ സിസ്റ്റം കീബോര്‍ഡ് ശൈലികളും സ്വതവേ കാണിയ്ക്കാതിരിയ്ക്കുവാന്‍ ഗ്രൂപ്പ് " -+"പട്ടിക ഉപയോഗിയ്ക്കുന്നു. gconf കീയുടെ അവസാനം പട്ടിക വസ്തു " -+"കൂട്ടിച്ചേര്‍ക്കുന്നു. ഉദാ. .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup-ലുള്ള യൂറോപ്പിയന്‍ ഭാഷകളുടെ പട്ടിക" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup ഒരു ഭാഷയ്ക്കു് പ്രവര്‍ത്തിയ്ക്കുമ്പോള്‍ ഇന്‍പുട്ട് രീതിയുടെ " -+"പട്ടികയിലുള്ള ഭാഷകള്‍ മാത്രം ibus-setup കാണിയ്ക്കുന്നു. ഒരു വികസിപ്പിച്ച " -+"ബട്ടണില്‍ മറ്റു് ഭാഷകള്‍ ലഭ്യമാകുന്നു." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup-ലുള്ള ഏഷ്യന്‍ ഭാഷകളുടെ പട്ടിക" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "അക്ഷരസഞ്ചയം യഥേഷ്ടമാക്കുക:" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ഭാഷയുടെ പാനലിലേക്കുള്ള അക്ഷരസഞ്ചയത്തിനുള്ള പേരു് സജ്ജമാക്കുക" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "പ്രീഎഡിറ്റ് ടെക്സ്റ്റ് ചേര്‍ക്കുക" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "പ്രയോഗത്തിനുള്ള ജാലകത്തില്‍ പ്രീഎഡിറ്റ് ടെക്സ്റ്റ് ചേര്‍ക്കുക" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "ഗ്ലോബല്‍ ഇന്‍പുട്ട് മെഥേഡ് ഉപയോഗിക്കുക" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "സ്വതവേ ഇന്‍പുട്ട് മെഥേഡ് സജ്ജമാക്കുക" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "പ്രയോഗത്തിലേക്കു് ഇന്‍പുട്ട് ചെയ്യുവാന്‍ സാധിയ്ക്കുമ്പോള്‍ സ്വതവേ ഇന്‍പുട്ട് മെഥേഡ് സജ്ജമാക്കുക" -+msgstr "" -+"പ്രയോഗത്തിലേക്കു് ഇന്‍പുട്ട് ചെയ്യുവാന്‍ സാധിയ്ക്കുമ്പോള്‍ സ്വതവേ ഇന്‍പുട്ട് " -+"മെഥേഡ് സജ്ജമാക്കുക" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "എഞ്ചിന്‍ ക്രമങ്ങള്‍" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "ഇന്‍പുട്ട് മെഥേഡ് പട്ടികയില്‍ സൂക്ഷിച്ചിട്ടുള്ള എഞ്ചിന്‍ ക്രമങ്ങള്‍" - -@@ -380,36 +544,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "മറ്റുള്ളവ" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ഭാഷ: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "കീബോര്‍ഡ് മാതൃക: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "രചയിതാവു്: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "വിവരണം:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ഒരു ഇന്‍പുട്ട് മെഥേഡ് തെരഞ്ഞെടുക്കുക" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "എല്ലാ ഇന്‍പുട്ട് രീതികളും കാണിയ്ക്കുക" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "നിങ്ങളുടെ സ്ഥലത്തിനുള്ള ഇന്‍പുട്ട് രീതികള്‍ മാത്രം കാണിയ്ക്കുക" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -429,118 +605,160 @@ - msgid "Modifiers:" - msgstr "മോഡിഫയറുകള്‍:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "ദയവായി ഒരു കീ അമര്‍ത്തുക (അല്ലെങ്കില്‍ ഒരു കീ കൂട്ട്).\nകീ റിലീസ് ചെയ്യുമ്പോള്‍ ഡയലോഗ് അടയ്ക്കുന്നു." -+msgstr "" -+"ദയവായി ഒരു കീ അമര്‍ത്തുക (അല്ലെങ്കില്‍ ഒരു കീ കൂട്ട്).\n" -+"കീ റിലീസ് ചെയ്യുമ്പോള്‍ ഡയലോഗ് അടയ്ക്കുന്നു." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "ദയവായി ഒരു കീ അമര്‍ത്തുക (അല്ലെങ്കില്‍ ഒരു കീ കൂട്ട്)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ട്രിഗ്ഗര്‍ ചെയ്യുക" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "പ്രവര്‍ത്തന സജ്ജം" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "പ്രവര്‍ത്തന രഹിതം" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"മുമ്പുള്ള ഇന്‍പുട്ട് രീതിയിലേക്കു് മാറുന്നതിനുള്ള എളുപ്പവഴി shift " -+"ഉപയോഗിച്ചു് ഉപയോഗിയ്ക്കുക" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"നിങ്ങള്‍ സൂക്ഷിച്ചിട്ടുള്ള ഇന്‍പുട്ട് സംവിധാനങ്ങള്‍ ഉടന്‍ തന്നെ വെടിപ്പാക്കി " -+"ഓരോ സമയത്തും പ്രവേശനത്തിനുള്ള ഭാഷ ഉപയോഗിച്ചു് പട്ടിക ക്രമീകരിയ്ക്കുന്നു. " -+"നിങ്ങള്‍ക്കിതു് സമ്മതമാണോ?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus ഡെമണ്‍ പ്രവര്‍ത്തനത്തിലില്ല, നിങ്ങള്‍ക്കു് ഇതു് ആരംഭിയ്ക്കണമോ?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus തുടങ്ങി! IBus ഉപയോഗിയ്ക്കുവാന്‍ സാധ്യമല്ലെങ്കില്‍, നിങ്ങളുടെ $HOME/." -+"bashrc;-ലേക്കു് ഈ വരികള്‍ ചേര്‍ത്തു് വീണ്ടും നിങ്ങളുടെ പണിയിടത്തിലേക്കു് " -+"വീണ്ടും പ്രവേശിയ്ക്കുക.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus തുടങ്ങി! IBus ഉപയോഗിയ്ക്കുവാന്‍ സാധ്യമല്ലെങ്കില്‍, നിങ്ങളുടെ $HOME/.bashrc;-ലേക്കു് ഈ വരികള്‍ ചേര്‍ത്തു് വീണ്ടും നിങ്ങളുടെ പണിയിടത്തിലേക്കു് വീണ്ടും പ്രവേശിയ്ക്കുക.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus ഡെമണ്‍ %d സെക്കന്‍ഡുകളില്‍ ആരംഭിയ്ക്കുവാന്‍ സാധ്യമല്ല" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s-നുള്ള കീബോര്‍ഡ് എളുപ്പവഴി തെരഞ്ഞെടുക്കുക" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ഇന്‍പുട്ട് രീതികള്‍ തമ്മില്‍ മാറുക" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "എഞ്ചിന്‍ പേരു് മാത്രം ലഭ്യമാക്കുക" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "കമാന്‍ഡ് [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus-ലേക്കു് കണക്ട് ചെയ്യുവാന്‍ സാധ്യമല്ല.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "ഭാഷ: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "എഞ്ചിന്‍ സജ്ജമല്ല.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "ഗ്ലോബല്‍ എഞ്ചിന്‍ സജ്ജമാക്കുന്നതു് പരാജയപ്പെട്ടു.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "ഗ്ലോബല്‍ എഞ്ചിന്‍ ലഭ്യമാക്കുന്നതു് പരാജയപ്പെട്ടു.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "സിസ്റ്റം രജിസ്ട്രി ക്യാഷ് ലഭ്യമാക്കുക" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "രജിസ്ട്രി ക്യാഷ് ഫയല്‍ ലഭ്യമാക്കുക" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb ശൈലി %s-ലേക്കു് മാറ്റുന്നതു് പരാജയപ്പെട്ടു." -+msgid "The registry cache is invalid.\n" -+msgstr "രജിസ്ട്രി ക്യാഷ് അസാധുവാണു്.\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "സിസ്റ്റം രജിസ്ട്രി ക്യാഷ് സൂക്ഷിയ്ക്കുക." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "രജിസ്ട്രി ക്യാഷ് ഫയല്‍ സൂക്ഷിയ്ക്കുക" -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "ഉപയോഗിയ്ക്കേണ്ട വിധം: %s COMMAND [OPTION...]\n" - "\n" --msgstr "ഉപയോഗിയ്ക്കേണ്ട വിധം: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "കമാന്‍ഡുകള്‍:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s ഒരു അപചിരിത കമാന്‍ഡാകുന്നു!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "ഐബസ് പരിഷ്കരണം" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space ആണു് ഇപ്പോള്‍ സ്വതവേയുള്ള എഴുപ്പവഴി." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "പകര്‍പ്പവകാശം (c) 2007-2012 പെങ് ഹുവാങ്\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "ലിനക്സ്/യുണിക്സിനുള്ള ഇന്റലിജന്റ് ഇന്‍പുട്ട് ബസാണു് IBus." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "അനി പീറ്റര്‍ " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "വീണ്ടും ആരംഭിക്കുക" -diff -urN a/ibus-1.5.3/po/mr.po b/ibus-1.5.3/po/mr.po ---- a/ibus-1.5.3/po/mr.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/mr.po 2013-12-04 18:19:35.503917369 +0530 -@@ -7,19 +7,21 @@ - # Sandeep Shedmake , 2009. - # Sandeep Shedmake , 2009,2012. - # sandeeps , 2011. -+# sandeeps , 2011, 2013. - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-10-23 17:37+0000\n" --"Last-Translator: sandeeps \n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-10-13 11:53-0400\n" -+"Last-Translator: Sandeep Shedmake \n" - "Language-Team: Marathi \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: mr\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -61,7 +63,8 @@ - msgid "Always" - msgstr "नेहमी" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus आवड निवड" - -@@ -85,7 +88,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "इंपुट पद्धत सुरू किंवा बंद करण्यासाठी शार्टकट किज्" - -@@ -125,11 +129,13 @@ - msgid "Language panel position:" - msgstr "भाषा पटलाचे स्थान:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "चिन्ह प्रणाली ट्रेवर दाखवा" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "भाषा पट्टीवरील इंपुट पद्धतीचे नाव दाखवा" - -@@ -158,65 +164,79 @@ - msgstr "सर्वसाधारण" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "ॲक्टिव्ह इंपुट पद्धती पसंतीचे करा (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "ॲक्टिव्ह इंपुट पद्धती पसंतीचे करा" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "नीवडलेली इंपुट पद्धत कार्यक्षम इंपुट पद्धतींमध्ये समावेश करा" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "कार्यक्षम इंपुट पद्धतीपासून नीवडलेली इंपुट पद्धत काढून टाका" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "कार्यक्षम इंपुट पद्धतींमध्ये नीवडलेली इंपुट पद्धत वर सरकवा" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "कार्यक्षम इंपुट पद्धतींमध्ये नीवडलेली इंपुट पद्धत खाली सरकवा" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "नीवडलेल्या इंपुट पद्धत विषयी माहिती दाखवा" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "नीवडलेल्या इंपुट पद्धतीची मांडणी दाखवा" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "यादीतील प्रथम इन्पुट पद्धती मुलभूत नुरूप आहे.\nबदलण्याकरीता तुम्ही वर/खाली बटणांचा वापर करू शकता." -+msgstr "" -+"यादीतील प्रथम इन्पुट पद्धती मुलभूत नुरूप आहे.\n" -+"बदलण्याकरीता तुम्ही वर/खाली बटणांचा वापर करू शकता." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "इंपुट पद्धत" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "प्रणाली कळफलक मांडणीचा वापर करा" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "प्रणाली कळफलक (XKB) मांडणीचा वापर करा" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "कळफलक मांडणी" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "सर्व ऍप्लिकेशन्स् मध्ये एकसारखेच इंपुट पद्धत शेअर करा" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ग्लोबल इंपुट पद्धत सेटिंग्स्" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "प्रगत" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -224,157 +244,272 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nहुशार इनपुट बस\nमुख्यपान: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"हुशार इनपुट बस\n" -+"मुख्यपान: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "प्रवेशवेळी ibus सुरू करा" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "स्टार्टअप" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "विषयी" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "इन्पुट पद्धत फ्रेमवर्क" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus इन्पुट पद्धती फ्रेमवर्क सुरू करा" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "प्रिलोड इंजिन मोड" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"प्रिलोड इंजिन्स ह्या मोडसह लोड केले आहेत. 0 = युजर पसंतीचे इंजिन्स. 1 = भाषा " -+"संबंधीत इंजिन्स." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "कि preload_engines प्रारंभ केले" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "प्रीलोड इंजीन्स्" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus सुरू होतेवेळी इंजीन आधिपासूनच लोड करा" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "इंजिनचे क्रम" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "इंपुट मेथड सूचमध्ये इंजिनचे क्रम साठवे" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME स्विचर पटलकरिता पॉपअप डिले मिलिसेकंद्स" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME स्विचर पटल दाखवण्याकरिता पॉपअप विलंब मिलिसेकंद सेट करा. पूर्वनिर्धारित " -+"400 आहे. 0 = पटल पटकन दाखवा. 0 < विलंब मिलिसेकंद. 0 > पटल दाखवू नका व " -+"मागील किंवा पुढील इंजिन्स दाखवू नका." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "आवृत्ती क्रमांक साठवले" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"साठवलेले आवृत्ती क्रमांकाचा वापर मागील इंस्टॉल झालेले ibus आणि सध्या इंस्टॉल " -+"झालेल्या ibus मधील भेद जाणून घेण्यासाठी केला जाईल." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmapचा वापर करा" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap अस्तित्वात असल्यास xmodmap चालवा." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "लॅटिन मांडणी ज्याकडे ASCII नाही" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "us मांडणी लॅटिन मांडणीकरिता समावेश केले आहे. वेरिएंट आवश्यक नाही." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB मांडणी सूची ज्यास ibus-setup येथे दाखवले जाते" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB मांडणी सूची ज्यास ibus-setup येथे दाखवले जाते. रूपण \"layout\" किंवा " -+"\"layout(variant)\" असते." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "शॉर्टकट किज् ट्रिगर करा" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse करिता ट्रिगर शार्टकट किज" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "मॉडिफायर किज विना शार्टकट किज सुरू करा" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"मॉडिफायर किज विना शार्टकट किज सुरू करा. सूची ibus-gjs तर्फे वापरले जाते." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "शार्टकट किज् सुरू करा" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "इंपुट पद्धती सुरू करण्यासाठी शार्टकट किज्" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "शार्टकट किज् बंद करा" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "इंपुट पद्धती बंद करण्यासाठी शार्टकट किज्" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "पुढील इंजीनचे शार्टकट किज्" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "सूचीतील पुढील इंपुट पद्धत नीवडण्याकरीता वापरण्याजोगी शार्टकट किज्" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "मागील इंजीनचे शॉर्टकट किज्" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "मागील इंपुट पद्धत नीवडण्याकरीता वापरण्याजोगी शार्टकट किज्" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "स्वयं लपवा" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "भाषा पटलचे वर्तन. 0 = Embedded in menu, 1 = Auto hide, 2 = Always show" -+msgstr "" -+"भाषा पटलचे वर्तन. 0 = Embedded in menu, 1 = Auto hide, 2 = Always show" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "भाषा पटलचे स्थान" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "भाषा पटलाचे स्थान. 0 = Top left corner, 1 = Top right corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" -+msgstr "" -+"भाषा पटलाचे स्थान. 0 = Top left corner, 1 = Top right corner, 2 = Bottom " -+"left corner, 3 = Bottom right corner, 4 = Custom" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "लुकअप टेबलचे निर्देशन" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "लुकअप टेबलचे निर्देशन. 0 = Horizontal, 1 = Vertical" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "इंपुट पद्धतीचे नाव दाखवा" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "स्वपसंत फॉन्ट वापरा" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "भाषा पटल करीत स्वपसंत फॉन्ट नाव वापरा" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup वरील प्रणाली किबोर्ड मांडणी गटची सूची दाखवा" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"गट सूचीचा वापर पूर्वनिर्धारितपणे सर्व प्रणाली कळफलक मांडणी दाखवण्याकरिता " -+"नाही. सूचीतील घटक gconf किच्या शेवटी जोडले जाईल. उ.दा. .../xkblayoutconfig/" -+"item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup वरील युरोपियन भाषांची सूची" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"उपलब्ध भाषांपैकी एकावर ibus-setup चालवल्यास ibus-setup फक्त इंपुट पद्धती " -+"सूची अंतर्गत भाषा दाखवतात. इतर भाषा विस्तारित बटण अंतर्गत छुपे आहेत." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup वरील एशियन भाषांची सूची" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "मनपसंत फॉन्ट" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "भाषा पटल करीता स्वपसंत फॉन्ट नाव" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "प्रिएडीट मजकूर एम्बेड करा" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "ऍप्लिकेशन पटलात प्रिएडीट मजकूर एम्बेड करा" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "ग्लोबल इंपुट पद्धत नीवडा" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "पूर्वनितर्धारीतपणे इंपुट पद्धत सुरू करा" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "ऍप्लिकेशनला इंपुट फोकस प्राप्त झाल्यावर इंपुट पद्धत पूर्वनिर्धारीतपणे सुरू करा" -+msgstr "" -+"ऍप्लिकेशनला इंपुट फोकस प्राप्त झाल्यावर इंपुट पद्धत पूर्वनिर्धारीतपणे सुरू " -+"करा" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf प्रिझर्व्ह नेम प्रिफिक्सेस्" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "नाव रूपांतर थांबवण्याकरीता DConf किज्चे प्रिफिक्सेस्" - -@@ -382,36 +517,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "सर्वहक्काधिकार (c) 2007-2010 पेंग हुआंग\nसर्वहक्काधिकार (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"सर्वहक्काधिकार (c) 2007-2010 पेंग हुआंग\n" -+"सर्वहक्काधिकार (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "इतर" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "भाषा: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "कळफलक मांडणी: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "लेखक: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "वर्णन:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "इंपुट पद्धत नीवडा" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "सर्व इंपुट पद्धती दाखवा" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "तुमच्या क्षेत्रकरिता फक्त इंपुट पद्धती दाखवा" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -431,118 +578,157 @@ - msgid "Modifiers:" - msgstr "मॉडिफायर:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "कृपया कि (किंवा कि जोडणी) दाबा.\nकि सोडल्यावर संवाद बंद होईल." -+msgstr "कृपया कि (किंवा कि जोडणी) दाबा.\n" -+"कि सोडल्यावर संवाद बंद होईल." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "कृपया कि (किंवा कि जोडणी) दाबा" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ट्रिगर" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "सुरू करा" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "बंद करा" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "मागील इंपुट पद्धतीचा शिफ्टसह वापर करण्यासाठी शार्टकटचा वापर करा" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"साठवलेल्या इंपुट पद्धतींची सूची त्वरीत नष्ट केले जाईल व सूची प्रत्येकवेळी " -+"प्रवेश भाषातर्फे संरचीत केली जाईल. तुम्हाला हे मान्य आहे?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus डिमन सुरू नाही. तुम्हाला ते सुरू करायचे?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus सुरू झाले! IBus चा वापर न केल्यास, खालील ओळींना $HOME/.bashrc मध्ये " -+"समाविष्ट करा; व त्यानंतर डेस्कटॉपमध्ये पुनः प्रवेश करा.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus सुरू झाले! IBus चा वापर न केल्यास, खालील ओळींना $HOME/.bashrc मध्ये समाविष्ट करा; व त्यानंतर डेस्कटॉपमध्ये पुनः प्रवेश करा.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus डिमन %d सेकंदात सुरू करणे अशक्य" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s करीता कळफलक शार्टकट नीवडा" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "इंपुट पद्धतींचा वापर करत आहे" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "फक्त इंजिन नाव सूचीत दाखवा" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "आदेश [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus शी जोडणी अशक्य.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "भाषा: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "इंजिन ठरवले नाही.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "ग्रोबल इंजिन ठरवण्यास अपयशी.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "ग्रोबल इंजिन ठरवण्यास अपयशी.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "प्रणाली रेजिस्ट्रि कॅशे वाचा." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "रेजिस्ट्रि कॅशे FILE वाचा." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb मांडणीला %s करीता बदलण्यास अपयशी." -+msgid "The registry cache is invalid.\n" -+msgstr "रेजिस्ट्रि कॅशे अवैध आहे.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "प्रणाली रेजिस्ट्रि कॅशे लिहा." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "रेजिस्ट्रि कॅशे FILE लिहा." - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "वापर: %s COMMAND [OPTION...]\n" - "\n" --msgstr "वापर: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "आदेश:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s अपरिचीत आदेश आहे!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus सुधारणा" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space आत्ता पूर्वनिर्धारित हॉटि आहे." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "सर्वहक्काधिकार (c) 2007-2012 पेंग हुआंग\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "Linux/Unix करीता IBus हे एक हुशार इनपुट बस आहे." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "संदिप शेडमाके , 2009; संदिप शेडमाके , 2009, 2010." -+msgstr "" -+"संदिप शेडमाके , 2009; संदिप शेडमाके " -+", 2009, 2010." - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "पुन्हा चालू करा" -diff -urN a/ibus-1.5.3/po/or.po b/ibus-1.5.3/po/or.po ---- a/ibus-1.5.3/po/or.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/or.po 2013-12-04 18:19:35.503917369 +0530 -@@ -5,19 +5,21 @@ - # - # Translators: - # Manoj Kumar Giri , 2009,2011-2012. -+# Manoj Kumar Giri , 2009,2011-2012, 2013. - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-23 13:13+0000\n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-11-04 06:07-0500\n" - "Last-Translator: Manoj Kumar Giri \n" --"Language-Team: Oriya \n" -+"Language-Team: Oriya \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: or\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -59,7 +61,8 @@ - msgid "Always" - msgstr "ସର୍ବଦା" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus ପସନ୍ଦ" - -@@ -83,7 +86,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "ନିବେଶ ପଦ୍ଧତିକୁ ଅନ କିମ୍ବା ଅଫ କରିବା ପାଇଁ ସକ୍ଷିପ୍ତ ପଥଗୁଡ଼ିକ" - -@@ -123,17 +127,20 @@ - msgid "Language panel position:" - msgstr "ଭାଷା ଫଳକ ଅବସ୍ଥାନ:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "ତନ୍ତ୍ର ଟ୍ରେରେ ଚିତ୍ରସଂକେତଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ଭାଷା ତାଲିକା ପାଇଁ ନିବେଶ ପଦ୍ଧତି ନାମ ଦର୍ଶାନ୍ତୁ" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "ନିବେଶ ପଦ୍ଧତି ନାମକୁ ଭାଷା ସୂଚକରେ ଦର୍ଶାନ୍ତୁ ଯେତେବେଳେ ଯାଞ୍ଚବାକ୍ସକୁ ଯାଞ୍ଚକରୁଛନ୍ତି" -+msgstr "" -+"ନିବେଶ ପଦ୍ଧତି ନାମକୁ ଭାଷା ସୂଚକରେ ଦର୍ଶାନ୍ତୁ ଯେତେବେଳେ ଯାଞ୍ଚବାକ୍ସକୁ ଯାଞ୍ଚକରୁଛନ୍ତି" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -156,65 +163,79 @@ - msgstr "ସାଧାରଣ" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "ସକ୍ରିୟ ନିବେଶ ପ୍ରଣାଳୀଗୁଡ଼ିକୁ ଇଚ୍ଛାରୂପଣ କରନ୍ତୁ (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "ସକ୍ରିୟ ନିବେଶ ପ୍ରଣାଳୀଗୁଡ଼ିକୁ ଇଚ୍ଛାରୂପଣ କରନ୍ତୁ" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "ବଚ୍ଛିତ ନିବେଶ ପ୍ରଣାଳୀକୁ ସକ୍ରିୟ ନିବେଶ ପ୍ରଣାଳୀରେ ଯୋଗକରନ୍ତୁ" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "ସକ୍ରିୟ ନିବେଶ ପଦ୍ଧତିରୁ ବଚ୍ଛିତ ନିବେଶ ପ୍ରଣୀଳୀକୁ କାଢ଼ିଦିଅନ୍ତୁ" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "ସକ୍ରିୟ ନିବେଶ ପଦ୍ଧତି ତାଲିକାରେ ବଚ୍ଛିତ ନିବେଶ ପ୍ରଣୀଳୀକୁ ଉପରକୁ ଘୁଞ୍ଚାନ୍ତୁ" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "ସକ୍ରିୟ ନିବେଶ ପଦ୍ଧତିଗୁଡ଼ିକରେ ବଚ୍ଛିତ ନିବେଶ ପ୍ରଣୀଳୀକୁ ତଳକୁ ଘୁଞ୍ଚାନ୍ତୁ" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "ବଚ୍ଛିତ ନିବେଶ ପଦ୍ଧତିର ସୂଚନା ଦର୍ଶାନ୍ତୁ" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "ବଚ୍ଛିତ ନିବେଶ ପ୍ରଣାଳୀର ବ୍ୟବସ୍ଥାକୁ ଦର୍ଶାନ୍ତୁ" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ନିବେଶ ପଦ୍ଧତିଟି ତାଲିକା ଉପରେ ଅଛି।\nଆପଣ ଉପର/ତଳ ବଟନକୁ ବ୍ୟାବହାର କରି ଏହାକୁ ପରିବର୍ତ୍ତନ କରିପାରିବେ।" -+msgstr "" -+"ପୂର୍ବନିର୍ଦ୍ଧାରିତ ନିବେଶ ପଦ୍ଧତିଟି ତାଲିକା ଉପରେ ଅଛି।\n" -+"ଆପଣ ଉପର/ତଳ ବଟନକୁ ବ୍ୟାବହାର କରି ଏହାକୁ ପରିବର୍ତ୍ତନ କରିପାରିବେ।" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ନିବେଶ ପ୍ରଣାଳୀ" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "ତନ୍ତ୍ର କିବୋର୍ଡ ବିନ୍ୟାସକୁ ବ୍ୟବହାର କରନ୍ତୁ" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "ତନ୍ତ୍ର କିବୋର୍ଡ (XKB) ବିନ୍ୟାସକୁ ବ୍ୟବହାର କରନ୍ତୁ" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "କିବୋର୍ଡ ବିନ୍ୟାସ" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "ସମସ୍ତ ପ୍ରୟୋଗଗୁଡ଼ିକ ମଧ୍ଯରେ ଏକା ପ୍ରକାରର ନିବେଶ ପଦ୍ଧତିକୁ ସହଭାଗ କରନ୍ତୁ" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ସର୍ବସାଧାରଣ ନିବେଶ ପ୍ରଣୀଳୀ ବିନ୍ୟାସ" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "ଉନ୍ନତ" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -222,157 +243,277 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nବୁଦ୍ଧିମାନ ନିବେଶ ପରିପଥ\nମୂଖ୍ୟ ପୃଷ୍ଠା: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"ବୁଦ୍ଧିମାନ ନିବେଶ ପରିପଥ\n" -+"ମୂଖ୍ୟ ପୃଷ୍ଠା: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "ଲଗଇନ ସମୟରେ ibus କୁ ଆରମ୍ଭ କରନ୍ତୁ" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "ଆରମ୍ଭ" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "ବିବରଣୀ" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କ" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କକୁ ଆରମ୍ଭ କରନ୍ତୁ" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "ଯନ୍ତ୍ର ଧାରାକୁ ପୂର୍ବରୁ ଧାରଣ ହୋଇଥାଏ" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"ପୂର୍ବରୁ ଧାରଣ ହୋଇଥିବା ଯନ୍ତ୍ରଗୁଡ଼ିକ ଏହି ଧାରାରେ ଧାରଣ ହୋଇଥାଏ। 0 = ବ୍ୟବହାରକାରୀ " -+"ଇଚ୍ଛାରୂପଣ ଯନ୍ତ୍ର। 1 = ଭାଷା ସମ୍ପୃକ୍ତ ଯନ୍ତ୍ର।" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "କି ପ୍ରାକଧାରଣ ଯନ୍ତ୍ରଗୁଡ଼ିକ ଆରମ୍ଭ କରାଯାଇଛି (_e)" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "ଯନ୍ତ୍ରକୁ ପ୍ରାକ ଧାରଣ କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus ଆରମ୍ଭ ସମୟରେ ଯନ୍ତ୍ର ପ୍ରାକ ଧାରଣ କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "ଯନ୍ତ୍ର କ୍ରମ" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ନିବେଶ ପ୍ରଣାଳୀ ତାଲିକାରେ ସଂରକ୍ଷିତ ଯନ୍ତ୍ର କ୍ରମ" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME ପରିବର୍ତ୍ତନକାରୀ ୱିଣ୍ଡୋ ପାଇଁ ପପଅପ ବିଳମ୍ବ ମିଲିସେକଣ୍ଡରେ" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME ପରିବର୍ତ୍ତନକାରୀ ୱିଣ୍ଡୋକୁ ଦର୍ଶାଇବା ପାଇଁ ପପଅପ ବିଳମ୍ବକୁ ମିଲିସେକଣ୍ଡରେ ସେଟ " -+"କରନ୍ତୁ। ପୂର୍ବନିର୍ଦ୍ଧାରିତଟି ହେଉଛି 400. 0 = ୱିଣ୍ଡୋକୁ ସଙ୍ଗେ ସଙ୍ଗେ ଦର୍ଶାନ୍ତୁ। 0 " -+"< ବିଳମ୍ବ ମିଲିସେକଣ୍ଡରେ। 0 > ୱିଣ୍ଡୋ ଦର୍ଶାନ୍ତୁ ନାହିଁ ଏବଂ ପୂର୍ବବର୍ତ୍ତୀ/" -+"ପରବର୍ତ୍ତୀ ଯନ୍ତ୍ରଗୁଡ଼ିକୁ ବଦଳାନ୍ତୁ।" -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "ସଂରକ୍ଷିତ ସଂସ୍କରଣ କ୍ରମ ସଂଖ୍ୟା" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"ସଂରକ୍ଷିତ ସଂସ୍କରଣ ସଂଖ୍ୟାକୁ ପୂର୍ବରୁ ସ୍ଥାପିତ ibus ଏବଂ ବର୍ତ୍ତମାନ ସ୍ଥିତ ibus " -+"ମଧ୍ଯରେ ପାର୍ଥକ୍ୟ ଦର୍ଶାଇବା ପାଇଁ ବ୍ୟବହାର କରାଯିବ।" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap କୁ ବ୍ୟବହାର କରନ୍ତୁ" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "xmodmap କୁ ଚଲାନ୍ତୁ ଯଦି .xmodmap/.Xmodmap ଅବସ୍ଥିତ ଅଛି।" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ASCII ନଥିବା ଲାଟିନ ବିନ୍ୟାସ" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"us ବିନ୍ୟାସକୁ ଲାଟିନ ବିନ୍ୟାସ ସହିତ ଯୋଡ଼ାଯାଇଛି। ଭିନ୍ନ ପ୍ରକାର ଆବଶ୍ୟକ ନାହିଁ।" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB ବିନ୍ୟାସ ତାଲିକା ଯାହାକି ibus-ସଂରଚନାରେ ଦର୍ଶାଯାଇଥାଏ" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB ବିନ୍ୟାସ ତାଲିକା ଯାହାକି ibus-ବ୍ୟବସ୍ଥାରେ ଦର୍ଶାଯାଇଛି। ଶୈଳୀଟି ହେଉଛି " -+"\"ବିନ୍ୟାସ\" କିମ୍ବା \"ବିନ୍ୟାସ(ଭିନ୍ନ ପ୍ରକାରର)\"।" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "ସଂକ୍ଷିପ୍ତ ପଥ କି'ଗୁଡ଼ିକୁ ଟ୍ରିଗର କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse ପାଇଁ ସଂକ୍ଷିପ୍ତ ପଥ କିଗୁଡ଼ିକୁ ଟ୍ରିଗର କରନ୍ତୁ" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "ପରିବର୍ତ୍ତନକାରୀ କି ଗୁଡ଼ିକ ବିନା ସଂକ୍ଷିପ୍ତ ପଥ କି ଗୁଡ଼ିକୁ ଆରମ୍ଭ କରନ୍ତୁ" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"ପରିବର୍ତ୍ତନକାରୀ କି ଗୁଡ଼ିକ ବିନା ସଂକ୍ଷିପ୍ତ ପଥ କି ଗୁଡ଼ିକୁ ଆରମ୍ଭ କରନ୍ତୁ। " -+"ତାଲିକାଟିibus-gjs ଦ୍ୱାରା ବ୍ୟବହାର ହୋଇଥାଏ।" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "ସଂକ୍ଷିପ୍ତ ପଥ କି'ଗୁଡ଼ିକୁ ସକ୍ରିୟ କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ନିବେଶ ପଦ୍ଧତିକୁ ଅନ କରିବା ପାଇଁ ସକ୍ଷିପ୍ତ ପଥ କି ଗୁଡ଼ିକ" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "ସଂକ୍ଷିପ୍ତ ପଥ କି'ଗୁଡ଼ିକୁ ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ନିବେଶ ପଦ୍ଧତିକୁ ଅଫ କରିବା ପାଇଁ ସକ୍ଷିପ୍ତ ପଥ କି ଗୁଡ଼ିକ" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "ପରବର୍ତ୍ତି ଯନ୍ତ୍ର ସଂକ୍ଷିପ୍ତ ପଥ କି'ଗୁଡ଼ିକ" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "ତାଲିକାରେ ପରବର୍ତ୍ତୀ ନିବେଶ ପ୍ରଣାଳୀକୁ ବଦଳାଇବା ପାଇଁ ସକ୍ଷିପ୍ତ ପଥଗୁଡ଼ିକ" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "ପୂର୍ବ ଯନ୍ତ୍ରର ସଂକ୍ଷିପ୍ତ ପଥ କି'ଗୁଡ଼ିକ" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "ତାଲିକାରେ ପୂର୍ବ ନିବେଶ ପ୍ରଣାଳୀକୁ ବଦଳାଇବା ପାଇଁ ସକ୍ଷିପ୍ତ ପଥଗୁଡ଼ିକ" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଲୁଚାନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "ଭାଷା ତାଲିକାର ଆଚରଣ। 0 = ତାଲିକାରେ ସନ୍ନିହିତ, 1 = ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଲୁଚାନ୍ତୁ, 2 = ସର୍ବଦା ଦର୍ଶାନ୍ତୁ" -+msgstr "" -+"ଭାଷା ତାଲିକାର ଆଚରଣ। 0 = ତାଲିକାରେ ସନ୍ନିହିତ, 1 = ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଲୁଚାନ୍ତୁ, 2 = " -+"ସର୍ବଦା ଦର୍ଶାନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ଭାଷା ଫଳକ ଅବସ୍ଥାନ" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "ଭାଷା ଫଳକର ଅବସ୍ଥାନ। 0 = ଉପର ପାଖ ବାମ କୋଣ, 1 = ଉପର ପାଖ ଡାହାଣ କୋଣ, 2 = ତଳ ପାଖ ବାମ କୋଣ, 3 = ତଳ ପାଖ ଡ଼ାହାଣ କୋଣ, 4 = ଇଚ୍ଛାମୁତାବକ" -+msgstr "" -+"ଭାଷା ଫଳକର ଅବସ୍ଥାନ। 0 = ଉପର ପାଖ ବାମ କୋଣ, 1 = ଉପର ପାଖ ଡାହାଣ କୋଣ, 2 = ତଳ ପାଖ " -+"ବାମ କୋଣ, 3 = ତଳ ପାଖ ଡ଼ାହାଣ କୋଣ, 4 = ଇଚ୍ଛାମୁତାବକ" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "ଅବଲୋକନ ସାରଣୀର ଅନୁସ୍ଥାପନ" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "ଅବଲୋକନ ସାରଣୀର ଅନୁସ୍ଥାପନ। 0 = ଭୂ-ସମାନ୍ତର, 1 = ଭୂ-ଲମ୍ବ" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ନିବେଶ ପଦ୍ଧତି ନାମ ଦର୍ଶାନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "ଇଚ୍ଛାମୁତାବକ ଅକ୍ଷରରୂପ ବ୍ୟବହାର କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "ଭାଷା ତାଲିକା ପାଇଁ ଇଚ୍ଛାମୁତାବକ ଅକ୍ଷରରୂପ ନାମକୁ ବ୍ୟବହାର କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus ବ୍ୟବସ୍ଥା ଉପରେ ତନ୍ତ୍ର କି ବୋର୍ଡ ବିନ୍ୟାସ ଶ୍ରେଣୀଗୁଡ଼ିକର ତାଲିକା" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"ଶ୍ରେଣୀ ତାଲିକାକୁ ସମସ୍ତ ତନ୍ତ୍ର କିବୋର୍ଡ ବିନ୍ୟାସକୁ ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ " -+"ନଦର୍ଶାଇବା ପାଇଁ ବ୍ୟବହାର କରାଯାଇଥାଏ। ତାଲିକା ବସ୍ତୁକୁ gconf କି ଶେଷରେ ଯୋଗ କରାଯିବ। " -+"ଯେପରିକି .../xkblayoutconfig/ବସ୍ତୁ1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-ସଂରଚନାରେ ୟିରୋପିଆନ ଭାଷାର ତାଲିକା" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ଆପଣ କୌଣସି ଭାଷା ଉପରେ ibus-ସଂରଚନାକୁ ଚଲାଇବା ସମୟରେ ibus-ସଂରଚନା ଭାଷାଗୁଡ଼ିକୁ କେବଳ " -+"ନିବେଶ ପ୍ରଣାଳୀ ତାଲିକାରେ ଦର୍ଶାଇଥାଏ। ଅନ୍ୟାନ୍ୟ ଭାଷାଗୁଡ଼ିକ ଏକ ଅନୁଲମ୍ବିତ ବଟନ ତଳେ " -+"ଲୁଚାଇ ରଖାଯାଇଥାଏ।" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-ସଂରଚନାରେ ଏସିଆନ ଭାଷାଗୁଡ଼ିକର ତାଲିକା" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "ଇଚ୍ଛାରୂପୀ ଅକ୍ଷରରୂପ" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ଭାଷା ତାଲିକା ପାଇଁ ଇଚ୍ଛାମୁତାବକ ଅକ୍ଷରରୂପ ନାମ" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "ଅନ୍ତସ୍ଥାପିତ ପ୍ରୀଡିତ ପାଠ୍ୟ" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "ପ୍ରୟୋଗ ୱିଣ୍ଡୋରେ ଅନ୍ତସ୍ଥାପିତ ପ୍ରୀଡିତ ପାଠ୍ୟ" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "ସର୍ବସାଧାରଣ ନିବେଶ ପ୍ରଣୀଳୀକୁ ବ୍ୟବହାର କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ନିବେଶ ପ୍ରଣାଳୀକୁ ସକ୍ରିୟ କରନ୍ତୁ" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ନିବେଶ ପ୍ରଣାଳୀକୁ ସକ୍ରିୟ କରନ୍ତୁ ଯେତେବେଳେ ପ୍ରୟୋଗକୁ ନିବେଶ ଲକ୍ଷ୍ଯ ମିଳିଥାଏ" -+msgstr "" -+"ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ନିବେଶ ପ୍ରଣାଳୀକୁ ସକ୍ରିୟ କରନ୍ତୁ ଯେତେବେଳେ ପ୍ରୟୋଗକୁ ନିବେଶ " -+"ଲକ୍ଷ୍ଯ ମିଳିଥାଏ" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf ନାମ ଉପସର୍ଗଗୁଡ଼ିକୁ ସଂରକ୍ଷିତ ରଖିଥାଏ" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "ନାମ ପରିବର୍ତ୍ତନକୁ ଅଟକାଇବା ପାଇଁ DConf କିଗୁଡ଼ିକର ଉପସର୍ଗଗୁଡ଼ିକ" - -@@ -380,36 +521,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "ଅନ୍ୟାନ୍ୟ" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ଭାଷା: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "କିବୋର୍ଡ ବିନ୍ୟାସ: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "ଲେଖକ: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "ବର୍ଣ୍ଣନା:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ଗୋଟିଏ ନିବେଶ ପ୍ରଣୀଳୀ ବାଛନ୍ତୁ" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "ସମସ୍ତ ନିବେଶ ପ୍ରଣାଳୀଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "କେବଳ ଆପଣଙ୍କ ଅଞ୍ଚଳ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ନିବେଶ ପ୍ରଣାଳୀଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -429,118 +582,158 @@ - msgid "Modifiers:" - msgstr "ରୂପାନ୍ତରକ:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "ଦୟାକରି ଗୋଟିଏ କି (କିମ୍ବା ଗୋଟିଏ କି ସଂଯୋଜନ) ଦବାନ୍ତୁ।\nକିକୁ ଛାଡ଼ିଦେଲାପରେ ସଂଳାପଟି ବନ୍ଦ ହୋଇଯିବ।" -+msgstr "" -+"ଦୟାକରି ଗୋଟିଏ କି (କିମ୍ବା ଗୋଟିଏ କି ସଂଯୋଜନ) ଦବାନ୍ତୁ।\n" -+"କିକୁ ଛାଡ଼ିଦେଲାପରେ ସଂଳାପଟି ବନ୍ଦ ହୋଇଯିବ।" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "ଦୟାକରି ଗୋଟିଏ କି (କିମ୍ବା ଗୋଟିଏ କି ସଂଯୋଜନ) ଦବାନ୍ତୁ।" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ଟ୍ରିଗର" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "ସକ୍ରିୟ କରନ୍ତୁ" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "ନିଷ୍କ୍ରିୟ କରନ୍ତୁ" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"ପୂର୍ବ ନିବେଶ ପ୍ରଣାଳୀକୁ ବଦଳାଇବା ପାଇଁ shift ସହିତ ସଂକ୍ଷିପ୍ତ ପଥକୁ ବ୍ୟବହାର କରନ୍ତୁ" - --#: ../setup/main.py:331 -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"ଆପଣଙ୍କର ସଂରକ୍ଷିତ ନିବେଶ ପ୍ରଣାଳୀଗୁଡ଼ିକର ତାଲିକା ସଙ୍ଗେ ସଙ୍ଗେ ସଫା ହୋଇଯିବ ଏବଂ " -+"ପ୍ରତ୍ୟେକ ଥର ଲଗଇନ ଦ୍ୱାରା ତାଲିକାକୁ ବିନ୍ୟାସ କରାଯିବ। ଆପଣ ଏହା ସହିତ ସହମତ କି?" -+ -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus ଡେମନ ଚାଲୁ ନାହିଁ। ଆପଣ ଏହାକୁ ଆରମ୍ଭ କରିବାକୁ ଚାହୁଁଛନ୍ତି କି?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus ଆରମ୍ଭ ହୋଇସାରିଛି! ଯଦି ଆପଣ IBus ବ୍ୟବହାର କରି ନପାରନ୍ତି, ତେବେ ଦୟାକରି " -+"ନିମ୍ନଲିଖିତ ଧାଡ଼ିଗୁଡ଼ିକୁ $HOME/.bashrcରେ ଯୋଗ କରନ୍ତୁ, ତାପରେ ଆପଣଙ୍କର ଡେସ୍କଟପକୁ " -+"ପୁଣି ଲଗଇନ କରନ୍ତୁ।\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus ଆରମ୍ଭ ହୋଇସାରିଛି! ଯଦି ଆପଣ IBus ବ୍ୟବହାର କରି ନପାରନ୍ତି, ତେବେ ଦୟାକରି ନିମ୍ନଲିଖିତ ଧାଡ଼ିଗୁଡ଼ିକୁ $HOME/.bashrcରେ ଯୋଗ କରନ୍ତୁ, ତାପରେ ଆପଣଙ୍କର ଡେସ୍କଟପକୁ ପୁଣି ଲଗଇନ କରନ୍ତୁ।\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus ଡେମନ %d ସେକଣ୍ଡରେ ଆରମ୍ଭ ହୋଇ ପାରିଲା ନାହିଁ" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s ପାଇଁ କିବୋର୍ଡ ସକ୍ଷିପ୍ତପଥ ବାଛନ୍ତୁ" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ନିବେଶ ପ୍ରଣାଳୀ ବଦଳାଉଛି" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "କେବଳ ଯନ୍ତ୍ର ନାମକୁ ତାଲିକାଭୁକ୍ତ କରନ୍ତୁ" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "command [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus ସହିତ ସଂଯୋଗ ସ୍ଥାପନ କରିପାରିବେ ନାହିଁ।\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "ଭାଷା: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "କୋଣସି ଯନ୍ତ୍ର ସେଟ ହୋଇନାହିଁ।\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "ସର୍ବସାଧାରଣ ଯନ୍ତ୍ର ସେଟ କରିବାରେ ବିଫଳ।\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "ସର୍ବସାଧାରଣ ଯନ୍ତ୍ର ପାଇବାରେ ବିଫଳ।\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "ତନ୍ତ୍ର ପଞ୍ଜିକରଣ କ୍ୟାଶେକୁ ପଢ଼ନ୍ତୁ।" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "ପଞ୍ଜିକରଣ କ୍ୟାଶେ ଫାଇଲକୁ ପଢ଼ନ୍ତୁ।" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb ବିନ୍ୟାସକୁ %s ରେ ପରିବର୍ତ୍ତନ କରିବା ବିଫଳ ହୋଇଛି।" -+msgid "The registry cache is invalid.\n" -+msgstr "ପଞ୍ଜିକରଣ କ୍ୟାଶେଟି ଅବୈଧ ଅଟେ।\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "ତନ୍ତ୍ର ପଞ୍ଜିକରଣ କ୍ୟାଶେକୁ ଲେଖନ୍ତୁ।" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "ପଞ୍ଜିକରଣ କ୍ୟାଶେ ଫାଇଲକୁ ଲେଖନ୍ତୁ।" -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "ବ୍ୟବହାର: %s COMMAND [OPTION...]\n" - "\n" --msgstr "ବ୍ୟବହାର: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "ଆଦେଶଗୁଡିକ:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s ଟି ଗୋଟିଏ ଅଜଣା ନିର୍ଦ୍ଦେଶ!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus ଅଦ୍ୟତନ" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space ଟି ବର୍ତ୍ତମାନ ପୂର୍ବନିର୍ଦ୍ଧାରିତ ହଟକି ଅଟେ।" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus ହେଉଛି Linux/Unix ପାଇଁ ଗୋଟିଏ ବୁଦ୍ଧିମାନ ନିବେଶ ପରିପଥ।" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "ମନୋଜ କୁମାର ଗିରି " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "ପୁନଃଚାଳନ" -diff -urN a/ibus-1.5.3/po/pa.po b/ibus-1.5.3/po/pa.po ---- a/ibus-1.5.3/po/pa.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/pa.po 2013-12-04 18:19:35.503917369 +0530 -@@ -9,19 +9,31 @@ - # A S Alam , 2011-2012. - # Jaswinder Singh , 2009, 2010. - # Jaswinder Singh Phulewala , 2011. -+# translation of ibus.pot to Source -+# Source translation of ibus. -+# Copyright (C) 2008-2013 Peng Huang -+# asaini , 2013 -+# Amanpreet Singh , 2008 -+# A S Alam , 2009 -+# A S Alam , 2011-2012 -+# fujiwara , 2011 -+# Jaswinder Singh , 2009-2010 -+# Jaswinder Singh , 2011,2013 -+# asaini , 2013. #zanata - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-12-04 03:32+0000\n" --"Last-Translator: A S Alam \n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-10-10 03:05-0400\n" -+"Last-Translator: asaini \n" - "Language-Team: Panjabi (Punjabi) \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: pa\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -63,7 +75,8 @@ - msgid "Always" - msgstr "ਹਮੇਸ਼ਾ" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus ਪਸੰਦ" - -@@ -87,7 +100,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "ਇੰਪੁੱਟ ਢੰਗ ਬੰਦ ਜਾਂ ਚਾਲੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - -@@ -127,11 +141,13 @@ - msgid "Language panel position:" - msgstr "ਭਾਸ਼ਾ ਪੈਨਲ ਸਥਿਤੀ:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "ਸਿਸਟਮ ਟਰੇਅ ਵਿੱਚ ਆਈਕਾਨ ਵੇਖਾਓ" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "ਭਾਸ਼ਾ ਪੱਟੀ ਉੱਤੇ ਇੰਪੁੱਟ ਢੰਗ ਨਾਂ ਵੇਖਾਓ" - -@@ -160,65 +176,79 @@ - msgstr "ਆਮ" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "ਸਰਗਰਮ ਇੰਨਪੁੱਟ ਤਰੀਕੇ ਚੁਣੋ (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "ਸਰਗਰਮ ਇੰਨਪੁੱਟ ਤਰੀਕੇ ਚੁਣੋ" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "ਚੁਣਿਆ ਇੰਪੁੱਟ ਢੰਗ ਚਾਲੂ ਕੀਤੇ ਇੰਪੁੱਟ ਢੰਗਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "ਚੁਣਿਆ ਇੰਪੁੱਟ ਢੰਗ ਚਾਲੂ ਇੰਪੁੱਟ ਢੰਗਾਂ ਵਿੱਚੋਂ ਹਟਾਓ" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "ਚੁਣਿਆ ਇੰਪੁੱਟ ਢੰਗ ਚਾਲੂ ਇੰਪੁੱਟ ਢੰਗਾਂ ਵਿੱਚ ਉੱਤੇ ਭੇਜੋ" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "ਚੁਣਿਆ ਇੰਪੁੱਟ ਢੰਗ ਚਾਲੂ ਇੰਪੁੱਟ ਢੰਗਾਂ ਵਿੱਚ ਹੇਠਾਂ ਭੇਜੋ" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "ਚੁਣੇ ਇੰਪੁੱਟ ਢੰਗ ਬਾਰੇ ਜਾਣਕਾਰੀ ਵੇਖੋ" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "ਚੁਣਿਆ ਇੰਪੁੱਟ ਢੰਗ ਦਾ ਸੈਟਅੱਪ ਵੇਖਾਓ" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "ਡਿਫਾਲਟ ਇੰਪੁੱਟ ਢੰਗ ਲਿਸਟ ਵਿੱਚ ਸਭ ਤੋਂ ਉੱਤੇ ਹੈ।\nਤੁਸੀਂ ਇਸ ਨੂੰ ਬਦਲਣ ਲਈ ਉੱਤੇ/ਹੇਠਾਂ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।" -+msgstr "" -+"ਡਿਫਾਲਟ ਇੰਪੁੱਟ ਢੰਗ ਲਿਸਟ ਵਿੱਚ ਸਭ ਤੋਂ ਉੱਤੇ ਹੈ।\n" -+"ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਦਲਣ ਲਈ ਉੱਤੇ/ਹੇਠਾਂ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ਇੰਪੁੱਟ ਢੰਗ" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "ਸਿਸਟਮ ਕੀਬੋਰਡ ਲੇਆਉਟ ਵਰਤੋ" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "ਸਿਸਟਮ ਕੀਬੋਰਡ (XKB) ਲੇਆਉਟ ਵਰਤੋ" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "ਕੀਬੋਰਡ ਲੇਆਉਟ" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "ਸਭ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਇੱਕੋ ਇੰਪੁੱਟ ਢੰਗ ਸਾਂਝਾ ਕਰੋ" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ਗਲੋਬਲ ਇੰਪੁੱਟ ਢੰਗ ਸੈਟਿੰਗ" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "ਤਕਨੀਕੀ" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -226,194 +256,322 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nਇੰਟੈਲੀਜੈਂਟ ਇੰਪੁੱਟ ਢੰਗ\nਮੁੱਖ ਸਫ਼ਾ: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"ਇੰਟੈਲੀਜੈਂਟ ਇੰਪੁੱਟ ਢੰਗ\n" -+"ਮੁੱਖ ਸਫ਼ਾ: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "ਲਾਗਇਨ ਕਰਨ ਸਮੇਂ ibus ਚਲਾਓ" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "ਸ਼ੁਰੂ" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "ਇਸ ਬਾਰੇ" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ ਸ਼ੁਰੂ ਕਰੋ" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "ਪ੍ਰੀ-ਲੋਡ ਇੰਜਣ ਮੋਡ" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"ਪ੍ਰੀ-ਲੋਡ ਇੰਜਣ ਇਸ ਮੋਡ ਨਾਲ ਲੋਡ ਹੁੰਦੇ ਹਨ। 0 = ਯੂਜ਼ਰ ਦੇ ਚੁਣਿੰਦਾ ਇੰਜਣ। 1 =ਭਾਸ਼ਾ " -+"ਨਾਲ ਸੰਬੰਧਿਤ ਇੰਜਣ।" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "preload_engines ਚਾਬੀ ਚਾਲੂ ਹੋ ਗਈ ਹੈ" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "ਪ੍ਰੀ-ਲੋਡ ਇੰਜਣ" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus ਸ਼ੁਰੂ ਹੋਣ ਸਮੇਂ ਪਹਿਲਾਂ ਲੋਡ ਕੀਤੇ ਇੰਜਣ" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "ਇੰਜਣ ਕ੍ਰਮ" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ਇੰਪੁੱਟ ਢੰਗ ਸੂਚੀ ਵਿੱਚ ਸੰਭਾਲੇ ਇੰਜਣਾਂ ਦਾ ਕ੍ਰਮ" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "ਮਿਲੀਸਕਿੰਟ 'ਚ ਸ਼ੁਰੂਆਤੀ ਦੇਰੀ" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "ਸੰਭਾਲਿਆ ਸੰਸਕਰਣ ਨੰਬਰ" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"ਸੰਭਾਲਿਆ ਸੰਸਕਰਣ ਨੰਬਰ ਪੁਰਾਣੇ ਇੰਸਟਾਲ ਕੀਤੇ ਹੋਏ ibus ਅਤੇ ਮੌਜੂਦਾ ibus ਦੇ ਸੰਸਕਰਣ " -+"ਵਿਚਲੇ ਫ਼ਰਕ ਨੂੰ ਜਾਂਚਣ ਲਈ ਵਰਤਿਆ ਜਾਏਗਾ।" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ਵਰਤੋ" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "xmodmap ਚਲਾਓ ਜੇ .xmodmap/.Xmodmap ਮੌਜੂਦ ਹੈ।" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ਲੈਤਿਨ ਖਾਕਾ ਜਿਸਦਾ ਕੋਈ ASCII ਨਹੀਂ" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"ਯੂ ਐਸ ਖਾਕਾ ਲੈਤਿਨ ਖਾਕਿਆਂ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਵੱਖਰੇਵਾਂ ਲੋੜੀਂਦਾ ਨਹੀਂ।" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "XKB ਖਾਕਾ ਸੂਚੀ ਜਿਹੜੀ ibus-setup ਤੇ ਵਿਖਾਈ ਗਈ ਹੈ" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"XKB ਖਾਕਾ ਸੂਚੀ ਜਿਹੜੀ ibus-setup ਤੇ ਵਿਖਾਈ ਗਈ ਹੈ। ਫਾਰਮੈਟ \"ਖਾਕਾ\" ਜਾਂ " -+"\"ਖਾਕਾ(ਵੇਰੀਐਂਟ)\"।" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "ਟਰਿੱਗਰ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse ਲਈ ਸ਼ਾਰਟਕੱਟ ਕੁੰਜੀਆਂ ਟਰਿੱਗਰ ਕਰੋ" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "ਮੌਡੀਫਾਇਰਾਂ ਚਾਬੀਆਂ ਤੋਂ ਬਿਨਾਂ ਟਰਿਗਰ ਸ਼ਾਰਟਕੱਟ ਚਾਬੀਆਂ" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"ਮੌਡੀਫਾਇਰਾਂ ਚਾਬੀਆਂ ਤੋਂ ਬਿਨਾਂ ਟਰਿਗਰ ਸ਼ਾਰਟਕੱਟ ਚਾਬੀਆਂ। ਸੂਚੀ ibus-gjs ਦੁਆਰਾ ਵਰਤੀ " -+"ਗਈ ਹੈ।" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ ਚਾਲੂ ਕਰੋ" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ਇੰਪੁੱਟ ਢੰਗ ਚਾਲੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ ਬੰਦ ਕਰੋ" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ਇੰਪੁੱਟ ਢੰਗ ਬੰਦ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "ਅਗਲਾ ਇੰਜਣ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "ਲਿਸਟ ਵਿੱਚ ਅਗਲਾ ਇੰਪੁੱਟ ਢੰਗ ਬਦਲਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "ਪਿਛਲਾ ਇੰਜਣ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "ਪਿਛਲਾ ਇੰਪੁੱਟ ਢੰਗ ਬਦਲਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਸਵਿੱਚਾਂ" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "ਆਟੋਮੈਟਿਕ ਓਹਲੇ" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "ਭਾਸ਼ਾ ਪੈਨਲ ਦਾ ਰਵੱਈਆ। 0 = ਹਮੇਸ਼ਾ ਓਹਲੇ, 1 = ਆਟੋਮੈਟਿਕ ਓਹਲੇ, 2 = ਹਮੇਸ਼ਾ ਵੇਖੋ" -+msgstr "" -+"ਭਾਸ਼ਾ ਪੈਨਲ ਦਾ ਰਵੱਈਆ। 0 = ਹਮੇਸ਼ਾ ਓਹਲੇ, 1 = ਆਟੋਮੈਟਿਕ ਓਹਲੇ, 2 = ਹਮੇਸ਼ਾ ਵੇਖੋ" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "ਭਾਸ਼ਾ ਪੈਨਲ ਸਥਿਤੀ" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "ਭਾਸ਼ਾ ਪੈਨਲ ਦੀ ਸਥਿਤੀ. 0 = ਉੱਤੇ ਖੱਬਾ ਕੋਨਾ, 1 = ਉੱਤੇ ਸੱਜਾ ਕੋਨਾ, 2 = ਹੇਠਾਂ ਖੱਬਾ ਕੋਨਾ, 3 = ਹੇਠਾਂ ਸੱਜਾ ਕੋਨਾ, 4 = ਪਸੰਦੀਦਾ" -+msgstr "" -+"ਭਾਸ਼ਾ ਪੈਨਲ ਦੀ ਸਥਿਤੀ. 0 = ਉੱਤੇ ਖੱਬਾ ਕੋਨਾ, 1 = ਉੱਤੇ ਸੱਜਾ ਕੋਨਾ, 2 = ਹੇਠਾਂ ਖੱਬਾ " -+"ਕੋਨਾ, 3 = ਹੇਠਾਂ ਸੱਜਾ ਕੋਨਾ, 4 = ਪਸੰਦੀਦਾ" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "ਖੋਜ ਟੇਬਲ ਦੀ ਸਥਿਤੀ" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "ਖੋਜ ਟੇਬਲ ਦੀ ਸਥਿਤੀ। 0 = ਲੇਟਵਾਂ, 1 =ਖੜ੍ਹਵਾ" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ਇੰਪੁੱਟ ਢੰਗ ਨਾਂ ਵੇਖਾਓ" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "ਮਨਪਸੰਦ ਫੋਂਟ ਵਰਤੋਂ" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "ਭਾਸ਼ਾ ਪੈਨਲ ਲਈ ਮਨਪਸੰਦ ਫੋਂਟ ਨਾਂ ਵਰਤੋਂ" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup ਉੱਤੇ ਸਿਸਟਮ ਕੀ-ਬੋਰਡ ਖਾਕਾ ਸਮੂਹਾਂ ਦੀ ਸੂਚੀ" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"ਸਮੂਹ ਸੂਚੀ ਮੂਲ ਤੌਰ ਤੇ ਸਾਰੇ ਸਿਸਟਮ ਕੀ-ਬੋਰਡ ਖਾਕੇ ਨਾ ਵਿਖਾਉਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। " -+"ਸੂਚੀ ਆਈਟਮ gconf ਕੀਅ ਦੇ ਅੰਤ ਵਿੱਚ ਜੋੜੀ ਜਾਵੇਗੀ। ਉਦਾਹਰਣ .../xkblayoutconfig/" -+"item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-ਸੈੱਟਅੱਪ ਉੱਤੇ ਯੂਰੋਪੀ ਭਾਸ਼ਾਵਾਂ ਦੀ ਸੂਚੀ" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-ਸੈੱਟਅੱਪ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਤੇ ibus-ਸੈਟਅੱਪ ਚਲਾਉਣ ਤੇ ਸਿਰਫ਼ ਇੰਨਪੁੱਟ ਢੰਗ " -+"ਸੂਚੀ ਵਿੱਚਲੀਆਂ ਭਾਸ਼ਾਵਾਂ ਹੀ ਵਿਖਾਉਂਦਾ ਹੈ। ਬਾਕੀ ਭਾਸ਼ਾਵਾਂ ਇੱਕ ਵੱਧਵੇਂ ਬਟਨ ਥੱਲੇ " -+"ਲੁਕੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ।" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-ਸੈੱਟਅੱਪ ਤੇ ਏਸ਼ੀਆਈ ਭਾਸ਼ਾਵਾਂ ਦੀ ਸੂਚੀ" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "ਮਨਪਸੰਦ ਫੋਂਟ" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "ਭਾਸ਼ਾ ਪੈਨਲ ਲਈ ਮਨਪਸੰਦ ਫੋਂਟ ਨਾਂ" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "ਸ਼ਾਮਿਲ ਕੀਤਾ ਪਹਿਲਾਂ-ਸੋਧ ਟੈਕਸਟ" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵਿੰਡੋ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕੀਤਾ ਪਹਿਲਾਂ-ਸੋਧ ਟੈਕਸਟ" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "ਗਲੋਬਲ ਇੰਪੁੱਟ ਢੰਗ ਵਰਤੋ" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "ਇੰਪੁੱਟ ਢੰਗ ਡਿਫਾਲਟ ਹੀ ਚਾਲੂ ਕਰੋ" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "ਜਦੋਂ ਐਪਲੀਕੇਸ਼ਨ ਇੰਪੁੱਟ ਫੋਕਸ ਲਵੇ ਤਾਂ ਇੰਪੁੱਟ ਢੰਗ ਡਿਫਾਲਟ ਹੀ ਚਲਾਉ" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf ਨਾਂ ਅਗੇਤਰ ਰੱਖਦਾ ਹੈ" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "DConf ਦੇ ਅਗੇਤਰ ਨਾਂ ਤਬਦੀਲੀ ਰੋਕਣ ਲਈ" - - #: ../ibus/_config.py.in:41 - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"Copyright (c) 2007-2010 Peng Huang\n" -+"Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "ਹੋਰ" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "ਭਾਸ਼ਾ: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "ਕੀਬੋਰਡ ਲੇਆਉਟ: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "ਲੇਖਕ: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "ਵੇਰਵਾ:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ਇੱਕ ਇੰਪੁੱਟ ਢੰਗ ਚੁਣੋ" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "ਸਾਰੇ ਇੰਨਪੁੱਟ ਢੰਗ ਵਿਖਾਓ" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "ਸਿਰਫ਼ ਤੁਹਾਡੇ ਖੇਤਰ ਲਈ ਇੰਨਪੁੱਟ ਢੰਗ ਹੀ ਵਿਖਾਓ" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -433,118 +591,159 @@ - msgid "Modifiers:" - msgstr "ਮੋਡੀਫਾਇਰ:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "ਕੋਈ ਵੀ ਸਵਿੱਚ ਦੱਬੋ (ਜਾਂ ਕੋਈ ਸਵਿੱਚ ਜੋੜ)।\nਜਦੋਂ ਸਵਿੱਚ ਛੱਡੀ ਜਾਵੇਗੀ ਤਾਂ ਇਹ ਡਾਇਲਾਗ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।" -+msgstr "" -+"ਕੋਈ ਵੀ ਸਵਿੱਚ ਦੱਬੋ (ਜਾਂ ਕੋਈ ਸਵਿੱਚ ਜੋੜ)।\n" -+"ਜਦੋਂ ਸਵਿੱਚ ਛੱਡੀ ਜਾਵੇਗੀ ਤਾਂ ਇਹ ਡਾਇਲਾਗ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "ਕੋਈ ਵੀ ਸਵਿੱਚ ਦੱਬੋ (ਜਾਂ ਸਵਿੱਚ ਜੋੜ)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ਟਰਿੱਗਰ" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "ਚਾਲੂ ਕਰੋ" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "ਬੰਦ ਕਰੋ" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "ਲਿਸਟ ਵਿੱਚ ਪਿਛਲੇ ਇੰਪੁੱਟ ਢੰਗ ਤੇ ਜਾਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਬਟਨ" - --#: ../setup/main.py:331 --msgid "The IBus daemon is not running. Do you wish to start it?" -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" - msgstr "" -+"ਤੁਹਾਡੀਆਂ ਸੰਭਾਲੇ ਗਏ ਇੰਨਪੁੱਟ ਢੰਗਾਂ ਦੀ ਸੂਚੀ ਇਕਦਮ ਸਾਫ ਕਰ ਦਿੱਤੀ ਜਾਵੇਗੀ ਅਤੇ ਸੂਚੀ " -+"ਹਰ ਵਾਰੀ ਲਾਗਇਨ ਭਾਸ਼ਾ ਦੁਆਰਾ ਸੰਰਚਿਤ ਕੀਤੀ ਜਾਵੇਗੀ। ਕੀ ਤੁਸੀਂ ਇਸ ਨਾਲ ਸਹਿਮਤ ਹੋ?" -+ -+#: ../setup/main.py:379 -+msgid "The IBus daemon is not running. Do you wish to start it?" -+msgstr "IBus ਡੈਮਨ ਚੱਲ ਨਹੀਂ ਰਿਹਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - msgstr "" -+"IBus ਚੱਲ ਪਿਆ ਹੈ! ਜੇ ਤੁਸੀਂ IBus ਨਹੀਂ ਵਰਤ ਸਕੇ, ਤਾਂ ਹੇਠਲੀ ਲਾਈਨ ਆਪਣੀ $HOME/." -+"bashrc ਵਿੱਚ ਜੋੜੋ; ਅਤੇ ਦੁਬਾਰਾ ਲਾਗਇਨ ਕਰੋ।\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" --msgstr "" -+msgstr "IBus ਡੈਮਨ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਚਾਲੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s ਲਈ ਕੀਬੋਰਡ ਸ਼ਾਰਟਕੱਟ ਚੁਣੋ" - --#: ../tools/main.vala:40 --msgid "List engine name only" --msgstr "" -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ਇੰਪੁੱਟ ਢੰਗ ਬਦਲਨਾ" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "" -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "ਸਿਰਫ ਇੰਜਣ ਨਾਂ ਵੇਖਾਓ" - --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" --msgstr "" -+msgstr "IBus ਨਾਲ ਨਹੀਂ ਜੁੜ ਸਕਿਆ।\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "ਭਾਸ਼ਾ: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "ਕੋਈ ਇੰਜਣ ਸੈੱਟ ਨਹੀਂ ਹੈ।\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "ਗਲੋਬਲ ਇੰਜਣ ਸੈੱਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ।\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" --msgstr "" -+msgstr "ਗਲੋਬਲ ਇੰਜਣ ਫੇਲ ਹੋਇਆ।\n" -+ -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "ਸਿਸਟਮ ਰਜਿਸਟਰੀ ਕੈਚੇ ਪੜ੍ਹੋ।" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "ਰਜਿਸਟਰੀ ਕੈਚੇ ਫ਼ਈਲ ਪੜ੍ਹੋ।" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "" -+msgid "The registry cache is invalid.\n" -+msgstr "ਰਜਿਸਟਰੀ ਕੈਚੇ ਅਯੋਗ ਹੈ।\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "ਸਿਸਟਮ ਰਜਿਸਟਰੀ ਕੈਚੇ ਲਿਖੋ।" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "ਰਜਿਸਟਰੀ ਕੈਚੇ ਫ਼ਾਈਲ ਲਿਖੋ।" -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "ਵਰਤੋਂ: %s COMMAND [OPTION...]\n" - "\n" --msgstr "ਵਰਤੋਂ: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "ਕਮਾਂਡ:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" --msgstr "" -+msgstr "%s ਅਣਜਾਣ ਕਮਾਂਡ ਹੈ!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus ਅੱਪਡੇਟ" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space ਹੁਣ ਮੂਲ ਹੌਟ-ਕੀ ਹੈ।" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus ਲੀਨਕਸ/ਯੂਨੈਕਸ ਲਈ ਮਾਹਰ ਇੰਪੁੱਟ ਬੱਸ ਹੈ।" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੦੮-੨੦੧੨\nਜਸਵਿੰਦਰ ਸਿੰਘ \nhttp://www.satluj.com/" -+msgstr "" -+"ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ ੨੦੦੮-੨੦੧੨\n" -+"ਜਸਵਿੰਦਰ ਸਿੰਘ \n" -+"http://www.satluj.com/" - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "ਮੁੜ-ਚਾਲੂ ਕਰੋ" -diff -urN a/ibus-1.5.3/po/pt_BR.po b/ibus-1.5.3/po/pt_BR.po ---- a/ibus-1.5.3/po/pt_BR.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/pt_BR.po 2013-12-04 18:19:35.504917377 +0530 -@@ -2,23 +2,24 @@ - # Gujarati translations for el package. - # Copyright (C) 2010 THE el'S COPYRIGHT HOLDER - # This file is distributed under the same license as the ibus package. --# -+# - # Automatically generated, 2010. - # Glaucia Cintra , 2010-2011. -+# gcintra , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: ibus.master.pt_BR\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2012-05-16 10:14+0900\n" --"PO-Revision-Date: 2011-03-22 15:23+0000\n" --"Last-Translator: Glaucia Cintra \n" -+"PO-Revision-Date: 2013-10-06 03:08-0400\n" -+"Last-Translator: gcintra \n" - "Language-Team: Portuguese (Brazilian) \n" --"Language: pt_BR\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: pt-BR\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -29,38 +30,39 @@ - msgstr "Vertical" - - #: ../setup/setup.ui.h:3 --msgid "Embedded in menu" --msgstr "Embutido no menu" -- --#: ../setup/setup.ui.h:4 --msgid "When active" --msgstr "Quando ativado" -- --#: ../setup/setup.ui.h:5 --msgid "Always" --msgstr "Sempre" -- --#: ../setup/setup.ui.h:6 - msgid "Top left corner" - msgstr "Canto esquerdo superior" - --#: ../setup/setup.ui.h:7 -+#: ../setup/setup.ui.h:4 - msgid "Top right corner" - msgstr "Canto direito superior" - --#: ../setup/setup.ui.h:8 -+#: ../setup/setup.ui.h:5 - msgid "Bottom left corner" - msgstr "Canto esquerdo inferior" - --#: ../setup/setup.ui.h:9 -+#: ../setup/setup.ui.h:6 - msgid "Bottom right corner" - msgstr "Canto direito superior" - --#: ../setup/setup.ui.h:10 -+#: ../setup/setup.ui.h:7 - msgid "Custom" - msgstr "Padrão" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:8 -+msgid "Embedded in menu" -+msgstr "Embutido no menu" -+ -+#: ../setup/setup.ui.h:9 -+msgid "When active" -+msgstr "Quando ativado" -+ -+#: ../setup/setup.ui.h:10 -+msgid "Always" -+msgstr "Sempre" -+ -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "Preferências do IBus" - -@@ -75,7 +77,8 @@ - - #: ../setup/setup.ui.h:14 - msgid "The shortcut keys for switching to previous input method in the list" --msgstr "Teclas de atalho para alteração ao método de entrada anterior da lista" -+msgstr "" -+"Teclas de atalho para alteração ao método de entrada anterior da lista" - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" -@@ -85,7 +88,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "As teclas de atalho para ligar ou desligar o método de entrada" - -@@ -127,11 +131,13 @@ - msgid "Language panel position:" - msgstr "Posição do Painel de Linguagem:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "Apresenta um ícone na bandeja do sistema" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "Apresenta o nome do método de entrada na barra de linguagem" - -@@ -163,76 +169,87 @@ - msgstr "Geral" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "Padronizar métodos_entrada ativos" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "Padronizar métodos de entrada ativos" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "" - "Adicione o método de entrada selecionado nos métodos de entrada ativados" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "" - "Remova o método de entrada selecionado a partir dos métodos de entrada " - "ativados" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "" - "Mova para cima o método de entrada selecionado na lista dos métodos de " - "entrada" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "" - "Mova o método de entrada selecionado para baixo nos métodos de entrada " - "ativados" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "Apresente a informação do método de entrada selecionado" - --#: ../setup/setup.ui.h:40 --#, fuzzy -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" --msgstr "Apresente a informação do método de entrada selecionado" -+msgstr "Exibir configuração do método de entrada selecionado" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." - msgstr "" - "O método de entrada padrão é o número um da lista. Você pode usar " --"os botões para mover o cursor para cima e para baixo para alterá-lo." -+"os botões para mover o\n" -+"cursor para cima e para baixo para alterá-lo." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "Método de Entrada" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "Usa o desenho do teclado do sistema" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "Usa o desenho do teclado do sistema (XKB)" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "Desenho do Teclado" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "Compartilhar o mesmo método de entrada entre todos os aplicativos" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "Configurações de Método de Entrada Global " - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "Avançado" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -248,88 +265,164 @@ - "\n" - "\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "Inicie o ibus na conexão " - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "Inicialização" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "Sobre" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "Framework do método de entrada" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "Iniciar Framework do método de entrada IBus" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "Modo de motor de pré-carregamento " -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"Motores de pré-carregamento são carregados com este modo. 0=motores " -+"padronizados de usuário. 1=motores relacionados ao idioma." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "A tecla motores_pré-carregamento é inicializada" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "Mecanismos de carregamento" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "Mecanismos de pré-carregamento durante a inicialização do ibus" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "Ordem dos motores" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "Foi salva a ordem dos motores na lista de método de entrada" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "Pop-up de milisegundos de atraso para a janela de interruptor de IME" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Definir o pop-up de atraso em milisegundos para mostrar a janela de " -+"interruptor IME. O padrão é 400. 0 = Exibir a janela imediatamente. 0 < " -+"Milisegundos de atraso. 0 < Não exibe a janela e muda para motores " -+"anteriores/próximo." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "Número de versão salva" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." - msgstr "" -+"O número de versão salvo será usado para verificar a diferença entre a " -+"versão de ibus instalados anteriormente e um dos ibus atuais." - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "Usar xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "Executar xmodmap se .xmodmap/.Xmodmap existir." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "Layout latin que não possui ASCII" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"Layout do US é adicionado aos layouts em latin. Não é necessário variantes." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "Lista de layout XKB que é exibida em ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"Layout de XKB que é exibida em ibus-setup. O formato é \"layout\" ou " -+"\"layout(variante)\"." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "Realiza o trigger nas teclas de atalho" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "Dispara teclas de atalho para gtk_accelerator_parse" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "Dispara teclas de atalho sem as teclas modificadoras." -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"Dispara teclas de atalho sem as teclas modificadoras. A lista é usada pelo " -+"ibus-gjs." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "Habilitar teclas de atalho" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "As teclas de atalho para ligar o método de entrada" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "Desabilitar teclas de atalho" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "As teclas de atalho para desligar o método de entrada" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "Próximo mecanismo de teclas de atalho" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "" - "As teclas de atalho para alteração ao próximo método de entrada na lista " - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "Visualização do mecanismo das teclas de atalho " - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "Teclas de atalho para alteração ao método de entrada anterior" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "Ocultar Automaticamente" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" -@@ -337,11 +430,11 @@ - "O comportamento do painel de linguagem. 0 = Embutido no menu, 1 = Ocultar " - "automaticamente, 2 = Apresentar sempre" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "Posição do Painel de Linguagem" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" -@@ -350,63 +443,95 @@ - "direito superior, 2 = canto esquerdo inferior, 3 = canto direito inferior, 4 " - "= Padrão " - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "Orientação da tabela de pesquisa" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "Orientação da Tabela de Pesquisa. 0 = Horizontal, 1 = Vertical " - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "Apresenta o nome do método de entrada" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "Usa a fonte padrão" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "Usa o nome da fonte padrão para o painel de linguagem" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "Lista do layout do grupo de teclado do sistema em ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"A lista de grupo é usada para não exibir todos os layouts de teclados de " -+"sistema por padrão. O ítem da lista será adicionado ao final da tecla gconf. " -+"ex.: .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "Lista de idiomas Europeus no ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibuts-setup exibe os idiomas somente na lista de método de entrada quando " -+"você executa ibus-setup em um dos idiomas. Outros idiomas estão escondidos " -+"sob um botão estendido." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "Lista de Idiomas Aisáticos no ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "Fonte padrão" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "Nome da fonte padrão para o painel de linguagem" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "Embutir Texto de Pré-Edição " - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "Embutir Texto de Pré-edição na Janela do Aplicativo" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "Use o método de entrada global" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "Habilitar método de entrada por padrão" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "" - "Habilitar método de entrada por padrão quando o aplicativo obtiver o foco de " - "entradas" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf preserva prefixos de nomes" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "Prefixos das teclas do DConf para interromper conversão de nome" - - #: ../ibus/_config.py.in:41 - msgid "" -@@ -416,34 +541,44 @@ - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "Outros" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "Linguagem: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "Desenho do teclado: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "Autor: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "Descrição:\n" - --#: ../setup/enginecombobox.py:136 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "Selecione um método de entrada" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "Exibe todos os métodos de entrada" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "Exibe somente métodos de entrada para sua região" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -463,7 +598,7 @@ - msgid "Modifiers:" - msgstr "Modificadores:" - --#: ../setup/keyboardshortcut.py:235 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." -@@ -471,29 +606,31 @@ - "Por favor pressione uma tecla (ou uma combinação de tecla).\n" - "O diálogo será encerrado quando a tecla for liberada." - --#: ../setup/keyboardshortcut.py:237 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "Por favor pressione uma tecla (ou uma combinação de tecla)" - --#: ../setup/main.py:79 --msgid "trigger" --msgstr "trigger" -- --#: ../setup/main.py:80 --msgid "enable" --msgstr "habilitar" -- --#: ../setup/main.py:81 --msgid "disable" --msgstr "desabiltar" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"Usa atalhos com a tecla SHIFT para mudar para o método de entrada anterior." -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"A lista de seus métodos de entrada salvos serão limpos imediatamente e a " -+"lista será configurada pelo idioma de login todas as vezes. Você concorda " -+"com isto?" - --#: ../setup/main.py:323 --#, fuzzy -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "O IBus daemon não foi inciado. Você deseja iniciá-lo agora?" -+msgstr "O IBus daemon não foi inciado. Você deseja iniciá-lo agora? " - --#: ../setup/main.py:344 --#, fuzzy -+#: ../setup/main.py:400 - msgid "" - "IBus has been started! If you cannot use IBus, add the following lines to " - "your $HOME/.bashrc; then relog into your desktop.\n" -@@ -505,76 +642,114 @@ - "$HOME/.bashrc, and relogin your desktop.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" --" export QT_IM_MODULE=ibus" -+" export QT_IM_MODULE=ibus " - --#: ../setup/main.py:357 -+#. Translators: %d == 5 currently -+#: ../setup/main.py:414 - #, python-format --msgid "IBus daemon coundn't be started in %d seconds" --msgstr "" -+msgid "IBus daemon could not be started in %d seconds" -+msgstr "Daemon do IBus não pôde ser iniciado em %d segundos." - --#: ../setup/main.py:369 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "Selecione o atalho do teclado para %s" - --#: ../ui/gtk3/panel.vala:330 --#, fuzzy -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "trocando métodos de entrada" -+ -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "Listar somente nomes de motores" -+ -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 -+#, c-format -+msgid "Can't connect to IBus.\n" -+msgstr "Não é possível conectar ao IBus.\n" -+ -+#: ../tools/main.vala:84 -+#, c-format -+msgid "language: %s\n" -+msgstr "idioma: %s\n" -+ -+#: ../tools/main.vala:152 -+#, c-format -+msgid "No engine is set.\n" -+msgstr "Nenhum motor foi definido.\n" -+ -+#: ../tools/main.vala:160 -+#, c-format -+msgid "Set global engine failed.\n" -+msgstr "A definição de motor global falhou.\n" -+ -+#: ../tools/main.vala:165 -+#, c-format -+msgid "Get global engine failed.\n" -+msgstr "A obtenção do motor global falhou.\n" -+ -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "Ler o cache do registro de sistema." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "Ler o FILE do cache de registro." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 -+#, c-format -+msgid "The registry cache is invalid.\n" -+msgstr "O cache do registro é inválido.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "Gravar o cache de registro do sistema." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "Gravar o FILE do cache de registro." -+ -+#: ../tools/main.vala:300 -+#, c-format -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "Uso: %s COMMAND [OPTION...]\n" -+"\n" -+ -+#: ../tools/main.vala:301 -+#, c-format -+msgid "Commands:\n" -+msgstr "Comandos: \n" -+ -+#: ../tools/main.vala:327 -+#, c-format -+msgid "%s is unknown command!\n" -+msgstr "%s é um comando desconhecido!\n" -+ -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "Atualização do IBus" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space agora é uma hotkey padrão." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" --msgstr "" --"Copyright (c) 2007-2010 Peng Huang\n" --"Copyright (c) 2007-2010 Red Hat, Inc." -+msgstr "Copyright (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:335 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus é um bus de entrada inteligente para o Linux/Unix." - --#: ../ui/gtk3/panel.vala:339 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "créditos-tradutor" - --#: ../ui/gtk3/panel.vala:371 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "Reinicie" -- --#~ msgid "Previous page" --#~ msgstr "Página anterior" -- --#~ msgid "Next page" --#~ msgstr "Próxima página" -- --#~ msgid "" --#~ "Some input methods have been installed, removed or updated. Please " --#~ "restart ibus input platform." --#~ msgstr "" --#~ "Alguns métodos de entrada foram instalados, removidos ou atualizados. Por " --#~ "favor, reinicie a plataforma de entrada do ibus. " -- --#~ msgid "Restart Now" --#~ msgstr "Reinicie Agora" -- --#~ msgid "Later" --#~ msgstr "Mais tarde" -- --#~ msgid "IBus input method framework" --#~ msgstr "Framework do método de entrada IBus" -- --#~ msgid "Turn off input method" --#~ msgstr "Desligue o método de entrada" -- --#~ msgid "No input window" --#~ msgstr "Nenhuma janela de entrada" -- --#~ msgid "About the input method" --#~ msgstr "Sobre o método de entrada" -- --#~ msgid "Switch input method" --#~ msgstr "Altere o método de entrada" -- --#~ msgid "About the Input Method" --#~ msgstr "A respeito do Método de Entrada" -- --#~ msgid "next input method" --#~ msgstr "próximo método de entrada" -- --#~ msgid "previous input method" --#~ msgstr "método de entrada anterior" -diff -urN a/ibus-1.5.3/po/ru.po b/ibus-1.5.3/po/ru.po ---- a/ibus-1.5.3/po/ru.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/ru.po 2013-12-04 18:19:35.504917377 +0530 -@@ -1,24 +1,25 @@ - # Russian translations for IBus package. - # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER - # This file is distributed under the same license as the PACKAGE package. --# -+# - # Alexey Kotlyarov , 2009. - # Yulia , 2010. -+# ypoyarko , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: ru\n" - "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2012-05-16 10:14+0900\n" --"PO-Revision-Date: 2010-07-30 10:25\n" --"Last-Translator: Yulia \n" -+"PO-Revision-Date: 2013-11-07 09:39-0500\n" -+"Last-Translator: ypoyarko \n" - "Language-Team: Russian\n" --"Language: \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" --"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" --"X-Generator: KBabel 1.11.4\n" -+"Language: ru\n" -+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -29,38 +30,39 @@ - msgstr "Вертикально" - - #: ../setup/setup.ui.h:3 --msgid "Embedded in menu" --msgstr "Встроена в меню" -- --#: ../setup/setup.ui.h:4 --msgid "When active" --msgstr "Когда активно" -- --#: ../setup/setup.ui.h:5 --msgid "Always" --msgstr "Всегда" -- --#: ../setup/setup.ui.h:6 - msgid "Top left corner" - msgstr "Левый верхний угол" - --#: ../setup/setup.ui.h:7 -+#: ../setup/setup.ui.h:4 - msgid "Top right corner" - msgstr "Правый верхний угол" - --#: ../setup/setup.ui.h:8 -+#: ../setup/setup.ui.h:5 - msgid "Bottom left corner" - msgstr "Левый нижний угол" - --#: ../setup/setup.ui.h:9 -+#: ../setup/setup.ui.h:6 - msgid "Bottom right corner" - msgstr "Правый нижний угол" - --#: ../setup/setup.ui.h:10 -+#: ../setup/setup.ui.h:7 - msgid "Custom" - msgstr "Свой" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:8 -+msgid "Embedded in menu" -+msgstr "Встроена в меню" -+ -+#: ../setup/setup.ui.h:9 -+msgid "When active" -+msgstr "Когда активно" -+ -+#: ../setup/setup.ui.h:10 -+msgid "Always" -+msgstr "Всегда" -+ -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "Параметры IBus" - -@@ -84,7 +86,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "Сочетание клавиш для включения/выключения метода ввода" - -@@ -94,11 +97,11 @@ - - #: ../setup/setup.ui.h:19 - msgid "Enable:" --msgstr "" -+msgstr "Включить:" - - #: ../setup/setup.ui.h:20 - msgid "Disable:" --msgstr "" -+msgstr "Выключить:" - - #: ../setup/setup.ui.h:21 - msgid "Keyboard Shortcuts" -@@ -124,11 +127,13 @@ - msgid "Language panel position:" - msgstr "Расположение языковой панели:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "Показать значок в области уведомлений" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "Показывать название метода ввода на языковой панели" - -@@ -158,31 +163,38 @@ - msgstr "Основные" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "Изменить _активные методы ввода" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "Изменить активные методы ввода" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "Добавить выбранный метод ввода к используемым" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "Удалить выбранный метод ввода из списка" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "Переместить выбранный метод ввода вверх в списке используемых" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "Переместить выбранный метод ввода вниз в списке используемых" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "Показать информацию о выбранном методе ввода" - --#: ../setup/setup.ui.h:40 --#, fuzzy -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" --msgstr "Показать информацию о выбранном методе ввода" -+msgstr "Показать настройки выбранного метода ввода" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." -@@ -191,35 +203,39 @@ - "Используйте кнопки вверх/вниз для изменения." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "Метод ввода" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "Использовать системную раскладку клавиатуры" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "Использовать системную раскладку (XKB)" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "Раскладка клавиатуры" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "Использовать один метод ввода для всех приложений" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "Настройки глобального метода ввода" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "Дополнительно" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -235,91 +251,162 @@ - "\n" - "\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "Запускать iBus при входе в систему:" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "Запуск" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "О программе" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "Система методов ввода" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "Запустить систему методов ввода IBus" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "Режим предварительной загрузки молуля" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"Режим предварительной загрузки модулей. 0 для пользовательских модулей, 1 " -+"для языковых модулей. " -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "Инициализация ключевых _модулей" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "Предварительная загрузка методов ввода" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "Загружать методы ввода при запуске iBus" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" --msgstr "" -+msgstr "Порядок модулей" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" -+msgstr "Порядок модулей в списке методов ввода" -+ -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "Задержка всплывающего окна переключателя IME (в миллисекундах)" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"Задержка всплывающего окна переключения метода ввода, которая по умолчанию " -+"равна 400 миллисекундам. Нулевое значение обозначает, что окно будет " -+"показано сразу. Отрицательное значение определяет задержку в миллисекундах, " -+"а положительное отменяет отображение окна." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "Сохраненный номер версии" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." - msgstr "" -+"Сохраненный номер версии используется для сравнения предыдущей версии ibus с " -+"текущей." - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "Использовать xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "Выполнять xmodmap при наличии .xmodmap/.Xmodmap" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "Латинская раскладка без ASCII" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "Раскладка США добавлена к латинским раскладкам. Вариант не требуется." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "Список раскладок XKB, который будет показан при выполнении ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"Список раскладок XKB, который будет показан при выполнении ibus-setup, в " -+"формате «layout» или «layout(variant)»." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" --msgstr "Сочетание клавиш для включения/выключения" -+msgstr "Сочетание клавиш для переключения" - --#: ../data/ibus.schemas.in.h:7 --#, fuzzy -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "Сочетание клавиш для gtk_accelerator_parse" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "Сочетания клавиш без клавиш-модификаторов" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"Сочетания клавиш без клавиш-модификаторов. Этот список используется в ibus-" -+"gjs." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" --msgstr "Сочетание клавиш для включения/выключения" -+msgstr "Включить сочетания клавиш" - --#: ../data/ibus.schemas.in.h:8 --#, fuzzy -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" --msgstr "Сочетание клавиш для включения/выключения метода ввода" -+msgstr "Сочетания для включения метода ввода" - --#: ../data/ibus.schemas.in.h:9 --#, fuzzy -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" --msgstr "Сочетание клавиш для включения/выключения" -+msgstr "Отключить сочетания клавиш" - --#: ../data/ibus.schemas.in.h:10 --#, fuzzy -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" --msgstr "Сочетание клавиш для включения/выключения метода ввода" -+msgstr "Сочетание для отключения метода ввода" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "Клавиши для следующего метода ввода" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "Сочетание клавиш для переключения на следующий метод ввода в списке:" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "Клавиши для предыдущего метода ввода" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "Сочетание клавиш для переключения на предыдущий метод ввода в списке:" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "Автоматически скрывать" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" -@@ -327,11 +414,11 @@ - "Поведение языковой панели: 0 = встроена в меню, 1 = автоматически скрывать, " - "2 = всегда показывать" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "Расположение языковой панели" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" -@@ -339,99 +426,140 @@ - "Расположение языковой панели: 0 = левый верхний угол, 1 = правый верхний " - "угол, 2 = левый нижний угол, 3 = правый нижний угол, 4 = произвольное" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "Ориентация таблицы поиска" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "Ориентация таблицы: 0 = горизонтально, 1 = вертикально." - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "Показывать название метода ввода" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "Использовать свой шрифт" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "Использовать свой шрифт для языковой панели" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "Список групп раскладок в ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"Список групп используется для выборочного отоборажения раскладок клавиатуры. " -+"Элементы списка добавляются в конец ключа gconf (например, /xkblayoutconfig/" -+"item1)." -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "Список европейских языков в ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"ibus-setup показывает языки в списке методов ввода при запуске ibus-setup на " -+"одном из языков. Другие языки можно просмотреть, нажав дополнительную кнопку." -+"" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "Список азиатских языков в ibus-setup" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "Свой шрифт" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "Свой шрифт для языковой панели" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "Вставить готовый текст" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "Вставить готовый текст в окно приложения" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "Использовать глобальный метод ввода" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "Включить метод ввода по умолчанию" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "" - "Включить метод ввода по умолчанию при получении приложением фокуса ввода" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" --msgstr "" -+msgstr "DConf сохраняет префиксы имен" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" --msgstr "" -+msgstr "Префиксы ключей DConf для предотвращения преобразования имен" - - #: ../ibus/_config.py.in:41 - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "" --"(c) 2007-2010 Peng Huang\n" -+msgstr "(c) 2007-2010 Peng Huang\n" - "(c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "Другие" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "Язык: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "Раскладка клавиатуры: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "Автор: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "Описание:\n" - --#: ../setup/enginecombobox.py:136 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "Выберите метод ввода" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "Показать все методы ввода" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "Показать методы для выбранного региона" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -451,7 +579,7 @@ - msgid "Modifiers:" - msgstr "Модификаторы:" - --#: ../setup/keyboardshortcut.py:235 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." -@@ -459,29 +587,30 @@ - "Нажмите клавишу (или сочетание клавиш).\n" - "Когда клавиша будет отпущена, окно закроется." - --#: ../setup/keyboardshortcut.py:237 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "Нажмите клавишу (или сочетание клавиш)" - --#: ../setup/main.py:79 --msgid "trigger" --msgstr "переключатель" -- --#: ../setup/main.py:80 --msgid "enable" --msgstr "" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "Использовать сочетание SHIFT для выбора предыдущего метода ввода" - --#: ../setup/main.py:81 --msgid "disable" --msgstr "" -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"Список сохраненных методов ввода будет очищен и будет заново заполнен во " -+"время следующего входа в систему в зависимости от языка авторизации. " -+"Продолжить?" - --#: ../setup/main.py:323 --#, fuzzy -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" --msgstr "Служба IBus не запущена. Запустить?" -+msgstr "IBus не работает. Запустить?" - --#: ../setup/main.py:344 --#, fuzzy -+#: ../setup/main.py:400 - msgid "" - "IBus has been started! If you cannot use IBus, add the following lines to " - "your $HOME/.bashrc; then relog into your desktop.\n" -@@ -489,82 +618,120 @@ - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - msgstr "" --"IBus запущен! Если вы не можете пользоваться IBus, добавьте приведённые " -+"IBus запущен! Если вы не можете пользоваться IBus, добавьте приведенные " - "строки в $HOME/.bashrc и заново войдите в систему.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" - --#: ../setup/main.py:357 -+#. Translators: %d == 5 currently -+#: ../setup/main.py:414 - #, python-format --msgid "IBus daemon coundn't be started in %d seconds" --msgstr "" -+msgid "IBus daemon could not be started in %d seconds" -+msgstr "Не удалось запустить IBus через %d сек." - --#: ../setup/main.py:369 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "Выберите комбинацию клавиш для %s" - --#: ../ui/gtk3/panel.vala:330 --#, fuzzy -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "изменение метода ввода" -+ -+#: ../tools/main.vala:42 -+msgid "List engine name only" -+msgstr "Показать имя модуля" -+ -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 -+#, c-format -+msgid "Can't connect to IBus.\n" -+msgstr "Не удалось подключиться к IBus\n" -+ -+#: ../tools/main.vala:84 -+#, c-format -+msgid "language: %s\n" -+msgstr "язык: %s\n" -+ -+#: ../tools/main.vala:152 -+#, c-format -+msgid "No engine is set.\n" -+msgstr "Модуль не выбран.\n" -+ -+#: ../tools/main.vala:160 -+#, c-format -+msgid "Set global engine failed.\n" -+msgstr "Не удалось настроить глобальный модуль.\n" -+ -+#: ../tools/main.vala:165 -+#, c-format -+msgid "Get global engine failed.\n" -+msgstr "Не удалось получить глобальный модуль.\n" -+ -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "Чтение кэша системного реестра." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "Чтение файла кэша реестра." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 -+#, c-format -+msgid "The registry cache is invalid.\n" -+msgstr "Недействительный кэш реестра.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "Запись в кэш системного реестра." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "Запись в файл кэша реестра." -+ -+#: ../tools/main.vala:300 -+#, c-format -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "Формат: %s КОМАНДА [ПАРАМЕТР...]\n" -+"\n" -+ -+#: ../tools/main.vala:301 -+#, c-format -+msgid "Commands:\n" -+msgstr "Команды:\n" -+ -+#: ../tools/main.vala:327 -+#, c-format -+msgid "%s is unknown command!\n" -+msgstr "Неизвестная команда: %s\n" -+ -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "Обновление IBus" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "По умолчанию используется сочетание клавиш Super + Пробел." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" --msgstr "" --"(c) 2007-2010 Peng Huang\n" --"(c) 2007-2010 Red Hat, Inc." -+msgstr "(c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:335 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus — интеллектуальная система ввода для Linux и Unix." - --#: ../ui/gtk3/panel.vala:339 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "" - "Alexey Kotlyarov , 2009.\n" - "Yulia , 2010." - --#: ../ui/gtk3/panel.vala:371 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "Перезапустить" -- --#~ msgid "Previous page" --#~ msgstr "Предыдущая страница" -- --#~ msgid "Next page" --#~ msgstr "Следующая страница" -- --#~ msgid "" --#~ "Some input methods have been installed, removed or updated. Please " --#~ "restart ibus input platform." --#~ msgstr "" --#~ "Методы ввода были установлены, удалены или обновлены. Перезапустите " --#~ "платформу ввода iBus." -- --#~ msgid "Restart Now" --#~ msgstr "Перезапустить сейчас" -- --#~ msgid "Later" --#~ msgstr "Позже" -- --#~ msgid "IBus input method framework" --#~ msgstr "Система методов ввода IBus" -- --#~ msgid "Turn off input method" --#~ msgstr "Отключить метод ввода" -- --#~ msgid "No input window" --#~ msgstr "Нет окна ввода" -- --#~ msgid "About the input method" --#~ msgstr "О методе ввода" -- --#~ msgid "Switch input method" --#~ msgstr "Переключить метод ввода" -- --#~ msgid "About the Input Method" --#~ msgstr "О методе ввода" -- --#~ msgid "next input method" --#~ msgstr "следующий метод ввода" -- --#~ msgid "previous input method" --#~ msgstr "предыдущий метод ввода" -diff -urN a/ibus-1.5.3/po/ta.po b/ibus-1.5.3/po/ta.po ---- a/ibus-1.5.3/po/ta.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/ta.po 2013-12-04 18:19:35.504917377 +0530 -@@ -10,19 +10,33 @@ - # I Felix , 2010. - # I. Felix , 2009. - # Shantha kumar , 2012. -+# translation of ibus.pot to Source -+# Source translation of ibus. -+# Copyright (C) 2008-2013 Peng Huang -+# Arun Prakash , 2012 -+# Arun Prakash , 2012 -+# Felix I , 2011 -+# fujiwara , 2011 -+# Felix I , 2011 -+# I Felix , 2010 -+# I. Felix , 2009 -+# shkumar , 2012 -+# shkumar , 2012 - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-10-26 11:21+0000\n" --"Last-Translator: shkumar \n" --"Language-Team: Tamil \n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-11-11 09:33-0500\n" -+"Last-Translator: Shantha kumar \n" -+"Language-Team: Tamil (http://www.transifex.com/projects/p/fedora/language/ta/" -+")\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: ta\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -50,7 +64,7 @@ - - #: ../setup/setup.ui.h:7 - msgid "Custom" --msgstr "தனிபயன்" -+msgstr "தனிப்பயன்" - - #: ../setup/setup.ui.h:8 - msgid "Embedded in menu" -@@ -64,7 +78,8 @@ - msgid "Always" - msgstr "எப்போதும்" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus முன்னுரிமைகள்" - -@@ -88,7 +103,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "உள்ளீடு முறைமை துவக்க அல்லது நிறுத்த குறுக்குவிசைகளை அமை" - -@@ -128,17 +144,20 @@ - msgid "Language panel position:" - msgstr "மொழி பேனல் படம்:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "கணினி தட்டில் சின்னத்தை காட்டு" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "மொழி பட்டையில் உள்ளீடு முறையின் பெயரை காட்டு" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "சோதனை பெட்டியை சோதிக்கும் போது உள்ளீடு முறை பெயரை மொழி பட்டையில் காட்டு " -+msgstr "" -+"சோதனை பெட்டியை சோதிக்கும் போது உள்ளீடு முறை பெயரை மொழி பட்டையில் காட்டு " - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -150,7 +169,7 @@ - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" --msgstr "தனிபயன் எழுத்துருவை பயன்படுத்து:" -+msgstr "தனிப்பயன் எழுத்துருவை பயன்படுத்து:" - - #: ../setup/setup.ui.h:33 - msgid "Font and Style" -@@ -161,65 +180,86 @@ - msgstr "பொது" - - #: ../setup/setup.ui.h:35 --msgid "Add the selected input method into the enabled input methods" --msgstr "செயல்படுத்தப்பட்ட உள்ளீடு முறைகளில் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை சேர்" -+msgid "Customize active input _methods" -+msgstr "செயலில் உள்ள உள்ளீட்டு முறைகளை தனிப்பயனாக்கு (_m)" - - #: ../setup/setup.ui.h:36 --msgid "Remove the selected input method from the enabled input methods" --msgstr "செயல்படுத்தப்பட்ட உள்ளீடு முறைகளிலிருந்து தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை நீக்கு" -+msgid "Customize active input methods" -+msgstr "செயலில் உள்ள உள்ளீட்டு முறைகளை தனிப்பயனாக்கு" - - #: ../setup/setup.ui.h:37 --msgid "Move up the selected input method in the enabled input methods list" --msgstr "செயல்படுத்தப்பட்ட உள்ளீடு முறைகள் பட்டியலில் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை மேலே நகர்த்து" -+msgid "Add the selected input method into the enabled input methods" -+msgstr "" -+"செயல்படுத்தப்பட்ட உள்ளீடு முறைகளில் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை சேர்" - - #: ../setup/setup.ui.h:38 --msgid "Move down the selected input method in the enabled input methods" --msgstr "செயல்படுத்தப்பட்ட உள்ளீடு முறைகளில் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை கீழே நகர்த்து" -+msgid "Remove the selected input method from the enabled input methods" -+msgstr "" -+"செயல்படுத்தப்பட்ட உள்ளீடு முறைகளிலிருந்து தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை " -+"நீக்கு" - - #: ../setup/setup.ui.h:39 -+msgid "Move up the selected input method in the enabled input methods list" -+msgstr "" -+"செயல்படுத்தப்பட்ட உள்ளீடு முறைகள் பட்டியலில் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு " -+"முறையை மேலே நகர்த்து" -+ -+#: ../setup/setup.ui.h:40 -+msgid "Move down the selected input method in the enabled input methods" -+msgstr "" -+"செயல்படுத்தப்பட்ட உள்ளீடு முறைகளில் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையை கீழே " -+"நகர்த்து" -+ -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "தேர்ந்தெடுக்கப்பட்ட உள்ளீடு முறையின் தகவலை காட்டு" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "தேர்ந்தெடுத்த உள்ளிட்டு முறையின் அமைப்பை காட்டு" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "பட்டியலில் முன்னிருப்பு உள்ளீடு முறை மேலே இருக்கும்.\nமேல்/கீழ் பொத்தானை பயன்படுத்தி அதனை மாற்றவும்." -+msgstr "" -+"பட்டியலில் முன்னிருப்பு உள்ளீடு முறை மேலே இருக்கும்.\n" -+"மேல்/கீழ் பொத்தானை பயன்படுத்தி அதனை மாற்றவும்." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "உள்ளீடு முறை" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "கணினி விசைப்பலகை அமைப்பை பயன்படுத்து" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "கணினி விசைப்பலகை (XKB) அமைப்பை பயன்படுத்து" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "விசைப்பலகை அமைப்பு" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "அனைத்து பயன்பாடுகளிலும் சில உள்ளீடு முறையை பகிரவும்" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "ஒரு உள்ளீடு முறையை தேர்ந்தெடு" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "கூடுதல்" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -227,157 +267,276 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nThe intelligent input bus\nமுதன்மை பக்கம்: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"The intelligent input bus\n" -+"முதன்மை பக்கம்: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "புகுபதிவில் ibusஐ துவக்கு" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "துவக்கம்" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "பற்றி" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "உள்ளீடு முறை ஃபிரேம்வொர்க்" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus உள்ளீடு முறை ஃபிரேம்வொர்க்கை துவக்கு" -- - #: ../data/ibus.schemas.in.h:1 --msgid "Preload engines" --msgstr "முன்ஏற்றப்பட்ட இயந்திரங்கள்" -+msgid "Preload engine mode" -+msgstr "ப்ரிலோட் எஞ்சின் பயன்முறை" - - #: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"ப்ரிலோடு எஞ்சின்கள் இந்த பயன்முறையில் ஏற்றப்படுகின்றன. 0 = பயனர் " -+"தனிப்பயனாக்கிய எஞ்சின்கள். 1 = மொழி தொடர்பான எஞ்சின்கள்." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "விசை ப்ரிலோட் எஞ்சின்கள் துவக்கப்பட்டது (_e)" -+ -+#: ../data/ibus.schemas.in.h:4 -+msgid "Preload engines" -+msgstr "முன்ஏற்றல் இயந்திரங்கள்" -+ -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus துவங்கும் போது முன்னேற்றப்பட்ட எந்திரங்கள் " - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "எஞ்சின்கள் வரிசை" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "உள்ளீடு முறை பட்டியலில் எஞ்சின்கள் வரிசை சேமிக்கப்பட்டது" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME மாற்ற சாளரத்திற்கான பாப்-அப் தாமத மில்லிசெகன்ட்" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME மாற்ற சாளரத்தைக் காண்பிக்க, பாப்-அப் தாமத மில்லிசெகன்டை அமைக்கவும். " -+"முன்னிருப்பு மதிப்பு400 ஆகும். 0 = உடனடியாக சாளரத்தைக் காண்பிக்க. 0 < " -+"தாமத மில்லிசெகன்ட். 0 > சாளரத்தைக் காண்பிக்காமல் முந்தைய/அடுத்த " -+"எஞ்சின்களுக்கு மாற்ற." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "சேமிக்கப்பட்ட பதிப்பு எண்" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"சேமிக்கப்பட்ட பதிப்பு எண்ணானது முன்னர் நிறுவப்பட்ட ibus மற்றும் தற்போதுள்ள " -+"ibus இல் ஒன்று ஆகியவற்றுக்கு இடையே உள்ள வேறுபாட்டைக் கண்டறியப் பயன்படும்." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap ஐப் பயன்படுத்து" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap இருந்தால் xmodmap ஐ இயக்கு." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ASCII இல்லாத இலத்தீன் லேயவுட்" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "" -+"us லேயவுட் latin லேயவுட்டுகளுடன் இணைக்கப்பட்டுள்ளது. மாற்றவகை தேவையில்லை." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus-setup இல் காண்பிக்கப்படும் XKB லேயவுட் பட்டியல்" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"ibus-setup இல் XKB லேயவுட் பட்டியலானது காண்பிக்கப்படுகிறது. வடிவமைப்பு: " -+"\"layout\" or \"layout(variant)\"." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" --msgstr "ட்ரிகர் குறுக்குவிசை" -+msgstr "குறுக்குவிசைகளை செயல்படுத்து" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse க்கான குறுக்கு விசைகளை இயக்கு" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "மாடிஃபயர் விசைகள் இல்லாமல் குறுக்கு விசைகளை இயக்கு" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"மாடிஃபயர் விசைகள் இன்றி குறுக்கு விசைகளை இயக்கவும். பட்டியல் ibus-gjs ஆல் " -+"பயன்படுத்தப்படுகிறது." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "குறுக்குவிசைக்களை செயல்படுத்து" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "உள்ளீடு முறையை இயக்கும் குறுக்குவிசைகள்" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "குறுக்குவிசைகளை செயல்நீக்கு" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "உள்ளீடு முறையை நிறுத்தும் குறுக்குவிசைகள்" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "அடுத்த இயந்திர குறுக்குவிசை" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "பட்டியலில் அடுத்த உள்ளீடு முறைக்கு மாற்றுவதற்கான குறுக்குவழி விசைகள்" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "முந்தைய இயந்திர குறுக்குவிசைகள்" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "முந்தைய உள்ளீடு முறைக்கு மாற்றுவதற்கான குறுக்குவழி விசைகள்" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "தானாக மறை" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "மொழி பலகத்தின் பண்புகள். 0 = மெனுவில் உட்பொதியப்பட்டது, 1 = தானாக மறை, 2 = எப்போதும் காட்டு" -+msgstr "" -+"மொழி பலகத்தின் பண்புகள். 0 = மெனுவில் உட்பொதியப்பட்டது, 1 = தானாக மறை, 2 = " -+"எப்போதும் காட்டு" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "மொழி பேனல் இடம்" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "மொழி பேனலின் இடம். 0 = மேல் இடது ஓரம், 1 = மேல் வலது ஓரம், 2 = கீழ் இடது ஓரம், 3 = கீழ் வலது ஓரம், 4 = தனிபயன்" -+msgstr "" -+"மொழி பேனலின் இடம். 0 = மேல் இடது ஓரம், 1 = மேல் வலது ஓரம், 2 = கீழ் இடது " -+"ஓரம், 3 = கீழ் வலது ஓரம், 4 = தனிபயன்" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "காணும் அட்டவணையின் திசை" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "காணும் அட்டவணையின் திசை. 0 = கிடைமட்டம், 1 = செங்குத்து" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "உள்ளீடு முறையின் பெயரை காட்டு" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" --msgstr "தனிபயன் எழுத்துருவை பயன்படுத்து" -+msgstr "தனிப்பயன் எழுத்துருவை பயன்படுத்து" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "மொழி பலகத்தில் தனிபயன் எழுத்துரு பெயர்" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup இல் உள்ள கணினி விசைப்பலகை லேயவுட் குழுக்களின் பட்டியல்" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"குழு பட்டியல் முன்னிருப்பாக கணினி விசைப்பலகை லேயவுட்டுகளை காண்பிக்காமல் " -+"இருக்க பயன்படுத்தப்படுகிறது. பட்டியல் உருப்படியானது gconf விசையின் இறுதியில் " -+"ஒட்டப்படும். எ.கா. .../xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup இல் உள்ள ஐரோப்பிய மொழிகளின் பட்டியல்" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"நீங்கள் ibus-setup ஐ மொழிகளில் ஒன்றில் இயக்கும் போது உள்ளீட்டு முறை " -+"பட்டியலில் மட்டுமே ibus-setup மொழிகளைக் காண்பிக்கும். மற்ற மொழிகள் " -+"நீட்டிக்கப்பட்ட பொத்தானின் கீழ் மறைந்திருக்கும்." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup இல் உள்ள ஆசிய மொழிகளின் பட்டியல்" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" --msgstr "தனிபயன் எழுத்துரு" -+msgstr "தனிப்பயன் எழுத்துரு" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" --msgstr "தனிபயன் எழுத்துரு பெயர் மொழி பலகத்துக்கு" -+msgstr "மொழி பலகத்துக்கான தனிப்பயன் எழுத்துரு பெயர்" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "உட்பொதியப்பட்ட Preedit உரை" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "பயன்பாடு சாளரத்தில் உட்பொதியப்பட்ட Preedit உரை" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "பொது உள்ளீடு முறையை பயன்படுத்து" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "முன்னிருப்பாக உள்ளீடு முறையை செயல்படுத்து" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "பயன்பாடு உள்ளீடுக்கு உட்படும்போது முன்னிருப்பாக உள்ளீடு முறையை செயல்படுத்து" -+msgstr "" -+"பயன்பாடு உள்ளீடுக்கு உட்படும்போது முன்னிருப்பாக உள்ளீடு முறையை செயல்படுத்து" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf ஆனது பெயர் முன்னொட்டுகளைப் பாதுகாத்து வைக்கிறது" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "பெயர் மரபை நிறுத்த DConf விசைகளின் முன்னொட்டுகள்" - -@@ -385,36 +544,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "Copyright (c) 2007-2010 Peng Huang\nCopyright (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"பதிப்புரிமை (c) 2007-2010 Peng Huang\n" -+"பதிப்புரிமை (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "வேறு" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "மொழி: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "விசைப்பலகை அமைப்பு: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "ஆசிரியர்: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "விளக்கம்:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ஒரு உள்ளீடு முறையை தேர்ந்தெடு" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "அனைத்து உள்ளீடு முறைகளையும் காண்பி" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "உங்கள் பகுதிக்குரிய உள்ளீட்டு முறைகளை மட்டும் காண்பிக்கவும்" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -434,118 +605,160 @@ - msgid "Modifiers:" - msgstr "மாற்றிகள்;" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "ஒரு விசையை அழுத்தவும் (அல்லது விசை கலவையை).\nவிசையை விடுத்தால் உரையாடல் மூடப்படும்." -+msgstr "" -+"ஒரு விசையை அழுத்தவும் (அல்லது விசை கலவையை).\n" -+"விசையை விடுத்தால் உரையாடல் மூடப்படும்." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "ஒரு விசையை அழுத்தவும் (அல்லது ஒரு விசை கலவையை)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ட்ரிகர்" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "செயல்படுத்து" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "செயல்நீக்கு" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "" -+"முந்தைய உள்ளீட்டு முறைக்கு மாற குறுக்குவழியை ஷிஃப்ட் விசையுடன் " -+"பயன்படுத்தவும்" - --#: ../setup/main.py:331 -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"உங்கள் சேமிக்கப்பட்ட உள்ளீட்டு முறைகளின் பட்டியல் உடனடியாக அழிக்கப்படும், " -+"மேலும் பட்டியலானது ஒவ்வொரு முறையும் புகுபதிவு மொழியால் அமைவாக்கம் " -+"செய்யப்படும். இது உங்களுக்கு சம்மதமா?" -+ -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus டெமான் இயங்கவில்லை. அதைத் தொடங்க வேண்டுமா?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus தொடங்கப்பட்டது! உங்களால் IBus ஐப் பயன்படுத்த முடியாவிட்டால், உங்கள் " -+"$HOME/.bashrc; இல் பின்வரும் வரிகளைச் சேர்த்து உங்கள் டெஸ்க்டாப்பில் " -+"மீண்டும் புகுபதிவு செய்யவும்.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus தொடங்கப்பட்டது! உங்களால் IBus ஐப் பயன்படுத்த முடியாவிட்டால், உங்கள் $HOME/.bashrc; இல் பின்வரும் வரிகளைச் சேர்த்து உங்கள் டெஸ்க்டாப்பில் மீண்டும் புகுபதிவு செய்யவும்.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "%d வினாடிகளில் IBus டெமானைத் தொடக்க முடியவில்லை" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%sக்கான விசைப்பலகை குறுக்குவழியை தேர்ந்தெடு" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "உள்ளீட்டு முறைகளை மாற்றுதல்" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "எஞ்சின் பெயரை மட்டும் பட்டியலிடு" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "கட்டளை [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus உடன் இணைக்க முடியாது.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "மொழி: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "எஞ்சின் அமைக்கப்படவில்லை.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "முழுமைக்குமான எஞ்சினை அமைத்தல் தோல்வி.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "முழுமைக்குமான எஞ்சினை பெறுதல் தோல்வி.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "கணினி பதிவக தேக்ககத்தை வாசி." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "பதிவக தேக்கக FILE ஐ வாசி." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb லேயவுட்டை %s க்கு மாற்றுதல் தோல்வி." -+msgid "The registry cache is invalid.\n" -+msgstr "பதிவக தேக்ககம் செல்லுபடியாகாதது.\n" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "கணினி பதிவக தேக்ககத்தில் எழுது." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "பதிவக தேக்கக FILE இல் எழுது." -+ -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "பயன்பாடு: %s COMMAND [OPTION...]\n" - "\n" --msgstr "பயன்பாடு: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "கட்டளைகள் :\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s என்பது தெரியாத கட்டளை!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus புதுப்பிப்பு" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "இப்போது Super+space என்பது முன்னிருப்பு குறுக்குவிசையாகும்." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "பதிப்புரிமை (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." --msgstr "IBus Linux/Unixக்கான உள்ளிடு பஸ்." -+msgstr "IBus Linux/Unixக்கான உள்ளீடு பஸ்." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" - msgstr "I. Felix " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "மறுதுவக்கம்" -diff -urN a/ibus-1.5.3/po/te.po b/ibus-1.5.3/po/te.po ---- a/ibus-1.5.3/po/te.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/te.po 2013-12-04 18:19:35.504917377 +0530 -@@ -7,19 +7,27 @@ - # Krishna Babu K , 2009. - # Krishnababu Krothapalli , 2012. - # ప్రవీణ్ యిళ్ళ , 2011. -+# translation of ibus.pot to Source -+# Source translation of ibus. -+# Copyright (C) 2008-2013 Peng Huang -+# fujiwara , 2011. -+# Krishnababu Krothapalli , 2009. -+# Krishnababu Krothapalli , 2012-2013. -+# ప్రవీణ్ ఇళ్ళ , 2011. - msgid "" - msgstr "" --"Project-Id-Version: IBus\n" --"Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" --"POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-28 13:00+0000\n" --"Last-Translator: Krishnababu Krothapalli \n" --"Language-Team: Telugu \n" -+"Project-Id-Version: PACKAGE VERSION\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2013-08-06 14:46+0530\n" -+"PO-Revision-Date: 2013-09-26 09:23-0400\n" -+"Last-Translator: Krishnababu Krothapalli \n" -+"Language-Team: American English \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Language: te\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -61,7 +69,8 @@ - msgid "Always" - msgstr "ఎల్లప్పుడు" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus ప్రాధాన్యతలు" - -@@ -79,13 +88,14 @@ - - #: ../setup/setup.ui.h:15 - msgid "Previous input method:" --msgstr "మునుపటి ఇన్‌పుట్ పద్ధతి:" -+msgstr "క్రితం ఇన్‌పుట్ పద్ధతి:" - - #: ../setup/setup.ui.h:16 - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "ఇన్‌పుట్ పద్ధతిని ఆన్ చేయుటకు లేదా ఆఫ్ చేయుటకు లఘువులు" - -@@ -115,7 +125,8 @@ - - #: ../setup/setup.ui.h:24 - msgid "Set the behavior of ibus how to show or hide language bar" --msgstr "భాషా పట్టీని ఎలా చూపాలి మరియు దాయాలి అనేదానికి ibus ప్రవర్తనను అమర్చుము" -+msgstr "" -+"భాషా పట్టీని ఎలా చూపాలి మరియు దాయాలి అనేదానికి ibus ప్రవర్తనను అమర్చుము" - - #: ../setup/setup.ui.h:25 - msgid "Show language panel:" -@@ -125,17 +136,20 @@ - msgid "Language panel position:" - msgstr "భాషా ప్యానల్ స్థానము:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "సిస్టమ్ ట్రే నందు ప్రతీకను చూపించు" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "భాషా పట్టీపై ఇన్‌పుట్ పద్ధతి పేరును చూపించు" - - #: ../setup/setup.ui.h:29 - msgid "Show input method's name on language bar when check the checkbox" --msgstr "చెక్‌బాక్సు చెక్ చేసినప్పుడు భాషా పట్టీపై ఇన్‌పుట్ పద్ధతి పేరును చూపించు" -+msgstr "" -+"చెక్‌బాక్సు చెక్ చేసినప్పుడు భాషా పట్టీపై ఇన్‌పుట్ పద్ధతి పేరును చూపించు" - - #: ../setup/setup.ui.h:30 - msgid "Embed preedit text in application window" -@@ -143,7 +157,9 @@ - - #: ../setup/setup.ui.h:31 - msgid "Embed the preedit text of input method in the application window" --msgstr "అనువర్తనము విండోనందు ఇన్‌పుట్ పద్ధతి యొక్క ముందుగా సరికూర్చిన పాఠమును ఎంబెడెడ్ చేయుము" -+msgstr "" -+"అనువర్తనము విండోనందు ఇన్‌పుట్ పద్ధతి యొక్క ముందుగా సరికూర్చిన పాఠమును " -+"ఎంబెడెడ్ చేయుము" - - #: ../setup/setup.ui.h:32 - msgid "Use custom font:" -@@ -158,65 +174,81 @@ - msgstr "సాధారణ" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "క్రియాశీల ఇన్పుట్ పద్దతులు మలచుకొనుము (_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "క్రియాశీల ఇన్పుట్ పద్దతులు మలచుకొనుము" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "ఎంచుకున్న ఇన్‌పుట్ పద్ధతిని చేతనమైన ఇన్పుట్ పద్ధతులలోనికి జతచేయుము" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "చేతనమైన ఇన్‌పుట్ పద్ధతుల నుంచి ఎంపికచేసిన ఇన్‌పుట్ పద్ధతిని తొలగించు" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" --msgstr "చేతనమైన ఇన్‌పుట్ పద్ధతుల జాబితాలో ఎంచుకున్న ఇన్‌పుట్ పద్ధతిని పైకి కదుపుము" -+msgstr "" -+"చేతనమైన ఇన్‌పుట్ పద్ధతుల జాబితాలో ఎంచుకున్న ఇన్‌పుట్ పద్ధతిని పైకి కదుపుము" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" --msgstr "చేతనమైన ఇన్‌పుట్ పద్ధతులలో ఎంచుకున్న ఇన్‌పుట్ పద్ధతిని క్రిందకి కదుపుము" -+msgstr "" -+"చేతనమైన ఇన్‌పుట్ పద్ధతులలో ఎంచుకున్న ఇన్‌పుట్ పద్ధతిని క్రిందకి కదుపుము" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "ఎంచుకున్న ఇన్‌పుట్ పద్ధతి యొక్క సమాచారాన్ని చూపించు" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "ఎంపికచేసిన యిన్పట్ పద్దతి అమర్పును చూపుము" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "జాబితాలో పైన వున్నది అప్రమేయ ఇన్‌పుట్ విధానం అవుతుంది.\nదానిని మార్చుటకు మీరు పైకి/క్రిందకు బటన్సును వుపయోగించవచ్చు." -+msgstr "" -+"జాబితాలో పైన వున్నది అప్రమేయ ఇన్‌పుట్ విధానం అవుతుంది.\n" -+"దానిని మార్చుటకు మీరు పైకి/క్రిందకు బటన్సును వుపయోగించవచ్చు." - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "ఇన్‌పుట్ పద్ధతి" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "వ్యవస్థ కీబోర్డు నమూనా ఉపయోగించు" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "వ్యవస్థ కీబోర్డు (XKB) నమూనా ఉపయోగించు" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "కీబోర్డు నమూనా" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "అన్ని అనువర్తనములనందు యిన్పుట్ పద్దతిని భాగస్వామ్యపరచుము" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "గ్లోబల్ ఇన్‌పుట్ పద్ధతి అమరికలు" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "అధునాతన" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -224,157 +256,275 @@ - "\n" - "\n" - "\n" --msgstr "IBus\nతెలివైన ఇన్‌పుట్ బస్\nనివాసపుట: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"తెలివైన ఇన్‌పుట్ బస్\n" -+"నివాసపుట: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "లాగిన్‌నందు ibus ప్రారంభించుము" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "ప్రారంభము" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "గురించి" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "ఇన్‌పుట్ పద్ధతి ఫ్రేమ్‌వర్క్" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "IBus ఇన్‌పుట్ పద్ధతి ఫ్రేమ్‌వర్కును ప్రారంభించు" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "ముందుగాలోడగు ఇంజన్ రీతి" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "" -+"ముందుగా లోడైన యంత్రములు ఈ రీతితో లోడైనవి. 0 = వాడుకరి ఇష్టానుసారం మలచిన " -+"యంత్రములు. 1 = భాషా సంభందిత యంత్రములు." -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "preload_engines కీ సిద్దంచేయబడెను" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "ముందుగా లోడైన ఇంజన్లు" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "ibus ప్రారంభమునందు ఇంజన్లు ముందుగా లోడుచేయి" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "ఇంజన్ల క్రమం" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "ఇన్పుట్ మెథడ్ జాబితా నందు దాచిన యింజన్ల క్రమం" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME స్విచర్ విండో కొరకు పాపప్ ఆలస్యం మిల్లీసెకన్లలో" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"IME స్విజర్ విండోను చూపుటకు పాపప్ ఆలస్యాన్ని మిల్లీసెకన్లలో అమర్చు. అప్రమేయం " -+"400. 0 = విండోను తక్షణమే చూపును. 0 < ఆలస్యం మిల్లీసెకన్లలో. 0 > " -+"విండోను చూపదు మరియు క్రితం/తరువాతి యింజన్లకు మారును." -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "దాచిన వర్షన్ సంఖ్య" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "" -+"దాచిన వర్షన్ సంఖ్య అనునది గతంలో సంస్థాపించిన ibus వర్షనుకు మరియు ప్రస్తుత " -+"ibus వర్షనుకు మధ్యని తేడాను పరిశీలించుటకు వుపయోగించును." -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "xmodmap వుపయోగించు" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr ".xmodmap/.Xmodmap వుంటే xmodmap నడుపు." -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "ASCII లేని లాటిన్ లేఅవుట్" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "us లేఅవుట్ లాటిన్ లేఅవుట్లకు చేర్చబడెను. వేరియంట్ అవసరం లేదు." -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus-setup పైన చూపు XKB లేఅవుట్ జాబితా" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "" -+"ibus-setup పైన చూపు XKB లేఅవుట్ జాబితా)\". \"layout\" లేదా " -+"\"layout(variant)\" ఫార్మాట్." -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "లఘవులను నొక్కుము" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse కొరకు ట్రిగ్గర్ లఘ కీలు" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "సవరణి కీలు లేకుండా షార్టుకట్ కీలు ట్రిగ్గర్ చేయి" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "" -+"సవరణి కీలు లేకుండా ట్రిగ్గర్ షార్ట్ కట్ కీలు. జాబితా ibus-gjs చేత " -+"వుపయోగించబడెను." -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "లఘు కీ లను చేతనంచేయి" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "ఇన్‌పుట్ పద్ధతి ఆన్ చేయుటకు కీ లఘువులు" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "అడ్డదారి కీలను అచేతనంచేయి" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "ఇన్‌పుట్ పద్ధతి ఆపుటకు కీ లఘువులు" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "తరువాతి ఇంజన్‌కు లఘువులు" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "జాబితానందలి తరువాతి ఇన్పుట్ పద్ధతినకు మారుటకు లఘువులు" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" --msgstr "మునుపటి ఇంజన్ లఘువులు" -+msgstr "క్రితం ఇంజన్ లఘువులు" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "జాబితానందలి ముందరి ఇన్‌పుట్ పద్ధతినకు మారుటకు లఘువులు" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "స్వయంచాలకంగా దాగిఉండు" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" --msgstr "భాషా ప్యానల్ యొక్క ప్రవర్తన. 0 = మెనూనందు యెంబెడ్‌చేయి, 1 = స్వయంచాలకంగా మరుగునవుంచు, 2 = ఎల్లప్పుడూ చూపించు" -+msgstr "" -+"భాషా ప్యానల్ యొక్క ప్రవర్తన. 0 = మెనూనందు యెంబెడ్‌చేయి, 1 = స్వయంచాలకంగా " -+"మరుగునవుంచు, 2 = ఎల్లప్పుడూ చూపించు" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "భాషా ప్యానల్ స్థానము" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" --msgstr "భాషా ప్యానల్ యొక్క స్థానము. 0 = పై ఎడమ మూల, 1 = పై కుడి మూల, 2 = క్రింది ఎడమ మూల, 3 = క్రింది కుడి మూల, 4 = మలచుకొనిన" -+msgstr "" -+"భాషా ప్యానల్ యొక్క స్థానము. 0 = పై ఎడమ మూల, 1 = పై కుడి మూల, 2 = క్రింది ఎడమ " -+"మూల, 3 = క్రింది కుడి మూల, 4 = మలచుకొనిన" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "లుకప్ పట్టిక సర్దుబాటు" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "లుకప్ పట్టిక సర్దుబాటు. 0 = చదరముగా, 1 = నిలువుగా" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "ఇన్‌పుట్ పద్ధతి పేరును చూపించు" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "మలచుకొనిన ఫాంటు ఉపయోగించు" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "భాషా ప్యానల్ కొరకు మలచుకొనిన ఫాంట్ నామము వుపయోగించుము" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup పైన వ్యవస్థ కీబోర్డు లేఅవుట్ సమూహాల జాబితా" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"అప్రమేయంగా సిస్టమ్ కీబోర్డు లేఅవుట్లు అన్నీ చూపకుండా వుండుటకు సమూహ జాబితా " -+"వుపయోగించబడెను. జాబితా అంశం అనునది gconf కీ చివరన చేర్చబడును. ఉ.దా. .../" -+"xkblayoutconfig/item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup పైన యూరోపియన్ భాషల జాబితా" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "" -+"మీరు ఏదేని వొక భాషపై ibus-setup నడిపినప్పుడు మాత్రమే ibus-setup భాషలను " -+"ఇన్పుట్ మెథడ్ జాబితా నందు చూపును. ఇతర భాషలు విస్తరింపు బటన్ కిందిన " -+"దాగివుండును." -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup పైన ఏషియన్ భాషల జాబితా" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "అనురూపిత ఫాంటు" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "భాష ప్యానల్ కొరకు మలచుకొనిన ఫాంటు పేరు" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "ఎంబెడెడ్ ప్రిఎడిట్ పాఠము" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "అనువర్తన విండోనందు ఎంబెడెడ్ ప్రిఎడిట్ పాఠము" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "గ్లోబల్ ఇన్‌పుట్ పద్ధతిని ఉపయోగించు" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "ఇన్‌పుట్ పద్ధతిని అప్రమేయంగా చేతనముచేయుము" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" --msgstr "అనువర్తనము ఇన్‌పుట్ ఫోకస్‌ను పొందగానే ఇన్‌పుట్ పద్ధతిని అప్రమేయంగా చేతనము చేయుము" -+msgstr "" -+"అనువర్తనము ఇన్‌పుట్ ఫోకస్‌ను పొందగానే ఇన్‌పుట్ పద్ధతిని అప్రమేయంగా చేతనము " -+"చేయుము" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf వుంచిన పేరు ప్రిఫిక్సెస్" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "పేరు మార్పును ఆపుటకు DConf కీల ప్రిఫిక్సులు" - -@@ -382,36 +532,48 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "నకలుహక్కు (c) 2007-2010 Peng Huang\nనకలుహక్కు (c) 2007-2010 Red Hat, Inc." -+msgstr "" -+"నకలుహక్కు (c) 2007-2010 Peng Huang\n" -+"నకలుహక్కు (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "ఇతర" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "భాష: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "కీబోర్డు నమూనా: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "మూలకర్త: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "వివరణ:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "ఒక ఇన్‌పుట్ పద్ధతిని ఎంచుకోండి" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "అన్ని ఇన్‌పుట్ పద్ధతులు చూపుము" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "మీ ప్రాంతము కొరకు మాత్రమే ఇన్పుట్ పద్దతులు చూపుము" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -431,118 +593,158 @@ - msgid "Modifiers:" - msgstr "సవరణిలు:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "దయచేసి వొక కీను వత్తండి (లేదా కీ మిశ్రమాన్ని).\nకీ వదిలినప్పుడు డైలాగు మూయబడుతుంది." -+msgstr "" -+"దయచేసి వొక కీను వత్తండి (లేదా కీ మిశ్రమాన్ని).\n" -+"కీ వదిలినప్పుడు డైలాగు మూయబడుతుంది." - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "దయచేసి కీను వత్తండి (లేదా కీ మిశ్రమాన్ని)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "ట్రిగ్గర్" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "క్రితం యిన్పుట్ పద్దతికి మారుటకు లఘవును shift తో వుపయోగించు" - --#: ../setup/main.py:88 --msgid "enable" --msgstr "చేతనపరుచు" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "అచేతనపరుచు" -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "" -+"ప్రతిసారి లాగిన్ అయినప్పుడు మీరు దాచిన ఇన్పుట్ పద్దతుల జాబితా తుడిచివేయబడి " -+"లాగిన్ భాష చేత ఆకృతీకరించబడును. మీరు దీనికి వొప్పుకుంటారా?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus డెమోన్ నడుచుటలేదు. మీరు ప్రారంభించాలని అనుకొనుచున్నారా?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus ప్రారంభమైంది! మీరు IBus వుపయోగించలేకుంటే, మీ $HOME/.bashrc కు కింది " -+"పంక్తులను జతచేయండి; అప్పుడు తిరిగి డెస్కుటాప్‌కు ప్రవేశించండి.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus ప్రారంభమైంది! మీరు IBus వుపయోగించలేకుంటే, మీ $HOME/.bashrc కు కింది పంక్తులను జతచేయండి; అప్పుడు తిరిగి డెస్కుటాప్‌కు ప్రవేశించండి.\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus డీమన్ %d క్షణాలలో ప్రారంభం కాలేకపోయింది" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "%s కొరకు కీబోర్డు లఘువును ఎంచుకోండి" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "ఇన్పుట్ పద్దతులు మార్చుట" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "ఇంజన్ పేరు మాత్రమే జాబితాచేయి" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "ఆదేశం [ఐచ్చికాలు]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "IBus కు అనుసంధానం కాలేదు.\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "భాష: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "ఏ యింజన్ అమర్చలేదు.\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "గ్లోబల్ యింజన్ అమర్చుట విఫలమైంది.\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "గ్లోబల్ యింజన్ పొందుట విఫలమైంది.\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "వ్యవస్థ రిజిస్ట్రీ క్యాచీ చదువు." -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "రిజిస్ట్రీ క్యాచీ FILE చదువు." -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "xkb లేఅవుట్ %s కు మార్చుట విఫలమైంది." -+msgid "The registry cache is invalid.\n" -+msgstr "రిజిస్ట్రీ క్యాచీ చెల్లనిది.\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "వ్యవస్థ రిజిస్ట్రీ క్యాచీ వ్రాయి." -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "రిజిస్ట్రీ క్యాచీ FILE వ్రాయి." - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "వాడుక: %s COMMAND [OPTION...]\n" - "\n" --msgstr "వాడుక: %s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "ఆదేశాలు:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s తెలియని ఆదేశం!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus నవీకరణ" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "ఇప్పుడు Super+space అప్రమేయ హాట్‌కీ." -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "కాపీరైట్ (c) 2007-2012 Peng Huang\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus అనునది Linux/Unix కొరకు తెలివైన ఇన్‌పుట్ బస్." - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "కృష్ణబాబు కె 2009.\nప్రవీణ్ యిళ్ళ 2010-11." -+msgstr "" -+"కృష్ణబాబు కె 2009.\n" -+"ప్రవీణ్ యిళ్ళ 2010-11." - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "పునఃప్రారంభించు" -diff -urN a/ibus-1.5.3/po/zh_CN.po b/ibus-1.5.3/po/zh_CN.po ---- a/ibus-1.5.3/po/zh_CN.po 2013-12-04 18:18:56.969587200 +0530 -+++ b/ibus-1.5.3/po/zh_CN.po 2013-12-04 18:19:35.504917377 +0530 -@@ -10,19 +10,21 @@ - # Peng Huang , 2007. - # simonyanix , 2011. - # Tommy He , 2012. -+# Leah Liu , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-10-22 09:18+0000\n" --"Last-Translator: Tommy He \n" -+"PO-Revision-Date: 2013-11-04 10:09-0500\n" -+"Last-Translator: Leah Liu \n" - "Language-Team: Chinese (China) \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: zh_CN\n" -+"Language: zh-CN\n" - "Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -64,7 +66,8 @@ - msgid "Always" - msgstr "总是" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "IBus 首选项" - -@@ -88,7 +91,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "打开关闭输入法的快捷键" - -@@ -128,11 +132,13 @@ - msgid "Language panel position:" - msgstr "语言栏位置:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "在系统托盘上显示图标" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "在语言栏上显示输入法名字" - -@@ -161,65 +167,78 @@ - msgstr "常规" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "自定义活跃输入法(_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "自定义活跃输入法" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "添加选中的输入法到启用输入法列表" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "从启用输入法列表删除选中的输入法" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "上移选中的输入法" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "下移选中的输入法" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "显示选中输入法的信息" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "显示选中输入法的设置界面" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "列表中第一个输入法是默认的输入法。\n您可以使用上/下按钮来更改默认的输入法。" -+msgstr "列表中第一个输入法是默认的输入法。\n" -+"您可以使用上/下按钮来更改默认的输入法。" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "输入法" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "使用系统键盘布局" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "使用系统键盘(XKB)布局" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "键盘布局" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "在所有应用程序中共享同一个输入法" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "全局输入法设置" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "高级" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -227,157 +246,254 @@ - "\n" - "\n" - "\n" --msgstr "IBus\n智能输入平台\n主页: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"IBus\n" -+"智能输入平台\n" -+"主页: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "启动桌面时自动启动 IBus" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "启动" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "关于" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "IBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "输入法框架" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "启动 IBus 输入法框架" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "预先加载引擎模式" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "使用这个模式预先加载引擎。0=用户自定义引擎。1=与语言相关的引擎。" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "已启动主要预先加载引擎。" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "预加载引擎" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "IBus 启动时预加载的引擎" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "引擎顺序" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "保存在输入法选单中的引擎顺序" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME 切换程序窗口弹出延迟毫秒数" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"设定弹出延迟毫秒数显示 IME 切换程序窗口。默认为 400. 0 = 立即显示窗口。0 < 延迟毫秒数。0 > 不显示该窗口并切换到上一个/" -+"下一个引擎。" -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "保存的版本号" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "保存的版本号将用来检查之前安装 ibus 与现有 ibus 版本之间的不同。" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "使用 xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "如果存在 .xmodmap/.Xmodmap 则运行 xmodmap" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "没有 ASCII 的拉丁布局" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "美国布局附加在拉丁布局中。不需要变体。" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "在 ibus-setup 中显示的 XKB 布局列表" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "在 ibus-setup 中显示的 SKB 布局列表。格式为 “layout”或者“layout(variant)”。" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "触发快捷键" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "用来触发 gtk_accelerator_parse 的快捷键" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "在没有修改键的情况下触发快捷键" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "在没有修改键的情况下触发快捷键。ibus-gjs 使用该列表。" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "应用快捷键" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "开启输入法的快捷键" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "禁用快捷键" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "关闭输入法的快捷键" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "下一个引擎快捷键" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "切换到列表中下一个输入法快捷键" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "上一个引擎快捷键" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "切换到列表中上一个输入法快捷键" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "自动隐藏" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" - msgstr "语言栏行为。0 = 嵌入菜单,1 = 自动隐藏,2 = 总是显示。" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "语言栏位置" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" - msgstr "语言栏位置。0 = 左上角,1 = 右上角,2 = 左下角,3 = 右下角,4 = 自定义" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "候选词表方向" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "候选词表方向。0 = 水平,1 = 竖直。" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "在语言栏上显示输入法名字" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "使用自定义字体" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "语言栏是否使用自定义字体" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup 中系统键盘布局组列表" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "默认情况下组列表不用来显示所有键盘布局。将在 gconf 按键中附加该列表项目,比如 .../xkblayoutconfig/item1。" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup 中的欧洲语言列表" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "当您使用语言之一运行 ibus-setup 时,它只显示输入法列表中的语言。其他语言会隐藏在扩展按钮下。" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup 中的亚洲语言列表" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "自定义字体" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "自定义语言栏字体" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "内嵌编辑模式" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "在应用程序窗口中启用内嵌编辑模式" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "使用全局输入法" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "默认启动输入法" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "当应用程序需要使用输入时自动启用输入法" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf 保留名称前缀" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "用来停止名称转换的 DConf 键前缀" - -@@ -385,36 +501,47 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "版权所有 (c) 2007-2010 黄鹏\n版权所有 (c) 2007-2010 Red Hat 公司" -+msgstr "版权所有 (c) 2007-2010 黄鹏\n" -+"版权所有 (c) 2007-2010 Red Hat 公司" - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "其他" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "语言: %s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "键盘: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "作者: %s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "描述:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "选择输入法" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "显示所有输入法" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "只显示您区域中的输入法" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "Kbd" - -@@ -434,118 +561,154 @@ - msgid "Modifiers:" - msgstr "修饰符:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "请按一个键盘按键(或者一个组合按键)\n当您松开任意按键时,对话框会自动关闭。" -+msgstr "请按一个键盘按键(或者一个组合按键)\n" -+"当您松开任意按键时,对话框会自动关闭。" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "请按一个键盘按键(或者一个组合按键)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "开关" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "应用" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "禁用" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "使用带 shift 的快捷键切换到上一个输入法" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "您保存的输入法列表将被立即清除,同时每次都会由登录语言修改该列表配置。您同意吗?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus 守护进程尚未运行。您希望启动它吗?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" -+" export GTK_IM_MODULE=ibus\n" -+" export XMODIFIERS=@im=ibus\n" -+" export QT_IM_MODULE=ibus" -+msgstr "" -+"IBus 已经启动!如果您无法使用 IBus,添加以下行至 $HOME/.bashrc;然后请重新登录您的桌面。\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus 已经启动!如果您无法使用 IBus,添加以下行至 $HOME/.bashrc;然后请重新登录您的桌面。\n export GTK_IM_MODULE=ibus\n export XMODIFIERS=@im=ibus\n export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus 守护在 %d 秒内无法启动" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "选择 %s 的快捷键" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "切换输入法" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "仅列出引擎名称" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "命令 [选项]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "无法连接 IBus。\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "语言: %s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "尚未设置引擎。\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "设定全局引擎失败。\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "获取全局引擎失败。\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "读取系统注册缓存。" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "读取注册缓冲 FILE。" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "切换 xkb 布局至 %s 失败。" -+msgid "The registry cache is invalid.\n" -+msgstr "注册缓存无效。\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "写入系统注册缓存。" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "写入注册缓冲 FILE。" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "用法: %s 命令 [选项...]\n" - "\n" --msgstr "用法: %s 命令 [选项...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "命令:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s 是未知命令!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus 更新" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "Super+space 现在是默认热键。" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "版权所有 (c) 2007-2012 黄鹏\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "IBus 是一个适用于 Linux/Unix 系统的智能输入平台。" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "黄鹏 \nFedora 简体中文组 " -+msgstr "" -+"黄鹏 \n" -+"Fedora 简体中文组 " - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "重新启动" -diff -urN a/ibus-1.5.3/po/zh_TW.po b/ibus-1.5.3/po/zh_TW.po ---- a/ibus-1.5.3/po/zh_TW.po 2013-12-04 18:18:56.968587192 +0530 -+++ b/ibus-1.5.3/po/zh_TW.po 2013-12-04 18:19:35.505917385 +0530 -@@ -7,19 +7,22 @@ - # Cheng-Chia Tseng , 2011-2012. - # Ding-Yi Chen 陳定彞 , 2009. - # Walter Cheuk , 2012. -+# ccheng , 2013. #zanata -+# tchuang , 2013. #zanata - msgid "" - msgstr "" - "Project-Id-Version: IBus\n" - "Report-Msgid-Bugs-To: http://code.google.com/p/ibus/issues/list\n" - "POT-Creation-Date: 2012-10-15 11:55+0900\n" --"PO-Revision-Date: 2012-11-11 13:56+0000\n" --"Last-Translator: Cheng-Chia Tseng \n" -+"PO-Revision-Date: 2013-12-02 09:13-0500\n" -+"Last-Translator: ccheng \n" - "Language-Team: Chinese (Taiwan) \n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: zh_TW\n" -+"Language: zh-TW\n" - "Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.1.2\n" - - #: ../setup/setup.ui.h:1 - msgid "Horizontal" -@@ -61,7 +64,8 @@ - msgid "Always" - msgstr "總是" - --#: ../setup/setup.ui.h:11 ../setup/ibus-setup.desktop.in.h:1 -+#: ../setup/setup.ui.h:11 -+#: ../setup/ibus-setup.desktop.in.h:1 - msgid "IBus Preferences" - msgstr "iBus 偏好設定" - -@@ -85,7 +89,8 @@ - msgid "..." - msgstr "..." - --#: ../setup/setup.ui.h:17 ../data/ibus.schemas.in.h:6 -+#: ../setup/setup.ui.h:17 -+#: ../data/ibus.schemas.in.h:19 - msgid "The shortcut keys for turning input method on or off" - msgstr "用來開啟或關閉輸入法的快捷鍵" - -@@ -125,11 +130,13 @@ - msgid "Language panel position:" - msgstr "語言面板位置:" - --#: ../setup/setup.ui.h:27 ../data/ibus.schemas.in.h:21 -+#: ../setup/setup.ui.h:27 -+#: ../data/ibus.schemas.in.h:37 - msgid "Show icon on system tray" - msgstr "在系統匣顯示圖示" - --#: ../setup/setup.ui.h:28 ../data/ibus.schemas.in.h:23 -+#: ../setup/setup.ui.h:28 -+#: ../data/ibus.schemas.in.h:39 - msgid "Show input method name on language bar" - msgstr "在語言列顯示輸入法名稱" - -@@ -158,65 +165,78 @@ - msgstr "通用" - - #: ../setup/setup.ui.h:35 -+msgid "Customize active input _methods" -+msgstr "自訂啟動的輸入法(_m)" -+ -+#: ../setup/setup.ui.h:36 -+msgid "Customize active input methods" -+msgstr "自訂啟動的輸入法" -+ -+#: ../setup/setup.ui.h:37 - msgid "Add the selected input method into the enabled input methods" - msgstr "加入選取的輸入法到已啟用的輸入法內" - --#: ../setup/setup.ui.h:36 -+#: ../setup/setup.ui.h:38 - msgid "Remove the selected input method from the enabled input methods" - msgstr "從已啟用的輸入法中移除所選的輸入法" - --#: ../setup/setup.ui.h:37 -+#: ../setup/setup.ui.h:39 - msgid "Move up the selected input method in the enabled input methods list" - msgstr "上移所選取的輸入法" - --#: ../setup/setup.ui.h:38 -+#: ../setup/setup.ui.h:40 - msgid "Move down the selected input method in the enabled input methods" - msgstr "下移所選取的輸入法" - --#: ../setup/setup.ui.h:39 -+#: ../setup/setup.ui.h:41 - msgid "Show information of the selected input method" - msgstr "顯示所選取的輸入法資訊" - --#: ../setup/setup.ui.h:40 -+#: ../setup/setup.ui.h:42 - msgid "Show setup of the selected input method" - msgstr "顯示選取輸入法的設置" - --#: ../setup/setup.ui.h:41 -+#: ../setup/setup.ui.h:43 - msgid "" - "The default input method is the top one in the list.\n" - "You may use up/down buttons to change it." --msgstr "清單內最頂端的輸入法為預設輸入法。\n您可以以 向上/向下 按鈕進行變更。" -+msgstr "清單內最頂端的輸入法為預設輸入法。\n" -+"您可以以 向上/向下 按鈕進行變更。" - - #. create im name & icon column --#: ../setup/setup.ui.h:43 ../setup/enginetreeview.py:64 -+#: ../setup/setup.ui.h:45 -+#: ../setup/enginetreeview.py:66 - msgid "Input Method" - msgstr "輸入法" - --#: ../setup/setup.ui.h:44 ../data/ibus.schemas.in.h:24 -+#: ../setup/setup.ui.h:46 -+#: ../data/ibus.schemas.in.h:40 - msgid "Use system keyboard layout" - msgstr "使用系統鍵盤配置" - --#: ../setup/setup.ui.h:45 ../data/ibus.schemas.in.h:25 -+#: ../setup/setup.ui.h:47 -+#: ../data/ibus.schemas.in.h:41 - msgid "Use system keyboard (XKB) layout" - msgstr "使用系統鍵盤 (XKB) 配置" - --#: ../setup/setup.ui.h:46 -+#: ../setup/setup.ui.h:48 - msgid "Keyboard Layout" - msgstr "鍵盤配置" - --#: ../setup/setup.ui.h:47 ../data/ibus.schemas.in.h:33 -+#: ../setup/setup.ui.h:49 -+#: ../data/ibus.schemas.in.h:54 - msgid "Share the same input method among all applications" - msgstr "在所有應用程式共用同一個輸入法" - --#: ../setup/setup.ui.h:48 -+#: ../setup/setup.ui.h:50 - msgid "Global input method settings" - msgstr "全域輸入法設定值" - --#: ../setup/setup.ui.h:49 -+#: ../setup/setup.ui.h:51 - msgid "Advanced" - msgstr "進階" - --#: ../setup/setup.ui.h:50 -+#: ../setup/setup.ui.h:52 - msgid "" - "IBus\n" - "The intelligent input bus\n" -@@ -224,157 +244,256 @@ - "\n" - "\n" - "\n" --msgstr "iBus\n智慧型輸入框架\n首頁: http://code.google.com/p/ibus\n\n\n\n" -+msgstr "" -+"iBus\n" -+"智慧型輸入框架\n" -+"首頁: http://code.google.com/p/ibus\n" -+"\n" -+"\n" -+"\n" - --#: ../setup/setup.ui.h:57 -+#: ../setup/setup.ui.h:59 - msgid "Start ibus on login" - msgstr "在登入時啟動 iBus" - --#: ../setup/setup.ui.h:58 -+#: ../setup/setup.ui.h:60 - msgid "Startup" - msgstr "啟動" - --#: ../setup/setup.ui.h:59 ../setup/engineabout.py:34 -+#: ../setup/setup.ui.h:61 -+#: ../setup/engineabout.py:34 - msgid "About" - msgstr "關於" - --#: ../bus/ibus.desktop.in.h:1 --msgid "IBus" --msgstr "iBus" -- --#: ../bus/ibus.desktop.in.h:2 --msgid "Input Method Framework" --msgstr "輸入法框架" -- --#: ../bus/ibus.desktop.in.h:3 --msgid "Start IBus Input Method Framework" --msgstr "啟動 iBus 輸入法框架" -- - #: ../data/ibus.schemas.in.h:1 -+msgid "Preload engine mode" -+msgstr "預先載入引擎模式" -+ -+#: ../data/ibus.schemas.in.h:2 -+msgid "" -+"Preload engines are loaded with this mode. 0 = user customized engines. 1 = " -+"language related engines." -+msgstr "預先載入引擎會以此模式載入。0 表示自訂引擎。1 表示與引擎相關的語言。" -+ -+#: ../data/ibus.schemas.in.h:3 -+msgid "The key preload_engines is initialized" -+msgstr "關鍵的預先載入引擎已經初始化" -+ -+#: ../data/ibus.schemas.in.h:4 - msgid "Preload engines" - msgstr "預先載入引擎" - --#: ../data/ibus.schemas.in.h:2 -+#: ../data/ibus.schemas.in.h:5 - msgid "Preload engines during ibus starts up" - msgstr "當 iBus 啟動時預先載入引擎" - --#: ../data/ibus.schemas.in.h:3 -+#: ../data/ibus.schemas.in.h:6 - msgid "Engines order" - msgstr "引擎順序" - --#: ../data/ibus.schemas.in.h:4 -+#: ../data/ibus.schemas.in.h:7 - msgid "Saved engines order in input method list" - msgstr "輸入法清單中儲存的引擎順序" - --#: ../data/ibus.schemas.in.h:5 -+#: ../data/ibus.schemas.in.h:8 -+msgid "Popup delay milliseconds for IME switcher window" -+msgstr "IME 切換視窗出現的延遲毫秒數" -+ -+#: ../data/ibus.schemas.in.h:9 -+msgid "" -+"Set popup delay milliseconds to show IME switcher window. The default is 400." -+" 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not " -+"show the window and switch prev/next engines." -+msgstr "" -+"設定 IME 切換視窗出現的延遲毫秒數。預設值為 400。設定為 0 表示視窗會立即出現。0 < 延遲毫秒數。0 > " -+"不要顯示視窗,並切換到前一個 / 後一個引擎。" -+ -+#: ../data/ibus.schemas.in.h:10 -+msgid "Saved version number" -+msgstr "已儲存的版本號碼" -+ -+#: ../data/ibus.schemas.in.h:11 -+msgid "" -+"The saved version number will be used to check the difference between the " -+"version of the previous installed ibus and one of the current ibus." -+msgstr "已儲存的版本號碼會在檢查之前安裝的 ibus 與最新 ibus 之版本差異時使用。" -+ -+#: ../data/ibus.schemas.in.h:12 -+msgid "Use xmodmap" -+msgstr "使用 xmodmap" -+ -+#: ../data/ibus.schemas.in.h:13 -+msgid "Run xmodmap if .xmodmap/.Xmodmap exists." -+msgstr "如果 .xmodmap/.Xmodmap 存在的話,執行 xmodmap。" -+ -+#: ../data/ibus.schemas.in.h:14 -+msgid "Latin layout which have no ASCII" -+msgstr "沒有 ASCII 的拉丁佈局" -+ -+#: ../data/ibus.schemas.in.h:15 -+msgid "us layout is appended to the latin layouts. variant is not needed." -+msgstr "us 佈局增加至拉丁佈局。不需要 variant。" -+ -+#: ../data/ibus.schemas.in.h:16 -+msgid "XKB layout list which is shown on ibus-setup" -+msgstr "ibus-setup 中顯示的 XKB 佈局" -+ -+#: ../data/ibus.schemas.in.h:17 -+msgid "" -+"XKB layout list which is shown on ibus-setup. The format is \"layout\" or " -+"\"layout(variant)\"." -+msgstr "ibus-setup 中顯示的 XKB 佈局清單。格式為「layout」(佈局)或「layout(variant)」。" -+ -+#: ../data/ibus.schemas.in.h:18 - msgid "Trigger shortcut keys" - msgstr "觸發用快捷鍵" - --#: ../data/ibus.schemas.in.h:7 -+#: ../data/ibus.schemas.in.h:20 -+msgid "Trigger shortcut keys for gtk_accelerator_parse" -+msgstr "gtk_accelerator_parse 的觸發用快捷鍵" -+ -+#: ../data/ibus.schemas.in.h:21 -+msgid "Trigger shortcut keys without modifier keys" -+msgstr "未修改的觸發用快捷鍵" -+ -+#: ../data/ibus.schemas.in.h:22 -+msgid "" -+"Trigger shortcut keys without modifier keys. The list is used by ibus-gjs." -+msgstr "未修改的觸發快捷鍵。ibus-gjs 會使用此清單。" -+ -+#: ../data/ibus.schemas.in.h:23 - msgid "Enable shortcut keys" - msgstr "啟用快捷鍵" - --#: ../data/ibus.schemas.in.h:8 -+#: ../data/ibus.schemas.in.h:24 - msgid "The shortcut keys for turning input method on" - msgstr "開啟輸入法的快捷鍵" - --#: ../data/ibus.schemas.in.h:9 -+#: ../data/ibus.schemas.in.h:25 - msgid "Disable shortcut keys" - msgstr "停用快捷鍵" - --#: ../data/ibus.schemas.in.h:10 -+#: ../data/ibus.schemas.in.h:26 - msgid "The shortcut keys for turning input method off" - msgstr "關閉輸入法的快捷鍵" - --#: ../data/ibus.schemas.in.h:11 -+#: ../data/ibus.schemas.in.h:27 - msgid "Next engine shortcut keys" - msgstr "「下一個引擎」快捷鍵" - --#: ../data/ibus.schemas.in.h:12 -+#: ../data/ibus.schemas.in.h:28 - msgid "The shortcut keys for switching to the next input method in the list" - msgstr "用來切換到清單內下一個輸入法的快捷鍵" - --#: ../data/ibus.schemas.in.h:13 -+#: ../data/ibus.schemas.in.h:29 - msgid "Prev engine shortcut keys" - msgstr "「上一個引擎」快捷鍵" - --#: ../data/ibus.schemas.in.h:14 -+#: ../data/ibus.schemas.in.h:30 - msgid "The shortcut keys for switching to the previous input method" - msgstr "用來切換到清單內上一個輸入法的快捷鍵" - --#: ../data/ibus.schemas.in.h:15 -+#: ../data/ibus.schemas.in.h:31 - msgid "Auto hide" - msgstr "自動隱藏" - --#: ../data/ibus.schemas.in.h:16 -+#: ../data/ibus.schemas.in.h:32 - msgid "" - "The behavior of language panel. 0 = Embedded in menu, 1 = Auto hide, 2 = " - "Always show" - msgstr "語言面板行為。0 = 嵌入選單內,1 = 自動隱藏,2 = 永遠顯示" - --#: ../data/ibus.schemas.in.h:17 -+#: ../data/ibus.schemas.in.h:33 - msgid "Language panel position" - msgstr "語言面板位置" - --#: ../data/ibus.schemas.in.h:18 -+#: ../data/ibus.schemas.in.h:34 - msgid "" - "The position of the language panel. 0 = Top left corner, 1 = Top right " - "corner, 2 = Bottom left corner, 3 = Bottom right corner, 4 = Custom" - msgstr "語言列的位置。0 = 左上角, 1 = 右上角, 2 = 左下角, 3 = 右下角, 4 = 自訂" - --#: ../data/ibus.schemas.in.h:19 -+#: ../data/ibus.schemas.in.h:35 - msgid "Orientation of lookup table" - msgstr "查選表單表排列方向" - --#: ../data/ibus.schemas.in.h:20 -+#: ../data/ibus.schemas.in.h:36 - msgid "Orientation of lookup table. 0 = Horizontal, 1 = Vertical" - msgstr "查詢表單的排列方向。0 = 水平,1 = 垂直" - --#: ../data/ibus.schemas.in.h:22 -+#: ../data/ibus.schemas.in.h:38 - msgid "Show input method name" - msgstr "顯示輸入法名稱" - --#: ../data/ibus.schemas.in.h:26 -+#: ../data/ibus.schemas.in.h:42 - msgid "Use custom font" - msgstr "使用自訂字型" - --#: ../data/ibus.schemas.in.h:27 -+#: ../data/ibus.schemas.in.h:43 - msgid "Use custom font name for language panel" - msgstr "語言面板是否使用自訂字型" - --#: ../data/ibus.schemas.in.h:28 -+#: ../data/ibus.schemas.in.h:44 -+msgid "List of system keyboard layout groups on ibus-setup" -+msgstr "ibus-setup 上的系統鍵盤格式群組清單" -+ -+#: ../data/ibus.schemas.in.h:45 -+msgid "" -+"The group list is used not to show all the system keyboard layouts by " -+"default. The list item will be appended at the end of gconf key. e.g. .../" -+"xkblayoutconfig/item1" -+msgstr "" -+"此群組清單主要不是用來顯示所有預設的系統鍵盤格式。此清單項目將會被附加至 gconf key 之後,例如 .../xkblayoutconfig/" -+"item1" -+ -+#: ../data/ibus.schemas.in.h:46 -+msgid "List of European languages on ibus-setup" -+msgstr "ibus-setup 上的歐洲語言清單" -+ -+#: ../data/ibus.schemas.in.h:47 -+msgid "" -+"ibus-setup shows the languages only in input method list when you run ibus-" -+"setup on one of the languages. Other languages are hidden under an extended " -+"button." -+msgstr "當您在一種語言下執行 ibus-setup 時,ibus-setup 只會在輸入法清單中顯示該語言。其它語言都隱藏在一個延伸按鈕下。" -+ -+#: ../data/ibus.schemas.in.h:48 -+msgid "List of Asian languages on ibus-setup" -+msgstr "ibus-setup 的亞洲語言清單" -+ -+#: ../data/ibus.schemas.in.h:49 - msgid "Custom font" - msgstr "自訂字型" - --#: ../data/ibus.schemas.in.h:29 -+#: ../data/ibus.schemas.in.h:50 - msgid "Custom font name for language panel" - msgstr "為語言面板自訂字型" - --#: ../data/ibus.schemas.in.h:30 -+#: ../data/ibus.schemas.in.h:51 - msgid "Embed Preedit Text" - msgstr "內嵌預先編輯文字" - --#: ../data/ibus.schemas.in.h:31 -+#: ../data/ibus.schemas.in.h:52 - msgid "Embed Preedit Text in Application Window" - msgstr "在應用程式視窗中內嵌預先編輯文字" - --#: ../data/ibus.schemas.in.h:32 -+#: ../data/ibus.schemas.in.h:53 - msgid "Use global input method" - msgstr "使用全域輸入法" - --#: ../data/ibus.schemas.in.h:34 -+#: ../data/ibus.schemas.in.h:55 - msgid "Enable input method by default" - msgstr "預設啟用輸入法" - --#: ../data/ibus.schemas.in.h:35 -+#: ../data/ibus.schemas.in.h:56 - msgid "Enable input method by default when the application gets input focus" - msgstr "當應用程式取得輸入焦點時,預設將輸入法啟用" - --#: ../data/ibus.schemas.in.h:36 -+#: ../data/ibus.schemas.in.h:57 - msgid "DConf preserve name prefixes" - msgstr "DConf 保留名稱前綴" - --#: ../data/ibus.schemas.in.h:37 -+#: ../data/ibus.schemas.in.h:58 - msgid "Prefixes of DConf keys to stop name conversion" - msgstr "DConf 鍵的前綴,用來停止名稱轉換" - -@@ -382,36 +501,47 @@ - msgid "" - "Copyright (c) 2007-2010 Peng Huang\n" - "Copyright (c) 2007-2010 Red Hat, Inc." --msgstr "版權所有 (c) 2007-2010 黃鵬\n版權所有 (c) 2007-2010 Red Hat, Inc." -+msgstr "版權所有 (c) 2007-2010 黃鵬\n" -+"版權所有 (c) 2007-2010 Red Hat, Inc." - --#: ../ibus/lang.py:41 ../src/ibusutil.c:150 ../src/ibusutil.c:152 -+#: ../ibus/lang.py:41 -+#: ../src/ibusutil.c:150 -+#: ../src/ibusutil.c:152 - msgid "Other" - msgstr "其他" - --#: ../setup/engineabout.py:67 -+#: ../setup/engineabout.py:68 - #, python-format - msgid "Language: %s\n" - msgstr "語言:%s\n" - --#: ../setup/engineabout.py:70 -+#: ../setup/engineabout.py:71 - #, python-format - msgid "Keyboard layout: %s\n" - msgstr "鍵盤配置: %s\n" - --#: ../setup/engineabout.py:73 -+#: ../setup/engineabout.py:74 - #, python-format - msgid "Author: %s\n" - msgstr "作者:%s\n" - --#: ../setup/engineabout.py:76 -+#: ../setup/engineabout.py:77 - msgid "Description:\n" - msgstr "描述:\n" - --#: ../setup/enginecombobox.py:135 -+#: ../setup/enginecombobox.py:223 - msgid "Select an input method" - msgstr "選取輸入法" - --#: ../setup/enginetreeview.py:92 -+#: ../setup/enginecombobox.py:227 -+msgid "Show all input methods" -+msgstr "顯示所有輸入法" -+ -+#: ../setup/enginecombobox.py:229 -+msgid "Show only input methods for your region" -+msgstr "僅顯示您的區域之輸入法" -+ -+#: ../setup/enginetreeview.py:94 - msgid "Kbd" - msgstr "鍵盤" - -@@ -431,118 +561,154 @@ - msgid "Modifiers:" - msgstr "修飾鍵:" - --#: ../setup/keyboardshortcut.py:251 -+#: ../setup/keyboardshortcut.py:250 - msgid "" - "Please press a key (or a key combination).\n" - "The dialog will be closed when the key is released." --msgstr "請按鍵盤按鍵 (或是按鍵組合)\n當您放開按鍵時,對話框會自動關閉。" -+msgstr "請按鍵盤按鍵 (或是按鍵組合)\n" -+"當您放開按鍵時,對話框會自動關閉。" - --#: ../setup/keyboardshortcut.py:253 -+#: ../setup/keyboardshortcut.py:252 - msgid "Please press a key (or a key combination)" - msgstr "請按鍵盤按鍵 (或是按鍵組合)" - --#: ../setup/main.py:87 --msgid "trigger" --msgstr "觸發" -- --#: ../setup/main.py:88 --msgid "enable" --msgstr "啟用" -- --#: ../setup/main.py:89 --msgid "disable" --msgstr "停用" -+#: ../setup/main.py:98 -+#: ../setup/main.py:445 -+msgid "Use shortcut with shift to switch to the previous input method" -+msgstr "使用快捷鍵加上 shift 來切換至前一個輸入法" -+ -+#: ../setup/main.py:355 -+msgid "" -+"The list of your saved input methods will be cleared immediately and the " -+"list will be configured by the login language every time. Do you agree with " -+"this?" -+msgstr "已儲存輸入法的清單會馬上被清除,且清單會被配置為每次登入時所使用的語言。您同意嗎?" - --#: ../setup/main.py:331 -+#: ../setup/main.py:379 - msgid "The IBus daemon is not running. Do you wish to start it?" - msgstr "IBus 幕後程式並非執行中。您是否要啟動它?" - --#: ../setup/main.py:352 -+#: ../setup/main.py:400 - msgid "" --"IBus has been started! If you cannot use IBus, add the following lines to your $HOME/.bashrc; then relog into your desktop.\n" -+"IBus has been started! If you cannot use IBus, add the following lines to " -+"your $HOME/.bashrc; then relog into your desktop.\n" - " export GTK_IM_MODULE=ibus\n" - " export XMODIFIERS=@im=ibus\n" - " export QT_IM_MODULE=ibus" --msgstr "IBus 已經啟動!若您無法使用 IBus,請將下列文字加入您的 $HOME/.bashrc 中;接著重新登入桌面。\nexport GTK_IM_MODULE=ibus\nexport XMODIFIERS=@im=ibus\nexport QT_IM_MODULE=ibus" -+msgstr "" -+"IBus 已經啟動!若您無法使用 IBus,請將下列文字加入您的 $HOME/.bashrc 中;接著重新登入桌面。\n" -+"export GTK_IM_MODULE=ibus\n" -+"export XMODIFIERS=@im=ibus\n" -+"export QT_IM_MODULE=ibus" - - #. Translators: %d == 5 currently --#: ../setup/main.py:366 -+#: ../setup/main.py:414 - #, python-format - msgid "IBus daemon could not be started in %d seconds" - msgstr "IBus 幕後程式無法在 %d 秒後啟動" - --#: ../setup/main.py:378 -+#: ../setup/main.py:426 - #, python-format - msgid "Select keyboard shortcut for %s" - msgstr "為 %s 選取鍵盤快捷鍵" - --#: ../tools/main.vala:40 -+#: ../setup/main.py:427 -+msgid "switching input methods" -+msgstr "切換輸入法" -+ -+#: ../tools/main.vala:42 - msgid "List engine name only" - msgstr "僅列出引擎名稱" - --#: ../tools/main.vala:44 --msgid "command [OPTIONS]" --msgstr "command [OPTIONS]" -- --#: ../tools/main.vala:56 ../tools/main.vala:138 ../tools/main.vala:148 -+#: ../tools/main.vala:58 -+#: ../tools/main.vala:179 -+#: ../tools/main.vala:189 - #, c-format - msgid "Can't connect to IBus.\n" - msgstr "無法連接 IBus。\n" - --#: ../tools/main.vala:82 -+#: ../tools/main.vala:84 - #, c-format - msgid "language: %s\n" - msgstr "語言:%s\n" - --#: ../tools/main.vala:100 -+#: ../tools/main.vala:152 - #, c-format - msgid "No engine is set.\n" - msgstr "尚未設定引擎。\n" - --#: ../tools/main.vala:108 -+#: ../tools/main.vala:160 - #, c-format - msgid "Set global engine failed.\n" - msgstr "無法設定全域引擎。\n" - --#: ../tools/main.vala:113 -+#: ../tools/main.vala:165 - #, c-format - msgid "Get global engine failed.\n" - msgstr "無法取得全域引擎。\n" - --#: ../tools/main.vala:120 -+#: ../tools/main.vala:204 -+msgid "Read the system registry cache." -+msgstr "讀取系統註冊快取。" -+ -+#: ../tools/main.vala:206 -+msgid "Read the registry cache FILE." -+msgstr "讀取註冊快取 FILE。" -+ -+#: ../tools/main.vala:224 -+#: ../tools/main.vala:229 - #, c-format --msgid "Switch xkb layout to %s failed." --msgstr "無法將 xkb 鍵盤配置切換為 %s。" -+msgid "The registry cache is invalid.\n" -+msgstr "註冊快取無效。\n" -+ -+#: ../tools/main.vala:244 -+msgid "Write the system registry cache." -+msgstr "寫入系統註冊快取。" -+ -+#: ../tools/main.vala:246 -+msgid "Write the registry cache FILE." -+msgstr "寫入註冊快取 FILE。" - --#: ../tools/main.vala:185 -+#: ../tools/main.vala:300 - #, c-format --msgid "" --"Usage: %s COMMAND [OPTION...]\n" -+msgid "Usage: %s COMMAND [OPTION...]\n" -+"\n" -+msgstr "用法:%s COMMAND [OPTION...]\n" - "\n" --msgstr "用法:%s COMMAND [OPTION...]\n\n" - --#: ../tools/main.vala:186 -+#: ../tools/main.vala:301 - #, c-format - msgid "Commands:\n" - msgstr "指令:\n" - --#: ../tools/main.vala:208 -+#: ../tools/main.vala:327 - #, c-format - msgid "%s is unknown command!\n" - msgstr "%s 為未知指令!\n" - --#: ../ui/gtk3/panel.vala:361 -+#: ../ui/gtk3/panel.vala:363 -+msgid "IBus Update" -+msgstr "IBus 更新" -+ -+#: ../ui/gtk3/panel.vala:364 -+#: ../ui/gtk3/panel.vala:375 -+msgid "Super+space is now the default hotkey." -+msgstr "現在 Super+space 是預設快捷鍵。" -+ -+#: ../ui/gtk3/panel.vala:1007 - msgid "Copyright (c) 2007-2012 Peng Huang\n" - msgstr "著作權 (c) 2007-2012 黃鵬\n" - --#: ../ui/gtk3/panel.vala:366 -+#: ../ui/gtk3/panel.vala:1012 - msgid "IBus is an intelligent input bus for Linux/Unix." - msgstr "iBus 為 Linux/Unix 上的智慧型輸入法框架。" - --#: ../ui/gtk3/panel.vala:370 -+#: ../ui/gtk3/panel.vala:1016 - msgid "translator-credits" --msgstr "Ding-Yi Chen 陳定彞 , 2009.\nCheng-Chia Tseng , 2010." -+msgstr "" -+"Ding-Yi Chen 陳定彞 , 2009.\n" -+"Cheng-Chia Tseng , 2010." - --#: ../ui/gtk3/panel.vala:402 -+#: ../ui/gtk3/panel.vala:1048 - msgid "Restart" - msgstr "重新啟動" diff --git a/SOURCES/ibus-1183909-x11-hang-fast-type.patch b/SOURCES/ibus-1183909-x11-hang-fast-type.patch deleted file mode 100644 index fa0b217..0000000 --- a/SOURCES/ibus-1183909-x11-hang-fast-type.patch +++ /dev/null @@ -1,383 +0,0 @@ -From 576ebc3633aa1fb3076ffac031255c3da4e2cd09 Mon Sep 17 00:00:00 2001 -From: Klemens Baum -Date: Thu, 18 Dec 2014 16:27:23 +0900 -Subject: [PATCH] IMdkit: Track window property offsets correctly - -The XIM specification requires that XIM tranports over 20 bytes in size -be transferred via window properties. The sender calls XChangeProperty -with PropModeAppend, and instructs the recipient via ClientMessage to -call XGetWindowProperty with delete set to True. - -Naive implementations exhibit a race condition because the receiver -could have written more data in the meantime, and XGetWindowProperty -only deletes the property when bytes_after_return is zero. If -bytes_after_return is non-zero, it is necessary to use an offset when -reading from the property again. - -To ensure that the property data does not grow indefinitely, Xlib -recycles 21 Atoms in round-robin fashion. Because the XIM specification -does not limit the number of Atom names of the form "_clientXXX" to be -used for data transfer over window properties, an XIM server should be -able to keep of track any number of Atoms, remembering the offset into -each property. - -This patch implements correct tracking of property offsets. - -Signed-off-by: Klemens Baum -Reviewed-by: Keith Packard - -rhbz#1175595 -BUG=https://code.google.com/p/ibus/issues/detail?id=1751 -TEST=client/x11/ibus-x11 - -Review URL: https://codereview.appspot.com/176190044 -Patch from Klemens Baum . ---- - util/IMdkit/Makefile.am | 5 ++- - util/IMdkit/Xi18n.h | 23 +++++++++-- - util/IMdkit/i18nOffsetCache.c | 89 +++++++++++++++++++++++++++++++++++++++++++ - util/IMdkit/i18nUtil.c | 9 +++-- - util/IMdkit/i18nX.c | 73 ++++++++++++++++++----------------- - 5 files changed, 154 insertions(+), 45 deletions(-) - create mode 100644 util/IMdkit/i18nOffsetCache.c - -diff --git a/util/IMdkit/Makefile.am b/util/IMdkit/Makefile.am -index e3946d7..6cbb908 100644 ---- a/util/IMdkit/Makefile.am -+++ b/util/IMdkit/Makefile.am -@@ -2,8 +2,8 @@ - # - # ibus - The Input Bus - # --# Copyright (c) 2007-2010 Peng Huang --# Copyright (c) 2007-2010 Red Hat, Inc. -+# Copyright (c) 2007-2014 Peng Huang -+# Copyright (c) 2007-2014 Red Hat, Inc. - # - # This library is free software; you can redistribute it and/or - # modify it under the terms of the GNU Lesser General Public -@@ -29,6 +29,7 @@ libIMdkit_la_SOURCES = \ - i18nIc.c \ - i18nIMProto.c \ - i18nMethod.c \ -+ i18nOffsetCache.c \ - i18nPtHdr.c \ - i18nUtil.c \ - i18nX.c \ -diff --git a/util/IMdkit/Xi18n.h b/util/IMdkit/Xi18n.h -index 484cc62..e1d24d5 100644 ---- a/util/IMdkit/Xi18n.h -+++ b/util/IMdkit/Xi18n.h -@@ -1,7 +1,9 @@ - /****************************************************************** - -- Copyright 1994, 1995 by Sun Microsystems, Inc. -- Copyright 1993, 1994 by Hewlett-Packard Company -+ Copyright (C) 1994-1995 Sun Microsystems, Inc. -+ Copyright (C) 1993-1994 Hewlett-Packard Company -+ Copyright (C) 2014 Peng Huang -+ Copyright (C) 2014 Red Hat, Inc. - - Permission to use, copy, modify, distribute, and sell this software - and its documentation for any purpose is hereby granted without fee, -@@ -45,6 +47,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - #define XIM_EXT_MOVE (0x33) - #define COMMON_EXTENSIONS_NUM 3 - -+#include - #include - #include "IMdkit.h" - -@@ -138,6 +141,19 @@ typedef struct - char *name; - } XIMExt; - -+typedef struct -+{ -+ Atom key; -+ unsigned long offset; -+} Xi18nAtomOffsetPair; -+ -+typedef struct -+{ -+ size_t capacity; -+ size_t size; -+ Xi18nAtomOffsetPair *data; -+} Xi18nOffsetCache; -+ - typedef struct _Xi18nClient - { - int connect_id; -@@ -149,8 +165,7 @@ typedef struct _Xi18nClient - */ - int sync; - XIMPending *pending; -- /* property offset to read next data */ -- long property_offset; -+ Xi18nOffsetCache offset_cache; - void *trans_rec; /* contains transport specific data */ - struct _Xi18nClient *next; - } Xi18nClient; -diff --git a/util/IMdkit/i18nOffsetCache.c b/util/IMdkit/i18nOffsetCache.c -new file mode 100644 -index 0000000..c952d5b ---- /dev/null -+++ b/util/IMdkit/i18nOffsetCache.c -@@ -0,0 +1,89 @@ -+/* -+ * Copyright (C) 2014 Peng Huang -+ * Copyright (C) 2014 Red Hat, Inc. -+ * -+ * Permission to use, copy, modify, distribute, and sell this -+ * software and its documentation for any purpose is hereby granted -+ * without fee, provided that the above copyright notice appear in -+ * all copies and that both that copyright notice and this permission -+ * notice appear in supporting documentation, and that the name of -+ * the copyright holders not be used in advertising or publicity -+ * pertaining to distribution of the software without specific, -+ * written prior permission. The copyright holders make no -+ * representations about the suitability of this software for any -+ * purpose. It is provided "as is" without express or implied -+ * warranty. -+ * -+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN -+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -+ * THIS SOFTWARE. -+ * -+ * Author: Klemens Baum -+ */ -+ -+#include -+#include -+#include "IMdkit.h" -+#include "Xi18n.h" -+ -+/* -+ * The XIM specification does not limit the number of window properties -+ * that can be used to transfer data, but Xlib uses the atom strings -+ * _client0 through _client20. -+ * -+ * So use that as a sensible initial size for the offset cache. -+ */ -+#define INITIAL_OFFSET_CACHE_CAPACITY 21 -+#define OFFSET_CACHE_GROWTH_FACTOR 2 -+ -+void _Xi18nInitOffsetCache (Xi18nOffsetCache *offset_cache) -+{ -+ offset_cache->size = 0; -+ offset_cache->capacity = INITIAL_OFFSET_CACHE_CAPACITY; -+ offset_cache->data = (Xi18nAtomOffsetPair *) malloc ( -+ INITIAL_OFFSET_CACHE_CAPACITY * sizeof (Xi18nAtomOffsetPair)); -+} -+ -+unsigned long _Xi18nLookupPropertyOffset (Xi18nOffsetCache *offset_cache, -+ Atom key) -+{ -+ Xi18nAtomOffsetPair *data = offset_cache->data; -+ size_t i; -+ -+ for (i = 0; i < offset_cache->size; ++i) { -+ if (data[i].key == key) { -+ return data[i].offset; -+ } -+ } -+ -+ return 0; -+} -+ -+void _Xi18nSetPropertyOffset (Xi18nOffsetCache *offset_cache, Atom key, -+ unsigned long offset) -+{ -+ Xi18nAtomOffsetPair *data = offset_cache->data; -+ size_t i; -+ -+ for (i = 0; i < offset_cache->size; ++i) { -+ if (data[i].key == key) { -+ data[i].offset = offset; -+ return; -+ } -+ } -+ -+ if (++offset_cache->size > offset_cache->capacity) { -+ offset_cache->capacity *= OFFSET_CACHE_GROWTH_FACTOR; -+ offset_cache->data = data = (Xi18nAtomOffsetPair *) realloc (data, -+ offset_cache->capacity * sizeof (Xi18nAtomOffsetPair)); -+ } -+ -+ data[i].key = key; -+ data[i].offset = offset; -+} -+ -diff --git a/util/IMdkit/i18nUtil.c b/util/IMdkit/i18nUtil.c -index c07de48..6557bd1 100644 ---- a/util/IMdkit/i18nUtil.c -+++ b/util/IMdkit/i18nUtil.c -@@ -1,7 +1,9 @@ - /****************************************************************** - -- Copyright 1994, 1995 by Sun Microsystems, Inc. -- Copyright 1993, 1994 by Hewlett-Packard Company -+ Copyright (C) 1994-1995 Sun Microsystems, Inc. -+ Copyright (C) 1993-1994 Hewlett-Packard Company -+ Copyright (C) 2014 Peng Huang -+ Copyright (C) 2014 Red Hat, Inc. - - Permission to use, copy, modify, distribute, and sell this software - and its documentation for any purpose is hereby granted without fee, -@@ -36,6 +38,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - #include "XimFunc.h" - - Xi18nClient *_Xi18nFindClient (Xi18n, CARD16); -+void _Xi18nInitOffsetCache (Xi18nOffsetCache *); - - int - _Xi18nNeedSwap (Xi18n i18n_core, CARD16 connect_id) -@@ -70,7 +73,7 @@ Xi18nClient *_Xi18nNewClient(Xi18n i18n_core) - client->sync = False; - client->byte_order = '?'; /* initial value */ - memset (&client->pending, 0, sizeof (XIMPending *)); -- client->property_offset = 0; -+ _Xi18nInitOffsetCache (&client->offset_cache); - client->next = i18n_core->address.clients; - i18n_core->address.clients = client; - -diff --git a/util/IMdkit/i18nX.c b/util/IMdkit/i18nX.c -index 0a54058..8385aba 100644 ---- a/util/IMdkit/i18nX.c -+++ b/util/IMdkit/i18nX.c -@@ -1,7 +1,9 @@ - /****************************************************************** - -- Copyright 1994, 1995 by Sun Microsystems, Inc. -- Copyright 1993, 1994 by Hewlett-Packard Company -+ Copyright (C) 1994-1995 Sun Microsystems, Inc. -+ Copyright (C) 1993-1994 Hewlett-Packard Company -+ Copyright (C) 2014 Peng Huang -+ Copyright (C) 2014 Red Hat, Inc. - - Permission to use, copy, modify, distribute, and sell this software - and its documentation for any purpose is hereby granted without fee, -@@ -29,6 +31,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ******************************************************************/ - -+#include - #include - #include - #include -@@ -38,12 +41,14 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - #include "Xi18nX.h" - #include "XimFunc.h" - --extern Xi18nClient *_Xi18nFindClient(Xi18n, CARD16); --extern Xi18nClient *_Xi18nNewClient(Xi18n); --extern void _Xi18nDeleteClient(Xi18n, CARD16); --static Bool WaitXConnectMessage(Display*, Window, -- XEvent*, XPointer); --static Bool WaitXIMProtocol(Display*, Window, XEvent*, XPointer); -+extern Xi18nClient *_Xi18nFindClient (Xi18n, CARD16); -+extern Xi18nClient *_Xi18nNewClient (Xi18n); -+extern void _Xi18nDeleteClient (Xi18n, CARD16); -+extern unsigned long _Xi18nLookupPropertyOffset (Xi18nOffsetCache *, Atom); -+extern void _Xi18nSetPropertyOffset (Xi18nOffsetCache *, Atom, unsigned long); -+static Bool WaitXConnectMessage (Display*, Window, -+ XEvent*, XPointer); -+static Bool WaitXIMProtocol (Display*, Window, XEvent*, XPointer); - - static XClient *NewXClient (Xi18n i18n_core, Window new_client) - { -@@ -129,7 +134,6 @@ static unsigned char *ReadXIMMessage (XIMS ims, - else if (ev->format == 32) { - /* ClientMessage and WindowProperty */ - unsigned long length = (unsigned long) ev->data.l[0]; -- unsigned long get_length; - Atom atom = (Atom) ev->data.l[1]; - int return_code; - Atom actual_type_ret; -@@ -137,21 +141,28 @@ static unsigned char *ReadXIMMessage (XIMS ims, - unsigned long bytes_after_ret; - unsigned char *prop; - unsigned long nitems; -- -- /* Round up length to next 4 byte value. */ -- get_length = length + 3; -- if (get_length > LONG_MAX) -- get_length = LONG_MAX; -- get_length /= 4; -- if (get_length == 0) { -- fprintf(stderr, "%s: invalid length 0\n", __func__); -+ Xi18nOffsetCache *offset_cache = &client->offset_cache; -+ unsigned long offset; -+ unsigned long end; -+ unsigned long long_begin; -+ unsigned long long_end; -+ -+ if (length == 0) { -+ fprintf (stderr, "%s: invalid length 0\n", __func__); - return NULL; - } -+ -+ offset = _Xi18nLookupPropertyOffset (offset_cache, atom); -+ end = offset + length; -+ -+ /* The property data is retrieved in 32-bit chunks */ -+ long_begin = offset / 4; -+ long_end = (end + 3) / 4; - return_code = XGetWindowProperty (i18n_core->address.dpy, - x_client->accept_win, - atom, -- client->property_offset / 4, -- get_length, -+ long_begin, -+ long_end - long_begin, - True, - AnyPropertyType, - &actual_type_ret, -@@ -162,32 +173,22 @@ static unsigned char *ReadXIMMessage (XIMS ims, - if (return_code != Success || actual_format_ret == 0 || nitems == 0) { - if (return_code == Success) - XFree (prop); -- client->property_offset = 0; -+ fprintf (stderr, -+ "(XIM-IMdkit) ERROR: XGetWindowProperty failed.\n" -+ "Protocol data is likely to be inconsistent.\n"); -+ _Xi18nSetPropertyOffset (offset_cache, atom, 0); - return (unsigned char *) NULL; - } - /* Update the offset to read next time as needed */ - if (bytes_after_ret > 0) -- client->property_offset += length; -+ _Xi18nSetPropertyOffset (offset_cache, atom, offset + length); - else -- client->property_offset = 0; -- switch (actual_format_ret) { -- case 8: -- case 16: -- case 32: -- length = nitems * actual_format_ret / 8; -- break; -- default: -- fprintf(stderr, "%s: unknown property return format: %d\n", -- __func__, actual_format_ret); -- XFree(prop); -- client->property_offset = 0; -- return NULL; -- } -+ _Xi18nSetPropertyOffset (offset_cache, atom, 0); - /* if hit, it might be an error */ - if ((p = (unsigned char *) malloc (length)) == NULL) - return (unsigned char *) NULL; - -- memmove (p, prop, length); -+ memcpy (p, prop + (offset % 4), length); - XFree (prop); - } - return (unsigned char *) p; --- -2.1.0 - diff --git a/SOURCES/ibus-530711-preload-sys.patch b/SOURCES/ibus-530711-preload-sys.patch deleted file mode 100644 index 12a523c..0000000 --- a/SOURCES/ibus-530711-preload-sys.patch +++ /dev/null @@ -1,352 +0,0 @@ -From a6d4b9ac9a22c5b88c362b659eaf6fd59a0cf5bd Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 14 Jan 2014 15:30:24 +0900 -Subject: [PATCH] Reload preload engines until users customize the list. - -The idea is, if users don't customize the preload_engines with ibus-setup, -users would prefer to load the system default engines again by login. -The gsettings value 'preload-engine-mode' is -IBUS_PRELOAD_ENGINE_MODE_USER by default but set -IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE for the initial login. -If 'preload-engine-mode' is IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE, -ibus-daemon loads the system preload engines by langs. -If 'preload-engine-mode' is IBUS_PRELOAD_ENGINE_MODE_USER, -ibus-daemon do not update the gsettings value 'preload-engines' -On the other hand, if users enable the customized engine checkbutton -on ibus-setup, ibus-setup sets 'preload-engine-mode' as -IBUS_PRELOAD_ENGINE_MODE_USER and users can customize the value -'preload-engines'. ---- - data/ibus.schemas.in | 24 ++++++++++++++ - setup/main.py | 70 +++++++++++++++++++++++++++++++++++---- - setup/setup.ui | 22 +++++++++++-- - src/ibustypes.h | 10 ++++++ - ui/gtk3/panel.vala | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 210 insertions(+), 9 deletions(-) - -diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in -index 8fd7e15..28d2219 100644 ---- a/data/ibus.schemas.in -+++ b/data/ibus.schemas.in -@@ -2,6 +2,30 @@ - - - -+ /schemas/desktop/ibus/general/preload_engine_mode -+ /desktop/ibus/general/preload_engine_mode -+ ibus -+ int -+ 0 -+ -+ Preload engine mode -+ Preload engines are loaded with this mode. -+ 0 = user customized engines. -+ 1 = language related engines. -+ -+ -+ -+ /schemas/desktop/ibus/general/preload_engines_inited -+ /desktop/ibus/general/preload_engines_inited -+ ibus -+ bool -+ false -+ -+ The key preload_engines is initialized -+ The key preload_engines is initialized -+ -+ -+ - /schemas/desktop/ibus/general/preload_engines - /desktop/ibus/general/preload_engines - ibus -diff --git a/setup/main.py b/setup/main.py -index d3f4414..235ef9c 100644 ---- a/setup/main.py -+++ b/setup/main.py -@@ -187,16 +187,30 @@ class Setup(object): - 'active', - Gio.SettingsBindFlags.DEFAULT) - -+ # set preload mode -+ preload_engine_mode = \ -+ self.__settings_general.get_int('preload-engine-mode') -+ button = self.__builder.get_object("checkbutton_preload_engine_mode") -+ hbox = self.__builder.get_object("hbox_customize_active_input_methods") -+ if preload_engine_mode == IBus.PreloadEngineMode.USER: -+ button.set_active(True) -+ hbox.set_sensitive(True) -+ else: -+ button.set_active(False) -+ hbox.set_sensitive(False) -+ button.connect('toggled', -+ self.__checkbutton_preload_engine_mode_toggled_cb) -+ -+ self.__settings_general.connect('changed::preload-engines', -+ self.__settings_general_preload_engines_cb) -+ - # init engine page - self.__engines = self.__bus.list_engines() - self.__combobox = self.__builder.get_object("combobox_engines") - self.__combobox.set_engines(self.__engines) - -- tmp_dict = {} -- for e in self.__engines: -- tmp_dict[e.get_name()] = e - engine_names = self.__settings_general.get_strv('preload-engines') -- engines = [tmp_dict[name] for name in engine_names if name in tmp_dict] -+ engines = self.__get_engine_descs_from_names(engine_names) - - self.__treeview = self.__builder.get_object("treeview_engines") - self.__treeview.set_engines(engines) -@@ -246,8 +260,8 @@ class Setup(object): - def __combobox_notify_active_engine_cb(self, combobox, property): - engine = self.__combobox.get_active_engine() - button = self.__builder.get_object("button_engine_add") -- button.set_sensitive( -- engine != None and engine not in self.__treeview.get_engines()) -+ button.set_sensitive(engine != None and \ -+ engine.get_name() not in map(lambda e: e.get_name(), self.__treeview.get_engines())) - - def __get_engine_setup_exec_args(self, engine): - args = [] -@@ -267,6 +281,13 @@ class Setup(object): - args.append(path.basename(setup_path)) - return args - -+ def __get_engine_descs_from_names(self, engine_names): -+ tmp_dict = {} -+ for e in self.__engines: -+ tmp_dict[e.get_name()] = e -+ engines = [tmp_dict[name] for name in engine_names if name in tmp_dict] -+ return engines -+ - def __treeview_notify_cb(self, treeview, prop): - if prop.name not in ("active-engine", "engines"): - return -@@ -318,6 +339,43 @@ class Setup(object): - del self.__engine_setup_exec_list[name] - self.__engine_setup_exec_list[name] = os.spawnl(os.P_NOWAIT, *args) - -+ def __checkbutton_preload_engine_mode_toggled_cb(self, button): -+ if button.get_active(): -+ self.__settings_general.set_int('preload-engine-mode', -+ IBus.PreloadEngineMode.USER) -+ self.__builder.get_object( -+ "hbox_customize_active_input_methods").set_sensitive(True) -+ self.__treeview.notify('engines') -+ else: -+ message = _("The list of your saved input methods will be " \ -+ "cleared immediately and the list will be " \ -+ "configured by the login language every time. " \ -+ "Do you agree with this?") -+ dlg = Gtk.MessageDialog(type = Gtk.MessageType.QUESTION, -+ buttons = Gtk.ButtonsType.YES_NO, -+ message_format = message) -+ id = dlg.run() -+ dlg.destroy() -+ self.__flush_gtk_events() -+ if id != Gtk.ResponseType.YES: -+ button.set_active(True) -+ return -+ self.__settings_general.set_int( -+ 'preload-engine-mode', -+ IBus.PreloadEngineMode.LANG_RELATIVE) -+ self.__builder.get_object( -+ "hbox_customize_active_input_methods").set_sensitive(False) -+ -+ def __settings_general_preload_engines_cb(self, settings, key): -+ engine_names = self.__settings_general.get_strv('preload-engines') -+ engines = self.__get_engine_descs_from_names(engine_names) -+ current_engines = self.__treeview.get_engines() -+ engines_csv = str.join(',', map(lambda e: e.get_name(), engines)) -+ current_engines_csv = \ -+ str.join(',', map(lambda e: e.get_name(), current_engines)) -+ if engines_csv != current_engines_csv: -+ self.__treeview.set_engines(engines) -+ - def __init_bus(self): - self.__bus = IBus.Bus() - if self.__bus.is_connected(): -diff --git a/setup/setup.ui b/setup/setup.ui -index 65dcee4..a6a001b 100644 ---- a/setup/setup.ui -+++ b/setup/setup.ui -@@ -669,7 +669,23 @@ - True - False - -- -+ -+ True -+ Customize active input _methods -+ True -+ True -+ False -+ Customize active input methods -+ True -+ -+ -+ False -+ True -+ 0 -+ -+ -+ -+ - True - False - -@@ -858,7 +874,7 @@ - - True - True -- 0 -+ 1 - - - -@@ -905,7 +921,7 @@ - - False - True -- 1 -+ 2 - - - -diff --git a/src/ibustypes.h b/src/ibustypes.h -index 86fc2cc..cb9eb22 100644 ---- a/src/ibustypes.h -+++ b/src/ibustypes.h -@@ -206,6 +206,16 @@ typedef enum { - } IBusError; - - /** -+ * IBusPreloadEngineMode: -+ * @IBUS_PRELOAD_ENGINE_MODE_USER: user custimized engines -+ * @IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE: language related engines. -+ */ -+typedef enum { -+ IBUS_PRELOAD_ENGINE_MODE_USER = 0, -+ IBUS_PRELOAD_ENGINE_MODE_LANG_RELATIVE = 1, -+} IBusPreloadEngineMode; -+ -+/** - * IBusRectangle: - * @x: x coordinate. - * @y: y coordinate. -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index 1da7966..fc60fd4 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -136,6 +136,10 @@ class Panel : IBus.PanelService { - null); - }); - -+ m_settings_general.changed["preload-engine-mode"].connect((key) => { -+ update_im_engines(); -+ }); -+ - m_settings_general.changed["switcher-delay-time"].connect((key) => { - set_switcher_delay_time(); - }); -@@ -524,7 +528,96 @@ class Panel : IBus.PanelService { - init_gkbd(); - } - -+ string[] preload_engines = -+ m_settings_general.get_strv("preload-engines"); -+ -+ bool preload_engines_inited = -+ m_settings_general.get_boolean("preload-engines-inited"); -+ -+ // Set preload_engines_inited = true for back compatibility -+ if (preload_engines.length != 0 && !preload_engines_inited) { -+ preload_engines_inited = true; -+ m_settings_general.set_boolean("preload-engines-inited", true); -+ } -+ - update_xkb_engines(); -+ -+ // Before update preload_engine_mode, update_xkb_engines() is called -+ // because "preload-engine-mode" signal calls update_im_engines(). -+ if (!preload_engines_inited) -+ m_settings_general.set_int("preload-engine-mode", -+ IBus.PreloadEngineMode.LANG_RELATIVE); -+ -+ update_im_engines(); -+ -+ if (!preload_engines_inited) -+ m_settings_general.set_boolean("preload-engines-inited", true); -+ } -+ -+ private bool set_lang_relative_preload_engines() { -+ string locale = Intl.setlocale(LocaleCategory.CTYPE, null); -+ -+ if (locale == null) -+ locale = "C"; -+ -+ string lang = locale.split(".")[0]; -+ GLib.List engines = m_bus.list_engines(); -+ string[] im_engines = {}; -+ -+ for (unowned GLib.List p = engines; -+ p != null; -+ p = p.next) { -+ unowned IBus.EngineDesc engine = p.data; -+ if (engine.get_language() == lang && engine.get_rank() > 0) -+ im_engines += engine.get_name(); -+ } -+ -+ lang = lang.split("_")[0]; -+ if (im_engines.length == 0) { -+ for (unowned GLib.List p = engines; -+ p != null; -+ p = p.next) { -+ unowned IBus.EngineDesc engine = p.data; -+ if (engine.get_language() == lang && engine.get_rank() > 0) -+ im_engines += engine.get_name(); -+ } -+ } -+ -+ if (im_engines.length == 0) -+ return false; -+ -+ string[] orig_preload_engines = -+ m_settings_general.get_strv("preload-engines"); -+ string[] preload_engines = {}; -+ -+ // clear input method engines -+ foreach (string name in orig_preload_engines) { -+ if (name.ascii_ncasecmp("xkb:", 4) != 0) -+ continue; -+ -+ preload_engines += name; -+ } -+ -+ foreach (string name in im_engines) { -+ if (!(name in preload_engines)) -+ preload_engines += name; -+ } -+ -+ if (string.joinv(",", orig_preload_engines) != -+ string.joinv(",", preload_engines)) -+ m_settings_general.set_strv("preload-engines", preload_engines); -+ -+ return true; -+ } -+ -+ private void update_im_engines() { -+ int preload_engine_mode = -+ m_settings_general.get_int("preload-engine-mode"); -+ -+ if (preload_engine_mode == IBus.PreloadEngineMode.USER) -+ return; -+ -+ set_lang_relative_preload_engines(); - } - - private void update_xkb_engines() { --- -1.8.0 - diff --git a/SOURCES/ibus-541492-xkb.patch b/SOURCES/ibus-541492-xkb.patch deleted file mode 100644 index 3cb1d57..0000000 --- a/SOURCES/ibus-541492-xkb.patch +++ /dev/null @@ -1,1953 +0,0 @@ -From 8085ca38cb9c2ea370ebe64d80a4d7894a485960 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 14 Jan 2014 15:27:50 +0900 -Subject: [PATCH] Add libgnomekbd and load preload engines. - ---- - bindings/vala/Gkbd-3.0.metadata | 1 + - bindings/vala/Makefile.am | 19 +- - bindings/vala/Xkl-1.0.metadata | 3 + - bindings/vala/gkbd.deps | 3 + - bus/ibusimpl.c | 12 +- - configure.ac | 40 ++++ - data/ibus.schemas.in | 59 +++++ - ibus-1.0.pc.in | 1 + - ibus.spec.in | 12 ++ - src/Makefile.am | 3 + - src/ibus.h | 1 + - src/ibusxkbxml.c | 466 ++++++++++++++++++++++++++++++++++++++++ - src/ibusxkbxml.h | 187 ++++++++++++++++ - ui/gtk3/Makefile.am | 36 ++++ - ui/gtk3/gkbdlayout.vala.false | 63 ++++++ - ui/gtk3/gkbdlayout.vala.true | 108 ++++++++++ - ui/gtk3/panel.vala | 196 ++++++++++++++++- - ui/gtk3/xkblayout.vala | 429 ++++++++++++++++++++++++++++++++++++ - 18 files changed, 1634 insertions(+), 5 deletions(-) - create mode 100644 bindings/vala/Gkbd-3.0.metadata - create mode 100644 bindings/vala/Xkl-1.0.metadata - create mode 100644 bindings/vala/gkbd.deps - create mode 100644 src/ibusxkbxml.c - create mode 100644 src/ibusxkbxml.h - create mode 100644 ui/gtk3/gkbdlayout.vala.false - create mode 100644 ui/gtk3/gkbdlayout.vala.true - create mode 100644 ui/gtk3/xkblayout.vala - -diff --git a/bindings/vala/Gkbd-3.0.metadata b/bindings/vala/Gkbd-3.0.metadata -new file mode 100644 -index 0000000..661e6fd ---- /dev/null -+++ b/bindings/vala/Gkbd-3.0.metadata -@@ -0,0 +1 @@ -+Configuration cheader_filename="libgnomekbd/gkbd-configuration.h" -diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am -index 29cc1eb..1d28501 100644 ---- a/bindings/vala/Makefile.am -+++ b/bindings/vala/Makefile.am -@@ -28,8 +28,6 @@ vapi_deps = \ - $(top_builddir)/src/IBus-1.0.gir \ - $(NULL) - --ibus-1.0.vapi: $(vapi_deps) -- - VAPIGEN_VAPIS = ibus-1.0.vapi - - ibus_1_0_vapi_DEPS = gio-2.0 -@@ -39,19 +37,34 @@ ibus_1_0_vapi_FILES = \ - $(srcdir)/IBus-1.0-custom.vala \ - $(NULL) - -+if ENABLE_LIBGNOMEKBD -+ibus-1.0.vapi: $(vapi_deps) gkbd.vapi -+ -+VAPIGEN_VAPIS += gkbd.vapi -+ -+gkbd_vapi_DEPS = gtk+-3.0 glib-2.0 gmodule-2.0 -+gkbd_vapi_METADATADIRS = $(srcdir) -+gkbd_vapi_FILES = /usr/share/gir-1.0/Gkbd-3.0.gir -+else -+ibus-1.0.vapi: $(vapi_deps) -+endif -+ - vapidir = $(datadir)/vala/vapi --vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps) -+vapi_DATA = ibus-1.0.vapi ibus-1.0.deps - - MAINTAINERCLEANFILES = $(VAPIGEN_VAPIS) - - EXTRA_DIST = \ - $(VAPIGEN_VAPIS) \ -+ Gkbd-3.0.metadata \ -+ gkbd.deps \ - IBus-1.0.metadata \ - IBus-1.0-custom.vala \ - ibus-1.0.deps \ - ibus-private.vapi \ - config.vapi \ - xi.vapi \ -+ Xkl-1.0.metadata \ - $(NULL) - - -include $(top_srcdir)/git.mk -diff --git a/bindings/vala/Xkl-1.0.metadata b/bindings/vala/Xkl-1.0.metadata -new file mode 100644 -index 0000000..4961d0c ---- /dev/null -+++ b/bindings/vala/Xkl-1.0.metadata -@@ -0,0 +1,3 @@ -+Xkl cheader_filename="libxklavier/xklavier.h" -+Engine -+ .filter_events.evt ref type="X.Event" -diff --git a/bindings/vala/gkbd.deps b/bindings/vala/gkbd.deps -new file mode 100644 -index 0000000..172632c ---- /dev/null -+++ b/bindings/vala/gkbd.deps -@@ -0,0 +1,3 @@ -+gtk+-3.0 -+glib-2.0 -+gmodule-2.0 -diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c -index eec6da3..f84c034 100644 ---- a/bus/ibusimpl.c -+++ b/bus/ibusimpl.c -@@ -1135,7 +1135,17 @@ _ibus_get_engines_by_names (BusIBusImpl *ibus, - g_variant_builder_init (&builder, G_VARIANT_TYPE ("av")); - while (names[i] != NULL) { - IBusEngineDesc *desc = (IBusEngineDesc *) g_hash_table_lookup ( -- ibus->engine_table, names[i++]); -+ ibus->engine_table, names[i]); -+ -+ /* preload engines return user XKB so if the engine does not -+ * exist in simple.xml, fall back to 'us' layout. */ -+ if (desc == NULL && g_str_has_prefix (names[i], "xkb:")) { -+ desc = (IBusEngineDesc *) g_hash_table_lookup ( -+ ibus->engine_table, "xkb:us::eng"); -+ } -+ -+ i++; -+ - if (desc == NULL) - continue; - g_variant_builder_add ( -diff --git a/configure.ac b/configure.ac -index d71c415..779e29e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -242,6 +242,45 @@ else - enable_xim="no (disabled, use --enable-xim to enable)" - fi - -+# Option for XKB command. -+PKG_CHECK_MODULES(XKB, -+ [xkbfile],, -+ [XKB_LIBS="-lxkbfile"] -+) -+ -+# --enable-libgnomekbd option. -+AC_ARG_ENABLE(libgnomekbd, -+ AS_HELP_STRING([--enable-libgnomekbd], -+ [Use libgnomekbd to handle the keymaps]), -+ [enable_libgnomekbd=$enableval], -+ [enable_libgnomekbd=no] -+) -+AM_CONDITIONAL([ENABLE_LIBGNOMEKBD], [test x"$enable_libgnomekbd" = x"yes"]) -+if test x"$enable_libgnomekbd" = x"yes"; then -+ # check for libgnomekbd -+ PKG_CHECK_MODULES(LIBGNOMEKBDUI, [ -+ libgnomekbdui -+ ]) -+ PKG_CHECK_MODULES(ATK, [ -+ atk -+ ]) -+ HAVE_IBUS_GKBD=true -+else -+ enable_libgnomekbd="no (disabled, use --enable-libgnomekbd to enable)" -+ HAVE_IBUS_GKBD=false -+fi -+AC_SUBST(HAVE_IBUS_GKBD) -+ -+# Define XKB rules file -+AC_ARG_WITH(xkb-rules-xml, -+ AS_HELP_STRING([--with-xkb-rules-xml[=$DIR/evdev.xml]], -+ [Set evdev.xml file path (default: /usr/share/X11/xkb/rules/evdev.xml)]), -+ XKB_RULES_XML_FILE=$with_xkb_rules_xml, -+ XKB_RULES_XML_FILE="/usr/share/X11/xkb/rules/evdev.xml" -+) -+AC_DEFINE_UNQUOTED(XKB_RULES_XML_FILE, "$XKB_RULES_XML_FILE", -+ [Define file path of evdev.xml]) -+ - # GObject introspection - GOBJECT_INTROSPECTION_CHECK([0.6.8]) - -@@ -595,6 +634,7 @@ Build options: - Panel icon "$IBUS_ICON_KEYBOARD" - Enable surrounding-text $enable_surrounding_text - Enable libnotify $enable_libnotify -+ Build libgnomebkd $enable_libgnomekbd - Run test cases $enable_tests - ]) - -diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in -index d256cbb..8fd7e15 100644 ---- a/data/ibus.schemas.in -+++ b/data/ibus.schemas.in -@@ -56,6 +56,52 @@ - - - -+ /schemas/desktop/ibus/general/use_xmodmap -+ /desktop/ibus/general/use_xmodmap -+ ibus -+ bool -+ true -+ -+ Use xmodmap -+ Run xmodmap if .xmodmap/.Xmodmap exists. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkb_latin_layouts -+ /desktop/ibus/general/xkb_latin_layouts -+ ibus -+ list -+ string -+ [ara,bg,cz,dev,gr,gur,in,jp(kana),mal,mkd,ru,ua] -+ -+ Latin layout which have no ASCII -+ us layout is appended to the latin layouts. variant is not needed. -+ -+ -+ -+ /schemas/desktop/ibus/general/load_xkb_layouts -+ /desktop/ibus/general/load_xkb_layouts -+ ibus -+ list -+ string -+ [us,us(chr),us(dvorak),ad,al,am,ara,az,ba,bd,be,bg,br,bt,by, -+de,dk,ca,ch,cn(tib),cz,ee,epo,es,et,fi,fo,fr, -+gb,ge,ge(dsb),ge(ru),ge(os),gh,gh(akan),gh(ewe),gh(fula),gh(ga),gh(hausa), -+gn,gr,hu,hr,ie,ie(CloGaelach),il, -+in, -+in(tel),in(bolnagri),iq,iq(ku),ir,ir(ku),is,it,jp, -+kg,kh,kz,la,latam,lk,lk(tam_unicode),lt,lv,ma,ma(tifinagh),mal,mao, -+me,mk,mm,mt,mv,ng,ng(hausa),ng,ng(igbo),ng(yoruba),nl,no,no(smi),np, -+pk,pl,pl(csb),pt,ro,rs,ru,ru(cv),ru(kom),ru(sah),ru(tt),ru(xal), -+se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn -+] -+ -+ XKB layout list which is shown on ibus-setup -+ XKB layout list which is shown on ibus-setup. -+ The format is "layout" or "layout(variant)". -+ -+ -+ - /schemas/desktop/ibus/general/hotkey/trigger - /desktop/ibus/general/hotkey/trigger - ibus -@@ -80,6 +126,19 @@ - - - -+ /schemas/desktop/ibus/general/hotkey/triggers-no-modifiers -+ /desktop/ibus/general/hotkey/triggers-no-modifiers -+ ibus -+ list -+ string -+ [] -+ -+ Trigger shortcut keys without modifier keys -+ Trigger shortcut keys without modifier keys. -+ The list is used by ibus-gjs. -+ -+ -+ - /schemas/desktop/ibus/general/hotkey/enable_unconditional - /desktop/ibus/general/hotkey/enable_unconditional - ibus -diff --git a/ibus-1.0.pc.in b/ibus-1.0.pc.in -index 9f593ab..c93a0ed 100644 ---- a/ibus-1.0.pc.in -+++ b/ibus-1.0.pc.in -@@ -4,6 +4,7 @@ libdir=@libdir@ - includedir=@includedir@ - datadir=@datadir@ - pkgdatadir=@datadir@/ibus -+have_ibus_gkbd=@HAVE_IBUS_GKBD@ - - Name: IBus - Description: IBus Library -diff --git a/ibus.spec.in b/ibus.spec.in -index 334f37e..2017af9 100644 ---- a/ibus.spec.in -+++ b/ibus.spec.in -@@ -5,6 +5,7 @@ - - # Build flags - %define build_python_library 0 -+%define build_libgnomekbd 0 - - %define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999") - %define gconf2_version 2.12.0 -@@ -40,6 +41,10 @@ BuildRequires: dconf-devel - BuildRequires: pygobject2-devel - BuildRequires: intltool - BuildRequires: iso-codes-devel -+%if %{build_libgnomekbd} -+BuildRequires: libxkbfile-devel -+BuildRequires: libgnomekbd-devel -+%endif - - Requires: %{name}-libs = %{version}-%{release} - Requires: %{name}-gtk2 = %{version}-%{release} -@@ -52,6 +57,9 @@ Requires: dbus-python >= %{dbus_python_version} - Requires: im-chooser >= %{im_chooser_version} - Requires: notify-python - Requires: librsvg2 -+%if %{build_libgnomekbd} -+Requires: libgnomekbd -+%endif - - Requires(post): desktop-file-utils - Requires(postun): desktop-file-utils -@@ -152,6 +160,10 @@ OPTIONS="$OPTIONS --enable-python-library" - OPTIONS="$OPTIONS --disable-python-library" - %endif - -+%if %{build_libgnomekbd} -+OPTIONS="$OPTIONS --enable-libgnomekbd" -+%endif -+ - %configure $OPTIONS - - # make -C po update-gmo -diff --git a/src/Makefile.am b/src/Makefile.am -index 404e1d2..f00fab7 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -202,6 +202,9 @@ typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) - CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA) - endif - -+ibus_sources += ibusxkbxml.c -+ibus_headers += ibusxkbxml.h -+ - # gen enum types - ibusenumtypes.h: $(ibus_headers) ibusenumtypes.h.template - $(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \ -diff --git a/src/ibus.h b/src/ibus.h -index d8e226e..f0a9456 100644 ---- a/src/ibus.h -+++ b/src/ibus.h -@@ -47,6 +47,7 @@ - #include - #include - #include -+#include - #include - #include - #include -diff --git a/src/ibusxkbxml.c b/src/ibusxkbxml.c -new file mode 100644 -index 0000000..f815e5d ---- /dev/null -+++ b/src/ibusxkbxml.c -@@ -0,0 +1,466 @@ -+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ -+/* vim:set et sts=4: */ -+/* bus - The Input Bus -+ * Copyright (C) 2013 Takao Fujiwara -+ * Copyright (C) 2013 Peng Huang -+ * Copyright (C) 2013 Red Hat, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ * Boston, MA 02111-1307, USA. -+ */ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+ -+#include -+ -+#include "ibus.h" -+#include "ibusxkbxml.h" -+ -+#ifndef XKB_RULES_XML_FILE -+#define XKB_RULES_XML_FILE "/usr/share/X11/xkb/rules/evdev.xml" -+#endif -+ -+#define IBUS_XKB_CONFIG_REGISTRY_GET_PRIVATE(o) \ -+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), IBUS_TYPE_XKB_CONFIG_REGISTRY, IBusXKBConfigRegistryPrivate)) -+ -+typedef struct _IBusXKBConfigRegistryPrivate IBusXKBConfigRegistryPrivate; -+ -+struct _IBusXKBConfigRegistryPrivate { -+ GHashTable *layout_list; -+ GHashTable *layout_lang; -+ GHashTable *layout_desc; -+ GHashTable *variant_desc; -+}; -+ -+ -+/* functions prototype */ -+static void ibus_xkb_config_registry_destroy -+ (IBusXKBConfigRegistry *xkb_config); -+ -+G_DEFINE_TYPE (IBusXKBConfigRegistry, ibus_xkb_config_registry, IBUS_TYPE_OBJECT) -+ -+static void -+parse_xkb_xml_languagelist_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node, -+ const gchar *layout_name) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ GList *lang_list = NULL; -+ -+ g_assert (node != NULL); -+ g_assert (layout_name != NULL); -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "iso639Id") == 0) { -+ lang_list = g_list_append (lang_list, -+ (gpointer) g_strdup (sub_node->text)); -+ continue; -+ } -+ } -+ if (lang_list == NULL) { -+ /* some nodes have no lang */ -+ return; -+ } -+ if (g_hash_table_lookup (priv->layout_lang, layout_name) != NULL) { -+ g_warning ("duplicated name %s exists", layout_name); -+ return; -+ } -+ g_hash_table_insert (priv->layout_lang, -+ (gpointer) g_strdup (layout_name), -+ (gpointer) lang_list); -+} -+ -+static const gchar * -+parse_xkb_xml_configitem_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ gchar *name = NULL; -+ gchar *description = NULL; -+ -+ g_assert (node != NULL); -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "name") == 0) { -+ name = sub_node->text; -+ continue; -+ } -+ if (g_strcmp0 (sub_node->name, "description") == 0) { -+ description = sub_node->text; -+ continue; -+ } -+ if (g_strcmp0 (sub_node->name, "languageList") == 0) { -+ if (name == NULL) { -+ g_warning ("layout name is NULL in node %s", node->name); -+ continue; -+ } -+ parse_xkb_xml_languagelist_node (priv, sub_node, name); -+ continue; -+ } -+ } -+ if (name == NULL) { -+ g_warning ("No name in layout node"); -+ return NULL; -+ } -+ if (g_hash_table_lookup (priv->layout_desc, name) != NULL) { -+ g_warning ("duplicated name %s exists", name); -+ return name; -+ } -+ g_hash_table_insert (priv->layout_desc, -+ (gpointer) g_strdup (name), -+ (gpointer) g_strdup (description)); -+ -+ return name; -+} -+ -+static const gchar * -+parse_xkb_xml_variant_configitem_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node, -+ const gchar *layout_name) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ gchar *name = NULL; -+ gchar *description = NULL; -+ gchar *variant_lang_name = NULL; -+ -+ g_assert (node != NULL); -+ g_assert (layout_name != NULL); -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "name") == 0) { -+ name = sub_node->text; -+ continue; -+ } -+ if (g_strcmp0 (sub_node->name, "description") == 0) { -+ description = sub_node->text; -+ continue; -+ } -+ if (g_strcmp0 (sub_node->name, "languageList") == 0) { -+ if (name == NULL) { -+ g_warning ("layout name is NULL in node %s", node->name); -+ continue; -+ } -+ variant_lang_name = g_strdup_printf ("%s(%s)", layout_name, name); -+ parse_xkb_xml_languagelist_node (priv, sub_node, variant_lang_name); -+ g_free (variant_lang_name); -+ continue; -+ } -+ } -+ if (name == NULL) { -+ g_warning ("No name in layout node"); -+ return NULL; -+ } -+ if (g_hash_table_lookup (priv->variant_desc, name) != NULL) { -+ /* This is an expected case. */ -+ return name; -+ } -+ variant_lang_name = g_strdup_printf ("%s(%s)", layout_name, name); -+ g_hash_table_insert (priv->variant_desc, -+ (gpointer) variant_lang_name, -+ (gpointer) g_strdup (description)); -+ return name; -+} -+ -+static const gchar * -+parse_xkb_xml_variant_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node, -+ const gchar *layout_name) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ const gchar *variant_name = NULL; -+ -+ g_assert (node != NULL); -+ g_assert (layout_name != NULL); -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "configItem") == 0) { -+ variant_name = parse_xkb_xml_variant_configitem_node (priv, sub_node, layout_name); -+ continue; -+ } -+ } -+ return variant_name; -+} -+ -+static GList * -+parse_xkb_xml_variantlist_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node, -+ const gchar *layout_name, -+ GList *variant_list) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ const gchar *variant_name = NULL; -+ -+ g_assert (node != NULL); -+ g_assert (layout_name != NULL); -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "variant") == 0) { -+ variant_name = parse_xkb_xml_variant_node (priv, sub_node, layout_name); -+ if (variant_name != NULL) { -+ variant_list = g_list_append (variant_list, -+ (gpointer) g_strdup (variant_name)); -+ } -+ continue; -+ } -+ } -+ return variant_list; -+} -+ -+static void -+parse_xkb_xml_layout_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ const gchar *name = NULL; -+ GList *variant_list = NULL; -+ -+ g_assert (node != NULL); -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "configItem") == 0) { -+ name = parse_xkb_xml_configitem_node (priv, sub_node); -+ continue; -+ } -+ if (g_strcmp0 (sub_node->name, "variantList") == 0) { -+ if (name == NULL) { -+ g_warning ("layout name is NULL in node %s", node->name); -+ continue; -+ } -+ variant_list = parse_xkb_xml_variantlist_node (priv, sub_node, -+ name, -+ variant_list); -+ continue; -+ } -+ } -+ if (g_hash_table_lookup (priv->layout_list, name) != NULL) { -+ g_warning ("duplicated name %s exists", name); -+ return; -+ } -+ g_hash_table_insert (priv->layout_list, -+ (gpointer) g_strdup (name), -+ (gpointer) variant_list); -+} -+ -+static void -+parse_xkb_xml_top_node (IBusXKBConfigRegistryPrivate *priv, -+ XMLNode *parent_node) -+{ -+ XMLNode *node = parent_node; -+ XMLNode *sub_node; -+ GList *p; -+ -+ g_assert (priv != NULL); -+ g_assert (node != NULL); -+ -+ if (g_strcmp0 (node->name, "xkbConfigRegistry") != 0) { -+ g_warning ("node has no xkbConfigRegistry name"); -+ return; -+ } -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "layoutList") == 0) { -+ break; -+ } -+ } -+ if (p == NULL) { -+ g_warning ("xkbConfigRegistry node has no layoutList node"); -+ return; -+ } -+ node = sub_node; -+ for (p = node->sub_nodes; p; p = p->next) { -+ sub_node = (XMLNode *) p->data; -+ if (g_strcmp0 (sub_node->name, "layout") == 0) { -+ parse_xkb_xml_layout_node (priv, sub_node); -+ continue; -+ } -+ } -+} -+ -+static void -+free_lang_list (GList *list) -+{ -+ GList *l = list; -+ while (l) { -+ g_free (l->data); -+ l->data = NULL; -+ l = l->next; -+ } -+ g_list_free (list); -+} -+ -+static void -+parse_xkb_config_registry_file (IBusXKBConfigRegistryPrivate *priv, -+ const gchar *file) -+{ -+ XMLNode *node; -+ -+ g_assert (file != NULL); -+ -+ priv->layout_list = g_hash_table_new_full (g_str_hash, -+ (GEqualFunc) g_str_equal, -+ (GDestroyNotify) g_free, -+ (GDestroyNotify) free_lang_list); -+ priv->layout_desc = g_hash_table_new_full (g_str_hash, -+ (GEqualFunc) g_str_equal, -+ (GDestroyNotify) g_free, -+ (GDestroyNotify) g_free); -+ priv->layout_lang = g_hash_table_new_full (g_str_hash, -+ (GEqualFunc) g_str_equal, -+ (GDestroyNotify) g_free, -+ (GDestroyNotify) free_lang_list); -+ priv->variant_desc = g_hash_table_new_full (g_str_hash, -+ (GEqualFunc) g_str_equal, -+ (GDestroyNotify) g_free, -+ (GDestroyNotify) g_free); -+ node = ibus_xml_parse_file (file); -+ parse_xkb_xml_top_node (priv, node); -+ ibus_xml_free (node); -+} -+ -+static void -+ibus_xkb_config_registry_init (IBusXKBConfigRegistry *xkb_config) -+{ -+ IBusXKBConfigRegistryPrivate *priv; -+ const gchar *file = XKB_RULES_XML_FILE; -+ -+ priv = IBUS_XKB_CONFIG_REGISTRY_GET_PRIVATE (xkb_config); -+ parse_xkb_config_registry_file (priv, file); -+} -+ -+static void -+ibus_xkb_config_registry_destroy (IBusXKBConfigRegistry *xkb_config) -+{ -+ IBusXKBConfigRegistryPrivate *priv; -+ -+ g_return_if_fail (xkb_config != NULL); -+ -+ priv = IBUS_XKB_CONFIG_REGISTRY_GET_PRIVATE (xkb_config); -+ -+ g_hash_table_destroy (priv->layout_list); -+ priv->layout_list = NULL; -+ g_hash_table_destroy (priv->layout_lang); -+ priv->layout_lang= NULL; -+ g_hash_table_destroy (priv->layout_desc); -+ priv->layout_desc= NULL; -+ g_hash_table_destroy (priv->variant_desc); -+ priv->variant_desc = NULL; -+ -+ IBUS_OBJECT_CLASS(ibus_xkb_config_registry_parent_class)->destroy (IBUS_OBJECT (xkb_config)); -+} -+ -+static void -+ibus_xkb_config_registry_class_init (IBusXKBConfigRegistryClass *klass) -+{ -+ IBusObjectClass *ibus_object_class = IBUS_OBJECT_CLASS (klass); -+ -+ g_type_class_add_private (klass, sizeof (IBusXKBConfigRegistryPrivate)); -+ -+ ibus_object_class->destroy = (IBusObjectDestroyFunc) ibus_xkb_config_registry_destroy; -+} -+ -+IBusXKBConfigRegistry * -+ibus_xkb_config_registry_new (void) -+{ -+ IBusXKBConfigRegistry *xkb_config; -+ -+ xkb_config = IBUS_XKB_CONFIG_REGISTRY (g_object_new (IBUS_TYPE_XKB_CONFIG_REGISTRY, NULL)); -+ return xkb_config; -+} -+ -+#define TABLE_FUNC(field_name) const GHashTable * \ -+ibus_xkb_config_registry_get_##field_name (IBusXKBConfigRegistry *xkb_config) \ -+{ \ -+ IBusXKBConfigRegistryPrivate *priv; \ -+ \ -+ g_return_val_if_fail (xkb_config != NULL, NULL); \ -+ priv = IBUS_XKB_CONFIG_REGISTRY_GET_PRIVATE (xkb_config); \ -+ return priv->field_name; \ -+} -+ -+TABLE_FUNC (layout_list) -+TABLE_FUNC (layout_lang) -+TABLE_FUNC (layout_desc) -+TABLE_FUNC (variant_desc) -+ -+#undef TABLE_FUNC -+ -+GList * -+ibus_xkb_config_registry_layout_list_get_layouts (IBusXKBConfigRegistry *xkb_config) -+{ -+ GHashTable *table; -+ GList *list = NULL; -+ -+ table = (GHashTable *) -+ ibus_xkb_config_registry_get_layout_list (xkb_config); -+ list = (GList *) g_hash_table_get_keys (table); -+ return list; -+} -+ -+/* vala could use GLib.List for the returned pointer and -+ * the declaration calls g_list_foreach (retval, g_free, NULL). -+ * When I think about GLib.List v.s. GLib.List, probably -+ * I think GLib.List is better for the function and set -+ * g_strdup() here. I do not know about GJS implementation. -+ */ -+#define TABLE_LOOKUP_LIST_FUNC(field_name, value) GList * \ -+ibus_xkb_config_registry_##field_name##_get_##value (IBusXKBConfigRegistry *xkb_config, const gchar *key) \ -+{ \ -+ GHashTable *table; \ -+ GList *list = NULL; \ -+ GList *retval= NULL; \ -+ GList *p = NULL; \ -+ \ -+ table = (GHashTable *) \ -+ ibus_xkb_config_registry_get_##field_name (xkb_config); \ -+ list = (GList *) g_hash_table_lookup (table, key); \ -+ retval = g_list_copy (list); \ -+ for (p = retval; p; p = p->next) { \ -+ p->data = g_strdup (p->data); \ -+ } \ -+ return retval; \ -+} -+ -+#define TABLE_LOOKUP_STRING_FUNC(field_name, value) gchar * \ -+ibus_xkb_config_registry_##field_name##_get_##value (IBusXKBConfigRegistry *xkb_config, const gchar *key) \ -+{ \ -+ GHashTable *table; \ -+ const gchar *desc = NULL; \ -+ \ -+ table = (GHashTable *) \ -+ ibus_xkb_config_registry_get_##field_name (xkb_config); \ -+ desc = (const gchar *) g_hash_table_lookup (table, key); \ -+ return g_strdup (desc); \ -+} -+ -+TABLE_LOOKUP_LIST_FUNC (layout_list, variants) -+TABLE_LOOKUP_LIST_FUNC (layout_lang, langs) -+TABLE_LOOKUP_STRING_FUNC (layout_desc, desc) -+TABLE_LOOKUP_STRING_FUNC (variant_desc, desc) -+ -+#undef TABLE_LOOKUP_LIST_FUNC -+#undef TABLE_LOOKUP_STRING_FUNC -diff --git a/src/ibusxkbxml.h b/src/ibusxkbxml.h -new file mode 100644 -index 0000000..5aa486d ---- /dev/null -+++ b/src/ibusxkbxml.h -@@ -0,0 +1,187 @@ -+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ -+/* vim:set et sts=4: */ -+/* bus - The Input Bus -+ * Copyright (C) 2013 Takao Fujiwara -+ * Copyright (C) 2013 Peng Huang -+ * Copyright (C) 2013 Red Hat, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, -+ * Boston, MA 02111-1307, USA. -+ */ -+#ifndef __IBUS_XKBXML_H_ -+#define __IBUS_XKBXML_H_ -+ -+#if !defined (__IBUS_H_INSIDE__) && !defined (IBUS_COMPILATION) -+#error "Only can be included directly" -+#endif -+ -+#include "ibus.h" -+ -+/* -+ * Type macros. -+ */ -+/* define IBusXKBConfigRegistry macros */ -+#define IBUS_TYPE_XKB_CONFIG_REGISTRY \ -+ (ibus_xkb_config_registry_get_type ()) -+#define IBUS_XKB_CONFIG_REGISTRY(obj) \ -+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), IBUS_TYPE_XKB_CONFIG_REGISTRY, IBusXKBConfigRegistry)) -+#define IBUS_XKB_CONFIG_REGISTRY_CLASS(klass) \ -+ (G_TYPE_CHECK_CLASS_CAST ((klass), IBUS_TYPE_XKB_CONFIG_REGISTRY, IBusXKBConfigRegistryClass)) -+#define IBUS_IS_XKB_CONFIG_REGISTRY(obj) \ -+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_XKB_CONFIG_REGISTRY)) -+#define IBUS_IS_XKB_CONFIG_REGISTRY_CLASS(klass) \ -+ (G_TYPE_CHECK_CLASS_TYPE ((klass), IBUS_TYPE_XKB_CONFIG_REGISTRY)) -+#define IBUS_XKB_CONFIG_REGISTRY_GET_CLASS(obj) \ -+ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_XKB_CONFIG_REGISTRY, IBusXKBConfigRegistryClass)) -+ -+G_BEGIN_DECLS -+ -+typedef struct _IBusXKBConfigRegistry IBusXKBConfigRegistry; -+typedef struct _IBusXKBConfigRegistryClass IBusXKBConfigRegistryClass; -+ -+struct _IBusXKBConfigRegistry { -+ IBusObject parent; -+}; -+ -+struct _IBusXKBConfigRegistryClass { -+ IBusObjectClass parent; -+ /* signals */ -+ /*< private >*/ -+ /* padding */ -+ gpointer pdummy[8]; -+}; -+ -+ -+GType ibus_xkb_config_registry_get_type -+ (void); -+ -+/** -+ * ibus_xkb_config_registry_new: -+ * @returns: A newly allocated IBusXKBConfigRegistry -+ * -+ * New an IBusXKBConfigRegistry. -+ */ -+IBusXKBConfigRegistry * -+ ibus_xkb_config_registry_new -+ (void); -+ -+/** -+ * ibus_xkb_config_registry_get_layout_list: (skip) -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @returns: A const GHashTable -+ * -+ * a const GHashTable -+ */ -+const GHashTable * -+ ibus_xkb_config_registry_get_layout_list -+ (IBusXKBConfigRegistry *xkb_config); -+ -+/** -+ * ibus_xkb_config_registry_get_layout_lang: (skip) -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @returns: A const GHashTable -+ * -+ * a const GHashTable -+ */ -+const GHashTable * -+ ibus_xkb_config_registry_get_layout_lang -+ (IBusXKBConfigRegistry *xkb_config); -+ -+/** -+ * ibus_xkb_config_registry_get_layout_desc: (skip) -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @returns: A const GHashTable -+ * -+ * a const GHashTable -+ */ -+const GHashTable * -+ ibus_xkb_config_registry_get_layout_desc -+ (IBusXKBConfigRegistry *xkb_config); -+ -+/** -+ * ibus_xkb_config_registry_get_variant_desc: (skip) -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @returns: A const GHashTable -+ * -+ * a const GHashTable -+ */ -+const GHashTable * -+ ibus_xkb_config_registry_get_variant_desc -+ (IBusXKBConfigRegistry *xkb_config); -+ -+/** -+ * ibus_xkb_config_registry_layout_list_get_layouts: -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @returns: (transfer container) (element-type utf8): A GList of layouts -+ * -+ * a GList of layouts -+ */ -+GList * -+ ibus_xkb_config_registry_layout_list_get_layouts -+ (IBusXKBConfigRegistry *xkb_config); -+ -+/** -+ * ibus_xkb_config_registry_layout_list_get_variants: -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @layout: A layout. -+ * @returns: (transfer container) (element-type utf8): A GList -+ * -+ * a GList -+ */ -+GList * -+ ibus_xkb_config_registry_layout_list_get_variants -+ (IBusXKBConfigRegistry *xkb_config, -+ const gchar *layout); -+ -+/** -+ * ibus_xkb_config_registry_layout_lang_get_langs: -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @layout: A layout. -+ * @returns: (transfer container) (element-type utf8): A GList -+ * -+ * a GList -+ */ -+GList * -+ ibus_xkb_config_registry_layout_lang_get_langs -+ (IBusXKBConfigRegistry *xkb_config, -+ const gchar *layout); -+ -+/** -+ * ibus_xkb_config_registry_layout_desc_get_desc: -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @layout: A layout. -+ * @returns: A layout description -+ * -+ * a layout description -+ */ -+gchar * -+ ibus_xkb_config_registry_layout_desc_get_desc -+ (IBusXKBConfigRegistry *xkb_config, -+ const gchar *layout); -+ -+/** -+ * ibus_xkb_config_registry_variant_desc_get_desc: -+ * @xkb_config: An IBusXKBConfigRegistry. -+ * @variant: A variant. -+ * @returns: A variant description -+ * -+ * a variant description -+ */ -+gchar * -+ ibus_xkb_config_registry_variant_desc_get_desc -+ (IBusXKBConfigRegistry *xkb_config, -+ const gchar *variant); -+G_END_DECLS -+#endif -diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am -index 6012cfa..3dfa0df 100644 ---- a/ui/gtk3/Makefile.am -+++ b/ui/gtk3/Makefile.am -@@ -44,6 +44,8 @@ AM_CPPFLAGS = \ - - USE_SYMBOL_ICON = FALSE - -+HAVE_IBUS_GKBD_C = $(strip $(subst false, FALSE, $(subst true, TRUE, $(HAVE_IBUS_GKBD)))) -+ - AM_CFLAGS = \ - @GLIB2_CFLAGS@ \ - @GIO2_CFLAGS@ \ -@@ -54,6 +56,8 @@ AM_CFLAGS = \ - -DBINDIR=\"$(bindir)\" \ - -DIBUS_DISABLE_DEPRECATED \ - -DSWITCHER_USE_SYMBOL_ICON=$(USE_SYMBOL_ICON) \ -+ -DHAVE_IBUS_GKBD=$(HAVE_IBUS_GKBD_C) \ -+ -DXKB_LAYOUTS_MAX_LENGTH=4 \ - -Wno-unused-variable \ - -Wno-unused-but-set-variable \ - -Wno-unused-function \ -@@ -97,12 +101,40 @@ AM_VALAFLAGS += \ - $(NULL) - endif - -+if ENABLE_LIBGNOMEKBD -+AM_CFLAGS += \ -+ @LIBGNOMEKBDUI_CFLAGS@ \ -+ @ATK_CFLAGS@ \ -+ $(NULL) -+ -+AM_LDADD += \ -+ @LIBGNOMEKBDUI_LIBS@ \ -+ @ATK_LIBS@ \ -+ $(NULL) -+ -+AM_VALAFLAGS += \ -+ --vapidir=. \ -+ --metadatadir=$(top_srcdir)/bindings/vala \ -+ --pkg=glib-2.0 \ -+ --pkg=gmodule-2.0 \ -+ --pkg=gkbd \ -+ --pkg=Xkl-1.0 \ -+ $(NULL) -+ -+$(srcdir)/gkbdlayout.vala: $(top_builddir)/bindings/vala/gkbd.vapi -+ @cp $(srcdir)/gkbdlayout.vala.true $(srcdir)/gkbdlayout.vala -+else -+$(srcdir)/gkbdlayout.vala: -+ @cp $(srcdir)/gkbdlayout.vala.false $(srcdir)/gkbdlayout.vala -+endif -+ - libexec_PROGRAMS = ibus-ui-gtk3 - - ibus_ui_gtk3_SOURCES = \ - application.vala \ - candidatearea.vala \ - candidatepanel.vala \ -+ gkbdlayout.vala \ - handle.vala \ - iconwidget.vala \ - keybindingmanager.vala \ -@@ -111,6 +143,7 @@ ibus_ui_gtk3_SOURCES = \ - property.vala \ - separator.vala \ - switcher.vala \ -+ xkblayout.vala \ - $(NULL) - - ibus_ui_gtk3_LDADD = \ -@@ -119,9 +152,12 @@ ibus_ui_gtk3_LDADD = \ - - CLEANFILES = \ - gtkpanel.xml \ -+ gkbdlayout.vala \ - $(NULL) - - EXTRA_DIST = \ -+ gkbdlayout.vala.false \ -+ gkbdlayout.vala.true \ - gtkpanel.xml.in \ - $(NULL) - -diff --git a/ui/gtk3/gkbdlayout.vala.false b/ui/gtk3/gkbdlayout.vala.false -new file mode 100644 -index 0000000..506aff2 ---- /dev/null -+++ b/ui/gtk3/gkbdlayout.vala.false -@@ -0,0 +1,63 @@ -+/* vim:set et sts=4 sw=4: -+ * -+ * ibus - The Input Bus -+ * -+ * Copyright(c) 2013 Red Hat, Inc. -+ * Copyright(c) 2013 Peng Huang -+ * Copyright(c) 2013 Takao Fujiwara -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or(at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -+ * Boston, MA 02111-1307 USA -+ */ -+ -+public class GkbdLayout -+{ -+ public signal void changed(); -+ public signal void group_changed (int object); -+ -+ public GkbdLayout() { -+ } -+ -+ public string[] get_layouts() { -+ return new string[0]; -+ } -+ -+ public string[] get_group_names() { -+ return new string[0]; -+ } -+ -+ public void lock_group(int id) { -+ } -+ -+ public void start_listen() { -+ } -+ -+ public void stop_listen() { -+ } -+ -+ /* -+ public static int main(string[] args) { -+ GkbdLayout ibus_layouts = new GkbdLayout(); -+ -+ string[] layouts = ibus_layouts.get_layouts(); -+ string[] names = ibus_layouts.get_group_names(); -+ for (int i = 0; layouts != null && i < layouts.length; i++) { -+ stdout.printf("%s %s\n", layouts[i], names[i]); -+ } -+ -+ return 0; -+ } -+ */ -+} -diff --git a/ui/gtk3/gkbdlayout.vala.true b/ui/gtk3/gkbdlayout.vala.true -new file mode 100644 -index 0000000..a6e0f8d ---- /dev/null -+++ b/ui/gtk3/gkbdlayout.vala.true -@@ -0,0 +1,108 @@ -+/* vim:set et sts=4 sw=4: -+ * -+ * ibus - The Input Bus -+ * -+ * Copyright(c) 2013 Red Hat, Inc. -+ * Copyright(c) 2013 Peng Huang -+ * Copyright(c) 2013 Takao Fujiwara -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or(at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -+ * Boston, MA 02111-1307 USA -+ */ -+ -+public class GkbdLayout -+{ -+ public signal void changed(); -+ public signal void group_changed (int object); -+ -+ private Gkbd.Configuration m_config = null; -+ -+ public GkbdLayout() { -+ m_config = Gkbd.Configuration.get(); -+ if (m_config != null) { -+ m_config.changed.connect(config_changed_cb); -+ m_config.group_changed.connect(config_group_changed_cb); -+ } -+ } -+ -+ ~GkbdLayout() { -+ if (m_config != null) { -+ m_config.changed.disconnect(config_changed_cb); -+ m_config.group_changed.disconnect(config_group_changed_cb); -+ /* gkbd_configuration_get reuses the object and do not -+ * destroy m_config here. */ -+ m_config.ref(); -+ m_config = null; -+ } -+ } -+ -+ private void config_changed_cb() { -+ changed(); -+ } -+ -+ private void config_group_changed_cb(int object) { -+ group_changed(object); -+ } -+ -+ public string[] get_layouts() { -+ if (m_config == null) { -+ return new string[0]; -+ } -+ return m_config.get_short_group_names(); -+ } -+ -+ public string[] get_group_names() { -+ if (m_config == null) { -+ return new string[0]; -+ } -+ return m_config.get_group_names(); -+ } -+ -+ public void lock_group(int id) { -+ if (m_config == null) { -+ return; -+ } -+ m_config.lock_group(id); -+ } -+ -+ public void start_listen() { -+ if (m_config == null) { -+ return; -+ } -+ m_config.start_listen(); -+ } -+ -+ public void stop_listen() { -+ if (m_config == null) { -+ return; -+ } -+ m_config.stop_listen(); -+ } -+ -+ /* -+ public static int main(string[] args) { -+ Gtk.init(ref args); -+ GkbdLayout ibus_layouts = new GkbdLayout(); -+ -+ string[] layouts = ibus_layouts.get_layouts(); -+ string[] names = ibus_layouts.get_group_names(); -+ for (int i = 0; layouts != null && i < layouts.length; i++) { -+ stdout.printf("%s %s\n", layouts[i], names[i]); -+ } -+ -+ return 0; -+ } -+ */ -+} -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index a7a0c40..1da7966 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -58,6 +58,13 @@ class Panel : IBus.PanelService { - private Gtk.CssProvider m_css_provider; - private int m_switcher_delay_time = 400; - private bool m_use_system_keyboard_layout = false; -+ private GkbdLayout m_gkbdlayout = null; -+ private XKBLayout m_xkblayout = null; -+ private string[] m_layouts = {}; -+ private string[] m_variants = {}; -+ private int m_fallback_lock_id = -1; -+ private bool m_changed_xkb_option = false; -+ private GLib.Timer m_changed_layout_timer; - - private GLib.List m_keybindings = new GLib.List(); - -@@ -108,6 +115,14 @@ class Panel : IBus.PanelService { - - ~Panel() { - unbind_switch_shortcut(); -+ -+ if (HAVE_IBUS_GKBD && m_gkbdlayout != null) { -+ m_gkbdlayout.changed.disconnect(gkbdlayout_changed_cb); -+ m_gkbdlayout.stop_listen(); -+ m_gkbdlayout = null; -+ } -+ -+ m_xkblayout = null; - } - - private void init_settings() { -@@ -444,6 +459,7 @@ class Panel : IBus.PanelService { - } - - public void load_settings() { -+ init_engines_order(); - // Update m_use_system_keyboard_layout before update_engines() - // is called. - set_use_system_keyboard_layout(); -@@ -463,6 +479,184 @@ class Panel : IBus.PanelService { - set_version(); - } - -+ private void gkbdlayout_changed_cb() { -+ /* The callback is called four times after set_layout is called -+ * so check the elapsed and take the first signal only. */ -+ double elapsed = m_changed_layout_timer.elapsed(); -+ if (elapsed < 1.0 && elapsed > 0.0) { -+ return; -+ } -+ -+ if (m_fallback_lock_id != -1) { -+ /* Call lock_group only when set_layout is called. */ -+ m_gkbdlayout.lock_group(m_fallback_lock_id); -+ m_fallback_lock_id = -1; -+ } else { -+ /* Reset default layout when gnome-control-center is called. */ -+ m_xkblayout.reset_layout(); -+ } -+ -+ update_xkb_engines(); -+ m_changed_layout_timer.reset(); -+ } -+ -+ private void init_gkbd() { -+ m_gkbdlayout = new GkbdLayout(); -+ m_gkbdlayout.changed.connect(gkbdlayout_changed_cb); -+ -+ /* Probably we cannot support both keyboard and ibus indicators -+ * How can I get the engine from keymap of group_id? -+ * e.g. 'en' could be owned by xkb:en and pinyin engines. */ -+ //m_gkbdlayout.group_changed.connect((object) => {}); -+ -+ m_changed_layout_timer = new GLib.Timer(); -+ m_changed_layout_timer.start(); -+ m_gkbdlayout.start_listen(); -+ } -+ -+ private void init_engines_order() { -+ m_xkblayout = new XKBLayout(); -+ string session = Environment.get_variable("DESKTOP_SESSION"); -+ -+ if (HAVE_IBUS_GKBD && -+ session != null && session.length >= 5 && -+ session[0:5] == "gnome") { -+ init_gkbd(); -+ } -+ -+ update_xkb_engines(); -+ } -+ -+ private void update_xkb_engines() { -+ string var_layout = m_xkblayout.get_layout(); -+ string var_variant = m_xkblayout.get_variant(); -+ if (var_layout == "") { -+ return; -+ } -+ -+ m_layouts = var_layout.split(","); -+ m_variants = var_variant.split(","); -+ -+ IBus.XKBConfigRegistry registry = new IBus.XKBConfigRegistry(); -+ string[] var_xkb_engine_names = {}; -+ for (int i = 0; i < m_layouts.length; i++) { -+ string name = m_layouts[i]; -+ string lang = null; -+ -+ if (i < m_variants.length && m_variants[i] != "") { -+ name = "%s:%s".printf(name, m_variants[i]); -+ string layout = "%s(%s)".printf(name, m_variants[i]); -+ GLib.List langs = -+ registry.layout_lang_get_langs(layout); -+ if (langs.length() != 0) { -+ lang = langs.data; -+ } -+ } else { -+ name = "%s:".printf(name); -+ } -+ -+ if (lang == null) { -+ GLib.List langs = -+ registry.layout_lang_get_langs(m_layouts[i]); -+ if (langs.length() != 0) { -+ lang = langs.data; -+ } -+ } -+ -+ var_xkb_engine_names += "%s:%s:%s".printf("xkb", name, lang); -+ } -+ -+ string[] engine_names = -+ m_settings_general.get_strv("preload-engines"); -+ bool updated_engine_names = false; -+ -+ foreach (string name in var_xkb_engine_names) { -+ if (name in engine_names) -+ continue; -+ updated_engine_names = true; -+ engine_names += name; -+ } -+ -+ if (updated_engine_names) -+ m_settings_general.set_strv("preload-engines", engine_names); -+ -+ string[] order_names = -+ m_settings_general.get_strv("engines-order"); -+ bool updated_order_names = false; -+ -+ foreach (var name in var_xkb_engine_names) { -+ if (name in order_names) -+ continue; -+ order_names += name; -+ updated_order_names = true; -+ } -+ -+ if (updated_order_names) -+ m_settings_general.set_strv("engines-order", order_names); -+ } -+ -+ private void set_xkb_group_layout(IBus.EngineDesc engine) { -+ int[] retval = m_xkblayout.set_layout(engine, true); -+ if (retval[0] >= 0) { -+ /* If an XKB keymap is added into the XKB group, -+ * this._gkbdlayout.lock_group will be called after -+ * 'group-changed' signal is received. */ -+ m_fallback_lock_id = retval[0]; -+ m_changed_xkb_option = (retval[1] != 0) ? true : false; -+ } -+ } -+ -+ private bool set_gkbd_layout(IBus.EngineDesc engine) { -+ string layout = engine.get_layout(); -+ string variant = engine.get_layout_variant(); -+ -+ /* If a previous ibus engine changed XKB options, need to set the -+ * default XKB option. */ -+ if (m_changed_xkb_option == true) { -+ m_changed_xkb_option = false; -+ return false; -+ } -+ -+ if (variant != "" && variant != "default") { -+ layout = "%s(%s)".printf(layout, variant); -+ } -+ -+ int gkbd_len = m_gkbdlayout.get_group_names().length; -+ for (int i = 0; i < m_layouts.length && i < gkbd_len; i++) { -+ string sys_layout = m_layouts[i]; -+ if (i < m_variants.length && m_variants[i] != "") { -+ sys_layout = "%s(%s)".printf(sys_layout, m_variants[i]); -+ } -+ if (sys_layout == layout) { -+ m_gkbdlayout.lock_group(i); -+ return true; -+ } -+ } -+ return false; -+ } -+ -+ private void set_layout(IBus.EngineDesc engine) { -+ string layout = engine.get_layout(); -+ -+ if (layout == "" || layout == null) { -+ return; -+ } -+ -+ if (m_xkblayout == null) { -+ init_engines_order(); -+ } -+ -+ if (HAVE_IBUS_GKBD && m_gkbdlayout != null) { -+ if (set_gkbd_layout(engine)) { -+ return; -+ } -+ set_xkb_group_layout(engine); -+ return; -+ } -+ -+ m_xkblayout.set_layout(engine); -+ } -+ - private void exec_setxkbmap(IBus.EngineDesc engine) { - string layout = engine.get_layout(); - string variant = engine.get_layout_variant(); -@@ -528,7 +722,7 @@ class Panel : IBus.PanelService { - - // set xkb layout - if (!m_use_system_keyboard_layout) -- exec_setxkbmap(engine); -+ set_layout(engine); - - engine_contexts_insert(engine); - } -diff --git a/ui/gtk3/xkblayout.vala b/ui/gtk3/xkblayout.vala -new file mode 100644 -index 0000000..b7dfb3e ---- /dev/null -+++ b/ui/gtk3/xkblayout.vala -@@ -0,0 +1,429 @@ -+/* vim:set et sts=4 sw=4: -+ * -+ * ibus - The Input Bus -+ * -+ * Copyright(c) 2013 Red Hat, Inc. -+ * Copyright(c) 2013 Peng Huang -+ * Copyright(c) 2013 Takao Fujiwara -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or(at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this program; if not, write to the -+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330, -+ * Boston, MA 02111-1307 USA -+ */ -+ -+public extern const bool HAVE_IBUS_GKBD; -+public extern const int XKB_LAYOUTS_MAX_LENGTH; -+ -+class XKBLayout -+{ -+ string m_xkb_command = "setxkbmap"; -+ GLib.Settings m_settings_general; -+ string[] m_xkb_latin_layouts = {}; -+ GLib.Pid m_xkb_pid = -1; -+ GLib.Pid m_xmodmap_pid = -1; -+ string m_xmodmap_command = "xmodmap"; -+ bool m_use_xmodmap = true; -+ string[] m_xmodmap_known_files = {".xmodmap", ".xmodmaprc", -+ ".Xmodmap", ".Xmodmaprc"}; -+ string m_default_layout = ""; -+ string m_default_variant = ""; -+ string m_default_option = ""; -+ -+ public XKBLayout() { -+ m_settings_general = new GLib.Settings("org.freedesktop.ibus.general"); -+ -+ var value = m_settings_general.get_value("xkb-latin-layouts"); -+ for (int i = 0; value != null && i < value.n_children(); i++) { -+ m_xkb_latin_layouts += -+ value.get_child_value(i).dup_string(); -+ } -+ if (m_use_xmodmap) { -+ m_use_xmodmap = m_settings_general.get_boolean("use-xmodmap"); -+ } -+ } -+ -+ private string get_output_from_cmdline(string arg, string element) { -+ string[] exec_command = {}; -+ exec_command += m_xkb_command; -+ exec_command += arg; -+ string standard_output = null; -+ string standard_error = null; -+ int exit_status = 0; -+ string retval = ""; -+ try { -+ GLib.Process.spawn_sync(null, -+ exec_command, -+ null, -+ GLib.SpawnFlags.SEARCH_PATH, -+ null, -+ out standard_output, -+ out standard_error, -+ out exit_status); -+ } catch (GLib.SpawnError err) { -+ stderr.printf("IBUS_ERROR: %s\n", err.message); -+ } -+ if (exit_status != 0) { -+ stderr.printf("IBUS_ERROR: %s\n", standard_error ?? ""); -+ } -+ if (standard_output == null) { -+ return ""; -+ } -+ foreach (string line in standard_output.split("\n")) { -+ if (element.length <= line.length && -+ line[0:element.length] == element) { -+ retval = line[element.length:line.length]; -+ if (retval == null) { -+ retval = ""; -+ } else { -+ retval = retval.strip(); -+ } -+ } -+ } -+ return retval; -+ } -+ -+ private void set_layout_cb(GLib.Pid pid, int status) { -+ if (m_xkb_pid != pid) { -+ stderr.printf("IBUS_ERROR: set_layout_cb has another pid\n"); -+ return; -+ } -+ GLib.Process.close_pid(m_xkb_pid); -+ m_xkb_pid = -1; -+ set_xmodmap(); -+ } -+ -+ private void set_xmodmap_cb(GLib.Pid pid, int status) { -+ if (m_xmodmap_pid != pid) { -+ stderr.printf("IBUS_ERROR: set_xmodmap_cb has another pid\n"); -+ return; -+ } -+ GLib.Process.close_pid(m_xmodmap_pid); -+ m_xmodmap_pid = -1; -+ } -+ -+ private string get_fullpath(string command) { -+ string envpath = GLib.Environment.get_variable("PATH"); -+ foreach (string dir in envpath.split(":")) { -+ string filepath = GLib.Path.build_filename(dir, command); -+ if (GLib.FileUtils.test(filepath, GLib.FileTest.EXISTS)) { -+ return filepath; -+ } -+ } -+ return ""; -+ } -+ -+ private string[] get_xkb_group_layout (string layout, -+ string variant, -+ int layouts_max_length) { -+ int group_id = 0; -+ int i = 0; -+ string[] layouts = m_default_layout.split(","); -+ string[] variants = m_default_variant.split(","); -+ string group_layouts = ""; -+ string group_variants = ""; -+ bool has_variant = false; -+ bool include_keymap = false; -+ -+ for (i = 0; i < layouts.length; i++) { -+ if (i >= layouts_max_length - 1) { -+ break; -+ } -+ -+ if (i == 0) { -+ group_layouts = layouts[i]; -+ } else { -+ group_layouts = "%s,%s".printf(group_layouts, layouts[i]); -+ } -+ -+ if (i >= variants.length) { -+ if (i == 0) { -+ group_variants = ""; -+ } else { -+ group_variants += ","; -+ } -+ if (layout == layouts[i] && variant == "") { -+ include_keymap = true; -+ group_id = i; -+ } -+ continue; -+ } -+ if (layout == layouts[i] && variant == variants[i]) { -+ include_keymap = true; -+ group_id = i; -+ } -+ -+ if (variants[i] != "") { -+ has_variant = true; -+ } -+ -+ if (i == 0) { -+ group_variants = variants[i]; -+ } else { -+ group_variants = "%s,%s".printf(group_variants, variants[i]); -+ } -+ } -+ -+ if (variant != "") { -+ has_variant = true; -+ } -+ -+ if (!include_keymap) { -+ group_layouts = "%s,%s".printf(group_layouts, layout); -+ group_variants = "%s,%s".printf(group_variants, variant); -+ group_id = i; -+ } -+ -+ if (!has_variant) { -+ group_variants = null; -+ } -+ -+ return {group_layouts, group_variants, group_id.to_string()}; -+ } -+ -+ public string[] get_variant_from_layout(string layout) { -+ int left_bracket = layout.index_of("("); -+ int right_bracket = layout.index_of(")"); -+ if (left_bracket >= 0 && right_bracket > left_bracket) { -+ return {layout[0:left_bracket] + -+ layout[right_bracket + 1:layout.length], -+ layout[left_bracket + 1:right_bracket]}; -+ } -+ return {layout, "default"}; -+ } -+ -+ public string[] get_option_from_layout(string layout) { -+ int left_bracket = layout.index_of("["); -+ int right_bracket = layout.index_of("]"); -+ if (left_bracket >= 0 && right_bracket > left_bracket) { -+ return {layout[0:left_bracket] + -+ layout[right_bracket + 1:layout.length], -+ layout[left_bracket + 1:right_bracket]}; -+ } -+ return {layout, "default"}; -+ } -+ -+ public string get_layout() { -+ return get_output_from_cmdline("-query", "layout: "); -+ } -+ -+ public string get_variant() { -+ return get_output_from_cmdline("-query", "variant: "); -+ } -+ -+ public string get_option() { -+ return get_output_from_cmdline("-query", "options: "); -+ } -+ -+ /* -+ public string get_group() { -+ return get_output_from_cmdline("--get-group", "group: "); -+ } -+ */ -+ -+ public int[] set_layout(IBus.EngineDesc engine, -+ bool use_group_layout=false) { -+ string layout = engine.get_layout(); -+ string variant = engine.get_layout_variant(); -+ string option = engine.get_layout_option(); -+ -+ assert (layout != null); -+ -+ int xkb_group_id = 0; -+ int changed_option = 0; -+ -+ if (m_xkb_pid != -1) { -+ return {-1, 0}; -+ } -+ -+ if (layout == "default" && -+ (variant == "default" || variant == "") && -+ (option == "default" || option == "")) { -+ return {-1, 0}; -+ } -+ -+ bool need_us_layout = false; -+ foreach (string latin_layout in m_xkb_latin_layouts) { -+ if (layout == latin_layout && variant != "eng") { -+ need_us_layout = true; -+ break; -+ } -+ if (variant != null && -+ "%s(%s)".printf(layout, variant) == latin_layout) { -+ need_us_layout = true; -+ break; -+ } -+ } -+ -+ int layouts_max_length = XKB_LAYOUTS_MAX_LENGTH; -+ if (need_us_layout) { -+ layouts_max_length--; -+ } -+ -+ if (m_default_layout == "") { -+ m_default_layout = get_layout(); -+ } -+ if (m_default_variant == "") { -+ m_default_variant = get_variant(); -+ } -+ if (m_default_option == "") { -+ m_default_option = get_option(); -+ } -+ -+ if (layout == "default") { -+ layout = m_default_layout; -+ variant = m_default_variant; -+ } else { -+ if (use_group_layout) { -+ if (variant == "default") { -+ variant = ""; -+ } -+ string[] retval = get_xkb_group_layout (layout, variant, -+ layouts_max_length); -+ layout = retval[0]; -+ variant = retval[1]; -+ xkb_group_id = int.parse(retval[2]); -+ } -+ } -+ -+ if (layout == "") { -+ warning("Could not get the correct layout"); -+ return {-1, 0}; -+ } -+ -+ if (variant == "default" || variant == "") { -+ variant = null; -+ } -+ -+ if (option == "default" || option == "") { -+ option = m_default_option; -+ } else { -+ if (!(option in m_default_option.split(","))) { -+ option = "%s,%s".printf(m_default_option, option); -+ changed_option = 1; -+ } else { -+ option = m_default_option; -+ } -+ } -+ -+ if (option == "") { -+ option = null; -+ } -+ -+ if (need_us_layout) { -+ layout += ",us"; -+ if (variant != null) { -+ variant += ","; -+ } -+ } -+ -+ string[] args = {}; -+ args += m_xkb_command; -+ args += "-layout"; -+ args += layout; -+ if (variant != null) { -+ args += "-variant"; -+ args += variant; -+ } -+ if (option != null) { -+ /* TODO: Need to get the session XKB options */ -+ args += "-option"; -+ args += "-option"; -+ args += option; -+ } -+ -+ GLib.Pid child_pid; -+ try { -+ GLib.Process.spawn_async(null, -+ args, -+ null, -+ GLib.SpawnFlags.DO_NOT_REAP_CHILD | -+ GLib.SpawnFlags.SEARCH_PATH, -+ null, -+ out child_pid); -+ } catch (GLib.SpawnError err) { -+ stderr.printf("Execute setxkbmap failed: %s\n", err.message); -+ return {-1, 0}; -+ } -+ m_xkb_pid = child_pid; -+ GLib.ChildWatch.add(m_xkb_pid, set_layout_cb); -+ -+ return {xkb_group_id, changed_option}; -+ } -+ -+ public void set_xmodmap() { -+ if (!m_use_xmodmap) { -+ return; -+ } -+ -+ if (m_xmodmap_pid != -1) { -+ return; -+ } -+ -+ string xmodmap_cmdpath = get_fullpath(m_xmodmap_command); -+ if (xmodmap_cmdpath == "") { -+ xmodmap_cmdpath = m_xmodmap_command; -+ } -+ string homedir = GLib.Environment.get_home_dir(); -+ foreach (string xmodmap_file in m_xmodmap_known_files) { -+ string xmodmap_filepath = GLib.Path.build_filename(homedir, xmodmap_file); -+ if (!GLib.FileUtils.test(xmodmap_filepath, GLib.FileTest.EXISTS)) { -+ continue; -+ } -+ string[] args = {xmodmap_cmdpath, xmodmap_filepath}; -+ -+ GLib.Pid child_pid; -+ try { -+ GLib.Process.spawn_async(null, -+ args, -+ null, -+ GLib.SpawnFlags.DO_NOT_REAP_CHILD | -+ GLib.SpawnFlags.SEARCH_PATH, -+ null, -+ out child_pid); -+ } catch (GLib.SpawnError err) { -+ stderr.printf("IBUS_ERROR: %s\n", err.message); -+ return; -+ } -+ m_xmodmap_pid = child_pid; -+ GLib.ChildWatch.add(m_xmodmap_pid, set_xmodmap_cb); -+ -+ break; -+ } -+ } -+ -+ public void reset_layout() { -+ m_default_layout = get_layout(); -+ m_default_variant = get_variant(); -+ m_default_option = get_option(); -+ } -+ -+ /* -+ public static int main(string[] args) { -+ IBus.Bus bus = new IBus.Bus(); -+ IBus.Config config = bus.get_config(); -+ XKBLayout xkblayout = new XKBLayout(config); -+ stdout.printf ("layout: %s\n", xkblayout.get_layout()); -+ stdout.printf ("variant: %s\n", xkblayout.get_variant()); -+ stdout.printf ("option: %s\n", xkblayout.get_option()); -+ xkblayout.set_layout("jp"); -+ if (config != null) { -+ IBus.main(); -+ } else { -+ Gtk.init (ref args); -+ Gtk.main(); -+ } -+ return 0; -+ } -+ */ -+} --- -1.8.0 - diff --git a/SOURCES/ibus-810211-no-switch-by-no-trigger.patch b/SOURCES/ibus-810211-no-switch-by-no-trigger.patch deleted file mode 100644 index c1bea4d..0000000 --- a/SOURCES/ibus-810211-no-switch-by-no-trigger.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d3bc903b487bb301395947f692ce0d8c130874e3 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Sat, 6 Oct 2012 17:54:27 +0900 -Subject: [PATCH] Fix not to switch engines by non-trigger keys. - ---- - ui/gtk3/switcher.vala | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala -index 4a02743..c606682 100644 ---- a/ui/gtk3/switcher.vala -+++ b/ui/gtk3/switcher.vala -@@ -140,6 +140,7 @@ class Switcher : Gtk.Window { - /* Let gtk recalculate the window size. */ - resize(1, 1); - -+ m_result = 0; - m_selected_engine = index; - m_label.set_text(m_buttons[index].longname); - m_buttons[index].grab_focus(); -@@ -378,6 +379,11 @@ class Switcher : Gtk.Window { - break; - default: - debug("0x%04x", pe->keyval); -+ if (m_loop != null) { -+ m_loop.quit(); -+ m_loop = null; -+ } -+ retval = false; - break; - } - } while (false); --- -1.8.0 - diff --git a/SOURCES/ibus-HEAD.patch b/SOURCES/ibus-HEAD.patch deleted file mode 100644 index 4feb1f4..0000000 --- a/SOURCES/ibus-HEAD.patch +++ /dev/null @@ -1,7082 +0,0 @@ -From e5ca9e5b4bf2ad2499ccbfad588342a143eba24e Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 20 Aug 2013 15:01:42 +0900 -Subject: [PATCH] Use gsettings instead of ibus-config in ibus-setup and - ibus-ui-gtk3. - -TEST=ibus-setup and ibus-ui-gtk3 - -Review URL: https://codereview.appspot.com/12442044 ---- - setup/main.py | 185 ++++++++++++------------------------ - ui/gtk3/application.vala | 34 +------ - ui/gtk3/panel.vala | 242 ++++++++++++++++------------------------------- - 3 files changed, 141 insertions(+), 320 deletions(-) - -diff --git a/setup/main.py b/setup/main.py -index e3767dc..d3f4414 100644 ---- a/setup/main.py -+++ b/setup/main.py -@@ -25,6 +25,7 @@ import signal - import sys - import time - -+from gi.repository import Gio - from gi.repository import GLib - from gi.repository import Gtk - from gi.repository import IBus -@@ -66,6 +67,11 @@ class Setup(object): - def __init__(self): - super(Setup, self).__init__() - -+ self.__settings_general = Gio.Settings("org.freedesktop.ibus.general"); -+ self.__settings_hotkey = Gio.Settings( -+ "org.freedesktop.ibus.general.hotkey"); -+ self.__settings_panel = Gio.Settings("org.freedesktop.ibus.panel"); -+ - # IBus.Bus() calls ibus_bus_new(). - # Gtk.Builder().add_from_file() also calls ibus_bus_new_async() - # via ibus_im_context_new(). -@@ -84,12 +90,7 @@ class Setup(object): - def __init_hotkey(self): - name = 'triggers' - label = 'switch_engine' -- variant = self.__config.get_value('general/hotkey', name) -- if variant != None: -- shortcuts = variant.unpack() -- else: -- shortcuts = ['space'] -- -+ shortcuts = self.__settings_hotkey.get_strv(name) - button = self.__builder.get_object("button_%s" % label) - entry = self.__builder.get_object("entry_%s" % label) - entry.set_text("; ".join(shortcuts)) -@@ -101,93 +102,90 @@ class Setup(object): - name, "general/hotkey", label, entry) - - def __init_panel(self): -- values = dict(self.__config.get_values("panel")) -- - # lookup table orientation - self.__combobox_lookup_table_orientation = self.__builder.get_object( - "combobox_lookup_table_orientation") -- self.__combobox_lookup_table_orientation.set_active( -- values.get("lookup_table_orientation", 0)) -- self.__combobox_lookup_table_orientation.connect("changed", -- self.__combobox_lookup_table_orientation_changed_cb) -+ self.__settings_panel.bind('lookup-table-orientation', -+ self.__combobox_lookup_table_orientation, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - # auto hide - self.__combobox_panel_show = self.__builder.get_object( - "combobox_panel_show") -- self.__combobox_panel_show.set_active(values.get("show", 0)) -- self.__combobox_panel_show.connect("changed", -- self.__combobox_panel_show_changed_cb) -+ self.__settings_panel.bind('show', -+ self.__combobox_panel_show, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - # panel position - self.__combobox_panel_position = self.__builder.get_object( - "combobox_panel_position") -- self.__combobox_panel_position.set_active(values.get("position", 3)) -- self.__combobox_panel_position.connect("changed", -- self.__combobox_panel_position_changed_cb) -+ self.__combobox_panel_position.set_active(3) -+ #self.__settings_panel.bind('position', -+ # self.__combobox_panel_position, -+ # 'active', -+ # Gio.SettingsBindFlags.DEFAULT) - - # custom font - self.__checkbutton_custom_font = self.__builder.get_object( - "checkbutton_custom_font") -- self.__checkbutton_custom_font.set_active( -- values.get("use_custom_font", False)) -- self.__checkbutton_custom_font.connect("toggled", -- self.__checkbutton_custom_font_toggled_cb) -+ self.__settings_panel.bind('use-custom-font', -+ self.__checkbutton_custom_font, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - self.__fontbutton_custom_font = self.__builder.get_object( - "fontbutton_custom_font") -- if values.get("use_custom_font", False): -- self.__fontbutton_custom_font.set_sensitive(True) -- else: -- self.__fontbutton_custom_font.set_sensitive(False) -- font_name = Gtk.Settings.get_default().get_property("gtk-font-name") -- font_name = unicode(font_name, "utf-8") -- font_name = values.get("custom_font", font_name) -- self.__fontbutton_custom_font.connect("notify::font-name", -- self.__fontbutton_custom_font_notify_cb) -- self.__fontbutton_custom_font.set_font_name(font_name) -+ self.__settings_panel.bind('custom-font', -+ self.__fontbutton_custom_font, -+ 'font-name', -+ Gio.SettingsBindFlags.DEFAULT) -+ self.__settings_panel.bind('use-custom-font', -+ self.__fontbutton_custom_font, -+ 'sensitive', -+ Gio.SettingsBindFlags.GET) - - # show icon on system tray - self.__checkbutton_show_icon_on_systray = self.__builder.get_object( - "checkbutton_show_icon_on_systray") -- self.__checkbutton_show_icon_on_systray.set_active( -- values.get("show_icon_on_systray", True)) -- self.__checkbutton_show_icon_on_systray.connect("toggled", -- self.__checkbutton_show_icon_on_systray_toggled_cb) -+ self.__settings_panel.bind('show-icon-on-systray', -+ self.__checkbutton_show_icon_on_systray, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - # show ime name - self.__checkbutton_show_im_name = self.__builder.get_object( - "checkbutton_show_im_name") -- self.__checkbutton_show_im_name.set_active( -- values.get("show_im_name", False)) -- self.__checkbutton_show_im_name.connect("toggled", -- self.__checkbutton_show_im_name_toggled_cb) -+ self.__settings_panel.bind('show-im-name', -+ self.__checkbutton_show_im_name, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - def __init_general(self): -- values = dict(self.__config.get_values("general")) -- - # embed preedit text - self.__checkbutton_embed_preedit_text = self.__builder.get_object( - "checkbutton_embed_preedit_text") -- self.__checkbutton_embed_preedit_text.set_active( -- values.get("embed_preedit_text", True)) -- self.__checkbutton_embed_preedit_text.connect("toggled", -- self.__checkbutton_embed_preedit_text_toggled_cb) -+ self.__settings_general.bind('embed-preedit-text', -+ self.__checkbutton_embed_preedit_text, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - # use system keyboard layout setting - self.__checkbutton_use_sys_layout = self.__builder.get_object( - "checkbutton_use_sys_layout") -- self.__checkbutton_use_sys_layout.set_active( -- values.get("use_system_keyboard_layout", True)) -- self.__checkbutton_use_sys_layout.connect("toggled", -- self.__checkbutton_use_sys_layout_toggled_cb) -+ self.__settings_general.bind('use-system-keyboard-layout', -+ self.__checkbutton_use_sys_layout, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - # use global ime setting - self.__checkbutton_use_global_engine = self.__builder.get_object( - "checkbutton_use_global_engine") -- self.__checkbutton_use_global_engine.set_active( -- values.get("use_global_engine", False)) -- self.__checkbutton_use_global_engine.connect("toggled", -- self.__checkbutton_use_global_engine_toggled_cb) -+ self.__settings_general.bind('use-global-engine', -+ self.__checkbutton_use_global_engine, -+ 'active', -+ Gio.SettingsBindFlags.DEFAULT) - - # init engine page - self.__engines = self.__bus.list_engines() -@@ -197,7 +195,7 @@ class Setup(object): - tmp_dict = {} - for e in self.__engines: - tmp_dict[e.get_name()] = e -- engine_names = values.get("preload_engines", []) -+ engine_names = self.__settings_general.get_strv('preload-engines') - engines = [tmp_dict[name] for name in engine_names if name in tmp_dict] - - self.__treeview = self.__builder.get_object("treeview_engines") -@@ -241,8 +239,6 @@ class Setup(object): - self.__checkbutton_auto_start.connect("toggled", - self.__checkbutton_auto_start_toggled_cb) - -- self.__config = self.__bus.get_config() -- - self.__init_hotkey() - self.__init_panel() - self.__init_general() -@@ -291,8 +287,7 @@ class Setup(object): - - if prop.name == "engines": - engine_names = map(lambda e: e.get_name(), engines) -- value = GLib.Variant.new_strv(engine_names) -- self.__config.set_value("general", "preload_engines", value) -+ self.__settings_general.set_strv('preload-engines', engine_names) - - def __button_engine_add_cb(self, button): - engine = self.__combobox.get_active_engine() -@@ -389,7 +384,7 @@ class Setup(object): - dialog.destroy() - if id != Gtk.ResponseType.OK: - return -- self.__config.set_value(section, name, GLib.Variant.new_strv(shortcuts)) -+ self.__settings_hotkey.set_strv(name, shortcuts) - text = "; ".join(shortcuts) - entry.set_text(text) - tooltip = "\n".join(shortcuts) -@@ -443,13 +438,13 @@ class Setup(object): - if data[DATA_PRELOAD]: - if engine not in self.__preload_engines: - self.__preload_engines.add(engine) -- value = GLib.Variant.new_strv(list(self.__preload_engines)) -- self.__config.set_value("general", "preload_engines", value) -+ self.__settings_general.set_strv('preload-engines', -+ list(self.__preload_engines)) - else: - if engine in self.__preload_engines: - self.__preload_engines.remove(engine) -- value = GLib.Variant.new_strv(list(self.__preload_engines)) -- self.__config.set_value("general", "preload_engines", value) -+ self.__settings_general.set_strv('preload-engines', -+ list(self.__preload_engines)) - - # set new value - model.set(iter, COLUMN_PRELOAD, data[DATA_PRELOAD]) -@@ -485,68 +480,6 @@ class Setup(object): - if self.__checkbutton_auto_start.get_active(): - os.symlink(ibus_desktop, link_file) - -- def __combobox_lookup_table_orientation_changed_cb(self, combobox): -- self.__config.set_value( -- "panel", "lookup_table_orientation", -- GLib.Variant.new_int32(self.__combobox_lookup_table_orientation.get_active())) -- -- def __combobox_panel_show_changed_cb(self, combobox): -- self.__config.set_value( -- "panel", "show", -- GLib.Variant.new_int32(self.__combobox_panel_show.get_active())) -- -- def __combobox_panel_position_changed_cb(self, combobox): -- self.__config.set_value( -- "panel", "position", -- GLib.Variant.new_int32(self.__combobox_panel_position.get_active())) -- -- def __checkbutton_custom_font_toggled_cb(self, button): -- if self.__checkbutton_custom_font.get_active(): -- self.__fontbutton_custom_font.set_sensitive(True) -- self.__config.set_value("panel", "use_custom_font", -- GLib.Variant.new_boolean(True)) -- else: -- self.__fontbutton_custom_font.set_sensitive(False) -- self.__config.set_value("panel", "use_custom_font", -- GLib.Variant.new_boolean(False)) -- -- def __fontbutton_custom_font_notify_cb(self, button, arg): -- font_name = self.__fontbutton_custom_font.get_font_name() -- font_name = unicode(font_name, "utf-8") -- self.__config.set_value("panel", "custom_font", -- GLib.Variant.new_string(font_name)) -- -- def __checkbutton_show_icon_on_systray_toggled_cb(self, button): -- value = self.__checkbutton_show_icon_on_systray.get_active() -- value = GLib.Variant.new_boolean(value) -- self.__config.set_value("panel", "show_icon_on_systray", value) -- -- def __checkbutton_show_im_name_toggled_cb(self, button): -- value = self.__checkbutton_show_im_name.get_active() -- value = GLib.Variant.new_boolean(value) -- self.__config.set_value("panel", "show_im_name", value) -- -- def __checkbutton_embed_preedit_text_toggled_cb(self, button): -- value = self.__checkbutton_embed_preedit_text.get_active() -- value = GLib.Variant.new_boolean(value) -- self.__config.set_value("general", "embed_preedit_text", value) -- -- def __checkbutton_use_sys_layout_toggled_cb(self, button): -- value = self.__checkbutton_use_sys_layout.get_active() -- value = GLib.Variant.new_boolean(value) -- self.__config.set_value("general", "use_system_keyboard_layout", value) -- -- def __checkbutton_use_global_engine_toggled_cb(self, button): -- value = self.__checkbutton_use_global_engine.get_active() -- value = GLib.Variant.new_boolean(value) -- self.__config.set_value("general", "use_global_engine", value) -- -- def __config_value_changed_cb(self, bus, section, name, value): -- pass -- -- def __config_reloaded_cb(self, bus): -- pass -- - def __sigusr1_cb(self, *args): - self.__window.present() - -diff --git a/ui/gtk3/application.vala b/ui/gtk3/application.vala -index 71309e0..5ae6e83 100644 ---- a/ui/gtk3/application.vala -+++ b/ui/gtk3/application.vala -@@ -23,7 +23,6 @@ - class Application { - private IBus.Bus m_bus; - private Panel m_panel; -- private IBus.Config m_config; - - public Application(string[] argv) { - GLib.Intl.bindtextdomain(Config.GETTEXT_PACKAGE, -@@ -62,15 +61,6 @@ class Application { - IBus.BusNameFlag.ALLOW_REPLACEMENT | - IBus.BusNameFlag.REPLACE_EXISTING; - m_bus.request_name(IBus.SERVICE_PANEL, flags); -- -- m_config = m_bus.get_config(); -- connection.signal_subscribe("org.freedesktop.DBus", -- "org.freedesktop.DBus", -- "NameOwnerChanged", -- "/org/freedesktop/DBus", -- IBus.SERVICE_CONFIG, -- DBusSignalFlags.NONE, -- config_name_owner_changed_cb); - } - - public int run() { -@@ -86,10 +76,7 @@ class Application { - Variant parameters) { - debug("signal_name = %s", signal_name); - m_panel = new Panel(m_bus); -- -- if (m_config != null) { -- m_panel.set_config(m_config); -- } -+ m_panel.load_settings(); - } - - private void bus_name_lost_cb(DBusConnection connection, -@@ -102,25 +89,6 @@ class Application { - m_panel = null; - } - -- private void config_name_owner_changed_cb(DBusConnection connection, -- string sender_name, -- string object_path, -- string interface_name, -- string signal_name, -- Variant parameters) { -- debug("signal_name = %s", signal_name); -- string name, new_owner, old_owner; -- parameters.get("(sss)", out name, out old_owner, out new_owner); -- -- if (new_owner == "") { -- m_config = null; -- } else { -- m_config = m_bus.get_config(); -- } -- if (m_panel != null) -- m_panel.set_config(m_config); -- } -- - private void bus_disconnected(IBus.Bus bus) { - debug("connection is lost."); - Gtk.main_quit(); -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index 3821b3c..8e23bf9 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -36,7 +36,9 @@ class Panel : IBus.PanelService { - } - - private IBus.Bus m_bus; -- private IBus.Config m_config; -+ private GLib.Settings m_settings_general = null; -+ private GLib.Settings m_settings_hotkey = null; -+ private GLib.Settings m_settings_panel = null; - private Gtk.StatusIcon m_status_icon; - private Gtk.Menu m_ime_menu; - private Gtk.Menu m_sys_menu; -@@ -49,7 +51,6 @@ class Panel : IBus.PanelService { - private Gtk.CssProvider m_css_provider; - private int m_switcher_delay_time = 400; - private bool m_use_system_keyboard_layout = false; -- private const string ACCELERATOR_SWITCH_IME_FOREWARD = "space"; - - private GLib.List m_keybindings = new GLib.List(); - -@@ -61,6 +62,8 @@ class Panel : IBus.PanelService { - - m_bus = bus; - -+ init_settings(); -+ - // init ui - m_status_icon = new Gtk.StatusIcon(); - m_status_icon.set_name("ibus-ui-gtk"); -@@ -75,7 +78,7 @@ class Panel : IBus.PanelService { - - m_switcher = new Switcher(); - // The initial shortcut is "space" -- bind_switch_shortcut(null); -+ bind_switch_shortcut(); - - if (m_switcher_delay_time >= 0) { - m_switcher.set_popup_delay_time((uint) m_switcher_delay_time); -@@ -93,6 +96,44 @@ class Panel : IBus.PanelService { - unbind_switch_shortcut(); - } - -+ private void init_settings() { -+ m_settings_general = new GLib.Settings("org.freedesktop.ibus.general"); -+ m_settings_hotkey = -+ new GLib.Settings("org.freedesktop.ibus.general.hotkey"); -+ m_settings_panel = new GLib.Settings("org.freedesktop.ibus.panel"); -+ -+ m_settings_general.changed["preload-engines"].connect((key) => { -+ update_engines(m_settings_general.get_strv(key), -+ null); -+ }); -+ -+ m_settings_general.changed["switcher-delay-time"].connect((key) => { -+ set_switcher_delay_time(); -+ }); -+ -+ m_settings_general.changed["use-system-keyboard-layout"].connect( -+ (key) => { -+ set_use_system_keyboard_layout(); -+ }); -+ -+ m_settings_general.changed["embed-preedit-text"].connect((key) => { -+ set_embed_preedit_text(); -+ }); -+ -+ m_settings_hotkey.changed["triggers"].connect((key) => { -+ unbind_switch_shortcut(); -+ bind_switch_shortcut(); -+ }); -+ -+ m_settings_panel.changed["custom-font"].connect((key) => { -+ set_custom_font(); -+ }); -+ -+ m_settings_panel.changed["use-custom-font"].connect((key) => { -+ set_custom_font(); -+ }); -+ } -+ - private void keybinding_manager_bind(KeybindingManager keybinding_manager, - string? accelerator) { - uint switch_keysym = 0; -@@ -152,20 +193,8 @@ class Panel : IBus.PanelService { - (e) => handle_engine_switch(e, true)); - } - -- private void bind_switch_shortcut(Variant? variant) { -- string[] accelerators = {}; -- Variant var_trigger = variant; -- -- if (var_trigger == null && m_config != null) { -- var_trigger = m_config.get_value("general/hotkey", -- "triggers"); -- } -- -- if (var_trigger != null) { -- accelerators = var_trigger.dup_strv(); -- } else { -- accelerators += ACCELERATOR_SWITCH_IME_FOREWARD; -- } -+ private void bind_switch_shortcut() { -+ string[] accelerators = m_settings_hotkey.get_strv("triggers"); - - var keybinding_manager = KeybindingManager.get_instance(); - -@@ -200,13 +229,7 @@ class Panel : IBus.PanelService { - return; - } - -- bool use_custom_font = false; -- GLib.Variant var_use_custom_font = m_config.get_value("panel", -- "use_custom_font"); -- -- if (var_use_custom_font != null) { -- use_custom_font = var_use_custom_font.get_boolean(); -- } -+ bool use_custom_font = m_settings_panel.get_boolean("use-custom-font"); - - if (m_css_provider != null) { - Gtk.StyleContext.remove_provider_for_screen(screen, -@@ -218,15 +241,10 @@ class Panel : IBus.PanelService { - return; - } - -- string font_name = null; -- GLib.Variant var_custom_font = m_config.get_value("panel", -- "custom_font"); -- if (var_custom_font != null) { -- font_name = var_custom_font.dup_string(); -- } -+ string font_name = m_settings_panel.get_string("custom-font"); - - if (font_name == null) { -- warning("No config panel:custom_font."); -+ warning("No config panel:custom-font."); - return; - } - -@@ -247,55 +265,29 @@ class Panel : IBus.PanelService { - Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); - } - -- private void set_switcher_delay_time(Variant? variant) { -- Variant var_switcher_delay_time = variant; -- -- if (var_switcher_delay_time == null) { -- var_switcher_delay_time = m_config.get_value("general", -- "switcher-delay-time"); -- } -- -- if (var_switcher_delay_time == null) { -- return; -- } -- -- m_switcher_delay_time = var_switcher_delay_time.get_int32(); -+ private void set_switcher_delay_time() { -+ m_switcher_delay_time = -+ m_settings_general.get_int("switcher-delay-time"); - - if (m_switcher_delay_time >= 0) { - m_switcher.set_popup_delay_time((uint) m_switcher_delay_time); - } - } - -- private void set_use_system_keyboard_layout(Variant? variant) { -- Variant var_use_system_kbd_layout = variant; -- -- if (var_use_system_kbd_layout == null) { -- var_use_system_kbd_layout = m_config.get_value( -- "general", -- "use_system_keyboard_layout"); -- } -- -- if (var_use_system_kbd_layout == null) { -- return; -- } -- -- m_use_system_keyboard_layout = var_use_system_kbd_layout.get_boolean(); -+ private void set_use_system_keyboard_layout() { -+ m_use_system_keyboard_layout = -+ m_settings_general.get_boolean("use-system-keyboard-layout"); - } - -- private void set_embed_preedit_text(Variant? variant) { -- Variant var_embed_preedit = variant; -- -- if (var_embed_preedit == null) { -- var_embed_preedit = m_config.get_value("general", -- "embed_preedit_text"); -- } -+ private void set_embed_preedit_text() { -+ Variant variant = -+ m_settings_general.get_value("embed-preedit-text"); - -- if (var_embed_preedit == null) { -+ if (variant == null) { - return; - } - -- m_bus.set_ibus_property("EmbedPreeditText", -- var_embed_preedit); -+ m_bus.set_ibus_property("EmbedPreeditText", variant); - } - - private int compare_versions(string version1, string version2) { -@@ -362,15 +354,9 @@ class Panel : IBus.PanelService { - } - - private void set_version() { -- Variant var_prev_version = m_config.get_value("general", "version"); -- Variant var_current_version = null; -- string prev_version = "".dup(); -+ string prev_version = m_settings_general.get_string("version"); - string current_version = null; - -- if (var_prev_version != null) { -- prev_version = var_prev_version.dup_string(); -- } -- - if (compare_versions(prev_version, "1.5.3") < 0) { - update_version_1_5_3(); - } -@@ -383,43 +369,22 @@ class Panel : IBus.PanelService { - return; - } - -- var_current_version = new Variant.string(current_version); -- m_config.set_value("general", "version", var_current_version); -- } -- -- public void set_config(IBus.Config config) { -- if (m_config != null) { -- m_config.value_changed.disconnect(config_value_changed_cb); -- m_config.watch(null, null); -- m_config = null; -- } -- -- m_config = config; -- if (m_config != null) { -- m_config.value_changed.connect(config_value_changed_cb); -- m_config.watch("general", "preload_engines"); -- m_config.watch("general", "embed_preedit_text"); -- m_config.watch("general", "engines_order"); -- m_config.watch("general", "switcher_delay_time"); -- m_config.watch("general", "use_system_keyboard_layout"); -- m_config.watch("general/hotkey", "triggers"); -- m_config.watch("panel", "custom_font"); -- m_config.watch("panel", "use_custom_font"); -- // Update m_use_system_keyboard_layout before update_engines() -- // is called. -- set_use_system_keyboard_layout(null); -- update_engines(m_config.get_value("general", "preload_engines"), -- m_config.get_value("general", "engines_order")); -- unbind_switch_shortcut(); -- bind_switch_shortcut(null); -- set_switcher_delay_time(null); -- set_embed_preedit_text(null); -- set_custom_font(); -- -- set_version(); -- } else { -- update_engines(null, null); -- } -+ m_settings_general.set_string("version", current_version); -+ } -+ -+ public void load_settings() { -+ // Update m_use_system_keyboard_layout before update_engines() -+ // is called. -+ set_use_system_keyboard_layout(); -+ update_engines(m_settings_general.get_strv("preload-engines"), -+ m_settings_general.get_strv("engines-order")); -+ unbind_switch_shortcut(); -+ bind_switch_shortcut(); -+ set_switcher_delay_time(); -+ set_embed_preedit_text(); -+ set_custom_font(); -+ -+ set_version(); - } - - private void exec_setxkbmap(IBus.EngineDesc engine) { -@@ -486,43 +451,6 @@ class Panel : IBus.PanelService { - } - } - -- private void config_value_changed_cb(IBus.Config config, -- string section, -- string name, -- Variant variant) { -- if (section == "general" && name == "preload_engines") { -- update_engines(variant, null); -- return; -- } -- -- if (section == "general/hotkey" && name == "triggers") { -- unbind_switch_shortcut(); -- bind_switch_shortcut(variant); -- return; -- } -- -- if (section == "panel" && (name == "custom_font" || -- name == "use_custom_font")) { -- set_custom_font(); -- return; -- } -- -- if (section == "general" && name == "switcher_delay_time") { -- set_switcher_delay_time(variant); -- return; -- } -- -- if (section == "general" && name == "use_system_keyboard_layout") { -- set_use_system_keyboard_layout(variant); -- return; -- } -- -- if (section == "general" && name == "embed_preedit_text") { -- set_embed_preedit_text(variant); -- return; -- } -- } -- - private void handle_engine_switch(Gdk.Event event, bool revert) { - // Do not need switch IME - if (m_engines.length <= 1) -@@ -567,18 +495,13 @@ class Panel : IBus.PanelService { - m_bus.preload_engines_async(names, -1, null); - } - -- private void update_engines(GLib.Variant? var_engines, -- GLib.Variant? var_order) { -- string[] engine_names = null; -+ private void update_engines(string[]? unowned_engine_names, -+ string[]? order_names) { -+ string[]? engine_names = unowned_engine_names; - -- if (var_engines != null) -- engine_names = var_engines.dup_strv(); - if (engine_names == null || engine_names.length == 0) - engine_names = {"xkb:us::eng"}; - -- string[] order_names = -- (var_order != null) ? var_order.dup_strv() : null; -- - string[] names = {}; - - foreach (var name in order_names) { -@@ -851,9 +774,6 @@ class Panel : IBus.PanelService { - foreach(var desc in m_engines) { - names += desc.get_name(); - } -- if (m_config != null) -- m_config.set_value("general", -- "engines_order", -- new GLib.Variant.strv(names)); -+ m_settings_general.set_strv("engines-order", names); - } - } --- -1.8.0 - -From 47fbb130190f31e8a9e385c8b58718f999119b6c Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 28 Aug 2013 13:10:46 +0900 -Subject: [PATCH] Implement IME state per window. - -BUG=http://code.google.com/p/ibus/issues/detail?id=1568 -TEST=Disable global engine with ibus-setup. - -Review URL: https://codereview.appspot.com/12957046 ---- - bus/ibusimpl.c | 10 +- - bus/panelproxy.c | 24 +++- - bus/panelproxy.h | 95 ++++++++------ - data/ibus.schemas.in | 2 +- - setup/setup.ui | 2 +- - src/ibuspanelservice.c | 338 +++++++++++++++++++++++++++++++++---------------- - src/ibuspanelservice.h | 15 ++- - ui/gtk3/panel.vala | 128 +++++++++++++++++-- - 8 files changed, 442 insertions(+), 172 deletions(-) - -diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c -index bd4e488..eec6da3 100644 ---- a/bus/ibusimpl.c -+++ b/bus/ibusimpl.c -@@ -826,7 +826,8 @@ _context_focus_out_cb (BusInputContext *context, - /** - * _context_destroy_cb: - * -- * A callback function to be called when the "destroy" signal is sent to the context. -+ * A callback function to be called when the "destroy" signal is sent to the -+ * context. - */ - static void - _context_destroy_cb (BusInputContext *context, -@@ -835,9 +836,12 @@ _context_destroy_cb (BusInputContext *context, - g_assert (BUS_IS_IBUS_IMPL (ibus)); - g_assert (BUS_IS_INPUT_CONTEXT (context)); - -- if (context == ibus->focused_context) { -+ if (context == ibus->focused_context) - bus_ibus_impl_set_focused_context (ibus, NULL); -- } -+ -+ if (ibus->panel && -+ bus_input_context_get_capabilities (context) & IBUS_CAP_FOCUS) -+ bus_panel_proxy_destroy_context (ibus->panel, context); - - ibus->contexts = g_list_remove (ibus->contexts, context); - g_object_unref (context); -diff --git a/bus/panelproxy.c b/bus/panelproxy.c -index 8099e88..d49f1e1 100644 ---- a/bus/panelproxy.c -+++ b/bus/panelproxy.c -@@ -1,8 +1,8 @@ - /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ - /* vim:set et sts=4: */ - /* ibus - The Input Bus -- * Copyright (C) 2008-2010 Peng Huang -- * Copyright (C) 2008-2010 Red Hat, Inc. -+ * Copyright (C) 2008-2013 Peng Huang -+ * Copyright (C) 2008-2013 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -694,3 +694,23 @@ bus_panel_proxy_focus_out (BusPanelProxy *panel, - panel->focused_context = NULL; - } - -+void -+bus_panel_proxy_destroy_context (BusPanelProxy *panel, -+ BusInputContext *context) -+{ -+ const gchar *path; -+ -+ g_assert (BUS_IS_PANEL_PROXY (panel)); -+ g_assert (BUS_IS_INPUT_CONTEXT (context)); -+ -+ g_object_ref_sink (context); -+ path = ibus_service_get_object_path ((IBusService *)context); -+ -+ g_dbus_proxy_call ((GDBusProxy *)panel, -+ "DestroyContext", -+ g_variant_new ("(o)", path), -+ G_DBUS_CALL_FLAGS_NONE, -+ -1, NULL, NULL, NULL); -+ -+ g_object_unref (context); -+} -diff --git a/bus/panelproxy.h b/bus/panelproxy.h -index cc3183e..ff7e5ce 100644 ---- a/bus/panelproxy.h -+++ b/bus/panelproxy.h -@@ -1,8 +1,8 @@ - /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ - /* vim:set et sts=4: */ - /* ibus - The Input Bus -- * Copyright (C) 2008-2010 Peng Huang -- * Copyright (C) 2008-2010 Red Hat, Inc. -+ * Copyright (C) 2008-2013 Peng Huang -+ * Copyright (C) 2008-2013 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -36,62 +36,79 @@ - #define BUS_PANEL_PROXY(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST ((obj), BUS_TYPE_PANEL_PROXY, BusPanelProxy)) - #define BUS_PANEL_PROXY_CLASS(klass) \ -- (G_TYPE_CHECK_CLASS_CAST ((klass), BUS_TYPE_PANEL_PROXY, BusPanelProxyClass)) -+ (G_TYPE_CHECK_CLASS_CAST ((klass), \ -+ BUS_TYPE_PANEL_PROXY, \ -+ BusPanelProxyClass)) - #define BUS_IS_PANEL_PROXY(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BUS_TYPE_PANEL_PROXY)) - #define BUS_IS_PANEL_PROXY_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE ((klass), BUS_TYPE_PANEL_PROXY)) - #define BUS_PANEL_PROXY_GET_CLASS(obj) \ -- (G_TYPE_INSTANCE_GET_CLASS ((obj), BUS_TYPE_PANEL_PROXY, BusPanelProxyClass)) -+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \ -+ BUS_TYPE_PANEL_PROXY, \ -+ BusPanelProxyClass)) - - G_BEGIN_DECLS - - typedef struct _BusPanelProxy BusPanelProxy; - typedef struct _BusPanelProxyClass BusPanelProxyClass; - --GType bus_panel_proxy_get_type (void); --BusPanelProxy *bus_panel_proxy_new (BusConnection *connection); -+GType bus_panel_proxy_get_type (void); -+BusPanelProxy *bus_panel_proxy_new (BusConnection *connection); - - /* functions that invoke D-Bus methods of the panel component. */ --void bus_panel_proxy_focus_in (BusPanelProxy *panel, -- BusInputContext *context); --void bus_panel_proxy_focus_out (BusPanelProxy *panel, -- BusInputContext *context); -+void bus_panel_proxy_focus_in (BusPanelProxy *panel, -+ BusInputContext *context); -+void bus_panel_proxy_focus_out (BusPanelProxy *panel, -+ BusInputContext *context); -+void bus_panel_proxy_destroy_context -+ (BusPanelProxy *panel, -+ BusInputContext *context); - void bus_panel_proxy_set_cursor_location -- (BusPanelProxy *panel, -- gint32 x, -- gint32 y, -- gint32 w, -- gint32 h); --void bus_panel_proxy_update_preedit_text(BusPanelProxy *panel, -- IBusText *text, -- guint cursor_pos, -- gboolean visible); --void bus_panel_proxy_show_preedit_text (BusPanelProxy *panel); --void bus_panel_proxy_hide_preedit_text (BusPanelProxy *panel); -+ (BusPanelProxy *panel, -+ gint32 x, -+ gint32 y, -+ gint32 w, -+ gint32 h); -+void bus_panel_proxy_update_preedit_text -+ (BusPanelProxy *panel, -+ IBusText *text, -+ guint cursor_pos, -+ gboolean visible); -+void bus_panel_proxy_show_preedit_text -+ (BusPanelProxy *panel); -+void bus_panel_proxy_hide_preedit_text -+ (BusPanelProxy *panel); - void bus_panel_proxy_update_auxiliary_text -- (BusPanelProxy *panel, -- IBusText *text, -- gboolean visible); --void bus_panel_proxy_show_auxiliary_text(BusPanelProxy *panel); --void bus_panel_proxy_hide_auxiliary_text(BusPanelProxy *panel); --void bus_panel_proxy_update_lookup_table(BusPanelProxy *panel, -- IBusLookupTable *table, -- gboolean visible); --void bus_panel_proxy_show_lookup_table (BusPanelProxy *panel); --void bus_panel_proxy_hide_lookup_table (BusPanelProxy *panel); -+ (BusPanelProxy *panel, -+ IBusText *text, -+ gboolean visible); -+void bus_panel_proxy_show_auxiliary_text -+ (BusPanelProxy *panel); -+void bus_panel_proxy_hide_auxiliary_text -+ (BusPanelProxy *panel); -+void bus_panel_proxy_update_lookup_table -+ (BusPanelProxy *panel, -+ IBusLookupTable *table, -+ gboolean visible); -+void bus_panel_proxy_show_lookup_table -+ (BusPanelProxy *panel); -+void bus_panel_proxy_hide_lookup_table -+ (BusPanelProxy *panel); - void bus_panel_proxy_page_up_lookup_table -- (BusPanelProxy *panel); -+ (BusPanelProxy *panel); - void bus_panel_proxy_page_down_lookup_table -- (BusPanelProxy *panel); -+ (BusPanelProxy *panel); - void bus_panel_proxy_cursor_up_lookup_table -- (BusPanelProxy *panel); -+ (BusPanelProxy *panel); - void bus_panel_proxy_cursor_down_lookup_table -- (BusPanelProxy *panel); --void bus_panel_proxy_register_properties(BusPanelProxy *panel, -- IBusPropList *prop_list); --void bus_panel_proxy_update_property (BusPanelProxy *panel, -- IBusProperty *prop); -+ (BusPanelProxy *panel); -+void bus_panel_proxy_register_properties -+ (BusPanelProxy *panel, -+ IBusPropList *prop_list); -+void bus_panel_proxy_update_property -+ (BusPanelProxy *panel, -+ IBusProperty *prop); - G_END_DECLS - #endif - -diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in -index 9cfe83b..2779139 100644 ---- a/data/ibus.schemas.in -+++ b/data/ibus.schemas.in -@@ -282,7 +282,7 @@ - /desktop/ibus/general/use_global_engine - ibus - bool -- false -+ true - - Use global input method - Share the same input method among all applications -diff --git a/setup/setup.ui b/setup/setup.ui -index 2042263..1638abb 100644 ---- a/setup/setup.ui -+++ b/setup/setup.ui -@@ -1001,7 +1001,7 @@ You may use up/down buttons to change it.</i></small> - - - -- True -+ True - False - 0 - none -diff --git a/src/ibuspanelservice.c b/src/ibuspanelservice.c -index ac9c7c7..eadbf5e 100644 ---- a/src/ibuspanelservice.c -+++ b/src/ibuspanelservice.c -@@ -1,8 +1,8 @@ - /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ - /* vim:set et sts=4: */ - /* ibus - The Input Bus -- * Copyright (c) 2009, Google Inc. All rights reserved. -- * Copyright (C) 2010 Peng Huang -+ * Copyright (c) 2009-2013 Google Inc. All rights reserved. -+ * Copyright (C) 2010-2013 Peng Huang - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -48,6 +48,7 @@ enum { - SHOW_PREEDIT_TEXT, - START_SETUP, - STATE_CHANGED, -+ DESTROY_CONTEXT, - LAST_SIGNAL, - }; - -@@ -58,62 +59,80 @@ enum { - static guint panel_signals[LAST_SIGNAL] = { 0 }; - - /* functions prototype */ --static void ibus_panel_service_set_property (IBusPanelService *panel, -- guint prop_id, -- const GValue *value, -- GParamSpec *pspec); --static void ibus_panel_service_get_property (IBusPanelService *panel, -- guint prop_id, -- GValue *value, -- GParamSpec *pspec); --static void ibus_panel_service_real_destroy (IBusPanelService *panel); --static void ibus_panel_service_service_method_call (IBusService *service, -- GDBusConnection *connection, -- const gchar *sender, -- const gchar *object_path, -- const gchar *interface_name, -- const gchar *method_name, -- GVariant *parameters, -- GDBusMethodInvocation *invocation); --static GVariant *ibus_panel_service_service_get_property (IBusService *service, -- GDBusConnection *connection, -- const gchar *sender, -- const gchar *object_path, -- const gchar *interface_name, -- const gchar *property_name, -- GError **error); --static gboolean ibus_panel_service_service_set_property (IBusService *service, -- GDBusConnection *connection, -- const gchar *sender, -- const gchar *object_path, -- const gchar *interface_name, -- const gchar *property_name, -- GVariant *value, -- GError **error); --static void ibus_panel_service_not_implemented (IBusPanelService *panel); --static void ibus_panel_service_focus_in (IBusPanelService *panel, -- const gchar *input_context_path); --static void ibus_panel_service_focus_out (IBusPanelService *panel, -- const gchar *input_context_path); --static void ibus_panel_service_register_properties (IBusPanelService *panel, -- IBusPropList *prop_list); --static void ibus_panel_service_set_cursor_location (IBusPanelService *panel, -- gint x, -- gint y, -- gint w, -- gint h); --static void ibus_panel_service_update_auxiliary_text (IBusPanelService *panel, -- IBusText *text, -- gboolean visible); --static void ibus_panel_service_update_lookup_table (IBusPanelService *panel, -- IBusLookupTable *lookup_table, -- gboolean visible); --static void ibus_panel_service_update_preedit_text (IBusPanelService *panel, -- IBusText *text, -- guint cursor_pos, -- gboolean visible); --static void ibus_panel_service_update_property (IBusPanelService *panel, -- IBusProperty *prop); -+static void ibus_panel_service_set_property -+ (IBusPanelService *panel, -+ guint prop_id, -+ const GValue *value, -+ GParamSpec *pspec); -+static void ibus_panel_service_get_property -+ (IBusPanelService *panel, -+ guint prop_id, -+ GValue *value, -+ GParamSpec *pspec); -+static void ibus_panel_service_real_destroy -+ (IBusPanelService *panel); -+static void ibus_panel_service_service_method_call -+ (IBusService *service, -+ GDBusConnection *connection, -+ const gchar *sender, -+ const gchar *object_path, -+ const gchar *interface_name, -+ const gchar *method_name, -+ GVariant *parameters, -+ GDBusMethodInvocation *invocation); -+static GVariant *ibus_panel_service_service_get_property -+ (IBusService *service, -+ GDBusConnection *connection, -+ const gchar *sender, -+ const gchar *object_path, -+ const gchar *interface_name, -+ const gchar *property_name, -+ GError **error); -+static gboolean ibus_panel_service_service_set_property -+ (IBusService *service, -+ GDBusConnection *connection, -+ const gchar *sender, -+ const gchar *object_path, -+ const gchar *interface_name, -+ const gchar *property_name, -+ GVariant *value, -+ GError **error); -+static void ibus_panel_service_not_implemented -+ (IBusPanelService *panel); -+static void ibus_panel_service_focus_in -+ (IBusPanelService *panel, -+ const gchar *input_context_path); -+static void ibus_panel_service_focus_out -+ (IBusPanelService *panel, -+ const gchar *input_context_path); -+static void ibus_panel_service_destroy_context -+ (IBusPanelService *panel, -+ const gchar *input_context_path); -+static void ibus_panel_service_register_properties -+ (IBusPanelService *panel, -+ IBusPropList *prop_list); -+static void ibus_panel_service_set_cursor_location -+ (IBusPanelService *panel, -+ gint x, -+ gint y, -+ gint w, -+ gint h); -+static void ibus_panel_service_update_auxiliary_text -+ (IBusPanelService *panel, -+ IBusText *text, -+ gboolean visible); -+static void ibus_panel_service_update_lookup_table -+ (IBusPanelService *panel, -+ IBusLookupTable *lookup_table, -+ gboolean visible); -+static void ibus_panel_service_update_preedit_text -+ (IBusPanelService *panel, -+ IBusText *text, -+ guint cursor_pos, -+ gboolean visible); -+static void ibus_panel_service_update_property -+ (IBusPanelService *panel, -+ IBusProperty *prop); - - G_DEFINE_TYPE (IBusPanelService, ibus_panel_service, IBUS_TYPE_SERVICE) - -@@ -156,6 +175,9 @@ static const gchar introspection_xml[] = - " " - " " - " " -+ " " -+ " " -+ " " - " " - " " - " " -@@ -194,21 +216,30 @@ static void - ibus_panel_service_class_init (IBusPanelServiceClass *class) - { - GObjectClass *gobject_class = G_OBJECT_CLASS (class); -- ibus_panel_service_parent_class = IBUS_SERVICE_CLASS (g_type_class_peek_parent (class)); -+ ibus_panel_service_parent_class = -+ IBUS_SERVICE_CLASS (g_type_class_peek_parent (class)); - -- gobject_class->set_property = (GObjectSetPropertyFunc) ibus_panel_service_set_property; -- gobject_class->get_property = (GObjectGetPropertyFunc) ibus_panel_service_get_property; -+ gobject_class->set_property = -+ (GObjectSetPropertyFunc) ibus_panel_service_set_property; -+ gobject_class->get_property = -+ (GObjectGetPropertyFunc) ibus_panel_service_get_property; - -- IBUS_OBJECT_CLASS (gobject_class)->destroy = (IBusObjectDestroyFunc) ibus_panel_service_real_destroy; -+ IBUS_OBJECT_CLASS (gobject_class)->destroy = -+ (IBusObjectDestroyFunc) ibus_panel_service_real_destroy; - -- IBUS_SERVICE_CLASS (class)->service_method_call = ibus_panel_service_service_method_call; -- IBUS_SERVICE_CLASS (class)->service_get_property = ibus_panel_service_service_get_property; -- IBUS_SERVICE_CLASS (class)->service_set_property = ibus_panel_service_service_set_property; -+ IBUS_SERVICE_CLASS (class)->service_method_call = -+ ibus_panel_service_service_method_call; -+ IBUS_SERVICE_CLASS (class)->service_get_property = -+ ibus_panel_service_service_get_property; -+ IBUS_SERVICE_CLASS (class)->service_set_property = -+ ibus_panel_service_service_set_property; - -- ibus_service_class_add_interfaces (IBUS_SERVICE_CLASS (class), introspection_xml); -+ ibus_service_class_add_interfaces (IBUS_SERVICE_CLASS (class), -+ introspection_xml); - - class->focus_in = ibus_panel_service_focus_in; - class->focus_out = ibus_panel_service_focus_out; -+ class->destroy_context = ibus_panel_service_destroy_context; - class->register_properties = ibus_panel_service_register_properties; - class->set_cursor_location = ibus_panel_service_set_cursor_location; - class->update_lookup_table = ibus_panel_service_update_lookup_table; -@@ -240,9 +271,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @visible: Whether the update is visible. - * - * Emitted when the client application get the update-preedit-text. -- * Implement the member function update_preedit_text() in extended class to receive this signal. -+ * Implement the member function update_preedit_text() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[UPDATE_PREEDIT_TEXT] = - g_signal_new (I_("update-preedit-text"), -@@ -263,9 +296,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @visible: Whether the update is visible. - * - * Emitted when the client application get the update-auxiliary-text. -- * Implement the member function update_auxiliary_text() in extended class to receive this signal. -+ * Implement the member function update_auxiliary_text() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[UPDATE_AUXILIARY_TEXT] = - g_signal_new (I_("update-auxiliary-text"), -@@ -285,9 +320,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @visible: Whether the update is visible. - * - * Emitted when the client application get the update-lookup-table. -- * Implement the member function update_lookup_table() in extended class to receive this signal. -+ * Implement the member function update_lookup_table() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[UPDATE_LOOKUP_TABLE] = - g_signal_new (I_("update-lookup-table"), -@@ -306,9 +343,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @input_context_path: Object path of InputContext. - * - * Emitted when the client application get the focus-in. -- * Implement the member function focus_in() in extended class to receive this signal. -+ * Implement the member function focus_in() in extended class to receive -+ * this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[FOCUS_IN] = - g_signal_new (I_("focus-in"), -@@ -326,9 +365,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @input_context_path: Object path of InputContext. - * - * Emitted when the client application get the focus-out. -- * Implement the member function focus_out() in extended class to receive this signal. -+ * Implement the member function focus_out() in extended class to receive -+ * this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[FOCUS_OUT] = - g_signal_new (I_("focus-out"), -@@ -346,9 +387,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @prop_list: An IBusPropList that contains properties. - * - * Emitted when the client application get the register-properties. -- * Implement the member function register_properties() in extended class to receive this signal. -+ * Implement the member function register_properties() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[REGISTER_PROPERTIES] = - g_signal_new (I_("register-properties"), -@@ -366,9 +409,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @prop: The IBusProperty to be updated. - * - * Emitted when the client application get the update-property. -- * Implement the member function update_property() in extended class to receive this signal. -+ * Implement the member function update_property() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[UPDATE_PROPERTY] = - g_signal_new (I_("update-property"), -@@ -389,9 +434,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * @h: Height of the cursor. - * - * Emitted when the client application get the set-cursor-location. -- * Implement the member function set_cursor_location() in extended class to receive this signal. -+ * Implement the member function set_cursor_location() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[SET_CURSOR_LOCATION] = - g_signal_new (I_("set-cursor-location"), -@@ -411,9 +458,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::cursor-up-lookup-table: - * - * Emitted when the client application get the cursor-up-lookup-table. -- * Implement the member function cursor_up_lookup_table() in extended class to receive this signal. -+ * Implement the member function cursor_up_lookup_table() in extended -+ * class to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[CURSOR_UP_LOOKUP_TABLE] = - g_signal_new (I_("cursor-up-lookup-table"), -@@ -428,9 +477,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::cursor-down-lookup-table: - * - * Emitted when the client application get the cursor-down-lookup-table. -- * Implement the member function cursor_down_lookup_table() in extended class to receive this signal. -+ * Implement the member function cursor_down_lookup_table() in extended -+ * class to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[CURSOR_DOWN_LOOKUP_TABLE] = - g_signal_new (I_("cursor-down-lookup-table"), -@@ -445,9 +496,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::hide-auxiliary-text: - * - * Emitted when the client application get the hide-auxiliary-text. -- * Implement the member function hide_auxiliary_text() in extended class to receive this signal. -+ * Implement the member function hide_auxiliary_text() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[HIDE_AUXILIARY_TEXT] = - g_signal_new (I_("hide-auxiliary-text"), -@@ -462,9 +515,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::hide-language-bar: - * - * Emitted when the client application get the hide-language-bar. -- * Implement the member function hide_language_bar() in extended class to receive this signal. -+ * Implement the member function hide_language_bar() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[HIDE_LANGUAGE_BAR] = - g_signal_new (I_("hide-language-bar"), -@@ -479,9 +534,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::hide-lookup-table: - * - * Emitted when the client application get the hide-lookup-table. -- * Implement the member function hide_lookup_table() in extended class to receive this signal. -+ * Implement the member function hide_lookup_table() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[HIDE_LOOKUP_TABLE] = - g_signal_new (I_("hide-lookup-table"), -@@ -496,9 +553,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::hide-preedit-text: - * - * Emitted when the client application get the hide-preedit-text. -- * Implement the member function hide_preedit_text() in extended class to receive this signal. -+ * Implement the member function hide_preedit_text() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[HIDE_PREEDIT_TEXT] = - g_signal_new (I_("hide-preedit-text"), -@@ -513,9 +572,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::page-up-lookup-table: - * - * Emitted when the client application get the page-up-lookup-table. -- * Implement the member function page_up_lookup_table() in extended class to receive this signal. -+ * Implement the member function page_up_lookup_table() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[PAGE_UP_LOOKUP_TABLE] = - g_signal_new (I_("page-up-lookup-table"), -@@ -530,9 +591,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::page-down-lookup-table: - * - * Emitted when the client application get the page-down-lookup-table. -- * Implement the member function page_down_lookup_table() in extended class to receive this signal. -+ * Implement the member function page_down_lookup_table() in extended -+ * class to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[PAGE_DOWN_LOOKUP_TABLE] = - g_signal_new (I_("page-down-lookup-table"), -@@ -547,9 +610,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::reset: - * - * Emitted when the client application get the reset. -- * Implement the member function reset() in extended class to receive this signal. -+ * Implement the member function reset() in extended class to receive this -+ * signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[RESET] = - g_signal_new (I_("reset"), -@@ -564,9 +629,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::show-auxiliary-text: - * - * Emitted when the client application get the show-auxiliary-text. -- * Implement the member function show_auxiliary_text() in extended class to receive this signal. -+ * Implement the member function show_auxiliary_text() in extended class -+ * to receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[SHOW_AUXILIARY_TEXT] = - g_signal_new (I_("show-auxiliary-text"), -@@ -581,9 +648,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::show-language-bar: - * - * Emitted when the client application get the show-language-bar. -- * Implement the member function show_language_bar() in extended class to receive this signal. -+ * Implement the member function show_language_bar() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[SHOW_LANGUAGE_BAR] = - g_signal_new (I_("show-language-bar"), -@@ -598,9 +667,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::show-lookup-table: - * - * Emitted when the client application get the show-lookup-table. -- * Implement the member function show_lookup_table() in extended class to receive this signal. -+ * Implement the member function show_lookup_table() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[SHOW_LOOKUP_TABLE] = - g_signal_new (I_("show-lookup-table"), -@@ -615,9 +686,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::show-preedit-text: - * - * Emitted when the client application get the show-preedit-text. -- * Implement the member function show_preedit_text() in extended class to receive this signal. -+ * Implement the member function show_preedit_text() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[SHOW_PREEDIT_TEXT] = - g_signal_new (I_("show-preedit-text"), -@@ -632,9 +705,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::start-setup: - * - * Emitted when the client application get the start-setup. -- * Implement the member function start_setup() in extended class to receive this signal. -+ * Implement the member function start_setup() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[START_SETUP] = - g_signal_new (I_("start-setup"), -@@ -649,9 +724,11 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - * IBusPanelService::state-changed: - * - * Emitted when the client application get the state-changed. -- * Implement the member function state_changed() in extended class to receive this signal. -+ * Implement the member function state_changed() in extended class to -+ * receive this signal. - * -- * Argument @user_data is ignored in this function. -+ * Argument @user_data is ignored in this function. -+ * - */ - panel_signals[STATE_CHANGED] = - g_signal_new (I_("state-changed"), -@@ -661,6 +738,28 @@ ibus_panel_service_class_init (IBusPanelServiceClass *class) - NULL, NULL, - _ibus_marshal_VOID__VOID, - G_TYPE_NONE, 0); -+ -+ /** -+ * IBusPanelService::destroy-context: -+ * @input_context_path: Object path of InputContext. -+ * -+ * Emitted when the client application destroys. -+ * Implement the member function destroy_context() in extended class to -+ * receive this signal. -+ * -+ * Argument @user_data is ignored in this function. -+ * -+ */ -+ panel_signals[DESTROY_CONTEXT] = -+ g_signal_new (I_("destroy-context"), -+ G_TYPE_FROM_CLASS (gobject_class), -+ G_SIGNAL_RUN_LAST, -+ G_STRUCT_OFFSET (IBusPanelServiceClass, destroy_context), -+ NULL, NULL, -+ _ibus_marshal_VOID__STRING, -+ G_TYPE_NONE, -+ 1, -+ G_TYPE_STRING); - } - - static void -@@ -790,6 +889,14 @@ ibus_panel_service_service_method_call (IBusService *service, - return; - } - -+ if (g_strcmp0 (method_name, "DestroyContext") == 0) { -+ const gchar *path; -+ g_variant_get (parameters, "(&o)", &path); -+ g_signal_emit (panel, panel_signals[DESTROY_CONTEXT], 0, path); -+ g_dbus_method_invocation_return_value (invocation, NULL); -+ return; -+ } -+ - if (g_strcmp0 (method_name, "RegisterProperties") == 0) { - GVariant *variant = g_variant_get_child_value (parameters, 0); - IBusPropList *prop_list = IBUS_PROP_LIST (ibus_serializable_deserialize (variant)); -@@ -918,6 +1025,13 @@ ibus_panel_service_focus_out (IBusPanelService *panel, - } - - static void -+ibus_panel_service_destroy_context (IBusPanelService *panel, -+ const gchar *input_context_path) -+{ -+ ibus_panel_service_not_implemented(panel); -+} -+ -+static void - ibus_panel_service_register_properties (IBusPanelService *panel, - IBusPropList *prop_list) - { -diff --git a/src/ibuspanelservice.h b/src/ibuspanelservice.h -index 941df07..e88a3a7 100644 ---- a/src/ibuspanelservice.h -+++ b/src/ibuspanelservice.h -@@ -1,7 +1,7 @@ - /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ - /* vim:set et sts=4: */ - /* ibus - The Input Bus -- * Copyright (c) 2009, Google Inc. All rights reserved. -+ * Copyright (c) 2009-2013 Google Inc. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -76,9 +76,11 @@ struct _IBusPanelServiceClass { - - /* class members */ - void (* focus_in) (IBusPanelService *panel, -- const gchar *input_context_path); -+ const gchar -+ *input_context_path); - void (* focus_out) (IBusPanelService *panel, -- const gchar *input_context_path); -+ const gchar -+ *input_context_path); - void (* register_properties) (IBusPanelService *panel, - IBusPropList *prop_list); - void (* set_cursor_location) (IBusPanelService *panel, -@@ -93,7 +95,7 @@ struct _IBusPanelServiceClass { - IBusLookupTable *lookup_table, - gboolean visible); - void (* update_preedit_text) (IBusPanelService *panel, -- IBusText *text, -+ IBusText *text, - guint cursor_pos, - gboolean visible); - void (* update_property) (IBusPanelService *panel, -@@ -113,10 +115,13 @@ struct _IBusPanelServiceClass { - void (* show_preedit_text) (IBusPanelService *panel); - void (* start_setup) (IBusPanelService *panel); - void (* state_changed) (IBusPanelService *panel); -+ void (* destroy_context) (IBusPanelService *panel, -+ const gchar -+ *input_context_path); - - /*< private >*/ - /* padding */ -- gpointer pdummy[8]; // We can add 8 pointers without breaking the ABI. -+ gpointer pdummy[7]; // We can add 8 pointers without breaking the ABI. - }; - - GType ibus_panel_service_get_type (void); -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index 8e23bf9..e0cdf7d 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -2,7 +2,7 @@ - * - * ibus - The Input Bus - * -- * Copyright(c) 2011 Peng Huang -+ * Copyright(c) 2011-2013 Peng Huang - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -43,8 +43,14 @@ class Panel : IBus.PanelService { - private Gtk.Menu m_ime_menu; - private Gtk.Menu m_sys_menu; - private IBus.EngineDesc[] m_engines = {}; -+ private GLib.HashTable m_engine_contexts = -+ new GLib.HashTable(GLib.str_hash, -+ GLib.str_equal); -+ private string m_current_context_path = ""; -+ private bool m_use_global_engine = true; - private CandidatePanel m_candidate_panel; - private Switcher m_switcher; -+ private bool m_switcher_is_running = false; - private PropertyManager m_property_manager; - private GLib.Pid m_setup_pid = 0; - private Gtk.AboutDialog m_about_dialog; -@@ -120,6 +126,10 @@ class Panel : IBus.PanelService { - set_embed_preedit_text(); - }); - -+ m_settings_general.changed["use-global-engine"].connect((key) => { -+ set_use_global_engine(); -+ }); -+ - m_settings_hotkey.changed["triggers"].connect((key) => { - unbind_switch_shortcut(); - bind_switch_shortcut(); -@@ -290,6 +300,11 @@ class Panel : IBus.PanelService { - m_bus.set_ibus_property("EmbedPreeditText", variant); - } - -+ private void set_use_global_engine() { -+ m_use_global_engine = -+ m_settings_general.get_boolean("use-global-engine"); -+ } -+ - private int compare_versions(string version1, string version2) { - string[] version1_list = version1.split("."); - string[] version2_list = version2.split("."); -@@ -376,6 +391,7 @@ class Panel : IBus.PanelService { - // Update m_use_system_keyboard_layout before update_engines() - // is called. - set_use_system_keyboard_layout(); -+ set_use_global_engine(); - update_engines(m_settings_general.get_strv("preload-engines"), - m_settings_general.get_strv("engines-order")); - unbind_switch_shortcut(); -@@ -432,23 +448,41 @@ class Panel : IBus.PanelService { - } - } - -- private void switch_engine(int i, bool force = false) { -- GLib.assert(i >= 0 && i < m_engines.length); -- -- // Do not need switch -- if (i == 0 && !force) -+ private void engine_contexts_insert(IBus.EngineDesc engine) { -+ if (m_use_global_engine) - return; - -- IBus.EngineDesc engine = m_engines[i]; -+ if (m_engine_contexts.size() >= 200) { -+ warning ("Contexts by windows are too much counted!"); -+ m_engine_contexts.remove_all(); -+ } -+ -+ m_engine_contexts.replace(m_current_context_path, engine); -+ } - -+ private void set_engine(IBus.EngineDesc engine) { - if (!m_bus.set_global_engine(engine.get_name())) { - warning("Switch engine to %s failed.", engine.get_name()); - return; - } -+ - // set xkb layout -- if (!m_use_system_keyboard_layout) { -+ if (!m_use_system_keyboard_layout) - exec_setxkbmap(engine); -- } -+ -+ engine_contexts_insert(engine); -+ } -+ -+ private void switch_engine(int i, bool force = false) { -+ GLib.assert(i >= 0 && i < m_engines.length); -+ -+ // Do not need switch -+ if (i == 0 && !force) -+ return; -+ -+ IBus.EngineDesc engine = m_engines[i]; -+ -+ set_engine(engine); - } - - private void handle_engine_switch(Gdk.Event event, bool revert) { -@@ -471,7 +505,20 @@ class Panel : IBus.PanelService { - - if (pressed && m_switcher_delay_time >= 0) { - int i = revert ? m_engines.length - 1 : 1; -+ -+ /* The flag of m_switcher_is_running avoids the following problem: -+ * -+ * When an IME is chosen on m_switcher, focus_in() is called -+ * for the root window. If an engine is set in focus_in() -+ * during running m_switcher when m_use_global_engine is false, -+ * state_changed() is also called and m_engines[] is modified -+ * in state_changed() and m_switcher.run() returns the index -+ * for m_engines[] but m_engines[] was modified by state_changed() -+ * and the index is not correct. */ -+ m_switcher_is_running = true; - i = m_switcher.run(keyval, modifiers, event, m_engines, i); -+ m_switcher_is_running = false; -+ - if (i < 0) { - debug("switch cancelled"); - } else { -@@ -686,9 +733,68 @@ class Panel : IBus.PanelService { - } - - public override void focus_in(string input_context_path) { -+ if (m_use_global_engine) -+ return; -+ -+ /* Do not change the order of m_engines during running switcher. */ -+ if (m_switcher_is_running) -+ return; -+ -+ m_current_context_path = input_context_path; -+ -+ var engine = m_engine_contexts[m_current_context_path]; -+ -+ if (engine == null) { -+ /* If engine == null, need to call set_engine(m_engines[0]) -+ * here and update m_engine_contexts[] to avoid the -+ * following problem: -+ * -+ * If context1 is focused and does not set an engine and -+ * return here, the current engine1 is used for context1. -+ * When context2 is focused and switch engine1 to engine2, -+ * the current engine becomes engine2. -+ * And when context1 is focused again, context1 still -+ * does not set an engine and return here, -+ * engine2 is used for context2 instead of engine1. */ -+ engine = m_engines.length > 0 ? m_engines[0] : null; -+ -+ if (engine == null) -+ return; -+ } else { -+ bool in_engines = false; -+ -+ foreach (var e in m_engines) { -+ if (engine.get_name() == e.get_name()) { -+ in_engines = true; -+ break; -+ } -+ } -+ -+ /* The engine is deleted by ibus-setup before focus_in() -+ * is called. */ -+ if (!in_engines) -+ return; -+ } -+ -+ set_engine(engine); - } - - public override void focus_out(string input_context_path) { -+ if (m_use_global_engine) -+ return; -+ -+ /* Do not change the order of m_engines during running switcher. */ -+ if (m_switcher_is_running) -+ return; -+ -+ m_current_context_path = ""; -+ } -+ -+ public override void destroy_context(string input_context_path) { -+ if (m_use_global_engine) -+ return; -+ -+ m_engine_contexts.remove(input_context_path); - } - - public override void register_properties(IBus.PropList props) { -@@ -731,6 +837,10 @@ class Panel : IBus.PanelService { - } - - public override void state_changed() { -+ /* Do not change the order of m_engines during running switcher. */ -+ if (m_switcher_is_running) -+ return; -+ - var icon_name = "ibus-keyboard"; - - var engine = m_bus.get_global_engine(); --- -1.8.0 - -From 10b9225bb3ec9131c827cfad007bad65bc9f0b12 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Thu, 5 Sep 2013 11:41:50 +0900 -Subject: [PATCH] Implement show-icon-on-systray in ibus-ui-gtk3. - -BUG=http://code.google.com/p/ibus/issues/detail?id=1635 -TEST="show icon on system tray" on ibus-setup - -Review URL: https://codereview.appspot.com/13514043 ---- - ui/gtk3/panel.vala | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index e0cdf7d..22944f8 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -142,6 +142,10 @@ class Panel : IBus.PanelService { - m_settings_panel.changed["use-custom-font"].connect((key) => { - set_custom_font(); - }); -+ -+ m_settings_panel.changed["show-icon-on-systray"].connect((key) => { -+ set_show_icon_on_systray(); -+ }); - } - - private void keybinding_manager_bind(KeybindingManager keybinding_manager, -@@ -305,6 +309,11 @@ class Panel : IBus.PanelService { - m_settings_general.get_boolean("use-global-engine"); - } - -+ private void set_show_icon_on_systray() { -+ m_status_icon.set_visible( -+ m_settings_panel.get_boolean("show-icon-on-systray")); -+ } -+ - private int compare_versions(string version1, string version2) { - string[] version1_list = version1.split("."); - string[] version2_list = version2.split("."); -@@ -399,6 +408,7 @@ class Panel : IBus.PanelService { - set_switcher_delay_time(); - set_embed_preedit_text(); - set_custom_font(); -+ set_show_icon_on_systray(); - - set_version(); - } --- -1.8.0 - -From e91f403a8e099ce26642eb58a105671ec730f277 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 6 Sep 2013 13:24:34 +0900 -Subject: [PATCH] Connect candidate-clicked signal on ibus-ui-gtk3 for - mouse click. - -Review URL: https://codereview.appspot.com/13303049 ---- - ui/gtk3/panel.vala | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index 22944f8..82b9ee5 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -81,6 +81,8 @@ class Panel : IBus.PanelService { - m_candidate_panel = new CandidatePanel(); - m_candidate_panel.page_up.connect((w) => this.page_up()); - m_candidate_panel.page_down.connect((w) => this.page_down()); -+ m_candidate_panel.candidate_clicked.connect( -+ (w, i, b, s) => this.candidate_clicked(i, b, s)); - - m_switcher = new Switcher(); - // The initial shortcut is "space" --- -1.8.0 - -From 98c7bdc5d92d5d2f25eb5f81fe90397664c2d435 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 20 Sep 2013 10:58:34 +0900 -Subject: [PATCH] Fix no output when ibus-daemon is running on another - display. - -Using ssh -X or another display, the hostname and display numbers -can be different between the GTK clients and ibus-daemon. -This patch fixes the output: -"Events queue growing too big, will start to drop." - -BUG=RH#1004135 -TEST=clients/gtk*/im-ibus.so - -Review URL: https://codereview.appspot.com/13707046 ---- - client/gtk2/ibusimcontext.c | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c -index b6fe2c0..eef062c 100644 ---- a/client/gtk2/ibusimcontext.c -+++ b/client/gtk2/ibusimcontext.c -@@ -492,7 +492,13 @@ daemon_name_appeared (GDBusConnection *connection, - const gchar *owner, - gpointer data) - { -- _daemon_is_running = TRUE; -+ /* If ibus-daemon is running and run ssh -X localhost, -+ * daemon_name_appeared() is called but ibus_get_address() == NULL -+ * because the hostname and display number are different between -+ * ibus-daemon and clients. So IBusBus would not be connected and -+ * ibusimcontext->ibuscontext == NULL and ibusimcontext->events_queue -+ * could go beyond MAX_QUEUED_EVENTS . */ -+ _daemon_is_running = (ibus_get_address () != NULL); - } - - static void --- -1.8.0 - -From b8f36164d9b405d95bdcb76e38daca6c531e7da5 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Wed, 2 Oct 2013 10:55:09 +0900 -Subject: [PATCH] Implement lookup-table-orientation in ibus-ui-gtk3. - -BUG=RH#1012781 -TEST=ui/gtk3/ibus-ui-gtk3 - -Review URL: https://codereview.appspot.com/14198043 ---- - ui/gtk3/panel.vala | 19 ++++++++++++++++++- - 1 file changed, 18 insertions(+), 1 deletion(-) - -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index 82b9ee5..5903e05 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -148,6 +148,10 @@ class Panel : IBus.PanelService { - m_settings_panel.changed["show-icon-on-systray"].connect((key) => { - set_show_icon_on_systray(); - }); -+ -+ m_settings_panel.changed["lookup-table-orientation"].connect((key) => { -+ set_lookup_table_orientation(); -+ }); - } - - private void keybinding_manager_bind(KeybindingManager keybinding_manager, -@@ -285,7 +289,7 @@ class Panel : IBus.PanelService { - m_switcher_delay_time = - m_settings_general.get_int("switcher-delay-time"); - -- if (m_switcher_delay_time >= 0) { -+ if (m_switcher != null && m_switcher_delay_time >= 0) { - m_switcher.set_popup_delay_time((uint) m_switcher_delay_time); - } - } -@@ -312,10 +316,22 @@ class Panel : IBus.PanelService { - } - - private void set_show_icon_on_systray() { -+ if (m_status_icon == null) -+ return; -+ - m_status_icon.set_visible( - m_settings_panel.get_boolean("show-icon-on-systray")); - } - -+ private void set_lookup_table_orientation() { -+ if (m_candidate_panel == null) -+ return; -+ -+ m_candidate_panel.set_vertical( -+ m_settings_panel.get_int("lookup-table-orientation") -+ == IBus.Orientation.VERTICAL); -+ } -+ - private int compare_versions(string version1, string version2) { - string[] version1_list = version1.split("."); - string[] version2_list = version2.split("."); -@@ -411,6 +427,7 @@ class Panel : IBus.PanelService { - set_embed_preedit_text(); - set_custom_font(); - set_show_icon_on_systray(); -+ set_lookup_table_orientation(); - - set_version(); - } --- -1.8.0 - -From e64b25c0ab8fadeae97fe78dcfcbc3a5d0869c6b Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 1 Nov 2013 11:19:39 +0900 -Subject: [PATCH] Update en-us compose table and add locale tables for - xkb engines. - -BUG=RH#1013651 -TEST=engine/ibus-engine-simple, src/libibus.so - -Review URL: https://codereview.appspot.com/14465046 ---- - bindings/vala/Makefile.am | 1 + - bindings/vala/ibus-private.vapi | 22 + - engine/Makefile.am | 28 +- - engine/main.vala | 33 +- - engine/test-compose.vala | 193 +++ - src/Makefile.am | 19 + - src/gencomposetable.c | 957 ++++++++++++++ - src/gtkimcontextsimpleseqs.h | 309 ++++- - src/ibuscomposetable.h | 2658 +++++++++++++++++++++++++++++++++++++++ - src/ibusenginesimple.c | 48 +- - src/ibusenginesimple.h | 25 +- - src/ibuskeysyms.h | 7 +- - tools/main.vala | 3 +- - 13 files changed, 4220 insertions(+), 83 deletions(-) - create mode 100644 bindings/vala/ibus-private.vapi - create mode 100644 engine/test-compose.vala - create mode 100644 src/gencomposetable.c - create mode 100644 src/ibuscomposetable.h - -diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am -index 84aa1b4..29cc1eb 100644 ---- a/bindings/vala/Makefile.am -+++ b/bindings/vala/Makefile.am -@@ -49,6 +49,7 @@ EXTRA_DIST = \ - IBus-1.0.metadata \ - IBus-1.0-custom.vala \ - ibus-1.0.deps \ -+ ibus-private.vapi \ - config.vapi \ - xi.vapi \ - $(NULL) -diff --git a/bindings/vala/ibus-private.vapi b/bindings/vala/ibus-private.vapi -new file mode 100644 -index 0000000..acf5c4d ---- /dev/null -+++ b/bindings/vala/ibus-private.vapi -@@ -0,0 +1,22 @@ -+[CCode (cprefix = "IBusCompose", gir_namespace = "IBus", gir_version = "1.0", lower_case_cprefix = "ibus_compose_")] -+namespace IBusCompose { -+ [Compact] -+ [CCode (cname = "IBusComposeTable", destroy_function = "", cheader_filename = "ibuscomposetable.h")] -+ public struct Table { -+ public const uint16[] data; -+ public int max_seq_len; -+ public int n_seqs; -+ } -+ [CCode (cname = "ibus_compose_seqs_el_gr", cheader_filename = "ibuscomposetable.h")] -+ public const uint16[] seqs_el_gr; -+ [CCode (cname = "ibus_compose_table_el_gr", cheader_filename = "ibuscomposetable.h")] -+ public const Table table_el_gr; -+ [CCode (cname = "ibus_compose_seqs_fi_fi", cheader_filename = "ibuscomposetable.h")] -+ public const uint16[] seqs_fi_fi; -+ [CCode (cname = "ibus_compose_table_fi_fi", cheader_filename = "ibuscomposetable.h")] -+ public const Table table_fi_fi; -+ [CCode (cname = "ibus_compose_seqs_pt_br", cheader_filename = "ibuscomposetable.h")] -+ public const uint16[] seqs_pt_br; -+ [CCode (cname = "ibus_compose_table_pt_br", cheader_filename = "ibuscomposetable.h")] -+ public const Table table_pt_br; -+} -diff --git a/engine/Makefile.am b/engine/Makefile.am -index 0adf286..c51317a 100644 ---- a/engine/Makefile.am -+++ b/engine/Makefile.am -@@ -2,8 +2,8 @@ - # - # ibus - The Input Bus - # --# Copyright (c) 2010, Google Inc. All rights reserved. --# Copyright (c) 2007-2010 Peng Huang -+# Copyright (c) 2010-2013, Google Inc. All rights reserved. -+# Copyright (c) 2007-2013 Peng Huang - # - # This library is free software; you can redistribute it and/or - # modify it under the terms of the GNU Lesser General Public -@@ -72,6 +72,30 @@ ibus_engine_simple_DEPENDENCIES = \ - $(libibus) \ - $(NULL) - -+if ENABLE_GTK3 -+noinst_PROGRAMS = test-compose -+endif -+ -+test_compose_DEPENDENCIES = \ -+ $(libibus) \ -+ $(NULL) -+test_compose_SOURCES = \ -+ test-compose.vala \ -+ $(NULL) -+test_compose_CFLAGS = \ -+ $(AM_CFLAGS) \ -+ @GTK3_CFLAGS@ \ -+ $(NULL) -+test_compose_LDADD = \ -+ $(AM_LDADD) \ -+ @GTK3_LIBS@ \ -+ $(NULL) -+test_compose_VALAFLAGS = \ -+ $(AM_VALAFLAGS) \ -+ --pkg=gtk+-3.0 \ -+ --pkg=ibus-private \ -+ $(NULL) -+ - component_DATA = \ - simple.xml \ - $(NULL) -diff --git a/engine/main.vala b/engine/main.vala -index 9c60f62..d2b2b48 100644 ---- a/engine/main.vala -+++ b/engine/main.vala -@@ -2,7 +2,7 @@ - * - * ibus - The Input Bus - * -- * Copyright(c) 2011 Peng Huang -+ * Copyright(c) 2011-2013 Peng Huang - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -22,26 +22,11 @@ - - using IBus; - --const uint16 cedilla_compose_seqs[] = { -- (uint16) IBus.KEY_dead_acute, (uint16) IBus.KEY_C, 0, 0, 0, -- 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */ -- (uint16) IBus.KEY_dead_acute, (uint16) IBus.KEY_c, 0, 0, 0, -- 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */ -- (uint16) IBus.KEY_Multi_key, (uint16) IBus.KEY_apostrophe, (uint16) IBus.KEY_C, 0, 0, -- 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */ -- (uint16) IBus.KEY_Multi_key, (uint16) IBus.KEY_apostrophe, (uint16) IBus.KEY_c, 0, 0, -- 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */ -- (uint16) IBus.KEY_Multi_key, (uint16) IBus.KEY_C, (uint16) IBus.KEY_apostrophe, 0, 0, -- 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */ -- (uint16) IBus.KEY_Multi_key, (uint16) IBus.KEY_c, (uint16) IBus.KEY_apostrophe, 0, 0, -- 0x00E7 /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */ --}; -- - class DummyEngine : IBus.EngineSimple { - } - - public int main(string[] args) { -- Intl.setlocale (LocaleCategory.ALL, ""); -+ Intl.setlocale(LocaleCategory.ALL, ""); - IBus.init(); - - IBus.Bus bus = new IBus.Bus(); -@@ -61,11 +46,6 @@ public int main(string[] args) { - - factory.create_engine.connect((factory, name) => { - const string path = "/org/freedesktop/IBus/engine/simple/%d"; -- string lang = Intl.setlocale (LocaleCategory.CTYPE, null); -- -- if (lang == null) { -- lang = Environment.get_variable("LANG"); -- } - - IBus.Engine engine = new IBus.Engine.with_type( - typeof(IBus.EngineSimple), name, -@@ -84,13 +64,8 @@ public int main(string[] args) { - * I am not sure if cedilla_compose_seqs is needed for us layout. - * FIXME: Need to provide the customization. - */ -- if (lang != null && -- lang.ascii_ncasecmp("pt_br", "pt_br".length) == 0) { -- IBus.EngineSimple? simple = (IBus.EngineSimple ?) engine; -- simple.add_table(cedilla_compose_seqs, -- 4, -- cedilla_compose_seqs.length / (4 + 2)); -- } -+ IBus.EngineSimple? simple = (IBus.EngineSimple ?) engine; -+ simple.add_table_by_locale(null); - - return engine; - }); -diff --git a/engine/test-compose.vala b/engine/test-compose.vala -new file mode 100644 -index 0000000..082a9ab ---- /dev/null -+++ b/engine/test-compose.vala -@@ -0,0 +1,193 @@ -+/* vim:set et sts=4 sw=4: -+ * -+ * ibus - The Input Bus -+ * -+ * Copyright(c) 2013 Peng Huang -+ * Copyright(c) 2013 Takao Fujiwara -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 -+ * USA -+ */ -+ -+using IBus; -+using IBusCompose; -+using Gtk; -+ -+class SendKeyEventsWindow : Gtk.Window { -+ private IBus.Bus m_bus; -+ private IBus.Engine m_engine; -+ private uint16* m_test_compose_table; -+ private int m_test_compose_table_length; -+ public int m_index_stride = 0; -+ -+ public SendKeyEventsWindow() { -+ /* Call ibus_bus_new() before gtk_widget_show_all() so that -+ * ibus_bus_new_async() is not called in GTK+ IM modules. */ -+ ibus_init(); -+ -+ Gtk.Entry entry = new Gtk.Entry(); -+ entry.focus_in_event.connect((w, e) => { -+ m_bus.set_global_engine_async.begin("xkbtest:us::eng", -+ -1, null, set_engine_cb); -+ return false; -+ }); -+ -+ int stride = 0; -+ int n_loop = 0; -+ -+ entry.get_buffer().inserted_text.connect((w, p, s, l) => { -+ if (m_test_compose_table == null) -+ return; -+ -+ /* entry.set_text("") calls this callback. */ -+ if (n_loop % 2 == 1) { -+ n_loop = 0; -+ return; -+ } -+ -+ unichar code = s.get_char(0); -+ int i = stride + (m_index_stride - 1); -+ -+ print("%05d %s expected: %04X typed: %04X\n", -+ i, -+ m_test_compose_table[i] == code ? "OK" : "NG", -+ m_test_compose_table[i], -+ code); -+ -+ stride += m_index_stride; -+ n_loop++; -+ entry.set_text(""); -+ }); -+ add(entry); -+ } -+ -+ public void run_ibus_engine() { -+ if (!m_bus.is_connected()) { -+ warning("ibus-daemon does not exist."); -+ return; -+ } -+ -+ m_bus.disconnected.connect((bus) => { -+ debug("bus disconnected"); -+ IBus.quit(); -+ }); -+ -+ IBus.Factory factory = new IBus.Factory(m_bus.get_connection()); -+ -+ int id = 0; -+ -+ factory.create_engine.connect((factory, name) => { -+ const string path = "/org/freedesktop/IBus/engine/simpletest/%d"; -+ m_engine = new IBus.Engine.with_type( -+ typeof(IBus.EngineSimple), name, -+ path.printf(id++), m_bus.get_connection()); -+ -+ string lang = Intl.setlocale(LocaleCategory.CTYPE, null); -+ -+ if (lang == null) -+ lang = "C"; -+ -+ IBus.EngineSimple simple = (IBus.EngineSimple) m_engine; -+ -+ if (lang.ascii_ncasecmp("el_gr", "el_gr".length) == 0) { -+ simple.add_table_by_locale(lang); -+ m_test_compose_table = (uint16 *) IBusCompose.seqs_el_gr; -+ m_test_compose_table_length = IBusCompose.seqs_el_gr.length; -+ m_index_stride = IBusCompose.table_el_gr.max_seq_len + 2; -+ } -+ else if (lang.ascii_ncasecmp("fi_fi", "fi_fi".length) == 0) { -+ simple.add_table_by_locale(lang); -+ m_test_compose_table = (uint16 *) IBusCompose.seqs_fi_fi; -+ m_test_compose_table_length = IBusCompose.seqs_fi_fi.length; -+ m_index_stride = IBusCompose.table_fi_fi.max_seq_len + 2; -+ } -+ else if (lang.ascii_ncasecmp("pt_br", "pt_br".length) == 0) { -+ simple.add_table_by_locale(lang); -+ m_test_compose_table = (uint16 *) IBusCompose.seqs_pt_br; -+ m_test_compose_table_length = IBusCompose.seqs_pt_br.length; -+ m_index_stride = IBusCompose.table_pt_br.max_seq_len + 2; -+ } -+ else { -+ warning("Run no test. Need another $LANG."); -+ } -+ return m_engine; -+ }); -+ -+ var component = new IBus.Component( -+ "org.freedesktop.IBus.SimpleTest", -+ "Simple Engine Test", -+ "0.0.1", -+ "GPL", -+ "Takao Fujiwara ", -+ "http://code.google.com/p/ibus/", -+ "", -+ "ibus"); -+ -+ component.add_engine (new IBus.EngineDesc( -+ "xkbtest:us::eng", -+ "XKB Test", -+ "XKB Test", -+ "en", -+ "GPL", -+ "Takao Fujiwara ", -+ "ibus-engine", -+ "us")); -+ -+ m_bus.register_component(component); -+ } -+ -+ private void ibus_init() { -+ IBus.init(); -+ -+ m_bus = new IBus.Bus(); -+ } -+ -+ private void set_engine_cb(GLib.Object? object, GLib.AsyncResult res) { -+ try { -+ m_bus.set_global_engine_async_finish(res); -+ } catch(GLib.Error error) { -+ warning("%s", error.message); -+ return; -+ } -+ -+ for (int i = 0; i < m_test_compose_table_length; i += m_index_stride) { -+ for (int j = i; j < i + (m_index_stride - 1); j++) { -+ uint keyval = m_test_compose_table[j]; -+ uint keycode = 0; -+ uint modifiers = 0; -+ -+ if (keyval == 0) -+ break; -+ -+ m_engine.process_key_event (keyval, keycode, modifiers); -+ modifiers |= IBus.ModifierType.RELEASE_MASK; -+ m_engine.process_key_event (keyval, keycode, modifiers); -+ } -+ } -+ } -+ -+ public static int main(string[] args) { -+ Intl.setlocale(LocaleCategory.ALL, ""); -+ -+ Gtk.init(ref args); -+ -+ var window = new SendKeyEventsWindow(); -+ window.destroy.connect (Gtk.main_quit); -+ window.show_all(); -+ window.run_ibus_engine(); -+ Gtk.main(); -+ return 0; -+ } -+} -diff --git a/src/Makefile.am b/src/Makefile.am -index 811d097..404e1d2 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -159,6 +159,7 @@ ibusinclude_HEADERS = \ - $(ibus_public_headers) \ - $(NULL) - ibus_privite_headers = \ -+ ibuscomposetable.h \ - ibusinternal.h \ - keyname-table.h \ - gtkimcontextsimpleseqs.h \ -@@ -226,6 +227,24 @@ ibusmarshalers.c: ibusmarshalers.h ibusmarshalers.list - $(GLIB_GENMARSHAL) --prefix=_ibus_marshal $(srcdir)/ibusmarshalers.list --body --internal) > $@.tmp && \ - mv $@.tmp $@ - -+ibuscomposetable.h: -+ $(AM_V_GEN) $(builddir)/gencomposetable > $@.tmp && \ -+ mv $@.tmp $@ -+ $(NULL) -+ -+noinst_PROGRAMS = gencomposetable -+ -+gencomposetable_SOURCES = \ -+ gencomposetable.c \ -+ $(NULL) -+gencomposetable_CFLAGS = \ -+ @GLIB_CFLAGS@ \ -+ $(NULL) -+gencomposetable_LDADD = \ -+ $(libibus) \ -+ @GLIB_LIBS@ \ -+ $(NULL) -+ - EXTRA_DIST = \ - ibusversion.h.in \ - ibusmarshalers.list \ -diff --git a/src/gencomposetable.c b/src/gencomposetable.c -new file mode 100644 -index 0000000..da929d0 ---- /dev/null -+++ b/src/gencomposetable.c -@@ -0,0 +1,957 @@ -+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ -+/* ibus - The Input Bus -+ * Copyright (C) 2013 Peng Huang -+ * Copyright (C) 2013 Takao Fujiwara -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 -+ * USA -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "ibuserror.h" -+#include "ibuskeys.h" -+#include "ibuskeysyms.h" -+#include "ibustypes.h" -+#include "gtkimcontextsimpleseqs.h" -+ -+#define HEADER \ -+"/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */\n" \ -+"/* vim:set et sts=4: */\n" \ -+"/* ibus - The Input Bus\n" \ -+" * Copyright (C) 2013 Peng Huang \n" \ -+" * Copyright (C) 2013 Takao Fujiwara \n" \ -+" *\n" \ -+" * This library is free software; you can redistribute it and/or\n" \ -+" * modify it under the terms of the GNU Lesser General Public\n" \ -+" * License as published by the Free Software Foundation; either\n" \ -+" * version 2.1 of the License, or (at your option) any later version.\n" \ -+" *\n" \ -+" * This library is distributed in the hope that it will be useful,\n" \ -+" * but WITHOUT ANY WARRANTY; without even the implied warranty of\n" \ -+" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n" \ -+" * Lesser General Public License for more details.\n" \ -+" *\n" \ -+" * You should have received a copy of the GNU Lesser General Public\n" \ -+" * License along with this library; if not, write to the Free Software\n" \ -+" * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301\n" \ -+" * USA\n" \ -+" */\n" \ -+"\n" \ -+"#ifndef __IBUS_COMPOSETABLE_H_\n" \ -+"#define __IBUS_COMPOSETABLE_H_\n" \ -+"\n" \ -+"/* The table is generated by ibus/src/gencomposetable\n" \ -+" *\n" \ -+" * if ibus_compose_seqs_a[N - 1] is an outputed compose character,\n" \ -+" * ibus_compose_seqs_a[N * 2 - 1] is also an outputed compose character.\n" \ -+" * and ibus_compose_seqs_a[0] to ibus_compose_seqs_a[0 + N - 3] are the\n" \ -+" * sequences and call ibus_engine_simple_add_table:\n" \ -+" * ibus_engine_simple_add_table(engine, ibus_compose_seqs_a,\n" \ -+" * N - 2, G_N_ELEMENTS(ibus_compose_seqs_a) / N)\n" \ -+" * The compose sequences are allowed within G_MAXUINT16 */\n" \ -+"\n" \ -+"typedef struct _IBusComposeTable IBusComposeTable;\n" \ -+"struct _IBusComposeTable\n" \ -+"{\n" \ -+" const guint16 *data;\n" \ -+" gint max_seq_len;\n" \ -+" gint n_seqs;\n" \ -+"};\n" \ -+"\n" \ -+"typedef struct _IBusComposeTableLocaleList IBusComposeTableLocaleList;\n" \ -+"struct _IBusComposeTableLocaleList\n" \ -+"{\n" \ -+" const gchar *locale;\n" \ -+" const IBusComposeTable *table;\n" \ -+"};\n" \ -+"" -+ -+#define FOOTER \ -+"#endif" -+ -+#define AM_ET_ARRAY \ -+"static const guint16 ibus_compose_seqs_am_et[] = {\n" \ -+" /* Not sure if am_ET compose file is useful. It uses ASCII key\n" \ -+" * at first but not compose keys.\n" \ -+" * Comment out am_compose_seqs until get the request. */\n" \ -+" 0\n" \ -+"};\n" \ -+"\n" \ -+"static const IBusComposeTable ibus_compose_table_am_et = {\n" \ -+" ibus_compose_seqs_am_et,\n" \ -+" 0,\n" \ -+" 0\n" \ -+"};\n" \ -+"" -+ -+#define PRINT_IBUS_COMPOSE_TABLE_LOCALE(locale, len) \ -+ g_printf ( \ -+"static const IBusComposeTable ibus_compose_table_" #locale " = {\n" \ -+" ibus_compose_seqs_" #locale ",\n" \ -+" %d,\n" \ -+" G_N_ELEMENTS (ibus_compose_seqs_" #locale ") / (%d + 2)\n" \ -+"};\n" \ -+"\n" \ -+"", len, len) -+ -+#define PRINT_LOCALE_AND_IBUS_COMPOSE_TABLE(locale) \ -+ g_printf ( \ -+" { \"" #locale "\", &ibus_compose_table_" #locale " },\n") \ -+ -+#define IS_DEAD_KEY(k) \ -+ ((k) >= IBUS_KEY_dead_grave && (k) <= (IBUS_KEY_dead_dasia + 1)) -+ -+#define GTK_MAX_COMPOSE_LEN 7 -+ -+int MAX_COMPOSE_LEN = 0; -+int N_INDEX_STRIDE = 0; -+ -+const gchar *COMPOSE_FILES[] = { -+ "/usr/share/X11/locale/am_ET.UTF-8/Compose", -+ "/usr/share/X11/locale/el_GR.UTF-8/Compose", -+ "/usr/share/X11/locale/fi_FI.UTF-8/Compose", -+ "/usr/share/X11/locale/pt_BR.UTF-8/Compose", -+ NULL -+}; -+ -+typedef struct _IBusComposeTableCompact IBusComposeTableCompact; -+struct _IBusComposeTableCompact -+{ -+ const guint16 *data; -+ gint max_seq_len; -+ gint n_index_size; -+ gint n_index_stride; -+}; -+ -+static const IBusComposeTableCompact ibus_compose_table_compact = { -+ gtk_compose_seqs_compact, -+ 5, -+ 25, -+ 6 -+}; -+ -+GHashTable *en_keysym_table = NULL; -+ -+static gboolean -+is_codepoint (const gchar *str) -+{ -+ gboolean retval = (strlen (str) > 1 && *str == 'U'); -+ int i; -+ -+ if (!retval) -+ return FALSE; -+ -+ for (i = 1; str[i] != '\0'; i++) { -+ if (g_ascii_isxdigit (str[i])) -+ continue; -+ else -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+static gint -+get_codepoint (const gchar *str) -+{ -+ if (g_str_has_prefix (str, "IBUS_KEY_")) -+ return GPOINTER_TO_INT (g_hash_table_lookup (en_keysym_table, str)); -+ if (*str == '0' && *(str + 1) == '\0') -+ return 0; -+ if (*str == '0' && *(str + 1) == 'x') -+ return (gint) g_ascii_strtoll (str, NULL, 16); -+ -+ g_assert_not_reached (); -+ return 0; -+} -+ -+static GHashTable * -+parse_keysym_file (const gchar *keysym_file) -+{ -+ gchar *contents = NULL; -+ gchar **lines = NULL; -+ gsize length = 0; -+ GError *error = NULL; -+ GHashTable *table = NULL; -+ int i; -+ -+ if (!g_file_get_contents (keysym_file, &contents, &length, &error)) { -+ g_error ("Specify $IBUS_KEYSYMS for the path of ibuskeysyms.h: %s", -+ error->message); -+ g_error_free (error); -+ } -+ -+ table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); -+ -+ lines = g_strsplit (contents, "\n", -1); -+ g_free (contents); -+ -+ for (i = 0; lines[i] != NULL; i++) { -+ const gchar *line = lines[i]; -+ gchar **words; -+ gint length; -+ const gchar *key; -+ gint64 code; -+ -+ if (!g_str_has_prefix (line, "#define")) -+ continue; -+ -+ words = g_strsplit (line , " ", -1); -+ length = g_strv_length (words); -+ -+ g_assert (length >= 2); -+ -+ key = words[1]; -+ -+ /* In case of #define __IBUS_KEYSYMS_H__ */ -+ if (length == 2) { -+ g_assert (!g_str_has_prefix (key, "IBUS_KEY")); -+ continue; -+ } -+ -+ code = g_ascii_strtoll (words[2], NULL, 16); -+ g_hash_table_insert (table, g_strdup (key), GINT_TO_POINTER (code)); -+ g_strfreev (words); -+ } -+ -+ g_strfreev (lines); -+ return table; -+} -+ -+static gboolean -+parse_compose_value (GArray *array, const gchar *val, GError **error) -+{ -+ gchar **words = g_strsplit (val, "\"", 3); -+ gchar *result; -+ gunichar uch; -+ -+ g_assert (g_strv_length (words) >= 3); -+ -+ uch = g_utf8_get_char (words[1]); -+ -+ if (uch == 0) { -+ g_set_error (error, -+ IBUS_ERROR, -+ IBUS_ERROR_FAILED, -+ "Invalid value: %s", val); -+ g_strfreev (words); -+ return FALSE; -+ } -+ else if (uch == '\\') { -+ uch = words[1][1]; -+ -+ /* The escaped string "\"" is separated with '\\' and '"'. */ -+ if (uch == '\0' && words[2][0] == '"') -+ uch = '"'; -+ /* The escaped octal */ -+ else if (uch >= '0' && uch <= '8') -+ uch = g_ascii_strtoll(words[1] + 1, 0, 8); -+ /* If we need to handle other escape sequences. */ -+ else if (uch != '\\') -+ g_assert_not_reached (); -+ } -+ else if (g_utf8_get_char (g_utf8_next_char (words[1])) > 0) { -+ g_set_error (error, -+ IBUS_ERROR, -+ IBUS_ERROR_FAILED, -+ "GTK+ supports to output one char only: %s", val); -+ g_strfreev (words); -+ return FALSE; -+ } -+ -+ -+ result = g_strdup_printf ("0x%04X", uch); -+ g_array_append_val (array, result); -+ -+ if (uch == '"') -+ result = g_strdup (g_strstrip (words[2] + 1)); -+ else -+ result = g_strdup (g_strstrip (words[2])); -+ -+ g_array_append_val (array, result); -+ g_strfreev (words); -+ -+ return TRUE; -+} -+ -+static void -+parse_compose_sequence (GArray *array, const gchar *seq) -+{ -+ gchar **words = g_strsplit (seq, "<", -1); -+ gchar *result; -+ int i; -+ int n = 0; -+ -+ g_assert (g_strv_length (words) >= 2); -+ -+ for (i = 1; words[i] != NULL; i++) { -+ gchar *start = words[i]; -+ gchar *end = index (words[i], '>'); -+ gchar *match; -+ -+ if (words[i][0] == '\0') -+ continue; -+ -+ g_assert (start != NULL && end != NULL && end > start); -+ -+ match = g_strndup (start, end - start); -+ -+ if (is_codepoint (match)) { -+ gint64 code = g_ascii_strtoll (match + 1, NULL, 16); -+ result = g_strdup_printf ("0x%04X", (unsigned int) code); -+ } else -+ result = g_strdup_printf ("IBUS_KEY_%s", match); -+ -+ g_free (match); -+ g_array_append_val (array, result); -+ n++; -+ } -+ -+ g_strfreev (words); -+ g_assert (0 < n && n < GTK_MAX_COMPOSE_LEN); -+ -+ result = g_strdup ("0"); -+ g_array_append_val (array, result); -+} -+ -+static void -+clear_char_array (gpointer data) -+{ -+ gchar **array = data; -+ g_free (*array); -+} -+ -+static void -+parse_compose_line (GList **compose_table, const gchar *line) -+{ -+ gchar **components = NULL; -+ GArray *array; -+ GError *error = NULL; -+ -+ if (line[0] == '\0' || line[0] == '#') -+ return; -+ -+ if (g_str_has_prefix (line, "include ")) -+ return; -+ -+ components = g_strsplit (line, ":", 2); -+ -+ if (components[1] == NULL) { -+ g_warning ("No delimiter ':': %s", line); -+ g_strfreev (components); -+ return; -+ } -+ -+ array = g_array_new (TRUE, TRUE, sizeof (gchar *)); -+ g_array_set_clear_func (array, clear_char_array); -+ -+ parse_compose_sequence (array, g_strstrip (components[0])); -+ -+ if (!parse_compose_value (array, g_strstrip (components[1]), &error)) { -+ g_warning ("%s: %s", error->message, line); -+ g_clear_error (&error); -+ g_strfreev (components); -+ g_array_unref (array); -+ return; -+ } -+ -+ g_strfreev (components); -+ -+ *compose_table = g_list_append (*compose_table, array); -+} -+ -+static GList * -+parse_compose_file (const gchar *compose_file) -+{ -+ gchar *contents = NULL; -+ gchar **lines = NULL; -+ gsize length = 0; -+ GError *error = NULL; -+ GList *compose_table = NULL; -+ int i; -+ -+ if (!g_file_get_contents (compose_file, &contents, &length, &error)) { -+ g_error ("%s", error->message); -+ g_error_free (error); -+ } -+ -+ lines = g_strsplit (contents, "\n", -1); -+ g_free (contents); -+ for (i = 0; lines[i] != NULL; i++) -+ parse_compose_line (&compose_table, lines[i]); -+ g_strfreev (lines); -+ -+ return compose_table; -+} -+ -+static int -+compare_seq_index (const void *key, const void *value) -+{ -+ const guint *keysyms = key; -+ const guint16 *seq = value; -+ -+ if (keysyms[0] < seq[0]) -+ return -1; -+ else if (keysyms[0] > seq[0]) -+ return 1; -+ return 0; -+} -+ -+static int -+compare_seq (const void *key, const void *value) -+{ -+ int i = 0; -+ const guint *keysyms = key; -+ const guint16 *seq = value; -+ -+ while (keysyms[i]) { -+ if (keysyms[i] < seq[i]) -+ return -1; -+ else if (keysyms[i] > seq[i]) -+ return 1; -+ -+ i++; -+ } -+ -+ return 0; -+} -+ -+/* Implement check_compact_table() in ibus/src/ibusenginesimple.c -+ */ -+static gboolean -+check_compact_table (const guint *compose_buffer, -+ const IBusComposeTableCompact *table, -+ gint n_compose) -+{ -+ gint row_stride; -+ guint16 *seq_index; -+ guint16 *seq; -+ gint i; -+ -+ seq_index = bsearch (compose_buffer, -+ table->data, -+ table->n_index_size, -+ sizeof (guint16) * table->n_index_stride, -+ compare_seq_index); -+ -+ if (seq_index == NULL) { -+ // g_debug ("compact: no\n"); -+ return FALSE; -+ } -+ -+ seq = NULL; -+ i = n_compose - 1; -+ -+ if (i >= table->max_seq_len) { -+ return FALSE; -+ } -+ -+ row_stride = i + 1; -+ -+ if (seq_index[i + 1] <= seq_index[i]) { -+ return FALSE; -+ } -+ -+ seq = bsearch (compose_buffer + 1, -+ table->data + seq_index[i], -+ (seq_index[i + 1] - seq_index[i]) / row_stride, -+ sizeof (guint16) * row_stride, -+ compare_seq); -+ // g_debug ("seq = %p", seq); -+ -+ if (!seq) { -+ // g_debug ("no\n"); -+ return FALSE; -+ } -+ else { -+ gunichar value = seq[row_stride - 1]; -+ // g_debug ("U+%04X\n", value); -+ if (compose_buffer[n_compose + 1] == value) -+ return TRUE; -+ else -+ return FALSE; -+ } -+} -+ -+static gboolean -+check_normalize_nfc (gunichar* combination_buffer, gint n_compose) -+{ -+ gunichar combination_buffer_temp[GTK_MAX_COMPOSE_LEN]; -+ gchar *combination_utf8_temp = NULL; -+ gchar *nfc_temp = NULL; -+ gint n_combinations; -+ gunichar temp_swap; -+ gint i; -+ -+ n_combinations = 1; -+ -+ for (i = 1; i < n_compose; i++ ) -+ n_combinations *= i; -+ -+ if (combination_buffer[0] >= 0x390 && combination_buffer[0] <= 0x3FF) { -+ for (i = 1; i < n_compose; i++ ) -+ if (combination_buffer[i] == 0x303) -+ combination_buffer[i] = 0x342; -+ } -+ -+ memcpy (combination_buffer_temp, combination_buffer, -+ GTK_MAX_COMPOSE_LEN * sizeof (gunichar) ); -+ -+ for (i = 0; i < n_combinations; i++ ) { -+ g_unicode_canonical_ordering (combination_buffer_temp, n_compose); -+ combination_utf8_temp = g_ucs4_to_utf8 (combination_buffer_temp, -+ -1, NULL, NULL, NULL); -+ nfc_temp = g_utf8_normalize (combination_utf8_temp, -1, -+ G_NORMALIZE_NFC); -+ -+ if (g_utf8_strlen (nfc_temp, -1) == 1) { -+ memcpy (combination_buffer, -+ combination_buffer_temp, -+ GTK_MAX_COMPOSE_LEN * sizeof (gunichar) ); -+ -+ g_free (combination_utf8_temp); -+ g_free (nfc_temp); -+ -+ return TRUE; -+ } -+ -+ g_free (combination_utf8_temp); -+ g_free (nfc_temp); -+ -+ if (n_compose > 2) { -+ temp_swap = combination_buffer_temp[i % (n_compose - 1) + 1]; -+ combination_buffer_temp[i % (n_compose - 1) + 1] = -+ combination_buffer_temp[(i+1) % (n_compose - 1) + 1]; -+ combination_buffer_temp[(i+1) % (n_compose - 1) + 1] = temp_swap; -+ } -+ else -+ break; -+ } -+ -+ return FALSE; -+} -+ -+/* Implement check_algorithmically() in ibus/src/ibusenginesimple.c -+ */ -+static gboolean -+check_algorithmically (const guint *compose_buffer, -+ gint n_compose) -+{ -+ int i = 0; -+ gunichar combination_buffer[GTK_MAX_COMPOSE_LEN]; -+ gchar *combination_utf8, *nfc; -+ -+ if (n_compose >= GTK_MAX_COMPOSE_LEN) -+ return FALSE; -+ -+ for (i = 0; i < n_compose && IS_DEAD_KEY (compose_buffer[i]); i++) -+ ; -+ if (i == n_compose) -+ return FALSE; -+ -+ if (i > 0 && i == n_compose - 1) { -+ combination_buffer[0] = ibus_keyval_to_unicode (compose_buffer[i]); -+ combination_buffer[n_compose] = 0; -+ i--; -+ -+ while (i >= 0) { -+ switch (compose_buffer[i]) { -+#define CASE(keysym, unicode) \ -+ case IBUS_KEY_dead_##keysym: combination_buffer[i+1] = unicode; \ -+ break -+ -+ CASE (grave, 0x0300); -+ CASE (acute, 0x0301); -+ CASE (circumflex, 0x0302); -+ CASE (tilde, 0x0303); -+ CASE (macron, 0x0304); -+ CASE (breve, 0x0306); -+ CASE (abovedot, 0x0307); -+ CASE (diaeresis, 0x0308); -+ CASE (hook, 0x0309); -+ CASE (abovering, 0x030A); -+ CASE (doubleacute, 0x030B); -+ CASE (caron, 0x030C); -+ CASE (abovecomma, 0x0313); -+ CASE (abovereversedcomma, 0x0314); -+ CASE (horn, 0x031B); -+ CASE (belowdot, 0x0323); -+ CASE (cedilla, 0x0327); -+ CASE (ogonek, 0x0328); -+ CASE (iota, 0x0345); -+ CASE (voiced_sound, 0x3099); -+ CASE (semivoiced_sound, 0x309A); -+ -+ /* The following cases are to be removed once xkeyboard-config, -+ * xorg are fully updated. -+ */ -+ /* Workaround for typo in 1.4.x xserver-xorg */ -+ case 0xfe66: combination_buffer[i+1] = 0x314; break; -+ /* CASE (dasia, 0x314); */ -+ /* CASE (perispomeni, 0x342); */ -+ /* CASE (psili, 0x343); */ -+#undef CASE -+ default: -+ combination_buffer[i+1] = -+ ibus_keyval_to_unicode (compose_buffer[i]); -+ } -+ i--; -+ } -+ -+ if (check_normalize_nfc (combination_buffer, n_compose)) { -+ gunichar value; -+ -+ combination_utf8 = g_ucs4_to_utf8 (combination_buffer, -+ -1, NULL, NULL, NULL); -+ nfc = g_utf8_normalize (combination_utf8, -1, G_NORMALIZE_NFC); -+ -+ value = g_utf8_get_char (nfc); -+ g_free (combination_utf8); -+ g_free (nfc); -+ -+ if (compose_buffer[n_compose + 1] == value) -+ return TRUE; -+ } -+ } -+ -+ return FALSE; -+} -+ -+static GList * -+check_duplicated_compose (GList *compose_table) -+{ -+ GList *table; -+ GList *removed_table = NULL; -+ -+ for (table = compose_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ static guint keysyms[GTK_MAX_COMPOSE_LEN + 2]; -+ int i; -+ int n_compose = 0; -+ -+ for (i = 0; i <= GTK_MAX_COMPOSE_LEN + 2; i++) { -+ keysyms[i] = 0; -+ } -+ -+ for (i = 0; i < array->len; i++) { -+ const gchar *data = g_array_index (array, const gchar *, i); -+ guint codepoint = (guint) get_codepoint (data); -+ -+ keysyms[i] = codepoint; -+ -+ if (codepoint == 0) { -+ data = g_array_index (array, const gchar *, i + 1); -+ codepoint = (guint) get_codepoint (data); -+ keysyms[i + 1] = codepoint; -+ break; -+ } -+ -+ n_compose++; -+ } -+ -+ if (check_compact_table (keysyms, -+ &ibus_compose_table_compact, -+ n_compose)) -+ removed_table = g_list_append (removed_table, array); -+ -+ else if (check_algorithmically (keysyms, n_compose)) -+ removed_table = g_list_append (removed_table, array); -+ } -+ -+ for (table = removed_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ compose_table = g_list_remove (compose_table, array); -+ g_array_unref (array); -+ } -+ -+ g_list_free (removed_table); -+ -+ return compose_table; -+} -+ -+static GList * -+check_uint16 (GList *compose_table) -+{ -+ GList *table; -+ GList *removed_table = NULL; -+ -+ for (table = compose_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ int i; -+ -+ for (i = 0; i < array->len; i++) { -+ const gchar *data = g_array_index (array, const gchar *, i); -+ guint codepoint = (guint) get_codepoint (data); -+ -+ if (codepoint == 0) -+ break; -+ -+ if (codepoint > 0xffff) { -+ removed_table = g_list_append (removed_table, array); -+ break; -+ } -+ } -+ } -+ -+ for (table = removed_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ compose_table = g_list_remove (compose_table, array); -+ g_array_unref (array); -+ } -+ -+ g_list_free (removed_table); -+ -+ return compose_table; -+} -+ -+static GList * -+format_for_gtk (GList *compose_table) -+{ -+ GList *table; -+ GList *new_table = NULL; -+ int i; -+ int j; -+ -+ for (table = compose_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ -+ for (i = 0; i < array->len; i++) { -+ const gchar *data = g_array_index (array, const gchar *, i); -+ guint codepoint = (guint) get_codepoint (data); -+ -+ if (codepoint == 0) { -+ if (MAX_COMPOSE_LEN < i) -+ MAX_COMPOSE_LEN = i; -+ break; -+ } -+ } -+ } -+ -+ N_INDEX_STRIDE = MAX_COMPOSE_LEN + 2; -+ -+ for (table = compose_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ for (i = 0; i < array->len; i++) { -+ const gchar *data = g_array_index (array, const gchar *, i); -+ guint codepoint = (guint) get_codepoint (data); -+ -+ if (codepoint == 0) { -+ gchar *value = g_strdup (g_array_index (array, const gchar *, -+ i + 1)); -+ gchar *comment = g_strdup (g_array_index (array, const gchar *, -+ i + 2)); -+ gchar *result; -+ -+ g_array_remove_range (array, i, array->len - i); -+ -+ for (j = i; j < MAX_COMPOSE_LEN; j++) { -+ result = g_strdup ("0"); -+ g_array_append_val (array, result); -+ } -+ -+ codepoint = (guint) get_codepoint (value); -+ g_free (value); -+ -+ if (codepoint > 0xffff) { -+ result = g_strdup_printf ("0x%04X", codepoint / 0x10000); -+ g_array_append_val (array, result); -+ result = g_strdup_printf ("0x%04X", -+ codepoint - codepoint / 0x10000 * 0x10000); -+ g_array_append_val (array, result); -+ } else { -+ result = g_strdup ("0"); -+ g_array_append_val (array, result); -+ result = g_strdup_printf ("0x%04X", codepoint); -+ g_array_append_val (array, result); -+ } -+ -+ g_array_append_val (array, comment); -+ new_table = g_list_append (new_table, array); -+ break; -+ } -+ } -+ } -+ -+ return new_table; -+} -+ -+static gint -+compare_array (gpointer a, gpointer b) -+{ -+ GArray *array_a = (GArray *) a; -+ GArray *array_b = (GArray *) b; -+ int i; -+ for (i = 0; i < MAX_COMPOSE_LEN; i++) { -+ const gchar *data_a = g_array_index (array_a, const gchar *, i); -+ const gchar *data_b = g_array_index (array_b, const gchar *, i); -+ gint code_a = get_codepoint (data_a); -+ gint code_b = get_codepoint (data_b); -+ -+ if (code_a != code_b) -+ return code_a - code_b; -+ } -+ return 0; -+} -+ -+static void -+print_compose_table (GList *compose_table) -+{ -+ GList *table; -+ int i; -+ int TOTAL_SIZE = 0; -+ -+ for (table = compose_table; table != NULL; table = table->next) { -+ GArray *array = (GArray *) table->data; -+ const gchar *data; -+ const gchar *upper; -+ const gchar *lower; -+ const gchar *comment; -+ -+ g_assert (array->len >= MAX_COMPOSE_LEN + 2); -+ -+ g_printf (" "); -+ for (i = 0; i < MAX_COMPOSE_LEN; i++) { -+ data = g_array_index (array, const gchar *, i); -+ -+ if (i == MAX_COMPOSE_LEN -1) -+ g_printf ("%s,\n", data); -+ else -+ g_printf ("%s, ", data); -+ } -+ upper = g_array_index (array, const gchar *, i); -+ lower = g_array_index (array, const gchar *, i + 1); -+ comment = g_array_index (array, const gchar *, i + 2); -+ -+ if (table == g_list_last (compose_table)) -+ g_printf (" %s, %s /* %s */\n", upper, lower, comment); -+ else -+ g_printf (" %s, %s, /* %s */\n", upper, lower, comment); -+ -+ TOTAL_SIZE += N_INDEX_STRIDE; -+ } -+ -+ g_printerr ("TOTAL_SIZE: %d\nMAX_COMPOSE_LEN: %d\nN_INDEX_STRIDE: %d\n", -+ TOTAL_SIZE, MAX_COMPOSE_LEN, N_INDEX_STRIDE); -+} -+ -+static void -+print_compose_table_locale_list (void) { -+ int i; -+ -+#define HEADER_IBUS_COMPOSE_TABLE_LOCLE_LIST \ -+ "static const IBusComposeTableLocaleList ibus_compose_table_locale_list[] = {" -+ -+ g_printf ("%s\n", HEADER_IBUS_COMPOSE_TABLE_LOCLE_LIST); -+ -+ for (i = 0; COMPOSE_FILES[i] != NULL; i++) { -+ const gchar *compose_file = COMPOSE_FILES[i]; -+ -+ if (g_strstr_len (compose_file, -1, "am_ET") != NULL) -+ continue; -+ else if (g_strstr_len (compose_file, -1, "el_GR") != NULL) -+ PRINT_LOCALE_AND_IBUS_COMPOSE_TABLE (el_gr); -+ else if (g_strstr_len (compose_file, -1, "fi_FI") != NULL) -+ PRINT_LOCALE_AND_IBUS_COMPOSE_TABLE (fi_fi); -+ else if (g_strstr_len (compose_file, -1, "pt_BR") != NULL) -+ PRINT_LOCALE_AND_IBUS_COMPOSE_TABLE (pt_br); -+ else -+ g_assert_not_reached (); -+ } -+ -+ g_printf (" { NULL, NULL }\n};\n\n"); -+}; -+ -+int -+main (int argc, char *argv[]) -+{ -+ int i; -+ const gchar *en_keysym_file; -+ const gchar *compose_file; -+ GList *compose_table = NULL; -+ -+ setlocale (LC_ALL, ""); -+ -+ en_keysym_file = g_getenv ("IBUS_KEYSYMS"); -+ -+ if (en_keysym_file == NULL) { -+ en_keysym_file = "ibuskeysyms.h"; -+ } -+ -+ en_keysym_table = parse_keysym_file (en_keysym_file); -+ -+ g_printf ("%s\n", HEADER); -+ -+ for (i = 0; COMPOSE_FILES[i] != NULL; i++) { -+ compose_file = COMPOSE_FILES[i]; -+ -+ MAX_COMPOSE_LEN = 0; -+ N_INDEX_STRIDE = 0; -+ -+ if (g_strstr_len (compose_file, -1, "am_ET") != NULL) { -+ g_printf ("%s\n", AM_ET_ARRAY); -+ continue; -+ } -+ else if (g_strstr_len (compose_file, -1, "el_GR") != NULL) { -+ g_printerr ("Generating ibus_compose_seqs_el_gr ...\n"); -+ g_printf ("static const guint16 ibus_compose_seqs_el_gr[] = {\n"); -+ } -+ else if (g_strstr_len (compose_file, -1, "fi_FI") != NULL) { -+ g_printerr ("Generating ibus_compose_seqs_fi_fi ...\n"); -+ g_printf ("static const guint16 ibus_compose_seqs_fi_fi[] = {\n"); -+ } -+ else if (g_strstr_len (compose_file, -1, "pt_BR") != NULL) { -+ g_printerr ("Generating ibus_compose_seqs_pt_br ...\n"); -+ g_printf ("static const guint16 ibus_compose_seqs_pt_br[] = {\n"); -+ } -+ else -+ g_assert_not_reached (); -+ -+ compose_table = parse_compose_file (compose_file); -+ compose_table = check_duplicated_compose (compose_table); -+ compose_table = check_uint16 (compose_table); -+ compose_table = format_for_gtk (compose_table); -+ compose_table = g_list_sort (compose_table, -+ (GCompareFunc) compare_array); -+ -+ print_compose_table (compose_table); -+ -+ g_printf ("};\n\n"); -+ -+ if (g_strstr_len (compose_file, -1, "el_GR") != NULL) -+ PRINT_IBUS_COMPOSE_TABLE_LOCALE (el_gr, MAX_COMPOSE_LEN); -+ else if (g_strstr_len (compose_file, -1, "fi_FI") != NULL) -+ PRINT_IBUS_COMPOSE_TABLE_LOCALE (fi_fi, MAX_COMPOSE_LEN); -+ else if (g_strstr_len (compose_file, -1, "pt_BR") != NULL) -+ PRINT_IBUS_COMPOSE_TABLE_LOCALE (pt_br, MAX_COMPOSE_LEN); -+ else -+ g_assert_not_reached (); -+ -+ g_list_free_full (compose_table, (GDestroyNotify) g_array_unref); -+ } -+ -+ print_compose_table_locale_list (); -+ -+ g_printf ("%s\n", FOOTER); -+ -+ g_hash_table_destroy (en_keysym_table); -+ -+ return 0; -+} -diff --git a/src/gtkimcontextsimpleseqs.h b/src/gtkimcontextsimpleseqs.h -index df09def..4198a3a 100644 ---- a/src/gtkimcontextsimpleseqs.h -+++ b/src/gtkimcontextsimpleseqs.h -@@ -65,30 +65,31 @@ - */ - - static const guint16 gtk_compose_seqs_compact[] = { --IBUS_KEY_dead_stroke, 144, 232, 241, 241, 241, --IBUS_KEY_Greek_accentdieresis, 241, 245, 245, 245, 245, --IBUS_KEY_dead_grave, 245, 307, 394, 606, 606, --IBUS_KEY_dead_acute, 606, 670, 766, 1042, 1042, --IBUS_KEY_dead_circumflex, 1042, 1166, 1166, 1366, 1366, --IBUS_KEY_dead_tilde, 1366, 1450, 1513, 1653, 1653, --IBUS_KEY_dead_macron, 1653, 1699, 1699, 1771, 1771, --IBUS_KEY_dead_breve, 1771, 1821, 1821, 1845, 1845, --IBUS_KEY_dead_abovedot, 1845, 1875, 1878, 1910, 1910, --IBUS_KEY_dead_diaeresis, 1910, 1998, 2007, 2031, 2031, --IBUS_KEY_dead_abovering, 2031, 2041, 2041, 2041, 2041, --IBUS_KEY_dead_doubleacute, 2041, 2051, 2051, 2051, 2051, --IBUS_KEY_dead_caron, 2051, 2093, 2093, 2101, 2101, --IBUS_KEY_dead_cedilla, 2101, 2113, 2113, 2113, 2113, --IBUS_KEY_dead_ogonek, 2113, 2123, 2123, 2123, 2123, --IBUS_KEY_dead_iota, 2123, 2145, 2244, 2676, 3336, --IBUS_KEY_dead_voiced_sound, 3336, 3382, 3382, 3382, 3382, --IBUS_KEY_dead_semivoiced_sound, 3382, 3392, 3392, 3392, 3392, --IBUS_KEY_dead_belowdot, 3392, 3408, 3408, 3424, 3424, --IBUS_KEY_dead_hook, 3424, 3500, 3500, 3556, 3556, --IBUS_KEY_dead_horn, 3556, 3566, 3566, 3566, 3566, --IBUS_KEY_dead_psili, 3566, 3594, 3594, 3594, 3594, --IBUS_KEY_dead_dasia, 3594, 3626, 3626, 3626, 3626, --IBUS_KEY_Multi_key, 3626, 3626, 9566, 13274, 15139, -+IBUS_KEY_dead_stroke, 150, 238, 250, 250, 250, -+IBUS_KEY_Greek_accentdieresis, 250, 254, 254, 254, 254, -+IBUS_KEY_dead_grave, 254, 316, 403, 615, 615, -+IBUS_KEY_dead_acute, 615, 679, 775, 1051, 1051, -+IBUS_KEY_dead_circumflex, 1051, 1175, 1175, 1375, 1375, -+IBUS_KEY_dead_tilde, 1375, 1459, 1522, 1662, 1662, -+IBUS_KEY_dead_macron, 1662, 1708, 1726, 1798, 1798, -+IBUS_KEY_dead_breve, 1798, 1848, 1848, 1872, 1872, -+IBUS_KEY_dead_abovedot, 1872, 1902, 1905, 1941, 1941, -+IBUS_KEY_dead_diaeresis, 1941, 2029, 2038, 2062, 2062, -+IBUS_KEY_dead_abovering, 2062, 2072, 2072, 2072, 2072, -+IBUS_KEY_dead_doubleacute, 2072, 2082, 2082, 2082, 2082, -+IBUS_KEY_dead_caron, 2082, 2124, 2124, 2132, 2132, -+IBUS_KEY_dead_cedilla, 2132, 2144, 2144, 2144, 2144, -+IBUS_KEY_dead_ogonek, 2144, 2154, 2154, 2154, 2154, -+IBUS_KEY_dead_iota, 2154, 2176, 2275, 2707, 3367, -+IBUS_KEY_dead_voiced_sound, 3367, 3413, 3413, 3413, 3413, -+IBUS_KEY_dead_semivoiced_sound, 3413, 3423, 3423, 3423, 3423, -+IBUS_KEY_dead_belowdot, 3423, 3439, 3439, 3455, 3455, -+IBUS_KEY_dead_hook, 3455, 3533, 3536, 3592, 3592, -+IBUS_KEY_dead_horn, 3592, 3602, 3602, 3602, 3602, -+IBUS_KEY_dead_psili, 3602, 3630, 3630, 3630, 3630, -+IBUS_KEY_dead_dasia, 3630, 3662, 3662, 3662, 3662, -+IBUS_KEY_dead_greek, 3662, 3764, 3788, 3788, 3788, -+IBUS_KEY_Multi_key, 3788, 3788, 10241, 13949, 15824, - IBUS_KEY_space, 0x002F, - IBUS_KEY_2, 0x01BB, - IBUS_KEY_A, 0x023A, -@@ -136,6 +137,7 @@ IBUS_KEY_greaterthanequal, 0x2271, - IBUS_KEY_dead_acute, IBUS_KEY_O, 0x01FE, - IBUS_KEY_dead_acute, IBUS_KEY_o, 0x01FF, - IBUS_KEY_dead_abovedot, IBUS_KEY_j, 0x025F, -+IBUS_KEY_dead_greek, IBUS_KEY_r, 0x03FC, - IBUS_KEY_Greek_iota, 0x0390, - IBUS_KEY_Greek_upsilon, 0x03B0, - IBUS_KEY_space, 0x0060, -@@ -617,6 +619,12 @@ IBUS_KEY_Greek_alpha, 0x1FB1, - IBUS_KEY_Greek_iota, 0x1FD1, - IBUS_KEY_Greek_upsilon, 0x1FE1, - IBUS_KEY_dead_macron, 0x00AF, -+IBUS_KEY_dead_greek, IBUS_KEY_A, 0x1FB9, -+IBUS_KEY_dead_greek, IBUS_KEY_I, 0x1FD9, -+IBUS_KEY_dead_greek, IBUS_KEY_U, 0x1FE9, -+IBUS_KEY_dead_greek, IBUS_KEY_a, 0x1FB1, -+IBUS_KEY_dead_greek, IBUS_KEY_i, 0x1FD1, -+IBUS_KEY_dead_greek, IBUS_KEY_u, 0x1FE1, - IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_L, 0x1E38, - IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_R, 0x1E5C, - IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_l, 0x1E39, -@@ -688,6 +696,7 @@ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_S, 0x1E64, - IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_s, 0x1E65, - IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_S, 0x1E66, - IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_s, 0x1E67, -+IBUS_KEY_Multi_key, IBUS_KEY_f, IBUS_KEY_s, 0x1E9B, - IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_S, 0x1E64, - IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_s, 0x1E65, - IBUS_KEY_space, 0x0022, -@@ -1136,6 +1145,7 @@ IBUS_KEY_m, 0x0271, - IBUS_KEY_n, 0x0272, - IBUS_KEY_p, 0x01A5, - IBUS_KEY_q, 0x02A0, -+IBUS_KEY_r, 0x027C, - IBUS_KEY_s, 0x0282, - IBUS_KEY_t, 0x01AD, - IBUS_KEY_v, 0x028B, -@@ -1149,6 +1159,7 @@ IBUS_KEY_abreve, 0x1EB3, - 0x025F, 0x0284, - 0x0279, 0x027B, - IBUS_KEY_dead_hook, 0x0309, -+IBUS_KEY_dead_greek, IBUS_KEY_U, 0x03D2, - IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDE, - IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEC, - IBUS_KEY_Multi_key, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDF, -@@ -1198,6 +1209,65 @@ IBUS_KEY_Greek_omicron, 0x1F41, - IBUS_KEY_Greek_rho, 0x1FE5, - IBUS_KEY_Greek_upsilon, 0x1F51, - IBUS_KEY_Greek_omega, 0x1F61, -+IBUS_KEY_space, 0x00B5, -+IBUS_KEY_A, 0x0391, -+IBUS_KEY_B, 0x0392, -+IBUS_KEY_D, 0x0394, -+IBUS_KEY_E, 0x0395, -+IBUS_KEY_F, 0x03A6, -+IBUS_KEY_G, 0x0393, -+IBUS_KEY_H, 0x0397, -+IBUS_KEY_I, 0x0399, -+IBUS_KEY_J, 0x0398, -+IBUS_KEY_K, 0x039A, -+IBUS_KEY_L, 0x039B, -+IBUS_KEY_M, 0x039C, -+IBUS_KEY_N, 0x039D, -+IBUS_KEY_O, 0x039F, -+IBUS_KEY_P, 0x03A0, -+IBUS_KEY_Q, 0x03A7, -+IBUS_KEY_R, 0x03A1, -+IBUS_KEY_S, 0x03A3, -+IBUS_KEY_T, 0x03A4, -+IBUS_KEY_U, 0x03A5, -+IBUS_KEY_W, 0x03A9, -+IBUS_KEY_X, 0x039E, -+IBUS_KEY_Y, 0x03A8, -+IBUS_KEY_Z, 0x0396, -+IBUS_KEY_a, 0x03B1, -+IBUS_KEY_b, 0x03B2, -+IBUS_KEY_d, 0x03B4, -+IBUS_KEY_e, 0x03B5, -+IBUS_KEY_f, 0x03C6, -+IBUS_KEY_g, 0x03B3, -+IBUS_KEY_h, 0x03B7, -+IBUS_KEY_i, 0x03B9, -+IBUS_KEY_j, 0x03B8, -+IBUS_KEY_k, 0x03BA, -+IBUS_KEY_l, 0x03BB, -+IBUS_KEY_m, 0x03BC, -+IBUS_KEY_n, 0x03BD, -+IBUS_KEY_o, 0x03BF, -+IBUS_KEY_p, 0x03C0, -+IBUS_KEY_q, 0x03C7, -+IBUS_KEY_r, 0x03C1, -+IBUS_KEY_s, 0x03C3, -+IBUS_KEY_t, 0x03C4, -+IBUS_KEY_u, 0x03C5, -+IBUS_KEY_w, 0x03C9, -+IBUS_KEY_x, 0x03BE, -+IBUS_KEY_y, 0x03C8, -+IBUS_KEY_z, 0x03B6, -+IBUS_KEY_nobreakspace, 0x00B5, -+IBUS_KEY_dead_greek, 0x00B5, -+IBUS_KEY_dead_stroke, IBUS_KEY_r, 0x03FC, -+IBUS_KEY_dead_macron, IBUS_KEY_A, 0x1FB9, -+IBUS_KEY_dead_macron, IBUS_KEY_I, 0x1FD9, -+IBUS_KEY_dead_macron, IBUS_KEY_U, 0x1FE9, -+IBUS_KEY_dead_macron, IBUS_KEY_a, 0x1FB1, -+IBUS_KEY_dead_macron, IBUS_KEY_i, 0x1FD1, -+IBUS_KEY_dead_macron, IBUS_KEY_u, 0x1FE1, -+IBUS_KEY_dead_hook, IBUS_KEY_U, 0x03D2, - IBUS_KEY_space, IBUS_KEY_space, 0x00A0, - IBUS_KEY_space, IBUS_KEY_apostrophe, 0x0027, - IBUS_KEY_space, IBUS_KEY_parenleft, 0x02D8, -@@ -1255,7 +1325,6 @@ IBUS_KEY_exclam, IBUS_KEY_z, 0x1E93, - IBUS_KEY_quotedbl, IBUS_KEY_quotedbl, 0x00A8, - IBUS_KEY_quotedbl, IBUS_KEY_apostrophe, 0x0344, - IBUS_KEY_quotedbl, IBUS_KEY_comma, 0x201E, --IBUS_KEY_quotedbl, IBUS_KEY_slash, 0x301E, - IBUS_KEY_quotedbl, IBUS_KEY_less, 0x201C, - IBUS_KEY_quotedbl, IBUS_KEY_greater, 0x201D, - IBUS_KEY_quotedbl, IBUS_KEY_A, 0x00C4, -@@ -1267,7 +1336,6 @@ IBUS_KEY_quotedbl, IBUS_KEY_U, 0x00DC, - IBUS_KEY_quotedbl, IBUS_KEY_W, 0x1E84, - IBUS_KEY_quotedbl, IBUS_KEY_X, 0x1E8C, - IBUS_KEY_quotedbl, IBUS_KEY_Y, 0x0178, --IBUS_KEY_quotedbl, IBUS_KEY_backslash, 0x301D, - IBUS_KEY_quotedbl, IBUS_KEY_a, 0x00E4, - IBUS_KEY_quotedbl, IBUS_KEY_e, 0x00EB, - IBUS_KEY_quotedbl, IBUS_KEY_h, 0x1E27, -@@ -1316,8 +1384,12 @@ IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x03CA, - IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x03CB, - IBUS_KEY_quotedbl, IBUS_KEY_dead_acute, 0x0344, - IBUS_KEY_numbersign, IBUS_KEY_numbersign, 0x266F, -+IBUS_KEY_numbersign, IBUS_KEY_E, 0x266B, -+IBUS_KEY_numbersign, IBUS_KEY_S, 0x266C, - IBUS_KEY_numbersign, IBUS_KEY_b, 0x266D, -+IBUS_KEY_numbersign, IBUS_KEY_e, 0x266A, - IBUS_KEY_numbersign, IBUS_KEY_f, 0x266E, -+IBUS_KEY_numbersign, IBUS_KEY_q, 0x2669, - IBUS_KEY_percent, IBUS_KEY_o, 0x2030, - IBUS_KEY_apostrophe, IBUS_KEY_space, 0x0027, - IBUS_KEY_apostrophe, IBUS_KEY_apostrophe, 0x00B4, -@@ -1433,6 +1505,7 @@ IBUS_KEY_apostrophe, 0x1F60, 0x1F64, - IBUS_KEY_apostrophe, 0x1F61, 0x1F65, - IBUS_KEY_apostrophe, 0x1F68, 0x1F6C, - IBUS_KEY_apostrophe, 0x1F69, 0x1F6D, -+IBUS_KEY_apostrophe, 0x2395, 0x235E, - IBUS_KEY_parenleft, IBUS_KEY_space, 0x02D8, - IBUS_KEY_parenleft, IBUS_KEY_parenleft, 0x005B, - IBUS_KEY_parenleft, IBUS_KEY_minus, 0x007B, -@@ -1479,6 +1552,8 @@ IBUS_KEY_asterisk, IBUS_KEY_A, 0x00C5, - IBUS_KEY_asterisk, IBUS_KEY_U, 0x016E, - IBUS_KEY_asterisk, IBUS_KEY_a, 0x00E5, - IBUS_KEY_asterisk, IBUS_KEY_u, 0x016F, -+IBUS_KEY_asterisk, IBUS_KEY_diaeresis, 0x2363, -+IBUS_KEY_asterisk, IBUS_KEY_emopencircle, 0x235F, - IBUS_KEY_plus, IBUS_KEY_plus, 0x0023, - IBUS_KEY_plus, IBUS_KEY_minus, 0x00B1, - IBUS_KEY_plus, IBUS_KEY_O, 0x01A0, -@@ -1523,6 +1598,7 @@ IBUS_KEY_minus, IBUS_KEY_parenleft, 0x007B, - IBUS_KEY_minus, IBUS_KEY_parenright, 0x007D, - IBUS_KEY_minus, IBUS_KEY_plus, 0x00B1, - IBUS_KEY_minus, IBUS_KEY_comma, 0x00AC, -+IBUS_KEY_minus, IBUS_KEY_slash, 0x233F, - IBUS_KEY_minus, IBUS_KEY_colon, 0x00F7, - IBUS_KEY_minus, IBUS_KEY_greater, 0x2192, - IBUS_KEY_minus, IBUS_KEY_A, 0x00C3, -@@ -1534,6 +1610,7 @@ IBUS_KEY_minus, IBUS_KEY_N, 0x00D1, - IBUS_KEY_minus, IBUS_KEY_O, 0x00D5, - IBUS_KEY_minus, IBUS_KEY_U, 0x016A, - IBUS_KEY_minus, IBUS_KEY_Y, 0x00A5, -+IBUS_KEY_minus, IBUS_KEY_backslash, 0x2340, - IBUS_KEY_minus, IBUS_KEY_asciicircum, 0x00AF, - IBUS_KEY_minus, IBUS_KEY_a, 0x0101, - IBUS_KEY_minus, IBUS_KEY_d, 0x0111, -@@ -1544,8 +1621,12 @@ IBUS_KEY_minus, IBUS_KEY_n, 0x00F1, - IBUS_KEY_minus, IBUS_KEY_o, 0x014D, - IBUS_KEY_minus, IBUS_KEY_u, 0x016B, - IBUS_KEY_minus, IBUS_KEY_y, 0x00A5, -+IBUS_KEY_minus, 0x2191, 0x234F, -+IBUS_KEY_minus, 0x2193, 0x2356, -+IBUS_KEY_minus, IBUS_KEY_emopencircle, 0x2296, - IBUS_KEY_period, IBUS_KEY_minus, 0x00B7, - IBUS_KEY_period, IBUS_KEY_period, 0x2026, -+IBUS_KEY_period, IBUS_KEY_colon, 0x2235, - IBUS_KEY_period, IBUS_KEY_less, 0x2039, - IBUS_KEY_period, IBUS_KEY_equal, 0x2022, - IBUS_KEY_period, IBUS_KEY_greater, 0x203A, -@@ -1597,6 +1678,8 @@ IBUS_KEY_period, IBUS_KEY_sacute, 0x1E65, - IBUS_KEY_period, IBUS_KEY_scaron, 0x1E67, - IBUS_KEY_period, 0x1E62, 0x1E68, - IBUS_KEY_period, 0x1E63, 0x1E69, -+IBUS_KEY_period, IBUS_KEY_emopencircle, 0x2299, -+IBUS_KEY_slash, IBUS_KEY_minus, 0x233F, - IBUS_KEY_slash, IBUS_KEY_slash, 0x005C, - IBUS_KEY_slash, IBUS_KEY_less, 0x005C, - IBUS_KEY_slash, IBUS_KEY_equal, 0x2260, -@@ -1622,6 +1705,7 @@ IBUS_KEY_slash, IBUS_KEY_m, 0x20A5, - IBUS_KEY_slash, IBUS_KEY_o, 0x00F8, - IBUS_KEY_slash, IBUS_KEY_t, 0x0167, - IBUS_KEY_slash, IBUS_KEY_u, 0x00B5, -+IBUS_KEY_slash, IBUS_KEY_v, 0x221A, - IBUS_KEY_slash, IBUS_KEY_z, 0x01B6, - IBUS_KEY_slash, 0x0294, 0x02A1, - IBUS_KEY_slash, 0x04AE, 0x04B0, -@@ -1633,7 +1717,9 @@ IBUS_KEY_slash, IBUS_KEY_Cyrillic_KA, 0x049E, - IBUS_KEY_slash, IBUS_KEY_leftarrow, 0x219A, - IBUS_KEY_slash, IBUS_KEY_rightarrow, 0x219B, - IBUS_KEY_slash, 0x2194, 0x21AE, -+IBUS_KEY_slash, 0x2395, 0x2341, - IBUS_KEY_0, IBUS_KEY_asterisk, 0x00B0, -+IBUS_KEY_0, IBUS_KEY_3, 0x2189, - IBUS_KEY_0, IBUS_KEY_C, 0x00A9, - IBUS_KEY_0, IBUS_KEY_S, 0x00A7, - IBUS_KEY_0, IBUS_KEY_X, 0x00A4, -@@ -1641,12 +1727,15 @@ IBUS_KEY_0, IBUS_KEY_asciicircum, 0x00B0, - IBUS_KEY_0, IBUS_KEY_c, 0x00A9, - IBUS_KEY_0, IBUS_KEY_s, 0x00A7, - IBUS_KEY_0, IBUS_KEY_x, 0x00A4, -+IBUS_KEY_0, IBUS_KEY_asciitilde, 0x236C, - IBUS_KEY_1, IBUS_KEY_2, 0x00BD, - IBUS_KEY_1, IBUS_KEY_3, 0x2153, - IBUS_KEY_1, IBUS_KEY_4, 0x00BC, - IBUS_KEY_1, IBUS_KEY_5, 0x2155, - IBUS_KEY_1, IBUS_KEY_6, 0x2159, -+IBUS_KEY_1, IBUS_KEY_7, 0x2150, - IBUS_KEY_1, IBUS_KEY_8, 0x215B, -+IBUS_KEY_1, IBUS_KEY_9, 0x2151, - IBUS_KEY_1, IBUS_KEY_S, 0x00B9, - IBUS_KEY_1, IBUS_KEY_asciicircum, 0x00B9, - IBUS_KEY_1, IBUS_KEY_s, 0x00B9, -@@ -1665,14 +1754,18 @@ IBUS_KEY_4, IBUS_KEY_5, 0x2158, - IBUS_KEY_5, IBUS_KEY_6, 0x215A, - IBUS_KEY_5, IBUS_KEY_8, 0x215D, - IBUS_KEY_7, IBUS_KEY_8, 0x215E, -+IBUS_KEY_8, IBUS_KEY_8, 0x221E, - IBUS_KEY_colon, IBUS_KEY_parenleft, 0x2639, - IBUS_KEY_colon, IBUS_KEY_parenright, 0x263A, - IBUS_KEY_colon, IBUS_KEY_minus, 0x00F7, -+IBUS_KEY_colon, IBUS_KEY_period, 0x2234, -+IBUS_KEY_colon, 0x2395, 0x2360, - IBUS_KEY_semicolon, IBUS_KEY_A, 0x0104, - IBUS_KEY_semicolon, IBUS_KEY_E, 0x0118, - IBUS_KEY_semicolon, IBUS_KEY_I, 0x012E, - IBUS_KEY_semicolon, IBUS_KEY_O, 0x01EA, - IBUS_KEY_semicolon, IBUS_KEY_U, 0x0172, -+IBUS_KEY_semicolon, IBUS_KEY_underscore, 0x236E, - IBUS_KEY_semicolon, IBUS_KEY_a, 0x0105, - IBUS_KEY_semicolon, IBUS_KEY_e, 0x0119, - IBUS_KEY_semicolon, IBUS_KEY_i, 0x012F, -@@ -1686,6 +1779,7 @@ IBUS_KEY_less, IBUS_KEY_slash, 0x005C, - IBUS_KEY_less, IBUS_KEY_3, 0x2665, - IBUS_KEY_less, IBUS_KEY_less, 0x00AB, - IBUS_KEY_less, IBUS_KEY_equal, 0x2264, -+IBUS_KEY_less, IBUS_KEY_greater, 0x22C4, - IBUS_KEY_less, IBUS_KEY_C, 0x010C, - IBUS_KEY_less, IBUS_KEY_D, 0x010E, - IBUS_KEY_less, IBUS_KEY_E, 0x011A, -@@ -1695,6 +1789,7 @@ IBUS_KEY_less, IBUS_KEY_R, 0x0158, - IBUS_KEY_less, IBUS_KEY_S, 0x0160, - IBUS_KEY_less, IBUS_KEY_T, 0x0164, - IBUS_KEY_less, IBUS_KEY_Z, 0x017D, -+IBUS_KEY_less, IBUS_KEY_underscore, 0x2264, - IBUS_KEY_less, IBUS_KEY_c, 0x010D, - IBUS_KEY_less, IBUS_KEY_d, 0x010F, - IBUS_KEY_less, IBUS_KEY_e, 0x011B, -@@ -1705,6 +1800,7 @@ IBUS_KEY_less, IBUS_KEY_s, 0x0161, - IBUS_KEY_less, IBUS_KEY_t, 0x0165, - IBUS_KEY_less, IBUS_KEY_z, 0x017E, - IBUS_KEY_less, 0x0338, 0x226E, -+IBUS_KEY_less, 0x2395, 0x2343, - IBUS_KEY_equal, IBUS_KEY_slash, 0x2260, - IBUS_KEY_equal, IBUS_KEY_C, 0x20AC, - IBUS_KEY_equal, IBUS_KEY_E, 0x20AC, -@@ -1714,7 +1810,9 @@ IBUS_KEY_equal, IBUS_KEY_O, 0x0150, - IBUS_KEY_equal, IBUS_KEY_U, 0x0170, - IBUS_KEY_equal, IBUS_KEY_W, 0x20A9, - IBUS_KEY_equal, IBUS_KEY_Y, 0x00A5, -+IBUS_KEY_equal, IBUS_KEY_underscore, 0x2261, - IBUS_KEY_equal, IBUS_KEY_c, 0x20AC, -+IBUS_KEY_equal, IBUS_KEY_d, 0x20AB, - IBUS_KEY_equal, IBUS_KEY_e, 0x20AC, - IBUS_KEY_equal, IBUS_KEY_l, 0x00A3, - IBUS_KEY_equal, IBUS_KEY_o, 0x0151, -@@ -1725,9 +1823,11 @@ IBUS_KEY_equal, IBUS_KEY_Cyrillic_u, 0x04F3, - IBUS_KEY_equal, IBUS_KEY_Cyrillic_IE, 0x20AC, - IBUS_KEY_equal, IBUS_KEY_Cyrillic_ES, 0x20AC, - IBUS_KEY_equal, IBUS_KEY_Cyrillic_U, 0x04F2, -+IBUS_KEY_equal, 0x2395, 0x2338, - IBUS_KEY_greater, IBUS_KEY_space, 0x005E, - IBUS_KEY_greater, IBUS_KEY_quotedbl, 0x201D, - IBUS_KEY_greater, IBUS_KEY_apostrophe, 0x2019, -+IBUS_KEY_greater, IBUS_KEY_less, 0x22C4, - IBUS_KEY_greater, IBUS_KEY_equal, 0x2265, - IBUS_KEY_greater, IBUS_KEY_greater, 0x00BB, - IBUS_KEY_greater, IBUS_KEY_A, 0x00C2, -@@ -1735,12 +1835,15 @@ IBUS_KEY_greater, IBUS_KEY_E, 0x00CA, - IBUS_KEY_greater, IBUS_KEY_I, 0x00CE, - IBUS_KEY_greater, IBUS_KEY_O, 0x00D4, - IBUS_KEY_greater, IBUS_KEY_U, 0x00DB, -+IBUS_KEY_greater, IBUS_KEY_underscore, 0x2265, - IBUS_KEY_greater, IBUS_KEY_a, 0x00E2, - IBUS_KEY_greater, IBUS_KEY_e, 0x00EA, - IBUS_KEY_greater, IBUS_KEY_i, 0x00EE, - IBUS_KEY_greater, IBUS_KEY_o, 0x00F4, - IBUS_KEY_greater, IBUS_KEY_u, 0x00FB, -+IBUS_KEY_greater, IBUS_KEY_diaeresis, 0x2369, - IBUS_KEY_greater, 0x0338, 0x226F, -+IBUS_KEY_greater, 0x2395, 0x2344, - IBUS_KEY_question, IBUS_KEY_exclam, 0x2E18, - IBUS_KEY_question, IBUS_KEY_question, 0x00BF, - IBUS_KEY_question, IBUS_KEY_A, 0x1EA2, -@@ -1763,6 +1866,7 @@ IBUS_KEY_question, IBUS_KEY_ecircumflex, 0x1EC3, - IBUS_KEY_question, IBUS_KEY_ocircumflex, 0x1ED5, - IBUS_KEY_question, IBUS_KEY_Abreve, 0x1EB2, - IBUS_KEY_question, IBUS_KEY_abreve, 0x1EB3, -+IBUS_KEY_question, 0x2395, 0x2370, - IBUS_KEY_A, IBUS_KEY_quotedbl, 0x00C4, - IBUS_KEY_A, IBUS_KEY_apostrophe, 0x00C1, - IBUS_KEY_A, IBUS_KEY_parenleft, 0x0102, -@@ -1792,6 +1896,7 @@ IBUS_KEY_C, IBUS_KEY_O, 0x00A9, - IBUS_KEY_C, IBUS_KEY_o, 0x00A9, - IBUS_KEY_C, IBUS_KEY_r, 0x20A2, - IBUS_KEY_C, IBUS_KEY_bar, 0x00A2, -+IBUS_KEY_D, IBUS_KEY_comma, 0x1E10, - IBUS_KEY_D, IBUS_KEY_minus, 0x0110, - IBUS_KEY_D, IBUS_KEY_period, 0x1E0A, - IBUS_KEY_D, IBUS_KEY_less, 0x010E, -@@ -1810,21 +1915,26 @@ IBUS_KEY_E, IBUS_KEY_grave, 0x00C8, - IBUS_KEY_E, IBUS_KEY_diaeresis, 0x00CB, - IBUS_KEY_E, IBUS_KEY_acute, 0x00C9, - IBUS_KEY_F, IBUS_KEY_period, 0x1E1E, -+IBUS_KEY_F, IBUS_KEY_i, 0xFB03, -+IBUS_KEY_F, IBUS_KEY_l, 0xFB04, - IBUS_KEY_F, IBUS_KEY_r, 0x20A3, - IBUS_KEY_G, IBUS_KEY_parenleft, 0x011E, - IBUS_KEY_G, IBUS_KEY_comma, 0x0122, - IBUS_KEY_G, IBUS_KEY_period, 0x0120, - IBUS_KEY_G, IBUS_KEY_U, 0x011E, - IBUS_KEY_G, IBUS_KEY_breve, 0x011E, -+IBUS_KEY_H, IBUS_KEY_comma, 0x1E28, - IBUS_KEY_I, IBUS_KEY_quotedbl, 0x00CF, - IBUS_KEY_I, IBUS_KEY_apostrophe, 0x00CD, - IBUS_KEY_I, IBUS_KEY_comma, 0x012E, - IBUS_KEY_I, IBUS_KEY_minus, 0x012A, - IBUS_KEY_I, IBUS_KEY_period, 0x0130, - IBUS_KEY_I, IBUS_KEY_greater, 0x00CE, -+IBUS_KEY_I, IBUS_KEY_J, 0x0132, - IBUS_KEY_I, IBUS_KEY_asciicircum, 0x00CE, - IBUS_KEY_I, IBUS_KEY_underscore, 0x012A, - IBUS_KEY_I, IBUS_KEY_grave, 0x00CC, -+IBUS_KEY_I, IBUS_KEY_j, 0x0132, - IBUS_KEY_I, IBUS_KEY_asciitilde, 0x0128, - IBUS_KEY_I, IBUS_KEY_diaeresis, 0x00CF, - IBUS_KEY_I, IBUS_KEY_acute, 0x00CD, -@@ -1889,6 +1999,7 @@ IBUS_KEY_S, IBUS_KEY_O, 0x00A7, - IBUS_KEY_S, IBUS_KEY_S, 0x1E9E, - IBUS_KEY_S, IBUS_KEY_m, 0x2120, - IBUS_KEY_S, IBUS_KEY_cedilla, 0x015E, -+IBUS_KEY_T, IBUS_KEY_comma, 0x0162, - IBUS_KEY_T, IBUS_KEY_minus, 0x0166, - IBUS_KEY_T, IBUS_KEY_period, 0x1E6A, - IBUS_KEY_T, IBUS_KEY_slash, 0x0166, -@@ -1957,6 +2068,11 @@ IBUS_KEY_Y, IBUS_KEY_acute, 0x00DD, - IBUS_KEY_Z, IBUS_KEY_apostrophe, 0x0179, - IBUS_KEY_Z, IBUS_KEY_period, 0x017B, - IBUS_KEY_Z, IBUS_KEY_less, 0x017D, -+IBUS_KEY_bracketleft, IBUS_KEY_bracketright, 0x2337, -+IBUS_KEY_backslash, IBUS_KEY_minus, 0x2340, -+IBUS_KEY_backslash, 0x2395, 0x2342, -+IBUS_KEY_backslash, IBUS_KEY_emopencircle, 0x2349, -+IBUS_KEY_bracketright, IBUS_KEY_bracketleft, 0x2337, - IBUS_KEY_asciicircum, IBUS_KEY_space, 0x005E, - IBUS_KEY_asciicircum, IBUS_KEY_parenleft, 0x207D, - IBUS_KEY_asciicircum, IBUS_KEY_parenright, 0x207E, -@@ -2036,6 +2152,7 @@ IBUS_KEY_asciicircum, IBUS_KEY_KP_7, 0x2077, - IBUS_KEY_asciicircum, IBUS_KEY_KP_8, 0x2078, - IBUS_KEY_asciicircum, IBUS_KEY_KP_9, 0x2079, - IBUS_KEY_asciicircum, IBUS_KEY_KP_Equal, 0x207C, -+IBUS_KEY_underscore, IBUS_KEY_apostrophe, 0x2358, - IBUS_KEY_underscore, IBUS_KEY_parenleft, 0x208D, - IBUS_KEY_underscore, IBUS_KEY_parenright, 0x208E, - IBUS_KEY_underscore, IBUS_KEY_plus, 0x208A, -@@ -2049,7 +2166,9 @@ IBUS_KEY_underscore, IBUS_KEY_6, 0x2086, - IBUS_KEY_underscore, IBUS_KEY_7, 0x2087, - IBUS_KEY_underscore, IBUS_KEY_8, 0x2088, - IBUS_KEY_underscore, IBUS_KEY_9, 0x2089, -+IBUS_KEY_underscore, IBUS_KEY_less, 0x2264, - IBUS_KEY_underscore, IBUS_KEY_equal, 0x208C, -+IBUS_KEY_underscore, IBUS_KEY_greater, 0x2265, - IBUS_KEY_underscore, IBUS_KEY_A, 0x0100, - IBUS_KEY_underscore, IBUS_KEY_E, 0x0112, - IBUS_KEY_underscore, IBUS_KEY_G, 0x1E20, -@@ -2096,7 +2215,19 @@ IBUS_KEY_underscore, 0x1E36, 0x1E38, - IBUS_KEY_underscore, 0x1E37, 0x1E39, - IBUS_KEY_underscore, 0x1E5A, 0x1E5C, - IBUS_KEY_underscore, 0x1E5B, 0x1E5D, -+IBUS_KEY_underscore, 0x2206, 0x2359, -+IBUS_KEY_underscore, 0x220A, 0x2377, - IBUS_KEY_underscore, 0x2212, 0x208B, -+IBUS_KEY_underscore, 0x2218, 0x235B, -+IBUS_KEY_underscore, 0x2260, 0x2262, -+IBUS_KEY_underscore, 0x2282, 0x2286, -+IBUS_KEY_underscore, 0x2283, 0x2287, -+IBUS_KEY_underscore, IBUS_KEY_downtack, 0x234A, -+IBUS_KEY_underscore, 0x22C4, 0x235A, -+IBUS_KEY_underscore, 0x2373, 0x2378, -+IBUS_KEY_underscore, 0x2375, 0x2379, -+IBUS_KEY_underscore, 0x237A, 0x2376, -+IBUS_KEY_underscore, IBUS_KEY_emopencircle, 0x235C, - IBUS_KEY_underscore, IBUS_KEY_KP_Space, 0x2082, - IBUS_KEY_underscore, IBUS_KEY_KP_Add, 0x208A, - IBUS_KEY_underscore, IBUS_KEY_KP_0, 0x2080, -@@ -2279,12 +2410,13 @@ IBUS_KEY_c, IBUS_KEY_z, 0x017E, - IBUS_KEY_c, IBUS_KEY_bar, 0x00A2, - IBUS_KEY_c, IBUS_KEY_Udiaeresis, 0x01D9, - IBUS_KEY_c, IBUS_KEY_udiaeresis, 0x01DA, --IBUS_KEY_c, 0x01B7, 0x01EE, --IBUS_KEY_c, 0x0292, 0x01EF, --IBUS_KEY_d, IBUS_KEY_minus, 0x20AB, -+IBUS_KEY_d, IBUS_KEY_comma, 0x1E11, -+IBUS_KEY_d, IBUS_KEY_minus, 0x0111, - IBUS_KEY_d, IBUS_KEY_period, 0x1E0B, - IBUS_KEY_d, IBUS_KEY_less, 0x010F, -+IBUS_KEY_d, IBUS_KEY_equal, 0x20AB, - IBUS_KEY_d, IBUS_KEY_h, 0x00F0, -+IBUS_KEY_d, IBUS_KEY_i, 0x2300, - IBUS_KEY_e, IBUS_KEY_quotedbl, 0x00EB, - IBUS_KEY_e, IBUS_KEY_apostrophe, 0x00E9, - IBUS_KEY_e, IBUS_KEY_comma, 0x0119, -@@ -2301,21 +2433,27 @@ IBUS_KEY_e, IBUS_KEY_diaeresis, 0x00EB, - IBUS_KEY_e, IBUS_KEY_acute, 0x00E9, - IBUS_KEY_f, IBUS_KEY_period, 0x1E1F, - IBUS_KEY_f, IBUS_KEY_S, 0x017F, -+IBUS_KEY_f, IBUS_KEY_f, 0xFB00, -+IBUS_KEY_f, IBUS_KEY_i, 0xFB01, -+IBUS_KEY_f, IBUS_KEY_l, 0xFB02, - IBUS_KEY_f, IBUS_KEY_s, 0x017F, - IBUS_KEY_g, IBUS_KEY_parenleft, 0x011F, - IBUS_KEY_g, IBUS_KEY_comma, 0x0123, - IBUS_KEY_g, IBUS_KEY_period, 0x0121, - IBUS_KEY_g, IBUS_KEY_U, 0x011F, - IBUS_KEY_g, IBUS_KEY_breve, 0x011F, -+IBUS_KEY_h, IBUS_KEY_comma, 0x1E29, - IBUS_KEY_i, IBUS_KEY_quotedbl, 0x00EF, - IBUS_KEY_i, IBUS_KEY_apostrophe, 0x00ED, - IBUS_KEY_i, IBUS_KEY_comma, 0x012F, - IBUS_KEY_i, IBUS_KEY_minus, 0x012B, - IBUS_KEY_i, IBUS_KEY_period, 0x0131, -+IBUS_KEY_i, IBUS_KEY_semicolon, 0x012F, - IBUS_KEY_i, IBUS_KEY_greater, 0x00EE, - IBUS_KEY_i, IBUS_KEY_asciicircum, 0x00EE, - IBUS_KEY_i, IBUS_KEY_underscore, 0x012B, - IBUS_KEY_i, IBUS_KEY_grave, 0x00EC, -+IBUS_KEY_i, IBUS_KEY_j, 0x0133, - IBUS_KEY_i, IBUS_KEY_asciitilde, 0x0129, - IBUS_KEY_i, IBUS_KEY_diaeresis, 0x00EF, - IBUS_KEY_i, IBUS_KEY_acute, 0x00ED, -@@ -2382,6 +2520,7 @@ IBUS_KEY_s, IBUS_KEY_m, 0x2120, - IBUS_KEY_s, IBUS_KEY_o, 0x00A7, - IBUS_KEY_s, IBUS_KEY_s, 0x00DF, - IBUS_KEY_s, IBUS_KEY_cedilla, 0x015F, -+IBUS_KEY_t, IBUS_KEY_comma, 0x0163, - IBUS_KEY_t, IBUS_KEY_minus, 0x0167, - IBUS_KEY_t, IBUS_KEY_period, 0x1E6B, - IBUS_KEY_t, IBUS_KEY_slash, 0x0167, -@@ -2403,6 +2542,7 @@ IBUS_KEY_u, IBUS_KEY_u, 0x016D, - IBUS_KEY_u, IBUS_KEY_asciitilde, 0x0169, - IBUS_KEY_u, IBUS_KEY_diaeresis, 0x00FC, - IBUS_KEY_u, IBUS_KEY_acute, 0x00FA, -+IBUS_KEY_v, IBUS_KEY_slash, 0x221A, - IBUS_KEY_v, IBUS_KEY_Z, 0x017D, - IBUS_KEY_v, IBUS_KEY_l, 0x007C, - IBUS_KEY_v, IBUS_KEY_z, 0x017E, -@@ -2421,9 +2561,19 @@ IBUS_KEY_y, IBUS_KEY_acute, 0x00FD, - IBUS_KEY_z, IBUS_KEY_apostrophe, 0x017A, - IBUS_KEY_z, IBUS_KEY_period, 0x017C, - IBUS_KEY_z, IBUS_KEY_less, 0x017E, -+IBUS_KEY_braceleft, IBUS_KEY_braceright, 0x2205, - IBUS_KEY_bar, IBUS_KEY_C, 0x00A2, - IBUS_KEY_bar, IBUS_KEY_c, 0x00A2, -+IBUS_KEY_bar, IBUS_KEY_asciitilde, 0x236D, -+IBUS_KEY_bar, 0x2190, 0x2345, -+IBUS_KEY_bar, 0x2192, 0x2346, -+IBUS_KEY_bar, 0x2206, 0x234B, -+IBUS_KEY_bar, 0x2207, 0x2352, -+IBUS_KEY_bar, IBUS_KEY_union, 0x2366, -+IBUS_KEY_bar, 0x2282, 0x2367, -+IBUS_KEY_bar, IBUS_KEY_emopencircle, 0x233D, - IBUS_KEY_asciitilde, IBUS_KEY_space, 0x007E, -+IBUS_KEY_asciitilde, IBUS_KEY_0, 0x236C, - IBUS_KEY_asciitilde, IBUS_KEY_A, 0x00C3, - IBUS_KEY_asciitilde, IBUS_KEY_E, 0x1EBC, - IBUS_KEY_asciitilde, IBUS_KEY_I, 0x0128, -@@ -2440,6 +2590,8 @@ IBUS_KEY_asciitilde, IBUS_KEY_o, 0x00F5, - IBUS_KEY_asciitilde, IBUS_KEY_u, 0x0169, - IBUS_KEY_asciitilde, IBUS_KEY_v, 0x1E7D, - IBUS_KEY_asciitilde, IBUS_KEY_y, 0x1EF9, -+IBUS_KEY_asciitilde, IBUS_KEY_bar, 0x236D, -+IBUS_KEY_asciitilde, IBUS_KEY_diaeresis, 0x2368, - IBUS_KEY_asciitilde, IBUS_KEY_Acircumflex, 0x1EAA, - IBUS_KEY_asciitilde, IBUS_KEY_Ecircumflex, 0x1EC4, - IBUS_KEY_asciitilde, IBUS_KEY_Ocircumflex, 0x1ED6, -@@ -2474,7 +2626,12 @@ IBUS_KEY_asciitilde, 0x1F60, 0x1F66, - IBUS_KEY_asciitilde, 0x1F61, 0x1F67, - IBUS_KEY_asciitilde, 0x1F68, 0x1F6E, - IBUS_KEY_asciitilde, 0x1F69, 0x1F6F, -+IBUS_KEY_asciitilde, 0x2207, 0x236B, -+IBUS_KEY_asciitilde, 0x2227, 0x2372, -+IBUS_KEY_asciitilde, 0x2228, 0x2371, - IBUS_KEY_diaeresis, IBUS_KEY_apostrophe, 0x0385, -+IBUS_KEY_diaeresis, IBUS_KEY_asterisk, 0x2363, -+IBUS_KEY_diaeresis, IBUS_KEY_greater, 0x2369, - IBUS_KEY_diaeresis, IBUS_KEY_A, 0x00C4, - IBUS_KEY_diaeresis, IBUS_KEY_E, 0x00CB, - IBUS_KEY_diaeresis, IBUS_KEY_I, 0x00CF, -@@ -2490,6 +2647,10 @@ IBUS_KEY_diaeresis, IBUS_KEY_u, 0x00FC, - IBUS_KEY_diaeresis, IBUS_KEY_y, 0x00FF, - IBUS_KEY_diaeresis, IBUS_KEY_asciitilde, 0x1FC1, - IBUS_KEY_diaeresis, IBUS_KEY_acute, 0x0385, -+IBUS_KEY_diaeresis, 0x2207, 0x2362, -+IBUS_KEY_diaeresis, 0x2218, 0x2364, -+IBUS_KEY_diaeresis, IBUS_KEY_uptack, 0x2361, -+IBUS_KEY_diaeresis, IBUS_KEY_emopencircle, 0x2365, - IBUS_KEY_diaeresis, IBUS_KEY_dead_grave, 0x1FED, - IBUS_KEY_diaeresis, IBUS_KEY_dead_acute, 0x0385, - IBUS_KEY_diaeresis, IBUS_KEY_dead_tilde, 0x1FC1, -@@ -2537,6 +2698,7 @@ IBUS_KEY_macron, 0x1E36, 0x1E38, - IBUS_KEY_macron, 0x1E37, 0x1E39, - IBUS_KEY_macron, 0x1E5A, 0x1E5C, - IBUS_KEY_macron, 0x1E5B, 0x1E5D, -+IBUS_KEY_macron, IBUS_KEY_uptack, 0x2351, - IBUS_KEY_acute, IBUS_KEY_A, 0x00C1, - IBUS_KEY_acute, IBUS_KEY_C, 0x0106, - IBUS_KEY_acute, IBUS_KEY_E, 0x00C9, -@@ -2668,6 +2830,7 @@ IBUS_KEY_cedilla, IBUS_KEY_n, 0x0146, - IBUS_KEY_cedilla, IBUS_KEY_r, 0x0157, - IBUS_KEY_cedilla, IBUS_KEY_s, 0x015F, - IBUS_KEY_cedilla, IBUS_KEY_t, 0x0163, -+IBUS_KEY_division, 0x2395, 0x2339, - IBUS_KEY_breve, IBUS_KEY_G, 0x011E, - IBUS_KEY_breve, IBUS_KEY_g, 0x011F, - 0x05B4, IBUS_KEY_hebrew_yod, 0xFB1D, -@@ -3121,15 +3284,48 @@ IBUS_KEY_righttack, 0x0338, 0x22AC, - 0x1FFE, IBUS_KEY_dead_grave, 0x1FDD, - 0x1FFE, IBUS_KEY_dead_acute, 0x1FDE, - 0x1FFE, IBUS_KEY_dead_tilde, 0x1FDF, -+0x2190, IBUS_KEY_bar, 0x2345, -+0x2190, 0x2395, 0x2347, -+0x2191, IBUS_KEY_minus, 0x234F, -+0x2191, 0x2395, 0x2350, -+0x2192, IBUS_KEY_bar, 0x2346, -+0x2192, 0x2395, 0x2348, -+0x2193, IBUS_KEY_minus, 0x2356, -+0x2193, 0x2395, 0x2357, - 0x2203, 0x0338, 0x2204, -+0x2206, IBUS_KEY_underscore, 0x2359, -+0x2206, IBUS_KEY_bar, 0x234B, -+0x2206, 0x2395, 0x234D, -+0x2207, IBUS_KEY_bar, 0x2352, -+0x2207, IBUS_KEY_asciitilde, 0x236B, -+0x2207, IBUS_KEY_diaeresis, 0x2362, -+0x2207, 0x2395, 0x2354, - 0x2208, 0x0338, 0x2209, -+0x220A, IBUS_KEY_underscore, 0x2377, - 0x220B, 0x0338, 0x220C, -+0x2218, IBUS_KEY_underscore, 0x235B, -+0x2218, IBUS_KEY_diaeresis, 0x2364, -+0x2218, 0x2229, 0x235D, -+0x2218, IBUS_KEY_uptack, 0x2355, -+0x2218, IBUS_KEY_downtack, 0x234E, -+0x2218, 0x2395, 0x233B, -+0x2218, IBUS_KEY_emopencircle, 0x233E, - 0x2223, 0x0338, 0x2224, - 0x2225, 0x0338, 0x2226, -+0x2227, IBUS_KEY_asciitilde, 0x2372, -+0x2227, 0x2228, 0x22C4, -+0x2227, 0x2395, 0x2353, -+0x2228, IBUS_KEY_asciitilde, 0x2371, -+0x2228, 0x2227, 0x22C4, -+0x2228, 0x2395, 0x234C, -+0x2229, 0x2218, 0x235D, -+IBUS_KEY_union, IBUS_KEY_bar, 0x2366, - 0x223C, 0x0338, 0x2241, - 0x2243, 0x0338, 0x2244, - 0x2248, 0x0338, 0x2249, - 0x224D, 0x0338, 0x226D, -+0x2260, IBUS_KEY_underscore, 0x2262, -+0x2260, 0x2395, 0x236F, - 0x2272, 0x0338, 0x2274, - 0x2273, 0x0338, 0x2275, - 0x2276, 0x0338, 0x2278, -@@ -3138,10 +3334,20 @@ IBUS_KEY_righttack, 0x0338, 0x22AC, - 0x227B, 0x0338, 0x2281, - 0x227C, 0x0338, 0x22E0, - 0x227D, 0x0338, 0x22E1, -+0x2282, IBUS_KEY_underscore, 0x2286, -+0x2282, IBUS_KEY_bar, 0x2367, -+0x2283, IBUS_KEY_underscore, 0x2287, - 0x2286, 0x0338, 0x2288, - 0x2287, 0x0338, 0x2289, - 0x2291, 0x0338, 0x22E2, - 0x2292, 0x0338, 0x22E3, -+IBUS_KEY_uptack, IBUS_KEY_diaeresis, 0x2361, -+IBUS_KEY_uptack, IBUS_KEY_macron, 0x2351, -+IBUS_KEY_uptack, 0x2218, 0x2355, -+IBUS_KEY_uptack, IBUS_KEY_downtack, 0x2336, -+IBUS_KEY_downtack, IBUS_KEY_underscore, 0x234A, -+IBUS_KEY_downtack, 0x2218, 0x234E, -+IBUS_KEY_downtack, IBUS_KEY_uptack, 0x2336, - 0x22A8, 0x0338, 0x22AD, - 0x22A9, 0x0338, 0x22AE, - 0x22AB, 0x0338, 0x22AF, -@@ -3149,6 +3355,41 @@ IBUS_KEY_righttack, 0x0338, 0x22AC, - 0x22B3, 0x0338, 0x22EB, - 0x22B4, 0x0338, 0x22EC, - 0x22B5, 0x0338, 0x22ED, -+0x22C4, IBUS_KEY_underscore, 0x235A, -+0x22C4, 0x2395, 0x233A, -+0x2373, IBUS_KEY_underscore, 0x2378, -+0x2375, IBUS_KEY_underscore, 0x2379, -+0x237A, IBUS_KEY_underscore, 0x2376, -+0x2395, IBUS_KEY_apostrophe, 0x235E, -+0x2395, IBUS_KEY_slash, 0x2341, -+0x2395, IBUS_KEY_colon, 0x2360, -+0x2395, IBUS_KEY_less, 0x2343, -+0x2395, IBUS_KEY_equal, 0x2338, -+0x2395, IBUS_KEY_greater, 0x2344, -+0x2395, IBUS_KEY_question, 0x2370, -+0x2395, IBUS_KEY_backslash, 0x2342, -+0x2395, IBUS_KEY_division, 0x2339, -+0x2395, 0x2190, 0x2347, -+0x2395, 0x2191, 0x2350, -+0x2395, 0x2192, 0x2348, -+0x2395, 0x2193, 0x2357, -+0x2395, 0x2206, 0x234D, -+0x2395, 0x2207, 0x2354, -+0x2395, 0x2218, 0x233B, -+0x2395, 0x2227, 0x2353, -+0x2395, 0x2228, 0x234C, -+0x2395, 0x2260, 0x236F, -+0x2395, 0x22C4, 0x233A, -+0x2395, IBUS_KEY_emopencircle, 0x233C, -+IBUS_KEY_emopencircle, IBUS_KEY_asterisk, 0x235F, -+IBUS_KEY_emopencircle, IBUS_KEY_minus, 0x2296, -+IBUS_KEY_emopencircle, IBUS_KEY_period, 0x2299, -+IBUS_KEY_emopencircle, IBUS_KEY_backslash, 0x2349, -+IBUS_KEY_emopencircle, IBUS_KEY_underscore, 0x235C, -+IBUS_KEY_emopencircle, IBUS_KEY_bar, 0x233D, -+IBUS_KEY_emopencircle, IBUS_KEY_diaeresis, 0x2365, -+IBUS_KEY_emopencircle, 0x2218, 0x233E, -+IBUS_KEY_emopencircle, 0x2395, 0x233C, - 0x2ADD, 0x0338, 0x2ADC, - IBUS_KEY_KP_Divide, IBUS_KEY_D, 0x0110, - IBUS_KEY_KP_Divide, IBUS_KEY_G, 0x01E4, -@@ -3503,6 +3744,8 @@ IBUS_KEY_parenleft, IBUS_KEY_KP_6, IBUS_KEY_parenright, 0x2465, - IBUS_KEY_parenleft, IBUS_KEY_KP_7, IBUS_KEY_parenright, 0x2466, - IBUS_KEY_parenleft, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x2467, - IBUS_KEY_parenleft, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x2468, -+IBUS_KEY_asterisk, IBUS_KEY_apostrophe, IBUS_KEY_A, 0x01FA, -+IBUS_KEY_asterisk, IBUS_KEY_apostrophe, IBUS_KEY_a, 0x01FB, - IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_space, 0x00AD, - IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_minus, 0x2014, - IBUS_KEY_minus, IBUS_KEY_minus, IBUS_KEY_period, 0x2013, -@@ -3518,6 +3761,7 @@ IBUS_KEY_period, IBUS_KEY_dead_caron, IBUS_KEY_S, 0x1E66, - IBUS_KEY_period, IBUS_KEY_dead_caron, IBUS_KEY_s, 0x1E67, - IBUS_KEY_period, IBUS_KEY_dead_belowdot, IBUS_KEY_S, 0x1E68, - IBUS_KEY_period, IBUS_KEY_dead_belowdot, IBUS_KEY_s, 0x1E69, -+IBUS_KEY_1, IBUS_KEY_1, IBUS_KEY_0, 0x2152, - IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_O, 0x1EDE, - IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_U, 0x1EEC, - IBUS_KEY_question, IBUS_KEY_plus, IBUS_KEY_o, 0x1EDF, -@@ -3544,8 +3788,6 @@ IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_o, 0x1EDF, - IBUS_KEY_question, IBUS_KEY_dead_horn, IBUS_KEY_u, 0x1EED, - IBUS_KEY_U, IBUS_KEY_exclam, IBUS_KEY_A, 0x1EB6, - IBUS_KEY_U, IBUS_KEY_exclam, IBUS_KEY_a, 0x1EB7, --IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_E, 0x1E1C, --IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_e, 0x1E1D, - IBUS_KEY_U, IBUS_KEY_cedilla, IBUS_KEY_E, 0x1E1C, - IBUS_KEY_U, IBUS_KEY_cedilla, IBUS_KEY_e, 0x1E1D, - IBUS_KEY_U, IBUS_KEY_dead_cedilla, IBUS_KEY_E, 0x1E1C, -@@ -3748,8 +3990,6 @@ IBUS_KEY_c, IBUS_KEY_quotedbl, IBUS_KEY_U, 0x01D9, - IBUS_KEY_c, IBUS_KEY_quotedbl, IBUS_KEY_u, 0x01DA, - IBUS_KEY_c, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0x01D9, - IBUS_KEY_c, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0x01DA, --IBUS_KEY_o, IBUS_KEY_apostrophe, IBUS_KEY_A, 0x01FA, --IBUS_KEY_o, IBUS_KEY_apostrophe, IBUS_KEY_a, 0x01FB, - IBUS_KEY_asciitilde, IBUS_KEY_quotedbl, IBUS_KEY_Greek_iota, 0x1FD7, - IBUS_KEY_asciitilde, IBUS_KEY_quotedbl, IBUS_KEY_Greek_upsilon, 0x1FE7, - IBUS_KEY_asciitilde, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F0F, -@@ -4105,6 +4345,7 @@ IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_OMEGA, 0x1FA9, - IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_alpha, 0x1F81, - IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_eta, 0x1F91, - IBUS_KEY_Greek_iota, IBUS_KEY_dead_dasia, IBUS_KEY_Greek_omega, 0x1FA1, -+IBUS_KEY_dead_abovedot, IBUS_KEY_f, IBUS_KEY_s, 0x1E9B, - IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_0, IBUS_KEY_parenright, 0x2469, - IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_1, IBUS_KEY_parenright, 0x246A, - IBUS_KEY_parenleft, IBUS_KEY_1, IBUS_KEY_2, IBUS_KEY_parenright, 0x246B, -@@ -4311,6 +4552,8 @@ IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_8, IBUS_KEY_parenright, 0x32BD, - IBUS_KEY_parenleft, IBUS_KEY_KP_4, IBUS_KEY_KP_9, IBUS_KEY_parenright, 0x32BE, - IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_KP_0, IBUS_KEY_parenright, 0x32BF, - IBUS_KEY_C, IBUS_KEY_C, IBUS_KEY_C, IBUS_KEY_P, 0x262D, -+IBUS_KEY_U, IBUS_KEY_space, IBUS_KEY_comma, IBUS_KEY_E, 0x1E1C, -+IBUS_KEY_U, IBUS_KEY_space, IBUS_KEY_comma, IBUS_KEY_e, 0x1E1D, - IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ALPHA, 0x1F8D, - IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_ETA, 0x1F9D, - IBUS_KEY_Greek_iota, IBUS_KEY_apostrophe, IBUS_KEY_parenleft, IBUS_KEY_Greek_OMEGA, 0x1FAD, -diff --git a/src/ibuscomposetable.h b/src/ibuscomposetable.h -new file mode 100644 -index 0000000..ba8e3ef ---- /dev/null -+++ b/src/ibuscomposetable.h -@@ -0,0 +1,2658 @@ -+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ -+/* vim:set et sts=4: */ -+/* ibus - The Input Bus -+ * Copyright (C) 2013 Peng Huang -+ * Copyright (C) 2013 Takao Fujiwara -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 -+ * USA -+ */ -+ -+#ifndef __IBUS_COMPOSETABLE_H_ -+#define __IBUS_COMPOSETABLE_H_ -+ -+/* The table is generated by ibus/src/gencomposetable -+ * -+ * if ibus_compose_seqs_a[N - 1] is an outputed compose character, -+ * ibus_compose_seqs_a[N * 2 - 1] is also an outputed compose character. -+ * and ibus_compose_seqs_a[0] to ibus_compose_seqs_a[0 + N - 3] are the -+ * sequences and call ibus_engine_simple_add_table: -+ * ibus_engine_simple_add_table(engine, ibus_compose_seqs_a, -+ * N - 2, G_N_ELEMENTS(ibus_compose_seqs_a) / N) -+ * The compose sequences are allowed within G_MAXUINT16 */ -+ -+typedef struct _IBusComposeTable IBusComposeTable; -+struct _IBusComposeTable -+{ -+ const guint16 *data; -+ gint max_seq_len; -+ gint n_seqs; -+}; -+ -+typedef struct _IBusComposeTableLocaleList IBusComposeTableLocaleList; -+struct _IBusComposeTableLocaleList -+{ -+ const gchar *locale; -+ const IBusComposeTable *table; -+}; -+ -+static const guint16 ibus_compose_seqs_am_et[] = { -+ /* Not sure if am_ET compose file is useful. It uses ASCII key -+ * at first but not compose keys. -+ * Comment out am_compose_seqs until get the request. */ -+ 0 -+}; -+ -+static const IBusComposeTable ibus_compose_table_am_et = { -+ ibus_compose_seqs_am_et, -+ 0, -+ 0 -+}; -+ -+static const guint16 ibus_compose_seqs_el_gr[] = { -+ IBUS_KEY_dead_grave, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x1FEF, /* U1fef */ -+ IBUS_KEY_dead_grave, IBUS_KEY_underscore, 0, 0, 0, -+ 0, 0x0060, /* grave */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_grave, 0, 0, 0, -+ 0, 0x1FEF, /* U1fef */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_diaeresis, IBUS_KEY_space, 0, 0, -+ 0, 0x1FED, /* U1fed */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDD, /* U1fdd */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0B, /* U1f0b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1B, /* U1f1b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2B, /* U1f2b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3B, /* U1f3b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4B, /* U1f4b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F5B, /* U1f5b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6B, /* U1f6b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F03, /* U1f03 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F13, /* U1f13 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F23, /* U1f23 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F33, /* U1f33 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F43, /* U1f43 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F53, /* U1f53 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F63, /* U1f63 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCD, /* U1fcd */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0A, /* U1f0a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1A, /* U1f1a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2A, /* U1f2a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3A, /* U1f3a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4A, /* U1f4a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6A, /* U1f6a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F02, /* U1f02 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F12, /* U1f12 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F22, /* U1f22 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F32, /* U1f32 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F42, /* U1f42 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F52, /* U1f52 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F62, /* U1f62 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_psili, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCD, /* U1fcd */ -+ IBUS_KEY_dead_grave, IBUS_KEY_dead_dasia, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDD, /* U1fdd */ -+ IBUS_KEY_dead_acute, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x0384, /* U0384 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_period, 0, 0, 0, -+ 0, 0x00B7, /* periodcentered */ -+ IBUS_KEY_dead_acute, IBUS_KEY_less, 0, 0, 0, -+ 0, 0x00AB, /* guillemotleft */ -+ IBUS_KEY_dead_acute, IBUS_KEY_greater, 0, 0, 0, -+ 0, 0x00BB, /* guillemotright */ -+ IBUS_KEY_dead_acute, IBUS_KEY_underscore, 0, 0, 0, -+ 0, 0x00B4, /* acute */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_acute, 0, 0, 0, -+ 0, 0x0384, /* U0384 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDE, /* U1fde */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0D, /* U1f0d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1D, /* U1f1d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2D, /* U1f2d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3D, /* U1f3d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4D, /* U1f4d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F5D, /* U1f5d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6D, /* U1f6d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F05, /* U1f05 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F15, /* U1f15 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F25, /* U1f25 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F35, /* U1f35 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F45, /* U1f45 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F55, /* U1f55 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F65, /* U1f65 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCE, /* U1fce */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0C, /* U1f0c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1C, /* U1f1c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2C, /* U1f2c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3C, /* U1f3c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4C, /* U1f4c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6C, /* U1f6c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F04, /* U1f04 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F14, /* U1f14 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F24, /* U1f24 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F34, /* U1f34 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F44, /* U1f44 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F54, /* U1f54 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F64, /* U1f64 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_psili, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCE, /* U1fce */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_dasia, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDE, /* U1fde */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x1FC0, /* U1fc0 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_underscore, 0, 0, 0, -+ 0, 0x007E, /* asciitilde */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_tilde, 0, 0, 0, -+ 0, 0x1FC0, /* U1fc0 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_diaeresis, IBUS_KEY_space, 0, 0, -+ 0, 0x1FC1, /* U1fc1 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDF, /* U1fdf */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0F, /* U1f0f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2F, /* U1f2f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3F, /* U1f3f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F5F, /* U1f5f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6F, /* U1f6f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F07, /* U1f07 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F27, /* U1f27 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F37, /* U1f37 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F57, /* U1f57 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F67, /* U1f67 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCF, /* U1fcf */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0E, /* U1f0e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2E, /* U1f2e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3E, /* U1f3e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6E, /* U1f6e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F06, /* U1f06 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F26, /* U1f26 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F36, /* U1f36 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F56, /* U1f56 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F66, /* U1f66 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_psili, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCF, /* U1fcf */ -+ IBUS_KEY_dead_tilde, IBUS_KEY_dead_dasia, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDF, /* U1fdf */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x00A8, /* diaeresis */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_period, 0, 0, 0, -+ 0, 0x00B7, /* periodcentered */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_less, 0, 0, 0, -+ 0, 0x00AB, /* guillemotleft */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_greater, 0, 0, 0, -+ 0, 0x00BB, /* guillemotright */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_dead_grave, IBUS_KEY_space, 0, 0, -+ 0, 0x1FED, /* U1fed */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_dead_tilde, IBUS_KEY_space, 0, 0, -+ 0, 0x1FC1, /* U1fc1 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x1FFE, /* U1ffe */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, 0, 0, -+ 0, 0x1F09, /* U1f09 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_EPSILON, 0, 0, 0, -+ 0, 0x1F19, /* U1f19 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, 0, 0, -+ 0, 0x1F29, /* U1f29 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_IOTA, 0, 0, 0, -+ 0, 0x1F39, /* U1f39 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMICRON, 0, 0, 0, -+ 0, 0x1F49, /* U1f49 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_RHO, 0, 0, 0, -+ 0, 0x1FEC, /* U1fec */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_UPSILON, 0, 0, 0, -+ 0, 0x1F59, /* U1f59 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, 0, 0, -+ 0, 0x1F69, /* U1f69 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, 0, 0, -+ 0, 0x1F01, /* U1f01 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_epsilon, 0, 0, 0, -+ 0, 0x1F11, /* U1f11 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, 0, 0, -+ 0, 0x1F21, /* U1f21 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_iota, 0, 0, 0, -+ 0, 0x1F31, /* U1f31 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omicron, 0, 0, 0, -+ 0, 0x1F41, /* U1f41 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_rho, 0, 0, 0, -+ 0, 0x1FE5, /* U1fe5 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_upsilon, 0, 0, 0, -+ 0, 0x1F51, /* U1f51 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, 0, 0, -+ 0, 0x1F61, /* U1f61 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDD, /* U1fdd */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0B, /* U1f0b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1B, /* U1f1b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2B, /* U1f2b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3B, /* U1f3b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4B, /* U1f4b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F5B, /* U1f5b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6B, /* U1f6b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F03, /* U1f03 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F13, /* U1f13 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F23, /* U1f23 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F33, /* U1f33 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F43, /* U1f43 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F53, /* U1f53 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F63, /* U1f63 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDE, /* U1fde */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0D, /* U1f0d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1D, /* U1f1d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2D, /* U1f2d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3D, /* U1f3d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4D, /* U1f4d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F5D, /* U1f5d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6D, /* U1f6d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F05, /* U1f05 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F15, /* U1f15 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F25, /* U1f25 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F35, /* U1f35 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F45, /* U1f45 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F55, /* U1f55 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F65, /* U1f65 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDF, /* U1fdf */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0F, /* U1f0f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2F, /* U1f2f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3F, /* U1f3f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F5F, /* U1f5f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6F, /* U1f6f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F07, /* U1f07 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F27, /* U1f27 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F37, /* U1f37 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F57, /* U1f57 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F67, /* U1f67 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_ogonek, 0, 0, 0, -+ 0, 0x1FFE, /* U1ffe */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F89, /* U1f89 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F99, /* U1f99 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1FA9, /* U1fa9 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F81, /* U1f81 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F91, /* U1f91 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1FA1, /* U1fa1 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_dead_ogonek, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_underscore, 0, 0, 0, -+ 0, 0x1FBE, /* U1fbe */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F89, /* U1f89 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F99, /* U1f99 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1FA9, /* U1fa9 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F81, /* U1f81 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F91, /* U1f91 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1FA1, /* U1fa1 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_ogonek, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F88, /* U1f88 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F98, /* U1f98 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1FA8, /* U1fa8 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F80, /* U1f80 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F90, /* U1f90 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1FA0, /* U1fa0 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x1FBF, /* U1fbf */ -+ IBUS_KEY_dead_horn, IBUS_KEY_underscore, 0, 0, 0, -+ 0, 0x1FBD, /* U1fbd */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_ALPHA, 0, 0, 0, -+ 0, 0x1F08, /* U1f08 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_EPSILON, 0, 0, 0, -+ 0, 0x1F18, /* U1f18 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_ETA, 0, 0, 0, -+ 0, 0x1F28, /* U1f28 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_IOTA, 0, 0, 0, -+ 0, 0x1F38, /* U1f38 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMICRON, 0, 0, 0, -+ 0, 0x1F48, /* U1f48 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_OMEGA, 0, 0, 0, -+ 0, 0x1F68, /* U1f68 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_alpha, 0, 0, 0, -+ 0, 0x1F00, /* U1f00 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_epsilon, 0, 0, 0, -+ 0, 0x1F10, /* U1f10 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_eta, 0, 0, 0, -+ 0, 0x1F20, /* U1f20 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_iota, 0, 0, 0, -+ 0, 0x1F30, /* U1f30 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_omicron, 0, 0, 0, -+ 0, 0x1F40, /* U1f40 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_rho, 0, 0, 0, -+ 0, 0x1FE4, /* U1fe4 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_upsilon, 0, 0, 0, -+ 0, 0x1F50, /* U1f50 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_Greek_omega, 0, 0, 0, -+ 0, 0x1F60, /* U1f60 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCD, /* U1fcd */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0A, /* U1f0a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1A, /* U1f1a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2A, /* U1f2a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3A, /* U1f3a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4A, /* U1f4a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6A, /* U1f6a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F02, /* U1f02 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F12, /* U1f12 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F22, /* U1f22 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F32, /* U1f32 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F42, /* U1f42 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F52, /* U1f52 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F62, /* U1f62 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_grave, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCE, /* U1fce */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0C, /* U1f0c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F1C, /* U1f1c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2C, /* U1f2c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3C, /* U1f3c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F4C, /* U1f4c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6C, /* U1f6c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F04, /* U1f04 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F14, /* U1f14 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F24, /* U1f24 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F34, /* U1f34 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F44, /* U1f44 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F54, /* U1f54 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F64, /* U1f64 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_acute, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCF, /* U1fcf */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F0E, /* U1f0e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F2E, /* U1f2e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F3E, /* U1f3e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F6E, /* U1f6e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F06, /* U1f06 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F26, /* U1f26 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F36, /* U1f36 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F56, /* U1f56 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F66, /* U1f66 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_tilde, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F88, /* U1f88 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F98, /* U1f98 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1FA8, /* U1fa8 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F80, /* U1f80 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F90, /* U1f90 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1FA0, /* U1fa0 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_iota, IBUS_KEY_dead_tilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_dead_horn, IBUS_KEY_dead_horn, 0, 0, 0, -+ 0, 0x1FBF, /* U1fbf */ -+ IBUS_KEY_dead_psili, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x1FBF, /* U1fbf */ -+ IBUS_KEY_dead_psili, IBUS_KEY_underscore, 0, 0, 0, -+ 0, 0x1FBD, /* U1fbd */ -+ IBUS_KEY_dead_psili, IBUS_KEY_dead_grave, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCD, /* U1fcd */ -+ IBUS_KEY_dead_psili, IBUS_KEY_dead_acute, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCE, /* U1fce */ -+ IBUS_KEY_dead_psili, IBUS_KEY_dead_tilde, IBUS_KEY_space, 0, 0, -+ 0, 0x1FCF, /* U1fcf */ -+ IBUS_KEY_dead_psili, IBUS_KEY_dead_horn, 0, 0, 0, -+ 0, 0x1FBF, /* U1fbf */ -+ IBUS_KEY_dead_dasia, IBUS_KEY_space, 0, 0, 0, -+ 0, 0x1FFE, /* U1ffe */ -+ IBUS_KEY_dead_dasia, IBUS_KEY_dead_grave, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDD, /* U1fdd */ -+ IBUS_KEY_dead_dasia, IBUS_KEY_dead_acute, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDE, /* U1fde */ -+ IBUS_KEY_dead_dasia, IBUS_KEY_dead_tilde, IBUS_KEY_space, 0, 0, -+ 0, 0x1FDF, /* U1fdf */ -+ IBUS_KEY_dead_dasia, IBUS_KEY_dead_ogonek, 0, 0, 0, -+ 0, 0x1FFE, /* U1ffe */ -+ IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_S, 0, 0, -+ 0, 0x00A7, /* section */ -+ IBUS_KEY_Multi_key, IBUS_KEY_exclam, IBUS_KEY_s, 0, 0, -+ 0, 0x00A7, /* section */ -+ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_grave, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1FD2, /* U1fd2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_grave, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1FE2, /* U1fe2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_asciitilde, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1FD7, /* U1fd7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1FE7, /* U1fe7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_space, 0, -+ 0, 0x2018, /* leftsinglequotemark */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0D, /* U1f0d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1D, /* U1f1d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2D, /* U1f2d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3D, /* U1f3d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4D, /* U1f4d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_UPSILON, 0, -+ 0, 0x1F5D, /* U1f5d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6D, /* U1f6d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F05, /* U1f05 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F15, /* U1f15 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F25, /* U1f25 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F35, /* U1f35 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F45, /* U1f45 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F55, /* U1f55 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F65, /* U1f65 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_space, 0, -+ 0, 0x2019, /* rightsinglequotemark */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0C, /* U1f0c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1C, /* U1f1c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2C, /* U1f2c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3C, /* U1f3c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4C, /* U1f4c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6C, /* U1f6c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F04, /* U1f04 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F14, /* U1f14 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F24, /* U1f24 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F34, /* U1f34 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F44, /* U1f44 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F54, /* U1f54 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F64, /* U1f64 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_alpha, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_eta, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_omega, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_eta, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_omega, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1FB4, /* U1fb4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1FC4, /* U1fc4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FF4, /* U1ff4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_minus, IBUS_KEY_minus, 0, 0, -+ 0, 0x00AD, /* hyphen */ -+ IBUS_KEY_Multi_key, IBUS_KEY_minus, IBUS_KEY_D, 0, 0, -+ 0, 0x00D0, /* ETH */ -+ IBUS_KEY_Multi_key, IBUS_KEY_minus, IBUS_KEY_a, 0, 0, -+ 0, 0x00E3, /* atilde */ -+ IBUS_KEY_Multi_key, IBUS_KEY_minus, IBUS_KEY_d, 0, 0, -+ 0, 0x00F0, /* eth */ -+ IBUS_KEY_Multi_key, IBUS_KEY_minus, IBUS_KEY_o, 0, 0, -+ 0, 0x00F5, /* otilde */ -+ IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_slash, 0, 0, -+ 0, 0x0374, /* U0374 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_slash, IBUS_KEY_C, 0, 0, -+ 0, 0x00A2, /* cent */ -+ IBUS_KEY_Multi_key, IBUS_KEY_colon, IBUS_KEY_colon, 0, 0, -+ 0, 0x0387, /* U0387 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_semicolon, IBUS_KEY_semicolon, 0, 0, -+ 0, 0x037E, /* U037e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_space, 0, -+ 0, 0x2018, /* leftsinglequotemark */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0D, /* U1f0d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1D, /* U1f1d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2D, /* U1f2d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3D, /* U1f3d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4D, /* U1f4d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_UPSILON, 0, -+ 0, 0x1F5D, /* U1f5d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6D, /* U1f6d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F05, /* U1f05 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F15, /* U1f15 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F25, /* U1f25 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F35, /* U1f35 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F45, /* U1f45 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F55, /* U1f55 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F65, /* U1f65 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0B, /* U1f0b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1B, /* U1f1b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2B, /* U1f2b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3B, /* U1f3b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4B, /* U1f4b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_UPSILON, 0, -+ 0, 0x1F5B, /* U1f5b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6B, /* U1f6b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F03, /* U1f03 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F13, /* U1f13 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F23, /* U1f23 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F33, /* U1f33 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F43, /* U1f43 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F53, /* U1f53 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F63, /* U1f63 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_eta, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_omega, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F89, /* U1f89 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F99, /* U1f99 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FA9, /* U1fa9 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F81, /* U1f81 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F91, /* U1f91 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA1, /* U1fa1 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0F, /* U1f0f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2F, /* U1f2f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3F, /* U1f3f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_UPSILON, 0, -+ 0, 0x1F5F, /* U1f5f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6F, /* U1f6f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F07, /* U1f07 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F27, /* U1f27 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F37, /* U1f37 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F57, /* U1f57 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F67, /* U1f67 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F09, /* U1f09 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F19, /* U1f19 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F29, /* U1f29 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F39, /* U1f39 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F49, /* U1f49 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_RHO, 0, 0, -+ 0, 0x1FEC, /* U1fec */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_UPSILON, 0, 0, -+ 0, 0x1F59, /* U1f59 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F69, /* U1f69 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F01, /* U1f01 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F11, /* U1f11 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F21, /* U1f21 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F31, /* U1f31 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F41, /* U1f41 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_rho, 0, 0, -+ 0, 0x1FE5, /* U1fe5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F51, /* U1f51 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_less, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F61, /* U1f61 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_equal, IBUS_KEY_L, 0, 0, -+ 0, 0x00A3, /* sterling */ -+ IBUS_KEY_Multi_key, IBUS_KEY_equal, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x20AC, /* EuroSign */ -+ IBUS_KEY_Multi_key, IBUS_KEY_equal, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x20AC, /* EuroSign */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_space, 0, -+ 0, 0x2019, /* rightsinglequotemark */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0C, /* U1f0c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1C, /* U1f1c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2C, /* U1f2c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3C, /* U1f3c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4C, /* U1f4c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6C, /* U1f6c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F04, /* U1f04 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F14, /* U1f14 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F24, /* U1f24 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F34, /* U1f34 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F44, /* U1f44 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F54, /* U1f54 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F64, /* U1f64 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0A, /* U1f0a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1A, /* U1f1a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2A, /* U1f2a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3A, /* U1f3a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4A, /* U1f4a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6A, /* U1f6a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F02, /* U1f02 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F12, /* U1f12 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F22, /* U1f22 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F32, /* U1f32 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F42, /* U1f42 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F52, /* U1f52 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F62, /* U1f62 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_eta, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_omega, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F88, /* U1f88 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F98, /* U1f98 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FA8, /* U1fa8 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F80, /* U1f80 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F90, /* U1f90 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA0, /* U1fa0 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0E, /* U1f0e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2E, /* U1f2e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3E, /* U1f3e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6E, /* U1f6e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F06, /* U1f06 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F26, /* U1f26 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F36, /* U1f36 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F56, /* U1f56 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F66, /* U1f66 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1F08, /* U1f08 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_EPSILON, 0, 0, -+ 0, 0x1F18, /* U1f18 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1F28, /* U1f28 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_IOTA, 0, 0, -+ 0, 0x1F38, /* U1f38 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_OMICRON, 0, 0, -+ 0, 0x1F48, /* U1f48 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1F68, /* U1f68 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1F00, /* U1f00 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_epsilon, 0, 0, -+ 0, 0x1F10, /* U1f10 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1F20, /* U1f20 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_iota, 0, 0, -+ 0, 0x1F30, /* U1f30 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_omicron, 0, 0, -+ 0, 0x1F40, /* U1f40 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_rho, 0, 0, -+ 0, 0x1FE4, /* U1fe4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_upsilon, 0, 0, -+ 0, 0x1F50, /* U1f50 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_greater, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1F60, /* U1f60 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_question, IBUS_KEY_exclam, 0, 0, -+ 0, 0x203D, /* U203D # INTERROBANG */ -+ IBUS_KEY_Multi_key, IBUS_KEY_A, IBUS_KEY_O, 0, 0, -+ 0, 0x00C5, /* Aring */ -+ IBUS_KEY_Multi_key, IBUS_KEY_B, IBUS_KEY_V, 0, 0, -+ 0, 0x00A6, /* brokenbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_C, IBUS_KEY_slash, 0, 0, -+ 0, 0x00A2, /* cent */ -+ IBUS_KEY_Multi_key, IBUS_KEY_C, IBUS_KEY_cedilla, 0, 0, -+ 0, 0x00C7, /* Ccedilla */ -+ IBUS_KEY_Multi_key, IBUS_KEY_D, IBUS_KEY_minus, 0, 0, -+ 0, 0x00D0, /* ETH */ -+ IBUS_KEY_Multi_key, IBUS_KEY_V, IBUS_KEY_B, 0, 0, -+ 0, 0x00A6, /* brokenbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_backslash, IBUS_KEY_backslash, 0, 0, -+ 0, 0x0375, /* U0375 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_exclam, 0, 0, -+ 0, 0x00A6, /* brokenbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_0, 0, 0, -+ 0, 0x00B0, /* degree */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciicircum, IBUS_KEY_asciicircum, 0, 0, -+ 0, 0x02D8, /* breve */ -+ IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_A, 0, 0, -+ 0, 0x00AA, /* ordfeminine */ -+ IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_O, 0, 0, -+ 0, 0x00BA, /* masculine */ -+ IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_a, 0, 0, -+ 0, 0x00AA, /* ordfeminine */ -+ IBUS_KEY_Multi_key, IBUS_KEY_underscore, IBUS_KEY_o, 0, 0, -+ 0, 0x00BA, /* masculine */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0B, /* U1f0b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1B, /* U1f1b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2B, /* U1f2b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3B, /* U1f3b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4B, /* U1f4b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_UPSILON, 0, -+ 0, 0x1F5B, /* U1f5b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6B, /* U1f6b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F03, /* U1f03 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F13, /* U1f13 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F23, /* U1f23 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F33, /* U1f33 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F43, /* U1f43 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F53, /* U1f53 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F63, /* U1f63 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0A, /* U1f0a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_EPSILON, 0, -+ 0, 0x1F1A, /* U1f1a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2A, /* U1f2a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3A, /* U1f3a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_OMICRON, 0, -+ 0, 0x1F4A, /* U1f4a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6A, /* U1f6a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F02, /* U1f02 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_epsilon, 0, -+ 0, 0x1F12, /* U1f12 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F22, /* U1f22 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F32, /* U1f32 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_omicron, 0, -+ 0, 0x1F42, /* U1f42 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F52, /* U1f52 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F62, /* U1f62 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_alpha, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_eta, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_omega, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_eta, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_omega, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1FB2, /* U1fb2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1FC2, /* U1fc2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_grave, IBUS_KEY_bar, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FF2, /* U1ff2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_a, IBUS_KEY_minus, 0, 0, -+ 0, 0x00E3, /* atilde */ -+ IBUS_KEY_Multi_key, IBUS_KEY_a, IBUS_KEY_o, 0, 0, -+ 0, 0x00E5, /* aring */ -+ IBUS_KEY_Multi_key, IBUS_KEY_b, IBUS_KEY_v, 0, 0, -+ 0, 0x00A6, /* brokenbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_O, 0, 0, -+ 0, 0x00A9, /* copyright */ -+ IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_o, 0, 0, -+ 0, 0x00A9, /* copyright */ -+ IBUS_KEY_Multi_key, IBUS_KEY_c, IBUS_KEY_cedilla, 0, 0, -+ 0, 0x00E7, /* ccedilla */ -+ IBUS_KEY_Multi_key, IBUS_KEY_d, IBUS_KEY_minus, 0, 0, -+ 0, 0x00F0, /* eth */ -+ IBUS_KEY_Multi_key, IBUS_KEY_o, IBUS_KEY_minus, 0, 0, -+ 0, 0x00F5, /* otilde */ -+ IBUS_KEY_Multi_key, IBUS_KEY_v, IBUS_KEY_b, 0, 0, -+ 0, 0x00A6, /* brokenbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_alpha, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_eta, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_less, IBUS_KEY_Greek_omega, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_eta, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_greater, IBUS_KEY_Greek_omega, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1FB4, /* U1fb4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1FC4, /* U1fc4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FF4, /* U1ff4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8D, /* U1f8d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9D, /* U1f9d */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAD, /* U1fad */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, -+ 0, 0x1F85, /* U1f85 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, -+ 0, 0x1F95, /* U1f95 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, -+ 0, 0x1FA5, /* U1fa5 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_eta, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_grave, IBUS_KEY_Greek_omega, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F89, /* U1f89 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F99, /* U1f99 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FA9, /* U1fa9 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F81, /* U1f81 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F91, /* U1f91 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA1, /* U1fa1 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8C, /* U1f8c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9C, /* U1f9c */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAC, /* U1fac */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_alpha, -+ 0, 0x1F84, /* U1f84 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_eta, -+ 0, 0x1F94, /* U1f94 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_apostrophe, IBUS_KEY_Greek_omega, -+ 0, 0x1FA4, /* U1fa4 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_eta, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_grave, IBUS_KEY_Greek_omega, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F88, /* U1f88 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F98, /* U1f98 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1FA8, /* U1fa8 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F80, /* U1f80 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F90, /* U1f90 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FA0, /* U1fa0 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8B, /* U1f8b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9B, /* U1f9b */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAB, /* U1fab */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_alpha, -+ 0, 0x1F83, /* U1f83 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_eta, -+ 0, 0x1F93, /* U1f93 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_less, IBUS_KEY_Greek_omega, -+ 0, 0x1FA3, /* U1fa3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8A, /* U1f8a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9A, /* U1f9a */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAA, /* U1faa */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, -+ 0, 0x1F82, /* U1f82 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_eta, -+ 0, 0x1F92, /* U1f92 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_greater, IBUS_KEY_Greek_omega, -+ 0, 0x1FA2, /* U1fa2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1FB2, /* U1fb2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1FC2, /* U1fc2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_grave, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FF2, /* U1ff2 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_bar, 0, 0, -+ 0, 0x00A6, /* brokenbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_alpha, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_eta, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_omega, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_eta, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_omega, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1FB7, /* U1fb7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1FC7, /* U1fc7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_asciitilde, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FF7, /* U1ff7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, 0, 0, -+ 0, 0x1FBC, /* U1fbc */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, 0, 0, -+ 0, 0x1FCC, /* U1fcc */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, 0, 0, -+ 0, 0x1FFC, /* U1ffc */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, 0, 0, -+ 0, 0x1FB3, /* U1fb3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_Greek_eta, 0, 0, -+ 0, 0x1FC3, /* U1fc3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_bar, IBUS_KEY_Greek_omega, 0, 0, -+ 0, 0x1FF3, /* U1ff3 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0F, /* U1f0f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2F, /* U1f2f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3F, /* U1f3f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_UPSILON, 0, -+ 0, 0x1F5F, /* U1f5f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6F, /* U1f6f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F07, /* U1f07 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F27, /* U1f27 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F37, /* U1f37 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F57, /* U1f57 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_less, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F67, /* U1f67 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_eta, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_bar, IBUS_KEY_Greek_omega, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, 0, -+ 0, 0x1F0E, /* U1f0e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, 0, -+ 0, 0x1F2E, /* U1f2e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_IOTA, 0, -+ 0, 0x1F3E, /* U1f3e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, 0, -+ 0, 0x1F6E, /* U1f6e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1F06, /* U1f06 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1F26, /* U1f26 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_iota, 0, -+ 0, 0x1F36, /* U1f36 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_upsilon, 0, -+ 0, 0x1F56, /* U1f56 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_greater, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1F66, /* U1f66 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8F, /* U1f8f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9F, /* U1f9f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAF, /* U1faf */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_alpha, -+ 0, 0x1F87, /* U1f87 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_eta, -+ 0, 0x1F97, /* U1f97 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_less, IBUS_KEY_Greek_omega, -+ 0, 0x1FA7, /* U1fa7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ALPHA, -+ 0, 0x1F8E, /* U1f8e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_ETA, -+ 0, 0x1F9E, /* U1f9e */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_OMEGA, -+ 0, 0x1FAE, /* U1fae */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_alpha, -+ 0, 0x1F86, /* U1f86 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_eta, -+ 0, 0x1F96, /* U1f96 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_greater, IBUS_KEY_Greek_omega, -+ 0, 0x1FA6, /* U1fa6 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_alpha, 0, -+ 0, 0x1FB7, /* U1fb7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_eta, 0, -+ 0, 0x1FC7, /* U1fc7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_bar, IBUS_KEY_Greek_omega, 0, -+ 0, 0x1FF7, /* U1ff7 */ -+ IBUS_KEY_Multi_key, IBUS_KEY_asciitilde, IBUS_KEY_asciitilde, 0, 0, -+ 0, 0x2015, /* Greek_horizbar */ -+ IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_C, 0, 0, -+ 0, 0x00C7, /* Ccedilla */ -+ IBUS_KEY_Multi_key, IBUS_KEY_acute, IBUS_KEY_c, 0, 0, -+ 0, 0x00E7, /* ccedilla */ -+ IBUS_KEY_Multi_key, IBUS_KEY_Greek_DELTA, IBUS_KEY_Greek_RHO, 0, 0, -+ 0, 0x20AF, /* U20af */ -+ IBUS_KEY_Multi_key, IBUS_KEY_Greek_DELTA, IBUS_KEY_Greek_rho, 0, 0, -+ 0, 0x20AF, /* U20af */ -+ IBUS_KEY_Multi_key, IBUS_KEY_Greek_EPSILON, IBUS_KEY_equal, 0, 0, -+ 0, 0x20AC, /* EuroSign */ -+ IBUS_KEY_Multi_key, IBUS_KEY_Greek_delta, IBUS_KEY_Greek_RHO, 0, 0, -+ 0, 0x20AF, /* U20af */ -+ IBUS_KEY_Multi_key, IBUS_KEY_Greek_delta, IBUS_KEY_Greek_rho, 0, 0, -+ 0, 0x20AF, /* U20af */ -+ IBUS_KEY_Multi_key, IBUS_KEY_Greek_epsilon, IBUS_KEY_equal, 0, 0, -+ 0, 0x20AC /* EuroSign */ -+}; -+ -+static const IBusComposeTable ibus_compose_table_el_gr = { -+ ibus_compose_seqs_el_gr, -+ 5, -+ G_N_ELEMENTS (ibus_compose_seqs_el_gr) / (5 + 2) -+}; -+ -+static const guint16 ibus_compose_seqs_fi_fi[] = { -+ IBUS_KEY_dead_acute, IBUS_KEY_space, 0, 0, -+ 0, 0x00B4, /* # ACUTE ACCENT */ -+ IBUS_KEY_dead_acute, IBUS_KEY_dead_circumflex, IBUS_KEY_E, 0, -+ 0, 0x1EC6, /* # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_space, 0, 0, -+ 0, 0x00A8, /* # DIAERESIS */ -+ IBUS_KEY_dead_hook, IBUS_KEY_dead_horn, IBUS_KEY_o, 0, -+ 0, 0x1EDD, /* # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_D, 0, 0, -+ 0, 0x0110, /* # LATIN CAPITAL LETTER D WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_G, 0, 0, -+ 0, 0x01E4, /* # LATIN CAPITAL LETTER G WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_H, 0, 0, -+ 0, 0x0126, /* # LATIN CAPITAL LETTER H WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_L, 0, 0, -+ 0, 0x0141, /* # LATIN CAPITAL LETTER L WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_O, 0, 0, -+ 0, 0x00D8, /* # LATIN CAPITAL LETTER O WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_T, 0, 0, -+ 0, 0x0166, /* # LATIN CAPITAL LETTER T WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_d, 0, 0, -+ 0, 0x0111, /* # LATIN SMALL LETTER D WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_g, 0, 0, -+ 0, 0x01E5, /* # LATIN SMALL LETTER G WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_h, 0, 0, -+ 0, 0x0127, /* # LATIN SMALL LETTER H WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_l, 0, 0, -+ 0, 0x0142, /* # LATIN SMALL LETTER L WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_o, 0, 0, -+ 0, 0x00F8, /* # LATIN SMALL LETTER O WITH STROKE */ -+ IBUS_KEY_dead_stroke, IBUS_KEY_t, 0, 0, -+ 0, 0x0167, /* # LATIN SMALL LETTER T WITH STROKE */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_S, 0, 0, -+ 0, 0x0218, /* # LATIN CAPITAL LETTER S WITH COMMA BELOW */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_T, 0, 0, -+ 0, 0x021A, /* # LATIN CAPITAL LETTER T WITH COMMA BELOW */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_s, 0, 0, -+ 0, 0x0219, /* # LATIN SMALL LETTER S WITH COMMA BELOW */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_t, 0, 0, -+ 0, 0x021B, /* # LATIN SMALL LETTER T WITH COMMA BELOW */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, IBUS_KEY_space, IBUS_KEY_n, -+ 0, 0x0149 /* # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE */ -+}; -+ -+static const IBusComposeTable ibus_compose_table_fi_fi = { -+ ibus_compose_seqs_fi_fi, -+ 4, -+ G_N_ELEMENTS (ibus_compose_seqs_fi_fi) / (4 + 2) -+}; -+ -+static const guint16 ibus_compose_seqs_pt_br[] = { -+ IBUS_KEY_dead_grave, 0x1F00, 0, 0, 0, -+ 0, 0x1F02, /* U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F01, 0, 0, 0, -+ 0, 0x1F03, /* U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F08, 0, 0, 0, -+ 0, 0x1F0A, /* U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F09, 0, 0, 0, -+ 0, 0x1F0B, /* U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F10, 0, 0, 0, -+ 0, 0x1F12, /* U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F11, 0, 0, 0, -+ 0, 0x1F13, /* U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F18, 0, 0, 0, -+ 0, 0x1F1A, /* U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F19, 0, 0, 0, -+ 0, 0x1F1B, /* U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F20, 0, 0, 0, -+ 0, 0x1F22, /* U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F21, 0, 0, 0, -+ 0, 0x1F23, /* U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F28, 0, 0, 0, -+ 0, 0x1F2A, /* U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F29, 0, 0, 0, -+ 0, 0x1F2B, /* U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F30, 0, 0, 0, -+ 0, 0x1F32, /* U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F31, 0, 0, 0, -+ 0, 0x1F33, /* U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F38, 0, 0, 0, -+ 0, 0x1F3A, /* U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F39, 0, 0, 0, -+ 0, 0x1F3B, /* U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F40, 0, 0, 0, -+ 0, 0x1F42, /* U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F41, 0, 0, 0, -+ 0, 0x1F43, /* U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F48, 0, 0, 0, -+ 0, 0x1F4A, /* U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F49, 0, 0, 0, -+ 0, 0x1F4B, /* U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F50, 0, 0, 0, -+ 0, 0x1F52, /* U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F51, 0, 0, 0, -+ 0, 0x1F53, /* U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F59, 0, 0, 0, -+ 0, 0x1F5B, /* U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F60, 0, 0, 0, -+ 0, 0x1F62, /* U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F61, 0, 0, 0, -+ 0, 0x1F63, /* U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F68, 0, 0, 0, -+ 0, 0x1F6A, /* U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA */ -+ IBUS_KEY_dead_grave, 0x1F69, 0, 0, 0, -+ 0, 0x1F6B, /* U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA */ -+ IBUS_KEY_dead_acute, IBUS_KEY_C, 0, 0, 0, -+ 0, 0x00C7, /* Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA */ -+ IBUS_KEY_dead_acute, IBUS_KEY_c, 0, 0, 0, -+ 0, 0x00E7, /* ccedilla # LATIN SMALL LETTER C WITH CEDILLA */ -+ IBUS_KEY_dead_acute, 0x1F00, 0, 0, 0, -+ 0, 0x1F04, /* U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F01, 0, 0, 0, -+ 0, 0x1F05, /* U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F08, 0, 0, 0, -+ 0, 0x1F0C, /* U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F09, 0, 0, 0, -+ 0, 0x1F0D, /* U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F10, 0, 0, 0, -+ 0, 0x1F14, /* U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F11, 0, 0, 0, -+ 0, 0x1F15, /* U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F18, 0, 0, 0, -+ 0, 0x1F1C, /* U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F19, 0, 0, 0, -+ 0, 0x1F1D, /* U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F20, 0, 0, 0, -+ 0, 0x1F24, /* U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F21, 0, 0, 0, -+ 0, 0x1F25, /* U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F28, 0, 0, 0, -+ 0, 0x1F2C, /* U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F29, 0, 0, 0, -+ 0, 0x1F2D, /* U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F30, 0, 0, 0, -+ 0, 0x1F34, /* U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F31, 0, 0, 0, -+ 0, 0x1F35, /* U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F38, 0, 0, 0, -+ 0, 0x1F3C, /* U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F39, 0, 0, 0, -+ 0, 0x1F3D, /* U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F40, 0, 0, 0, -+ 0, 0x1F44, /* U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F41, 0, 0, 0, -+ 0, 0x1F45, /* U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F48, 0, 0, 0, -+ 0, 0x1F4C, /* U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F49, 0, 0, 0, -+ 0, 0x1F4D, /* U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F50, 0, 0, 0, -+ 0, 0x1F54, /* U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F51, 0, 0, 0, -+ 0, 0x1F55, /* U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F59, 0, 0, 0, -+ 0, 0x1F5D, /* U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F60, 0, 0, 0, -+ 0, 0x1F64, /* U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F61, 0, 0, 0, -+ 0, 0x1F65, /* U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F68, 0, 0, 0, -+ 0, 0x1F6C, /* U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA */ -+ IBUS_KEY_dead_acute, 0x1F69, 0, 0, 0, -+ 0, 0x1F6D, /* U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA */ -+ IBUS_KEY_dead_circumflex, 0x1EA0, 0, 0, 0, -+ 0, 0x1EAC, /* U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ -+ IBUS_KEY_dead_circumflex, 0x1EA1, 0, 0, 0, -+ 0, 0x1EAD, /* U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */ -+ IBUS_KEY_dead_circumflex, 0x1EB8, 0, 0, 0, -+ 0, 0x1EC6, /* U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ -+ IBUS_KEY_dead_circumflex, 0x1EB9, 0, 0, 0, -+ 0, 0x1EC7, /* U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */ -+ IBUS_KEY_dead_circumflex, 0x1ECC, 0, 0, 0, -+ 0, 0x1ED8, /* U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ -+ IBUS_KEY_dead_circumflex, 0x1ECD, 0, 0, 0, -+ 0, 0x1ED9, /* U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */ -+ IBUS_KEY_dead_macron, 0x01EA, 0, 0, 0, -+ 0, 0x01EC, /* U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON */ -+ IBUS_KEY_dead_macron, 0x01EB, 0, 0, 0, -+ 0, 0x01ED, /* U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON */ -+ IBUS_KEY_dead_macron, 0x0226, 0, 0, 0, -+ 0, 0x01E0, /* U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON */ -+ IBUS_KEY_dead_macron, 0x0227, 0, 0, 0, -+ 0, 0x01E1, /* U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON */ -+ IBUS_KEY_dead_macron, 0x022E, 0, 0, 0, -+ 0, 0x0230, /* U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON */ -+ IBUS_KEY_dead_macron, 0x022F, 0, 0, 0, -+ 0, 0x0231, /* U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON */ -+ IBUS_KEY_dead_macron, 0x1E36, 0, 0, 0, -+ 0, 0x1E38, /* U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON */ -+ IBUS_KEY_dead_macron, 0x1E37, 0, 0, 0, -+ 0, 0x1E39, /* U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON */ -+ IBUS_KEY_dead_macron, 0x1E5A, 0, 0, 0, -+ 0, 0x1E5C, /* U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON */ -+ IBUS_KEY_dead_macron, 0x1E5B, 0, 0, 0, -+ 0, 0x1E5D, /* U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON */ -+ IBUS_KEY_dead_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_U, 0, 0, -+ 0, 0x01D5, /* U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON */ -+ IBUS_KEY_dead_macron, IBUS_KEY_dead_diaeresis, IBUS_KEY_u, 0, 0, -+ 0, 0x01D6, /* U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON */ -+ IBUS_KEY_dead_breve, 0x0228, 0, 0, 0, -+ 0, 0x1E1C, /* U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */ -+ IBUS_KEY_dead_breve, 0x0229, 0, 0, 0, -+ 0, 0x1E1D, /* U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE */ -+ IBUS_KEY_dead_breve, 0x1EA0, 0, 0, 0, -+ 0, 0x1EB6, /* U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */ -+ IBUS_KEY_dead_breve, 0x1EA1, 0, 0, 0, -+ 0, 0x1EB7, /* U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */ -+ IBUS_KEY_dead_abovedot, 0x017F, 0, 0, 0, -+ 0, 0x1E9B, /* U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE */ -+ IBUS_KEY_dead_abovedot, 0x1E62, 0, 0, 0, -+ 0, 0x1E68, /* U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE */ -+ IBUS_KEY_dead_abovedot, 0x1E63, 0, 0, 0, -+ 0, 0x1E69, /* U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE */ -+ IBUS_KEY_dead_diaeresis, 0x04D8, 0, 0, 0, -+ 0, 0x04DA, /* U04DA # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS */ -+ IBUS_KEY_dead_diaeresis, 0x04D9, 0, 0, 0, -+ 0, 0x04DB, /* U04DB # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS */ -+ IBUS_KEY_dead_diaeresis, 0x04E8, 0, 0, 0, -+ 0, 0x04EA, /* U04EA # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS */ -+ IBUS_KEY_dead_diaeresis, 0x04E9, 0, 0, 0, -+ 0, 0x04EB, /* U04EB # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_dead_macron, IBUS_KEY_U, 0, 0, -+ 0, 0x1E7A, /* U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS */ -+ IBUS_KEY_dead_diaeresis, IBUS_KEY_dead_macron, IBUS_KEY_u, 0, 0, -+ 0, 0x1E7B, /* U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS */ -+ IBUS_KEY_dead_iota, 0x1F00, 0, 0, 0, -+ 0, 0x1F80, /* U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F01, 0, 0, 0, -+ 0, 0x1F81, /* U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F02, 0, 0, 0, -+ 0, 0x1F82, /* U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F03, 0, 0, 0, -+ 0, 0x1F83, /* U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F04, 0, 0, 0, -+ 0, 0x1F84, /* U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F05, 0, 0, 0, -+ 0, 0x1F85, /* U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F06, 0, 0, 0, -+ 0, 0x1F86, /* U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F07, 0, 0, 0, -+ 0, 0x1F87, /* U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F08, 0, 0, 0, -+ 0, 0x1F88, /* U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F09, 0, 0, 0, -+ 0, 0x1F89, /* U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F0A, 0, 0, 0, -+ 0, 0x1F8A, /* U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F0B, 0, 0, 0, -+ 0, 0x1F8B, /* U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F0C, 0, 0, 0, -+ 0, 0x1F8C, /* U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F0D, 0, 0, 0, -+ 0, 0x1F8D, /* U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F0E, 0, 0, 0, -+ 0, 0x1F8E, /* U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F0F, 0, 0, 0, -+ 0, 0x1F8F, /* U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F20, 0, 0, 0, -+ 0, 0x1F90, /* U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F21, 0, 0, 0, -+ 0, 0x1F91, /* U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F22, 0, 0, 0, -+ 0, 0x1F92, /* U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F23, 0, 0, 0, -+ 0, 0x1F93, /* U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F24, 0, 0, 0, -+ 0, 0x1F94, /* U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F25, 0, 0, 0, -+ 0, 0x1F95, /* U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F26, 0, 0, 0, -+ 0, 0x1F96, /* U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F27, 0, 0, 0, -+ 0, 0x1F97, /* U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F28, 0, 0, 0, -+ 0, 0x1F98, /* U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F29, 0, 0, 0, -+ 0, 0x1F99, /* U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F2A, 0, 0, 0, -+ 0, 0x1F9A, /* U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F2B, 0, 0, 0, -+ 0, 0x1F9B, /* U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F2C, 0, 0, 0, -+ 0, 0x1F9C, /* U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F2D, 0, 0, 0, -+ 0, 0x1F9D, /* U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F2E, 0, 0, 0, -+ 0, 0x1F9E, /* U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F2F, 0, 0, 0, -+ 0, 0x1F9F, /* U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F60, 0, 0, 0, -+ 0, 0x1FA0, /* U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F61, 0, 0, 0, -+ 0, 0x1FA1, /* U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F62, 0, 0, 0, -+ 0, 0x1FA2, /* U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F63, 0, 0, 0, -+ 0, 0x1FA3, /* U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F64, 0, 0, 0, -+ 0, 0x1FA4, /* U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F65, 0, 0, 0, -+ 0, 0x1FA5, /* U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F66, 0, 0, 0, -+ 0, 0x1FA6, /* U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F67, 0, 0, 0, -+ 0, 0x1FA7, /* U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F68, 0, 0, 0, -+ 0, 0x1FA8, /* U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F69, 0, 0, 0, -+ 0, 0x1FA9, /* U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F6A, 0, 0, 0, -+ 0, 0x1FAA, /* U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F6B, 0, 0, 0, -+ 0, 0x1FAB, /* U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F6C, 0, 0, 0, -+ 0, 0x1FAC, /* U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F6D, 0, 0, 0, -+ 0, 0x1FAD, /* U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F6E, 0, 0, 0, -+ 0, 0x1FAE, /* U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F6F, 0, 0, 0, -+ 0, 0x1FAF, /* U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F70, 0, 0, 0, -+ 0, 0x1FB2, /* U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F74, 0, 0, 0, -+ 0, 0x1FC2, /* U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1F7C, 0, 0, 0, -+ 0, 0x1FF2, /* U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1FB6, 0, 0, 0, -+ 0, 0x1FB7, /* U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1FC6, 0, 0, 0, -+ 0, 0x1FC7, /* U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, 0x1FF6, 0, 0, 0, -+ 0, 0x1FF7, /* U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F00, 0, 0, -+ 0, 0x1F82, /* U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F01, 0, 0, -+ 0, 0x1F83, /* U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F08, 0, 0, -+ 0, 0x1F8A, /* U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F09, 0, 0, -+ 0, 0x1F8B, /* U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F20, 0, 0, -+ 0, 0x1F92, /* U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F21, 0, 0, -+ 0, 0x1F93, /* U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F28, 0, 0, -+ 0, 0x1F9A, /* U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F29, 0, 0, -+ 0, 0x1F9B, /* U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F60, 0, 0, -+ 0, 0x1FA2, /* U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F61, 0, 0, -+ 0, 0x1FA3, /* U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F68, 0, 0, -+ 0, 0x1FAA, /* U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_grave, 0x1F69, 0, 0, -+ 0, 0x1FAB, /* U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F00, 0, 0, -+ 0, 0x1F84, /* U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F01, 0, 0, -+ 0, 0x1F85, /* U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F08, 0, 0, -+ 0, 0x1F8C, /* U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F09, 0, 0, -+ 0, 0x1F8D, /* U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F20, 0, 0, -+ 0, 0x1F94, /* U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F21, 0, 0, -+ 0, 0x1F95, /* U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F28, 0, 0, -+ 0, 0x1F9C, /* U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F29, 0, 0, -+ 0, 0x1F9D, /* U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F60, 0, 0, -+ 0, 0x1FA4, /* U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F61, 0, 0, -+ 0, 0x1FA5, /* U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F68, 0, 0, -+ 0, 0x1FAC, /* U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_iota, IBUS_KEY_dead_acute, 0x1F69, 0, 0, -+ 0, 0x1FAD, /* U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI */ -+ IBUS_KEY_dead_voiced_sound, 0x3046, 0, 0, 0, -+ 0, 0x3094, /* U3094 # HIRAGANA LETTER VU */ -+ IBUS_KEY_dead_voiced_sound, 0x304B, 0, 0, 0, -+ 0, 0x304C, /* U304C # HIRAGANA LETTER GA */ -+ IBUS_KEY_dead_voiced_sound, 0x304D, 0, 0, 0, -+ 0, 0x304E, /* U304E # HIRAGANA LETTER GI */ -+ IBUS_KEY_dead_voiced_sound, 0x304F, 0, 0, 0, -+ 0, 0x3050, /* U3050 # HIRAGANA LETTER GU */ -+ IBUS_KEY_dead_voiced_sound, 0x3051, 0, 0, 0, -+ 0, 0x3052, /* U3052 # HIRAGANA LETTER GE */ -+ IBUS_KEY_dead_voiced_sound, 0x3053, 0, 0, 0, -+ 0, 0x3054, /* U3054 # HIRAGANA LETTER GO */ -+ IBUS_KEY_dead_voiced_sound, 0x3055, 0, 0, 0, -+ 0, 0x3056, /* U3056 # HIRAGANA LETTER ZA */ -+ IBUS_KEY_dead_voiced_sound, 0x3057, 0, 0, 0, -+ 0, 0x3058, /* U3058 # HIRAGANA LETTER ZI */ -+ IBUS_KEY_dead_voiced_sound, 0x3059, 0, 0, 0, -+ 0, 0x305A, /* U305A # HIRAGANA LETTER ZU */ -+ IBUS_KEY_dead_voiced_sound, 0x305B, 0, 0, 0, -+ 0, 0x305C, /* U305C # HIRAGANA LETTER ZE */ -+ IBUS_KEY_dead_voiced_sound, 0x305D, 0, 0, 0, -+ 0, 0x305E, /* U305E # HIRAGANA LETTER ZO */ -+ IBUS_KEY_dead_voiced_sound, 0x305F, 0, 0, 0, -+ 0, 0x3060, /* U3060 # HIRAGANA LETTER DA */ -+ IBUS_KEY_dead_voiced_sound, 0x3061, 0, 0, 0, -+ 0, 0x3062, /* U3062 # HIRAGANA LETTER DI */ -+ IBUS_KEY_dead_voiced_sound, 0x3064, 0, 0, 0, -+ 0, 0x3065, /* U3065 # HIRAGANA LETTER DU */ -+ IBUS_KEY_dead_voiced_sound, 0x3066, 0, 0, 0, -+ 0, 0x3067, /* U3067 # HIRAGANA LETTER DE */ -+ IBUS_KEY_dead_voiced_sound, 0x3068, 0, 0, 0, -+ 0, 0x3069, /* U3069 # HIRAGANA LETTER DO */ -+ IBUS_KEY_dead_voiced_sound, 0x306F, 0, 0, 0, -+ 0, 0x3070, /* U3070 # HIRAGANA LETTER BA */ -+ IBUS_KEY_dead_voiced_sound, 0x3072, 0, 0, 0, -+ 0, 0x3073, /* U3073 # HIRAGANA LETTER BI */ -+ IBUS_KEY_dead_voiced_sound, 0x3075, 0, 0, 0, -+ 0, 0x3076, /* U3076 # HIRAGANA LETTER BU */ -+ IBUS_KEY_dead_voiced_sound, 0x3078, 0, 0, 0, -+ 0, 0x3079, /* U3079 # HIRAGANA LETTER BE */ -+ IBUS_KEY_dead_voiced_sound, 0x307B, 0, 0, 0, -+ 0, 0x307C, /* U307C # HIRAGANA LETTER BO */ -+ IBUS_KEY_dead_voiced_sound, 0x309D, 0, 0, 0, -+ 0, 0x309E, /* U309E # HIRAGANA VOICED ITERATION MARK */ -+ IBUS_KEY_dead_voiced_sound, 0x30F0, 0, 0, 0, -+ 0, 0x30F8, /* U30F8 # KATAKANA LETTER VI */ -+ IBUS_KEY_dead_voiced_sound, 0x30F1, 0, 0, 0, -+ 0, 0x30F9, /* U30F9 # KATAKANA LETTER VE */ -+ IBUS_KEY_dead_voiced_sound, 0x30FD, 0, 0, 0, -+ 0, 0x30FE, /* U30FE # KATAKANA VOICED ITERATION MARK */ -+ IBUS_KEY_dead_semivoiced_sound, 0x306F, 0, 0, 0, -+ 0, 0x3071, /* U3071 # HIRAGANA LETTER PA */ -+ IBUS_KEY_dead_semivoiced_sound, 0x3072, 0, 0, 0, -+ 0, 0x3074, /* U3074 # HIRAGANA LETTER PI */ -+ IBUS_KEY_dead_semivoiced_sound, 0x3075, 0, 0, 0, -+ 0, 0x3077, /* U3077 # HIRAGANA LETTER PU */ -+ IBUS_KEY_dead_semivoiced_sound, 0x3078, 0, 0, 0, -+ 0, 0x307A, /* U307A # HIRAGANA LETTER PE */ -+ IBUS_KEY_dead_semivoiced_sound, 0x307B, 0, 0, 0, -+ 0, 0x307D, /* U307D # HIRAGANA LETTER PO */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_A, 0, 0, 0, -+ 0, 0x0200, /* U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_E, 0, 0, 0, -+ 0, 0x0204, /* U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_I, 0, 0, 0, -+ 0, 0x0208, /* U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_O, 0, 0, 0, -+ 0, 0x020C, /* U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_R, 0, 0, 0, -+ 0, 0x0210, /* U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_U, 0, 0, 0, -+ 0, 0x0214, /* U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_a, 0, 0, 0, -+ 0, 0x0201, /* U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_e, 0, 0, 0, -+ 0, 0x0205, /* U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_i, 0, 0, 0, -+ 0, 0x0209, /* U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_o, 0, 0, 0, -+ 0, 0x020D, /* U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_r, 0, 0, 0, -+ 0, 0x0211, /* U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, IBUS_KEY_u, 0, 0, 0, -+ 0, 0x0215, /* U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE */ -+ IBUS_KEY_dead_doublegrave, 0x0474, 0, 0, 0, -+ 0, 0x0476, /* U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */ -+ IBUS_KEY_dead_doublegrave, 0x0475, 0, 0, 0, -+ 0, 0x0477, /* U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT */ -+ IBUS_KEY_dead_belowring, IBUS_KEY_A, 0, 0, 0, -+ 0, 0x1E00, /* U1E00 # LATIN CAPITAL LETTER A WITH RING BELOW */ -+ IBUS_KEY_dead_belowring, IBUS_KEY_a, 0, 0, 0, -+ 0, 0x1E01, /* U1E01 # LATIN SMALL LETTER A WITH RING BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_B, 0, 0, 0, -+ 0, 0x1E06, /* U1E06 # LATIN CAPITAL LETTER B WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_D, 0, 0, 0, -+ 0, 0x1E0E, /* U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_K, 0, 0, 0, -+ 0, 0x1E34, /* U1E34 # LATIN CAPITAL LETTER K WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_L, 0, 0, 0, -+ 0, 0x1E3A, /* U1E3A # LATIN CAPITAL LETTER L WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_N, 0, 0, 0, -+ 0, 0x1E48, /* U1E48 # LATIN CAPITAL LETTER N WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_R, 0, 0, 0, -+ 0, 0x1E5E, /* U1E5E # LATIN CAPITAL LETTER R WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_T, 0, 0, 0, -+ 0, 0x1E6E, /* U1E6E # LATIN CAPITAL LETTER T WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_Z, 0, 0, 0, -+ 0, 0x1E94, /* U1E94 # LATIN CAPITAL LETTER Z WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_b, 0, 0, 0, -+ 0, 0x1E07, /* U1E07 # LATIN SMALL LETTER B WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_d, 0, 0, 0, -+ 0, 0x1E0F, /* U1E0F # LATIN SMALL LETTER D WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_h, 0, 0, 0, -+ 0, 0x1E96, /* U1E96 # LATIN SMALL LETTER H WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_k, 0, 0, 0, -+ 0, 0x1E35, /* U1E35 # LATIN SMALL LETTER K WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_l, 0, 0, 0, -+ 0, 0x1E3B, /* U1E3B # LATIN SMALL LETTER L WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_n, 0, 0, 0, -+ 0, 0x1E49, /* U1E49 # LATIN SMALL LETTER N WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_r, 0, 0, 0, -+ 0, 0x1E5F, /* U1E5F # LATIN SMALL LETTER R WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_t, 0, 0, 0, -+ 0, 0x1E6F, /* U1E6F # LATIN SMALL LETTER T WITH LINE BELOW */ -+ IBUS_KEY_dead_belowmacron, IBUS_KEY_z, 0, 0, 0, -+ 0, 0x1E95, /* U1E95 # LATIN SMALL LETTER Z WITH LINE BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_D, 0, 0, 0, -+ 0, 0x1E12, /* U1E12 # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_E, 0, 0, 0, -+ 0, 0x1E18, /* U1E18 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_L, 0, 0, 0, -+ 0, 0x1E3C, /* U1E3C # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_N, 0, 0, 0, -+ 0, 0x1E4A, /* U1E4A # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_T, 0, 0, 0, -+ 0, 0x1E70, /* U1E70 # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_U, 0, 0, 0, -+ 0, 0x1E76, /* U1E76 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_d, 0, 0, 0, -+ 0, 0x1E13, /* U1E13 # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_e, 0, 0, 0, -+ 0, 0x1E19, /* U1E19 # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_l, 0, 0, 0, -+ 0, 0x1E3D, /* U1E3D # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_n, 0, 0, 0, -+ 0, 0x1E4B, /* U1E4B # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_t, 0, 0, 0, -+ 0, 0x1E71, /* U1E71 # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowcircumflex, IBUS_KEY_u, 0, 0, 0, -+ 0, 0x1E77, /* U1E77 # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW */ -+ IBUS_KEY_dead_belowtilde, IBUS_KEY_E, 0, 0, 0, -+ 0, 0x1E1A, /* U1E1A # LATIN CAPITAL LETTER E WITH TILDE BELOW */ -+ IBUS_KEY_dead_belowtilde, IBUS_KEY_I, 0, 0, 0, -+ 0, 0x1E2C, /* U1E2C # LATIN CAPITAL LETTER I WITH TILDE BELOW */ -+ IBUS_KEY_dead_belowtilde, IBUS_KEY_U, 0, 0, 0, -+ 0, 0x1E74, /* U1E74 # LATIN CAPITAL LETTER U WITH TILDE BELOW */ -+ IBUS_KEY_dead_belowtilde, IBUS_KEY_e, 0, 0, 0, -+ 0, 0x1E1B, /* U1E1B # LATIN SMALL LETTER E WITH TILDE BELOW */ -+ IBUS_KEY_dead_belowtilde, IBUS_KEY_i, 0, 0, 0, -+ 0, 0x1E2D, /* U1E2D # LATIN SMALL LETTER I WITH TILDE BELOW */ -+ IBUS_KEY_dead_belowtilde, IBUS_KEY_u, 0, 0, 0, -+ 0, 0x1E75, /* U1E75 # LATIN SMALL LETTER U WITH TILDE BELOW */ -+ IBUS_KEY_dead_belowbreve, IBUS_KEY_H, 0, 0, 0, -+ 0, 0x1E2A, /* U1E2A # LATIN CAPITAL LETTER H WITH BREVE BELOW */ -+ IBUS_KEY_dead_belowbreve, IBUS_KEY_h, 0, 0, 0, -+ 0, 0x1E2B, /* U1E2B # LATIN SMALL LETTER H WITH BREVE BELOW */ -+ IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_U, 0, 0, 0, -+ 0, 0x1E72, /* U1E72 # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW */ -+ IBUS_KEY_dead_belowdiaeresis, IBUS_KEY_u, 0, 0, 0, -+ 0, 0x1E73, /* U1E73 # LATIN SMALL LETTER U WITH DIAERESIS BELOW */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_A, 0, 0, 0, -+ 0, 0x0202, /* U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_E, 0, 0, 0, -+ 0, 0x0206, /* U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_I, 0, 0, 0, -+ 0, 0x020A, /* U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_O, 0, 0, 0, -+ 0, 0x020E, /* U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_R, 0, 0, 0, -+ 0, 0x0212, /* U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_U, 0, 0, 0, -+ 0, 0x0216, /* U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_a, 0, 0, 0, -+ 0, 0x0203, /* U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_e, 0, 0, 0, -+ 0, 0x0207, /* U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_i, 0, 0, 0, -+ 0, 0x020B, /* U020B # LATIN SMALL LETTER I WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_o, 0, 0, 0, -+ 0, 0x020F, /* U020F # LATIN SMALL LETTER O WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_r, 0, 0, 0, -+ 0, 0x0213, /* U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE */ -+ IBUS_KEY_dead_invertedbreve, IBUS_KEY_u, 0, 0, 0, -+ 0, 0x0217, /* U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_S, 0, 0, 0, -+ 0, 0x0218, /* U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_T, 0, 0, 0, -+ 0, 0x021A, /* U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_s, 0, 0, 0, -+ 0, 0x0219, /* U0219 # LATIN SMALL LETTER S WITH COMMA BELOW */ -+ IBUS_KEY_dead_belowcomma, IBUS_KEY_t, 0, 0, 0, -+ 0, 0x021B, /* U021B # LATIN SMALL LETTER T WITH COMMA BELOW */ -+ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_slash, 0, 0, -+ 0, 0x301E, /* U301e # DOUBLE PRIME QUOTATION MARK */ -+ IBUS_KEY_Multi_key, IBUS_KEY_quotedbl, IBUS_KEY_backslash, 0, 0, -+ 0, 0x301D, /* U301d # REVERSED DOUBLE PRIME QUOTATION MARK */ -+ IBUS_KEY_Multi_key, IBUS_KEY_apostrophe, 0x03D2, 0, 0, -+ 0, 0x03D3, /* U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */ -+ IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_5, IBUS_KEY_0, IBUS_KEY_parenright, -+ 0, 0x32BF, /* U32BF # CIRCLED NUMBER FIFTY */ -+ IBUS_KEY_Multi_key, IBUS_KEY_parenleft, IBUS_KEY_KP_5, IBUS_KEY_0, IBUS_KEY_parenright, -+ 0, 0x32BF, /* U32BF # CIRCLED NUMBER FIFTY */ -+ IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_E, 0, 0, -+ 0, 0x0228, /* U0228 # LATIN CAPITAL LETTER E WITH CEDILLA */ -+ IBUS_KEY_Multi_key, IBUS_KEY_comma, IBUS_KEY_e, 0, 0, -+ 0, 0x0229, /* U0229 # LATIN SMALL LETTER E WITH CEDILLA */ -+ IBUS_KEY_Multi_key, IBUS_KEY_period, 0x1E63, 0, 0, -+ 0, 0x1E69, /* U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE */ -+ IBUS_KEY_Multi_key, IBUS_KEY_question, IBUS_KEY_exclam, 0, 0, -+ 0, 0x203D, /* U203D # INTERROBANG */ -+ IBUS_KEY_Multi_key, IBUS_KEY_L, IBUS_KEY_equal, 0, 0, -+ 0, 0x20A4, /* U20a4 # LIRA SIGN */ -+ IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_E, 0, -+ 0, 0x1E1C, /* U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE */ -+ IBUS_KEY_Multi_key, IBUS_KEY_U, IBUS_KEY_comma, IBUS_KEY_e, 0, -+ 0, 0x1E1D, /* U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE */ -+ IBUS_KEY_Multi_key, IBUS_KEY_d, IBUS_KEY_minus, 0, 0, -+ 0, 0x20AB, /* U20ab # DONG SIGN */ -+ IBUS_KEY_Multi_key, IBUS_KEY_e, IBUS_KEY_e, 0, 0, -+ 0, 0x018F, /* U018f */ -+ IBUS_KEY_Multi_key, IBUS_KEY_acute, 0x03D2, 0, 0, -+ 0, 0x03D3, /* U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL */ -+ IBUS_KEY_Multi_key, 0x2203, 0x0338, 0, 0, -+ 0, 0x2204, /* U2204 # THERE DOES NOT EXIST */ -+ IBUS_KEY_Multi_key, 0x2208, 0x0338, 0, 0, -+ 0, 0x2209, /* U2209 # NOT AN ELEMENT OF */ -+ IBUS_KEY_Multi_key, 0x220B, 0x0338, 0, 0, -+ 0, 0x220C, /* U220C # DOES NOT CONTAIN AS MEMBER */ -+ IBUS_KEY_Multi_key, 0x2223, 0x0338, 0, 0, -+ 0, 0x2224, /* U2224 # DOES NOT DIVIDE */ -+ IBUS_KEY_Multi_key, 0x2225, 0x0338, 0, 0, -+ 0, 0x2226, /* U2226 # NOT PARALLEL TO */ -+ IBUS_KEY_Multi_key, 0x2286, 0x0338, 0, 0, -+ 0, 0x2288, /* U2288 # NEITHER A SUBSET OF NOR EQUAL TO */ -+ IBUS_KEY_Multi_key, 0x2287, 0x0338, 0, 0, -+ 0, 0x2289, /* U2289 # NEITHER A SUPERSET OF NOR EQUAL TO */ -+ IBUS_KEY_Multi_key, 0x2291, 0x0338, 0, 0, -+ 0, 0x22E2, /* U22E2 # NOT SQUARE IMAGE OF OR EQUAL TO */ -+ IBUS_KEY_Multi_key, 0x2292, 0x0338, 0, 0, -+ 0, 0x22E3, /* U22E3 # NOT SQUARE ORIGINAL OF OR EQUAL TO */ -+ IBUS_KEY_Multi_key, 0x22B4, 0x0338, 0, 0, -+ 0, 0x22EC, /* U22EC # NOT NORMAL SUBGROUP OF OR EQUAL TO */ -+ IBUS_KEY_Multi_key, 0x22B5, 0x0338, 0, 0, -+ 0, 0x22ED /* U22ED # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL */ -+}; -+ -+static const IBusComposeTable ibus_compose_table_pt_br = { -+ ibus_compose_seqs_pt_br, -+ 5, -+ G_N_ELEMENTS (ibus_compose_seqs_pt_br) / (5 + 2) -+}; -+ -+static const IBusComposeTableLocaleList ibus_compose_table_locale_list[] = { -+ { "el_gr", &ibus_compose_table_el_gr }, -+ { "fi_fi", &ibus_compose_table_fi_fi }, -+ { "pt_br", &ibus_compose_table_pt_br }, -+ { NULL, NULL } -+}; -+ -+#endif -diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c -index 84004e5..8c076ac 100644 ---- a/src/ibusenginesimple.c -+++ b/src/ibusenginesimple.c -@@ -29,20 +29,18 @@ - #include "ibuskeys.h" - #include "ibuskeysyms.h" - --#include -+#include "ibuscomposetable.h" -+ -+#ifdef HAVE_LOCALE_H -+#include -+#endif -+ - #include -+#include - - #define IBUS_ENGINE_SIMPLE_GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), IBUS_TYPE_ENGINE_SIMPLE, IBusEngineSimplePrivate)) - --typedef struct _IBusComposeTable IBusComposeTable; --struct _IBusComposeTable --{ -- const guint16 *data; -- gint max_seq_len; -- gint n_seqs; --}; -- - typedef struct _IBusComposeTableCompact IBusComposeTableCompact; - struct _IBusComposeTableCompact - { -@@ -76,7 +74,7 @@ struct _IBusEngineSimplePrivate { - static const IBusComposeTableCompact ibus_compose_table_compact = { - gtk_compose_seqs_compact, - 5, -- 24, -+ 25, - 6 - }; - -@@ -930,3 +928,33 @@ ibus_engine_simple_add_table (IBusEngineSimple *simple, - priv->tables = g_slist_prepend (priv->tables, table); - - } -+ -+gboolean -+ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple, -+ const gchar *locale) -+{ -+ int i; -+ -+ if (locale == NULL) { -+#ifdef HAVE_LOCALE_H -+ locale = setlocale (LC_CTYPE, NULL); -+#endif -+ if (locale == NULL) -+ locale = "C"; -+ } -+ -+ for (i = 0; ibus_compose_table_locale_list[i].locale != NULL; i++) { -+ const gchar *locale2 = ibus_compose_table_locale_list[i].locale; -+ const IBusComposeTable *table = ibus_compose_table_locale_list[i].table; -+ -+ if (g_ascii_strncasecmp (locale, locale2 , strlen (locale2)) == 0) { -+ ibus_engine_simple_add_table (simple, -+ table->data, -+ table->max_seq_len, -+ table->n_seqs); -+ return TRUE; -+ } -+ } -+ -+ return FALSE; -+} -diff --git a/src/ibusenginesimple.h b/src/ibusenginesimple.h -index 4138430..0c839d4 100644 ---- a/src/ibusenginesimple.h -+++ b/src/ibusenginesimple.h -@@ -24,6 +24,9 @@ - #error "Only can be included directly" - #endif - -+#ifndef __IBUS_ENGINE_SIMPLE_H__ -+#define __IBUS_ENGINE_SIMPLE_H__ -+ - /** - * SECTION: ibussimpleengine - * @short_description: Input method engine supporting table-based input method -@@ -34,8 +37,6 @@ - * - * see_also: #IBusEngine - */ --#ifndef __IBUS_ENGINE_SIMPLE_H__ --#define __IBUS_ENGINE_SIMPLE_H__ - - #include "ibusengine.h" - -@@ -110,11 +111,23 @@ GType ibus_engine_simple_get_type (void); - * The table must be sorted in dictionary order on the numeric value of the key - * symbol fields. (Values beyond the length of the sequence should be zero.) - */ --void ibus_engine_simple_add_table (IBusEngineSimple *simple, -- const guint16 *data, -- gint max_seq_len, -- gint n_seqs); -+void ibus_engine_simple_add_table (IBusEngineSimple *simple, -+ const guint16 *data, -+ gint max_seq_len, -+ gint n_seqs); - -+/** -+ * ibus_engine_simple_add_table_by_locale: -+ * @simple: An IBusEngineSimple. -+ * @locale: (allow-none): The locale name. If the locale is %NULL, -+ * the current locale is used. -+ * @returns: %TRUE if the @locale is matched to the table. -+ * -+ * Call ibus_engine_simple_add_table() internally by locale. -+ */ -+gboolean ibus_engine_simple_add_table_by_locale -+ (IBusEngineSimple *simple, -+ const gchar *locale); - G_END_DECLS - - #endif // __IBUS_ENGINE_SIMPLE_H__ -diff --git a/src/ibuskeysyms.h b/src/ibuskeysyms.h -index cf55f0c..d35eb4a 100644 ---- a/src/ibuskeysyms.h -+++ b/src/ibuskeysyms.h -@@ -1,8 +1,8 @@ - /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ - /* vim:set et sts=4: */ - /* ibus - The Input Bus -- * Copyright (C) 2008-2010 Peng Huang -- * Copyright (C) 2008-2010 Red Hat, Inc. -+ * Copyright (C) 2008-2013 Peng Huang -+ * Copyright (C) 2008-2013 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -286,6 +286,7 @@ - #define IBUS_KEY_dead_U 0xfe89 - #define IBUS_KEY_dead_small_schwa 0xfe8a - #define IBUS_KEY_dead_capital_schwa 0xfe8b -+#define IBUS_KEY_dead_greek 0xfe8c - #define IBUS_KEY_First_Virtual_Screen 0xfed0 - #define IBUS_KEY_Prev_Virtual_Screen 0xfed1 - #define IBUS_KEY_Next_Virtual_Screen 0xfed2 -@@ -1632,7 +1633,9 @@ - #define IBUS_KEY_ocaron 0x10001d2 - #define IBUS_KEY_obarred 0x1000275 - #define IBUS_KEY_SCHWA 0x100018f -+#define IBUS_KEY_EZH 0x10001b7 - #define IBUS_KEY_schwa 0x1000259 -+#define IBUS_KEY_ezh 0x1000292 - #define IBUS_KEY_Lbelowdot 0x1001e36 - #define IBUS_KEY_lbelowdot 0x1001e37 - #define IBUS_KEY_Abelowdot 0x1001ea0 --- -1.8.0 - -From bf18adb00f2e6f656c35ab2ee169db6f38be5fbe Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 6 Dec 2013 11:45:04 +0900 -Subject: [PATCH] Fix candidate panel not to be out of screen. - -BUG=http://code.google.com/p/ibus/issues/detail?id=1676 -TEST=ui/gtk3/ibus-ui-gtk3 - -Review URL: https://codereview.appspot.com/35800045 ---- - ui/gtk3/candidatepanel.vala | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/ui/gtk3/candidatepanel.vala b/ui/gtk3/candidatepanel.vala -index e9d3a34..396c78a 100644 ---- a/ui/gtk3/candidatepanel.vala -+++ b/ui/gtk3/candidatepanel.vala -@@ -55,6 +55,9 @@ public class CandidatePanel : Gtk.HBox{ - set_vertical(!m_vertical); - return true; - }); -+ m_toplevel.size_allocate.connect((w, a) => { -+ adjust_window_position(); -+ }); - - Handle handle = new Handle(); - handle.set_visible(true); -@@ -96,7 +99,10 @@ public class CandidatePanel : Gtk.HBox{ - if (m_cursor_location == location) - return; - m_cursor_location = location; -- adjust_window_position(); -+ -+ /* Do not call adjust_window_position() here because -+ * m_toplevel is not shown yet and -+ * m_toplevel.get_allocation() returns height = width = 1 */ - } - - private void set_labels(IBus.Text[] labels) { --- -1.8.0 - -From 65f583483529b98dc2bec96d3e6524629c585234 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Fri, 17 Jan 2014 12:13:35 +0900 -Subject: [PATCH] Fix the access out of bounds in gencomposetable - -TEST=src/gencomposetable - -Review URL: https://codereview.appspot.com/52670044 ---- - src/gencomposetable.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gencomposetable.c b/src/gencomposetable.c -index da929d0..bffda07 100644 ---- a/src/gencomposetable.c -+++ b/src/gencomposetable.c -@@ -647,7 +647,7 @@ check_duplicated_compose (GList *compose_table) - int i; - int n_compose = 0; - -- for (i = 0; i <= GTK_MAX_COMPOSE_LEN + 2; i++) { -+ for (i = 0; i < GTK_MAX_COMPOSE_LEN + 2; i++) { - keysyms[i] = 0; - } - --- -1.8.0 - diff --git a/SOURCES/ibus-emoji-test.txt b/SOURCES/ibus-emoji-test.txt new file mode 100644 index 0000000..c2d334f --- /dev/null +++ b/SOURCES/ibus-emoji-test.txt @@ -0,0 +1,3592 @@ +# emoji-test.txt +# Date: 2017-03-21, 12:10:30 GMT +# © 2017 Unicode®, Inc. +# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# +# Emoji Keyboard/Display Test Data for UTR #51 +# Version: 5.0 +# +# For documentation and usage, see http://www.unicode.org/reports/tr51 +# +# This file provides data for testing which emoji forms should be in keyboards and which should also be displayed/processed. +# Format +# Code points; status # emoji name +# Status +# fully-qualified — see “Emoji Implementation Notes” in UTR#51 +# non-fully-qualified — see “Emoji Implementation Notes” in UTR#51 +# Notes: +# • This currently omits the 12 keycap bases, the 5 modifier characters, and 26 singleton Regional Indicator characters +# • The file is in CLDR order, not codepoint order. This is recommended (but not required!) for keyboard palettes. +# • The groups and subgroups are purely illustrative. See the Emoji Order chart for more information. + +# group: Smileys & People + +# subgroup: face-positive +1F600 ; fully-qualified # 😀 grinning face +1F601 ; fully-qualified # 😁 grinning face with smiling eyes +1F602 ; fully-qualified # 😂 face with tears of joy +1F923 ; fully-qualified # 🤣 rolling on the floor laughing +1F603 ; fully-qualified # 😃 smiling face with open mouth +1F604 ; fully-qualified # 😄 smiling face with open mouth & smiling eyes +1F605 ; fully-qualified # 😅 smiling face with open mouth & cold sweat +1F606 ; fully-qualified # 😆 smiling face with open mouth & closed eyes +1F609 ; fully-qualified # 😉 winking face +1F60A ; fully-qualified # 😊 smiling face with smiling eyes +1F60B ; fully-qualified # 😋 face savouring delicious food +1F60E ; fully-qualified # 😎 smiling face with sunglasses +1F60D ; fully-qualified # 😍 smiling face with heart-eyes +1F618 ; fully-qualified # 😘 face blowing a kiss +1F617 ; fully-qualified # 😗 kissing face +1F619 ; fully-qualified # 😙 kissing face with smiling eyes +1F61A ; fully-qualified # 😚 kissing face with closed eyes +263A FE0F ; fully-qualified # ☺️ smiling face +263A ; non-fully-qualified # ☺ smiling face +1F642 ; fully-qualified # 🙂 slightly smiling face +1F917 ; fully-qualified # 🤗 hugging face +1F929 ; fully-qualified # 🤩 star-struck + +# subgroup: face-neutral +1F914 ; fully-qualified # 🤔 thinking face +1F928 ; fully-qualified # 🤨 face with raised eyebrow +1F610 ; fully-qualified # 😐 neutral face +1F611 ; fully-qualified # 😑 expressionless face +1F636 ; fully-qualified # 😶 face without mouth +1F644 ; fully-qualified # 🙄 face with rolling eyes +1F60F ; fully-qualified # 😏 smirking face +1F623 ; fully-qualified # 😣 persevering face +1F625 ; fully-qualified # 😥 disappointed but relieved face +1F62E ; fully-qualified # 😮 face with open mouth +1F910 ; fully-qualified # 🤐 zipper-mouth face +1F62F ; fully-qualified # 😯 hushed face +1F62A ; fully-qualified # 😪 sleepy face +1F62B ; fully-qualified # 😫 tired face +1F634 ; fully-qualified # 😴 sleeping face +1F60C ; fully-qualified # 😌 relieved face +1F61B ; fully-qualified # 😛 face with stuck-out tongue +1F61C ; fully-qualified # 😜 face with stuck-out tongue & winking eye +1F61D ; fully-qualified # 😝 face with stuck-out tongue & closed eyes +1F924 ; fully-qualified # 🤤 drooling face +1F612 ; fully-qualified # 😒 unamused face +1F613 ; fully-qualified # 😓 face with cold sweat +1F614 ; fully-qualified # 😔 pensive face +1F615 ; fully-qualified # 😕 confused face +1F643 ; fully-qualified # 🙃 upside-down face +1F911 ; fully-qualified # 🤑 money-mouth face +1F632 ; fully-qualified # 😲 astonished face + +# subgroup: face-negative +2639 FE0F ; fully-qualified # ☹️ frowning face +2639 ; non-fully-qualified # ☹ frowning face +1F641 ; fully-qualified # 🙁 slightly frowning face +1F616 ; fully-qualified # 😖 confounded face +1F61E ; fully-qualified # 😞 disappointed face +1F61F ; fully-qualified # 😟 worried face +1F624 ; fully-qualified # 😤 face with steam from nose +1F622 ; fully-qualified # 😢 crying face +1F62D ; fully-qualified # 😭 loudly crying face +1F626 ; fully-qualified # 😦 frowning face with open mouth +1F627 ; fully-qualified # 😧 anguished face +1F628 ; fully-qualified # 😨 fearful face +1F629 ; fully-qualified # 😩 weary face +1F92F ; fully-qualified # 🤯 exploding head +1F62C ; fully-qualified # 😬 grimacing face +1F630 ; fully-qualified # 😰 face with open mouth & cold sweat +1F631 ; fully-qualified # 😱 face screaming in fear +1F633 ; fully-qualified # 😳 flushed face +1F92A ; fully-qualified # 🤪 crazy face +1F635 ; fully-qualified # 😵 dizzy face +1F621 ; fully-qualified # 😡 pouting face +1F620 ; fully-qualified # 😠 angry face +1F92C ; fully-qualified # 🤬 face with symbols over mouth + +# subgroup: face-sick +1F637 ; fully-qualified # 😷 face with medical mask +1F912 ; fully-qualified # 🤒 face with thermometer +1F915 ; fully-qualified # 🤕 face with head-bandage +1F922 ; fully-qualified # 🤢 nauseated face +1F92E ; fully-qualified # 🤮 face vomiting +1F927 ; fully-qualified # 🤧 sneezing face + +# subgroup: face-role +1F607 ; fully-qualified # 😇 smiling face with halo +1F920 ; fully-qualified # 🤠 cowboy hat face +1F921 ; fully-qualified # 🤡 clown face +1F925 ; fully-qualified # 🤥 lying face +1F92B ; fully-qualified # 🤫 shushing face +1F92D ; fully-qualified # 🤭 face with hand over mouth +1F9D0 ; fully-qualified # 🧐 face with monocle +1F913 ; fully-qualified # 🤓 nerd face + +# subgroup: face-fantasy +1F608 ; fully-qualified # 😈 smiling face with horns +1F47F ; fully-qualified # 👿 angry face with horns +1F479 ; fully-qualified # 👹 ogre +1F47A ; fully-qualified # 👺 goblin +1F480 ; fully-qualified # 💀 skull +2620 FE0F ; fully-qualified # ☠️ skull and crossbones +2620 ; non-fully-qualified # ☠ skull and crossbones +1F47B ; fully-qualified # 👻 ghost +1F47D ; fully-qualified # 👽 alien +1F47E ; fully-qualified # 👾 alien monster +1F916 ; fully-qualified # 🤖 robot face +1F4A9 ; fully-qualified # 💩 pile of poo + +# subgroup: cat-face +1F63A ; fully-qualified # 😺 smiling cat face with open mouth +1F638 ; fully-qualified # 😸 grinning cat face with smiling eyes +1F639 ; fully-qualified # 😹 cat face with tears of joy +1F63B ; fully-qualified # 😻 smiling cat face with heart-eyes +1F63C ; fully-qualified # 😼 cat face with wry smile +1F63D ; fully-qualified # 😽 kissing cat face with closed eyes +1F640 ; fully-qualified # 🙀 weary cat face +1F63F ; fully-qualified # 😿 crying cat face +1F63E ; fully-qualified # 😾 pouting cat face + +# subgroup: monkey-face +1F648 ; fully-qualified # 🙈 see-no-evil monkey +1F649 ; fully-qualified # 🙉 hear-no-evil monkey +1F64A ; fully-qualified # 🙊 speak-no-evil monkey + +# subgroup: person +1F476 ; fully-qualified # 👶 baby +1F476 1F3FB ; fully-qualified # 👶🏻 baby: light skin tone +1F476 1F3FC ; fully-qualified # 👶🏼 baby: medium-light skin tone +1F476 1F3FD ; fully-qualified # 👶🏽 baby: medium skin tone +1F476 1F3FE ; fully-qualified # 👶🏾 baby: medium-dark skin tone +1F476 1F3FF ; fully-qualified # 👶🏿 baby: dark skin tone +1F9D2 ; fully-qualified # 🧒 child +1F9D2 1F3FB ; fully-qualified # 🧒🏻 child: light skin tone +1F9D2 1F3FC ; fully-qualified # 🧒🏼 child: medium-light skin tone +1F9D2 1F3FD ; fully-qualified # 🧒🏽 child: medium skin tone +1F9D2 1F3FE ; fully-qualified # 🧒🏾 child: medium-dark skin tone +1F9D2 1F3FF ; fully-qualified # 🧒🏿 child: dark skin tone +1F466 ; fully-qualified # 👦 boy +1F466 1F3FB ; fully-qualified # 👦🏻 boy: light skin tone +1F466 1F3FC ; fully-qualified # 👦🏼 boy: medium-light skin tone +1F466 1F3FD ; fully-qualified # 👦🏽 boy: medium skin tone +1F466 1F3FE ; fully-qualified # 👦🏾 boy: medium-dark skin tone +1F466 1F3FF ; fully-qualified # 👦🏿 boy: dark skin tone +1F467 ; fully-qualified # 👧 girl +1F467 1F3FB ; fully-qualified # 👧🏻 girl: light skin tone +1F467 1F3FC ; fully-qualified # 👧🏼 girl: medium-light skin tone +1F467 1F3FD ; fully-qualified # 👧🏽 girl: medium skin tone +1F467 1F3FE ; fully-qualified # 👧🏾 girl: medium-dark skin tone +1F467 1F3FF ; fully-qualified # 👧🏿 girl: dark skin tone +1F9D1 ; fully-qualified # 🧑 adult +1F9D1 1F3FB ; fully-qualified # 🧑🏻 adult: light skin tone +1F9D1 1F3FC ; fully-qualified # 🧑🏼 adult: medium-light skin tone +1F9D1 1F3FD ; fully-qualified # 🧑🏽 adult: medium skin tone +1F9D1 1F3FE ; fully-qualified # 🧑🏾 adult: medium-dark skin tone +1F9D1 1F3FF ; fully-qualified # 🧑🏿 adult: dark skin tone +1F468 ; fully-qualified # 👨 man +1F468 1F3FB ; fully-qualified # 👨🏻 man: light skin tone +1F468 1F3FC ; fully-qualified # 👨🏼 man: medium-light skin tone +1F468 1F3FD ; fully-qualified # 👨🏽 man: medium skin tone +1F468 1F3FE ; fully-qualified # 👨🏾 man: medium-dark skin tone +1F468 1F3FF ; fully-qualified # 👨🏿 man: dark skin tone +1F469 ; fully-qualified # 👩 woman +1F469 1F3FB ; fully-qualified # 👩🏻 woman: light skin tone +1F469 1F3FC ; fully-qualified # 👩🏼 woman: medium-light skin tone +1F469 1F3FD ; fully-qualified # 👩🏽 woman: medium skin tone +1F469 1F3FE ; fully-qualified # 👩🏾 woman: medium-dark skin tone +1F469 1F3FF ; fully-qualified # 👩🏿 woman: dark skin tone +1F9D3 ; fully-qualified # 🧓 older adult +1F9D3 1F3FB ; fully-qualified # 🧓🏻 older adult: light skin tone +1F9D3 1F3FC ; fully-qualified # 🧓🏼 older adult: medium-light skin tone +1F9D3 1F3FD ; fully-qualified # 🧓🏽 older adult: medium skin tone +1F9D3 1F3FE ; fully-qualified # 🧓🏾 older adult: medium-dark skin tone +1F9D3 1F3FF ; fully-qualified # 🧓🏿 older adult: dark skin tone +1F474 ; fully-qualified # 👴 old man +1F474 1F3FB ; fully-qualified # 👴🏻 old man: light skin tone +1F474 1F3FC ; fully-qualified # 👴🏼 old man: medium-light skin tone +1F474 1F3FD ; fully-qualified # 👴🏽 old man: medium skin tone +1F474 1F3FE ; fully-qualified # 👴🏾 old man: medium-dark skin tone +1F474 1F3FF ; fully-qualified # 👴🏿 old man: dark skin tone +1F475 ; fully-qualified # 👵 old woman +1F475 1F3FB ; fully-qualified # 👵🏻 old woman: light skin tone +1F475 1F3FC ; fully-qualified # 👵🏼 old woman: medium-light skin tone +1F475 1F3FD ; fully-qualified # 👵🏽 old woman: medium skin tone +1F475 1F3FE ; fully-qualified # 👵🏾 old woman: medium-dark skin tone +1F475 1F3FF ; fully-qualified # 👵🏿 old woman: dark skin tone + +# subgroup: person-role +1F468 200D 2695 FE0F ; fully-qualified # 👨‍⚕️ man health worker +1F468 200D 2695 ; non-fully-qualified # 👨‍⚕ man health worker +1F468 1F3FB 200D 2695 FE0F ; fully-qualified # 👨🏻‍⚕️ man health worker: light skin tone +1F468 1F3FB 200D 2695 ; non-fully-qualified # 👨🏻‍⚕ man health worker: light skin tone +1F468 1F3FC 200D 2695 FE0F ; fully-qualified # 👨🏼‍⚕️ man health worker: medium-light skin tone +1F468 1F3FC 200D 2695 ; non-fully-qualified # 👨🏼‍⚕ man health worker: medium-light skin tone +1F468 1F3FD 200D 2695 FE0F ; fully-qualified # 👨🏽‍⚕️ man health worker: medium skin tone +1F468 1F3FD 200D 2695 ; non-fully-qualified # 👨🏽‍⚕ man health worker: medium skin tone +1F468 1F3FE 200D 2695 FE0F ; fully-qualified # 👨🏾‍⚕️ man health worker: medium-dark skin tone +1F468 1F3FE 200D 2695 ; non-fully-qualified # 👨🏾‍⚕ man health worker: medium-dark skin tone +1F468 1F3FF 200D 2695 FE0F ; fully-qualified # 👨🏿‍⚕️ man health worker: dark skin tone +1F468 1F3FF 200D 2695 ; non-fully-qualified # 👨🏿‍⚕ man health worker: dark skin tone +1F469 200D 2695 FE0F ; fully-qualified # 👩‍⚕️ woman health worker +1F469 200D 2695 ; non-fully-qualified # 👩‍⚕ woman health worker +1F469 1F3FB 200D 2695 FE0F ; fully-qualified # 👩🏻‍⚕️ woman health worker: light skin tone +1F469 1F3FB 200D 2695 ; non-fully-qualified # 👩🏻‍⚕ woman health worker: light skin tone +1F469 1F3FC 200D 2695 FE0F ; fully-qualified # 👩🏼‍⚕️ woman health worker: medium-light skin tone +1F469 1F3FC 200D 2695 ; non-fully-qualified # 👩🏼‍⚕ woman health worker: medium-light skin tone +1F469 1F3FD 200D 2695 FE0F ; fully-qualified # 👩🏽‍⚕️ woman health worker: medium skin tone +1F469 1F3FD 200D 2695 ; non-fully-qualified # 👩🏽‍⚕ woman health worker: medium skin tone +1F469 1F3FE 200D 2695 FE0F ; fully-qualified # 👩🏾‍⚕️ woman health worker: medium-dark skin tone +1F469 1F3FE 200D 2695 ; non-fully-qualified # 👩🏾‍⚕ woman health worker: medium-dark skin tone +1F469 1F3FF 200D 2695 FE0F ; fully-qualified # 👩🏿‍⚕️ woman health worker: dark skin tone +1F469 1F3FF 200D 2695 ; non-fully-qualified # 👩🏿‍⚕ woman health worker: dark skin tone +1F468 200D 1F393 ; fully-qualified # 👨‍🎓 man student +1F468 1F3FB 200D 1F393 ; fully-qualified # 👨🏻‍🎓 man student: light skin tone +1F468 1F3FC 200D 1F393 ; fully-qualified # 👨🏼‍🎓 man student: medium-light skin tone +1F468 1F3FD 200D 1F393 ; fully-qualified # 👨🏽‍🎓 man student: medium skin tone +1F468 1F3FE 200D 1F393 ; fully-qualified # 👨🏾‍🎓 man student: medium-dark skin tone +1F468 1F3FF 200D 1F393 ; fully-qualified # 👨🏿‍🎓 man student: dark skin tone +1F469 200D 1F393 ; fully-qualified # 👩‍🎓 woman student +1F469 1F3FB 200D 1F393 ; fully-qualified # 👩🏻‍🎓 woman student: light skin tone +1F469 1F3FC 200D 1F393 ; fully-qualified # 👩🏼‍🎓 woman student: medium-light skin tone +1F469 1F3FD 200D 1F393 ; fully-qualified # 👩🏽‍🎓 woman student: medium skin tone +1F469 1F3FE 200D 1F393 ; fully-qualified # 👩🏾‍🎓 woman student: medium-dark skin tone +1F469 1F3FF 200D 1F393 ; fully-qualified # 👩🏿‍🎓 woman student: dark skin tone +1F468 200D 1F3EB ; fully-qualified # 👨‍🏫 man teacher +1F468 1F3FB 200D 1F3EB ; fully-qualified # 👨🏻‍🏫 man teacher: light skin tone +1F468 1F3FC 200D 1F3EB ; fully-qualified # 👨🏼‍🏫 man teacher: medium-light skin tone +1F468 1F3FD 200D 1F3EB ; fully-qualified # 👨🏽‍🏫 man teacher: medium skin tone +1F468 1F3FE 200D 1F3EB ; fully-qualified # 👨🏾‍🏫 man teacher: medium-dark skin tone +1F468 1F3FF 200D 1F3EB ; fully-qualified # 👨🏿‍🏫 man teacher: dark skin tone +1F469 200D 1F3EB ; fully-qualified # 👩‍🏫 woman teacher +1F469 1F3FB 200D 1F3EB ; fully-qualified # 👩🏻‍🏫 woman teacher: light skin tone +1F469 1F3FC 200D 1F3EB ; fully-qualified # 👩🏼‍🏫 woman teacher: medium-light skin tone +1F469 1F3FD 200D 1F3EB ; fully-qualified # 👩🏽‍🏫 woman teacher: medium skin tone +1F469 1F3FE 200D 1F3EB ; fully-qualified # 👩🏾‍🏫 woman teacher: medium-dark skin tone +1F469 1F3FF 200D 1F3EB ; fully-qualified # 👩🏿‍🏫 woman teacher: dark skin tone +1F468 200D 2696 FE0F ; fully-qualified # 👨‍⚖️ man judge +1F468 200D 2696 ; non-fully-qualified # 👨‍⚖ man judge +1F468 1F3FB 200D 2696 FE0F ; fully-qualified # 👨🏻‍⚖️ man judge: light skin tone +1F468 1F3FB 200D 2696 ; non-fully-qualified # 👨🏻‍⚖ man judge: light skin tone +1F468 1F3FC 200D 2696 FE0F ; fully-qualified # 👨🏼‍⚖️ man judge: medium-light skin tone +1F468 1F3FC 200D 2696 ; non-fully-qualified # 👨🏼‍⚖ man judge: medium-light skin tone +1F468 1F3FD 200D 2696 FE0F ; fully-qualified # 👨🏽‍⚖️ man judge: medium skin tone +1F468 1F3FD 200D 2696 ; non-fully-qualified # 👨🏽‍⚖ man judge: medium skin tone +1F468 1F3FE 200D 2696 FE0F ; fully-qualified # 👨🏾‍⚖️ man judge: medium-dark skin tone +1F468 1F3FE 200D 2696 ; non-fully-qualified # 👨🏾‍⚖ man judge: medium-dark skin tone +1F468 1F3FF 200D 2696 FE0F ; fully-qualified # 👨🏿‍⚖️ man judge: dark skin tone +1F468 1F3FF 200D 2696 ; non-fully-qualified # 👨🏿‍⚖ man judge: dark skin tone +1F469 200D 2696 FE0F ; fully-qualified # 👩‍⚖️ woman judge +1F469 200D 2696 ; non-fully-qualified # 👩‍⚖ woman judge +1F469 1F3FB 200D 2696 FE0F ; fully-qualified # 👩🏻‍⚖️ woman judge: light skin tone +1F469 1F3FB 200D 2696 ; non-fully-qualified # 👩🏻‍⚖ woman judge: light skin tone +1F469 1F3FC 200D 2696 FE0F ; fully-qualified # 👩🏼‍⚖️ woman judge: medium-light skin tone +1F469 1F3FC 200D 2696 ; non-fully-qualified # 👩🏼‍⚖ woman judge: medium-light skin tone +1F469 1F3FD 200D 2696 FE0F ; fully-qualified # 👩🏽‍⚖️ woman judge: medium skin tone +1F469 1F3FD 200D 2696 ; non-fully-qualified # 👩🏽‍⚖ woman judge: medium skin tone +1F469 1F3FE 200D 2696 FE0F ; fully-qualified # 👩🏾‍⚖️ woman judge: medium-dark skin tone +1F469 1F3FE 200D 2696 ; non-fully-qualified # 👩🏾‍⚖ woman judge: medium-dark skin tone +1F469 1F3FF 200D 2696 FE0F ; fully-qualified # 👩🏿‍⚖️ woman judge: dark skin tone +1F469 1F3FF 200D 2696 ; non-fully-qualified # 👩🏿‍⚖ woman judge: dark skin tone +1F468 200D 1F33E ; fully-qualified # 👨‍🌾 man farmer +1F468 1F3FB 200D 1F33E ; fully-qualified # 👨🏻‍🌾 man farmer: light skin tone +1F468 1F3FC 200D 1F33E ; fully-qualified # 👨🏼‍🌾 man farmer: medium-light skin tone +1F468 1F3FD 200D 1F33E ; fully-qualified # 👨🏽‍🌾 man farmer: medium skin tone +1F468 1F3FE 200D 1F33E ; fully-qualified # 👨🏾‍🌾 man farmer: medium-dark skin tone +1F468 1F3FF 200D 1F33E ; fully-qualified # 👨🏿‍🌾 man farmer: dark skin tone +1F469 200D 1F33E ; fully-qualified # 👩‍🌾 woman farmer +1F469 1F3FB 200D 1F33E ; fully-qualified # 👩🏻‍🌾 woman farmer: light skin tone +1F469 1F3FC 200D 1F33E ; fully-qualified # 👩🏼‍🌾 woman farmer: medium-light skin tone +1F469 1F3FD 200D 1F33E ; fully-qualified # 👩🏽‍🌾 woman farmer: medium skin tone +1F469 1F3FE 200D 1F33E ; fully-qualified # 👩🏾‍🌾 woman farmer: medium-dark skin tone +1F469 1F3FF 200D 1F33E ; fully-qualified # 👩🏿‍🌾 woman farmer: dark skin tone +1F468 200D 1F373 ; fully-qualified # 👨‍🍳 man cook +1F468 1F3FB 200D 1F373 ; fully-qualified # 👨🏻‍🍳 man cook: light skin tone +1F468 1F3FC 200D 1F373 ; fully-qualified # 👨🏼‍🍳 man cook: medium-light skin tone +1F468 1F3FD 200D 1F373 ; fully-qualified # 👨🏽‍🍳 man cook: medium skin tone +1F468 1F3FE 200D 1F373 ; fully-qualified # 👨🏾‍🍳 man cook: medium-dark skin tone +1F468 1F3FF 200D 1F373 ; fully-qualified # 👨🏿‍🍳 man cook: dark skin tone +1F469 200D 1F373 ; fully-qualified # 👩‍🍳 woman cook +1F469 1F3FB 200D 1F373 ; fully-qualified # 👩🏻‍🍳 woman cook: light skin tone +1F469 1F3FC 200D 1F373 ; fully-qualified # 👩🏼‍🍳 woman cook: medium-light skin tone +1F469 1F3FD 200D 1F373 ; fully-qualified # 👩🏽‍🍳 woman cook: medium skin tone +1F469 1F3FE 200D 1F373 ; fully-qualified # 👩🏾‍🍳 woman cook: medium-dark skin tone +1F469 1F3FF 200D 1F373 ; fully-qualified # 👩🏿‍🍳 woman cook: dark skin tone +1F468 200D 1F527 ; fully-qualified # 👨‍🔧 man mechanic +1F468 1F3FB 200D 1F527 ; fully-qualified # 👨🏻‍🔧 man mechanic: light skin tone +1F468 1F3FC 200D 1F527 ; fully-qualified # 👨🏼‍🔧 man mechanic: medium-light skin tone +1F468 1F3FD 200D 1F527 ; fully-qualified # 👨🏽‍🔧 man mechanic: medium skin tone +1F468 1F3FE 200D 1F527 ; fully-qualified # 👨🏾‍🔧 man mechanic: medium-dark skin tone +1F468 1F3FF 200D 1F527 ; fully-qualified # 👨🏿‍🔧 man mechanic: dark skin tone +1F469 200D 1F527 ; fully-qualified # 👩‍🔧 woman mechanic +1F469 1F3FB 200D 1F527 ; fully-qualified # 👩🏻‍🔧 woman mechanic: light skin tone +1F469 1F3FC 200D 1F527 ; fully-qualified # 👩🏼‍🔧 woman mechanic: medium-light skin tone +1F469 1F3FD 200D 1F527 ; fully-qualified # 👩🏽‍🔧 woman mechanic: medium skin tone +1F469 1F3FE 200D 1F527 ; fully-qualified # 👩🏾‍🔧 woman mechanic: medium-dark skin tone +1F469 1F3FF 200D 1F527 ; fully-qualified # 👩🏿‍🔧 woman mechanic: dark skin tone +1F468 200D 1F3ED ; fully-qualified # 👨‍🏭 man factory worker +1F468 1F3FB 200D 1F3ED ; fully-qualified # 👨🏻‍🏭 man factory worker: light skin tone +1F468 1F3FC 200D 1F3ED ; fully-qualified # 👨🏼‍🏭 man factory worker: medium-light skin tone +1F468 1F3FD 200D 1F3ED ; fully-qualified # 👨🏽‍🏭 man factory worker: medium skin tone +1F468 1F3FE 200D 1F3ED ; fully-qualified # 👨🏾‍🏭 man factory worker: medium-dark skin tone +1F468 1F3FF 200D 1F3ED ; fully-qualified # 👨🏿‍🏭 man factory worker: dark skin tone +1F469 200D 1F3ED ; fully-qualified # 👩‍🏭 woman factory worker +1F469 1F3FB 200D 1F3ED ; fully-qualified # 👩🏻‍🏭 woman factory worker: light skin tone +1F469 1F3FC 200D 1F3ED ; fully-qualified # 👩🏼‍🏭 woman factory worker: medium-light skin tone +1F469 1F3FD 200D 1F3ED ; fully-qualified # 👩🏽‍🏭 woman factory worker: medium skin tone +1F469 1F3FE 200D 1F3ED ; fully-qualified # 👩🏾‍🏭 woman factory worker: medium-dark skin tone +1F469 1F3FF 200D 1F3ED ; fully-qualified # 👩🏿‍🏭 woman factory worker: dark skin tone +1F468 200D 1F4BC ; fully-qualified # 👨‍💼 man office worker +1F468 1F3FB 200D 1F4BC ; fully-qualified # 👨🏻‍💼 man office worker: light skin tone +1F468 1F3FC 200D 1F4BC ; fully-qualified # 👨🏼‍💼 man office worker: medium-light skin tone +1F468 1F3FD 200D 1F4BC ; fully-qualified # 👨🏽‍💼 man office worker: medium skin tone +1F468 1F3FE 200D 1F4BC ; fully-qualified # 👨🏾‍💼 man office worker: medium-dark skin tone +1F468 1F3FF 200D 1F4BC ; fully-qualified # 👨🏿‍💼 man office worker: dark skin tone +1F469 200D 1F4BC ; fully-qualified # 👩‍💼 woman office worker +1F469 1F3FB 200D 1F4BC ; fully-qualified # 👩🏻‍💼 woman office worker: light skin tone +1F469 1F3FC 200D 1F4BC ; fully-qualified # 👩🏼‍💼 woman office worker: medium-light skin tone +1F469 1F3FD 200D 1F4BC ; fully-qualified # 👩🏽‍💼 woman office worker: medium skin tone +1F469 1F3FE 200D 1F4BC ; fully-qualified # 👩🏾‍💼 woman office worker: medium-dark skin tone +1F469 1F3FF 200D 1F4BC ; fully-qualified # 👩🏿‍💼 woman office worker: dark skin tone +1F468 200D 1F52C ; fully-qualified # 👨‍🔬 man scientist +1F468 1F3FB 200D 1F52C ; fully-qualified # 👨🏻‍🔬 man scientist: light skin tone +1F468 1F3FC 200D 1F52C ; fully-qualified # 👨🏼‍🔬 man scientist: medium-light skin tone +1F468 1F3FD 200D 1F52C ; fully-qualified # 👨🏽‍🔬 man scientist: medium skin tone +1F468 1F3FE 200D 1F52C ; fully-qualified # 👨🏾‍🔬 man scientist: medium-dark skin tone +1F468 1F3FF 200D 1F52C ; fully-qualified # 👨🏿‍🔬 man scientist: dark skin tone +1F469 200D 1F52C ; fully-qualified # 👩‍🔬 woman scientist +1F469 1F3FB 200D 1F52C ; fully-qualified # 👩🏻‍🔬 woman scientist: light skin tone +1F469 1F3FC 200D 1F52C ; fully-qualified # 👩🏼‍🔬 woman scientist: medium-light skin tone +1F469 1F3FD 200D 1F52C ; fully-qualified # 👩🏽‍🔬 woman scientist: medium skin tone +1F469 1F3FE 200D 1F52C ; fully-qualified # 👩🏾‍🔬 woman scientist: medium-dark skin tone +1F469 1F3FF 200D 1F52C ; fully-qualified # 👩🏿‍🔬 woman scientist: dark skin tone +1F468 200D 1F4BB ; fully-qualified # 👨‍💻 man technologist +1F468 1F3FB 200D 1F4BB ; fully-qualified # 👨🏻‍💻 man technologist: light skin tone +1F468 1F3FC 200D 1F4BB ; fully-qualified # 👨🏼‍💻 man technologist: medium-light skin tone +1F468 1F3FD 200D 1F4BB ; fully-qualified # 👨🏽‍💻 man technologist: medium skin tone +1F468 1F3FE 200D 1F4BB ; fully-qualified # 👨🏾‍💻 man technologist: medium-dark skin tone +1F468 1F3FF 200D 1F4BB ; fully-qualified # 👨🏿‍💻 man technologist: dark skin tone +1F469 200D 1F4BB ; fully-qualified # 👩‍💻 woman technologist +1F469 1F3FB 200D 1F4BB ; fully-qualified # 👩🏻‍💻 woman technologist: light skin tone +1F469 1F3FC 200D 1F4BB ; fully-qualified # 👩🏼‍💻 woman technologist: medium-light skin tone +1F469 1F3FD 200D 1F4BB ; fully-qualified # 👩🏽‍💻 woman technologist: medium skin tone +1F469 1F3FE 200D 1F4BB ; fully-qualified # 👩🏾‍💻 woman technologist: medium-dark skin tone +1F469 1F3FF 200D 1F4BB ; fully-qualified # 👩🏿‍💻 woman technologist: dark skin tone +1F468 200D 1F3A4 ; fully-qualified # 👨‍🎤 man singer +1F468 1F3FB 200D 1F3A4 ; fully-qualified # 👨🏻‍🎤 man singer: light skin tone +1F468 1F3FC 200D 1F3A4 ; fully-qualified # 👨🏼‍🎤 man singer: medium-light skin tone +1F468 1F3FD 200D 1F3A4 ; fully-qualified # 👨🏽‍🎤 man singer: medium skin tone +1F468 1F3FE 200D 1F3A4 ; fully-qualified # 👨🏾‍🎤 man singer: medium-dark skin tone +1F468 1F3FF 200D 1F3A4 ; fully-qualified # 👨🏿‍🎤 man singer: dark skin tone +1F469 200D 1F3A4 ; fully-qualified # 👩‍🎤 woman singer +1F469 1F3FB 200D 1F3A4 ; fully-qualified # 👩🏻‍🎤 woman singer: light skin tone +1F469 1F3FC 200D 1F3A4 ; fully-qualified # 👩🏼‍🎤 woman singer: medium-light skin tone +1F469 1F3FD 200D 1F3A4 ; fully-qualified # 👩🏽‍🎤 woman singer: medium skin tone +1F469 1F3FE 200D 1F3A4 ; fully-qualified # 👩🏾‍🎤 woman singer: medium-dark skin tone +1F469 1F3FF 200D 1F3A4 ; fully-qualified # 👩🏿‍🎤 woman singer: dark skin tone +1F468 200D 1F3A8 ; fully-qualified # 👨‍🎨 man artist +1F468 1F3FB 200D 1F3A8 ; fully-qualified # 👨🏻‍🎨 man artist: light skin tone +1F468 1F3FC 200D 1F3A8 ; fully-qualified # 👨🏼‍🎨 man artist: medium-light skin tone +1F468 1F3FD 200D 1F3A8 ; fully-qualified # 👨🏽‍🎨 man artist: medium skin tone +1F468 1F3FE 200D 1F3A8 ; fully-qualified # 👨🏾‍🎨 man artist: medium-dark skin tone +1F468 1F3FF 200D 1F3A8 ; fully-qualified # 👨🏿‍🎨 man artist: dark skin tone +1F469 200D 1F3A8 ; fully-qualified # 👩‍🎨 woman artist +1F469 1F3FB 200D 1F3A8 ; fully-qualified # 👩🏻‍🎨 woman artist: light skin tone +1F469 1F3FC 200D 1F3A8 ; fully-qualified # 👩🏼‍🎨 woman artist: medium-light skin tone +1F469 1F3FD 200D 1F3A8 ; fully-qualified # 👩🏽‍🎨 woman artist: medium skin tone +1F469 1F3FE 200D 1F3A8 ; fully-qualified # 👩🏾‍🎨 woman artist: medium-dark skin tone +1F469 1F3FF 200D 1F3A8 ; fully-qualified # 👩🏿‍🎨 woman artist: dark skin tone +1F468 200D 2708 FE0F ; fully-qualified # 👨‍✈️ man pilot +1F468 200D 2708 ; non-fully-qualified # 👨‍✈ man pilot +1F468 1F3FB 200D 2708 FE0F ; fully-qualified # 👨🏻‍✈️ man pilot: light skin tone +1F468 1F3FB 200D 2708 ; non-fully-qualified # 👨🏻‍✈ man pilot: light skin tone +1F468 1F3FC 200D 2708 FE0F ; fully-qualified # 👨🏼‍✈️ man pilot: medium-light skin tone +1F468 1F3FC 200D 2708 ; non-fully-qualified # 👨🏼‍✈ man pilot: medium-light skin tone +1F468 1F3FD 200D 2708 FE0F ; fully-qualified # 👨🏽‍✈️ man pilot: medium skin tone +1F468 1F3FD 200D 2708 ; non-fully-qualified # 👨🏽‍✈ man pilot: medium skin tone +1F468 1F3FE 200D 2708 FE0F ; fully-qualified # 👨🏾‍✈️ man pilot: medium-dark skin tone +1F468 1F3FE 200D 2708 ; non-fully-qualified # 👨🏾‍✈ man pilot: medium-dark skin tone +1F468 1F3FF 200D 2708 FE0F ; fully-qualified # 👨🏿‍✈️ man pilot: dark skin tone +1F468 1F3FF 200D 2708 ; non-fully-qualified # 👨🏿‍✈ man pilot: dark skin tone +1F469 200D 2708 FE0F ; fully-qualified # 👩‍✈️ woman pilot +1F469 200D 2708 ; non-fully-qualified # 👩‍✈ woman pilot +1F469 1F3FB 200D 2708 FE0F ; fully-qualified # 👩🏻‍✈️ woman pilot: light skin tone +1F469 1F3FB 200D 2708 ; non-fully-qualified # 👩🏻‍✈ woman pilot: light skin tone +1F469 1F3FC 200D 2708 FE0F ; fully-qualified # 👩🏼‍✈️ woman pilot: medium-light skin tone +1F469 1F3FC 200D 2708 ; non-fully-qualified # 👩🏼‍✈ woman pilot: medium-light skin tone +1F469 1F3FD 200D 2708 FE0F ; fully-qualified # 👩🏽‍✈️ woman pilot: medium skin tone +1F469 1F3FD 200D 2708 ; non-fully-qualified # 👩🏽‍✈ woman pilot: medium skin tone +1F469 1F3FE 200D 2708 FE0F ; fully-qualified # 👩🏾‍✈️ woman pilot: medium-dark skin tone +1F469 1F3FE 200D 2708 ; non-fully-qualified # 👩🏾‍✈ woman pilot: medium-dark skin tone +1F469 1F3FF 200D 2708 FE0F ; fully-qualified # 👩🏿‍✈️ woman pilot: dark skin tone +1F469 1F3FF 200D 2708 ; non-fully-qualified # 👩🏿‍✈ woman pilot: dark skin tone +1F468 200D 1F680 ; fully-qualified # 👨‍🚀 man astronaut +1F468 1F3FB 200D 1F680 ; fully-qualified # 👨🏻‍🚀 man astronaut: light skin tone +1F468 1F3FC 200D 1F680 ; fully-qualified # 👨🏼‍🚀 man astronaut: medium-light skin tone +1F468 1F3FD 200D 1F680 ; fully-qualified # 👨🏽‍🚀 man astronaut: medium skin tone +1F468 1F3FE 200D 1F680 ; fully-qualified # 👨🏾‍🚀 man astronaut: medium-dark skin tone +1F468 1F3FF 200D 1F680 ; fully-qualified # 👨🏿‍🚀 man astronaut: dark skin tone +1F469 200D 1F680 ; fully-qualified # 👩‍🚀 woman astronaut +1F469 1F3FB 200D 1F680 ; fully-qualified # 👩🏻‍🚀 woman astronaut: light skin tone +1F469 1F3FC 200D 1F680 ; fully-qualified # 👩🏼‍🚀 woman astronaut: medium-light skin tone +1F469 1F3FD 200D 1F680 ; fully-qualified # 👩🏽‍🚀 woman astronaut: medium skin tone +1F469 1F3FE 200D 1F680 ; fully-qualified # 👩🏾‍🚀 woman astronaut: medium-dark skin tone +1F469 1F3FF 200D 1F680 ; fully-qualified # 👩🏿‍🚀 woman astronaut: dark skin tone +1F468 200D 1F692 ; fully-qualified # 👨‍🚒 man firefighter +1F468 1F3FB 200D 1F692 ; fully-qualified # 👨🏻‍🚒 man firefighter: light skin tone +1F468 1F3FC 200D 1F692 ; fully-qualified # 👨🏼‍🚒 man firefighter: medium-light skin tone +1F468 1F3FD 200D 1F692 ; fully-qualified # 👨🏽‍🚒 man firefighter: medium skin tone +1F468 1F3FE 200D 1F692 ; fully-qualified # 👨🏾‍🚒 man firefighter: medium-dark skin tone +1F468 1F3FF 200D 1F692 ; fully-qualified # 👨🏿‍🚒 man firefighter: dark skin tone +1F469 200D 1F692 ; fully-qualified # 👩‍🚒 woman firefighter +1F469 1F3FB 200D 1F692 ; fully-qualified # 👩🏻‍🚒 woman firefighter: light skin tone +1F469 1F3FC 200D 1F692 ; fully-qualified # 👩🏼‍🚒 woman firefighter: medium-light skin tone +1F469 1F3FD 200D 1F692 ; fully-qualified # 👩🏽‍🚒 woman firefighter: medium skin tone +1F469 1F3FE 200D 1F692 ; fully-qualified # 👩🏾‍🚒 woman firefighter: medium-dark skin tone +1F469 1F3FF 200D 1F692 ; fully-qualified # 👩🏿‍🚒 woman firefighter: dark skin tone +1F46E ; fully-qualified # 👮 police officer +1F46E 1F3FB ; fully-qualified # 👮🏻 police officer: light skin tone +1F46E 1F3FC ; fully-qualified # 👮🏼 police officer: medium-light skin tone +1F46E 1F3FD ; fully-qualified # 👮🏽 police officer: medium skin tone +1F46E 1F3FE ; fully-qualified # 👮🏾 police officer: medium-dark skin tone +1F46E 1F3FF ; fully-qualified # 👮🏿 police officer: dark skin tone +1F46E 200D 2642 FE0F ; fully-qualified # 👮‍♂️ man police officer +1F46E 200D 2642 ; non-fully-qualified # 👮‍♂ man police officer +1F46E 1F3FB 200D 2642 FE0F ; fully-qualified # 👮🏻‍♂️ man police officer: light skin tone +1F46E 1F3FB 200D 2642 ; non-fully-qualified # 👮🏻‍♂ man police officer: light skin tone +1F46E 1F3FC 200D 2642 FE0F ; fully-qualified # 👮🏼‍♂️ man police officer: medium-light skin tone +1F46E 1F3FC 200D 2642 ; non-fully-qualified # 👮🏼‍♂ man police officer: medium-light skin tone +1F46E 1F3FD 200D 2642 FE0F ; fully-qualified # 👮🏽‍♂️ man police officer: medium skin tone +1F46E 1F3FD 200D 2642 ; non-fully-qualified # 👮🏽‍♂ man police officer: medium skin tone +1F46E 1F3FE 200D 2642 FE0F ; fully-qualified # 👮🏾‍♂️ man police officer: medium-dark skin tone +1F46E 1F3FE 200D 2642 ; non-fully-qualified # 👮🏾‍♂ man police officer: medium-dark skin tone +1F46E 1F3FF 200D 2642 FE0F ; fully-qualified # 👮🏿‍♂️ man police officer: dark skin tone +1F46E 1F3FF 200D 2642 ; non-fully-qualified # 👮🏿‍♂ man police officer: dark skin tone +1F46E 200D 2640 FE0F ; fully-qualified # 👮‍♀️ woman police officer +1F46E 200D 2640 ; non-fully-qualified # 👮‍♀ woman police officer +1F46E 1F3FB 200D 2640 FE0F ; fully-qualified # 👮🏻‍♀️ woman police officer: light skin tone +1F46E 1F3FB 200D 2640 ; non-fully-qualified # 👮🏻‍♀ woman police officer: light skin tone +1F46E 1F3FC 200D 2640 FE0F ; fully-qualified # 👮🏼‍♀️ woman police officer: medium-light skin tone +1F46E 1F3FC 200D 2640 ; non-fully-qualified # 👮🏼‍♀ woman police officer: medium-light skin tone +1F46E 1F3FD 200D 2640 FE0F ; fully-qualified # 👮🏽‍♀️ woman police officer: medium skin tone +1F46E 1F3FD 200D 2640 ; non-fully-qualified # 👮🏽‍♀ woman police officer: medium skin tone +1F46E 1F3FE 200D 2640 FE0F ; fully-qualified # 👮🏾‍♀️ woman police officer: medium-dark skin tone +1F46E 1F3FE 200D 2640 ; non-fully-qualified # 👮🏾‍♀ woman police officer: medium-dark skin tone +1F46E 1F3FF 200D 2640 FE0F ; fully-qualified # 👮🏿‍♀️ woman police officer: dark skin tone +1F46E 1F3FF 200D 2640 ; non-fully-qualified # 👮🏿‍♀ woman police officer: dark skin tone +1F575 FE0F ; fully-qualified # 🕵️ detective +1F575 ; non-fully-qualified # 🕵 detective +1F575 1F3FB ; fully-qualified # 🕵🏻 detective: light skin tone +1F575 1F3FC ; fully-qualified # 🕵🏼 detective: medium-light skin tone +1F575 1F3FD ; fully-qualified # 🕵🏽 detective: medium skin tone +1F575 1F3FE ; fully-qualified # 🕵🏾 detective: medium-dark skin tone +1F575 1F3FF ; fully-qualified # 🕵🏿 detective: dark skin tone +1F575 FE0F 200D 2642 FE0F ; fully-qualified # 🕵️‍♂️ man detective +1F575 200D 2642 FE0F ; non-fully-qualified # 🕵‍♂️ man detective +1F575 FE0F 200D 2642 ; non-fully-qualified # 🕵️‍♂ man detective +1F575 200D 2642 ; non-fully-qualified # 🕵‍♂ man detective +1F575 1F3FB 200D 2642 FE0F ; fully-qualified # 🕵🏻‍♂️ man detective: light skin tone +1F575 1F3FB 200D 2642 ; non-fully-qualified # 🕵🏻‍♂ man detective: light skin tone +1F575 1F3FC 200D 2642 FE0F ; fully-qualified # 🕵🏼‍♂️ man detective: medium-light skin tone +1F575 1F3FC 200D 2642 ; non-fully-qualified # 🕵🏼‍♂ man detective: medium-light skin tone +1F575 1F3FD 200D 2642 FE0F ; fully-qualified # 🕵🏽‍♂️ man detective: medium skin tone +1F575 1F3FD 200D 2642 ; non-fully-qualified # 🕵🏽‍♂ man detective: medium skin tone +1F575 1F3FE 200D 2642 FE0F ; fully-qualified # 🕵🏾‍♂️ man detective: medium-dark skin tone +1F575 1F3FE 200D 2642 ; non-fully-qualified # 🕵🏾‍♂ man detective: medium-dark skin tone +1F575 1F3FF 200D 2642 FE0F ; fully-qualified # 🕵🏿‍♂️ man detective: dark skin tone +1F575 1F3FF 200D 2642 ; non-fully-qualified # 🕵🏿‍♂ man detective: dark skin tone +1F575 FE0F 200D 2640 FE0F ; fully-qualified # 🕵️‍♀️ woman detective +1F575 200D 2640 FE0F ; non-fully-qualified # 🕵‍♀️ woman detective +1F575 FE0F 200D 2640 ; non-fully-qualified # 🕵️‍♀ woman detective +1F575 200D 2640 ; non-fully-qualified # 🕵‍♀ woman detective +1F575 1F3FB 200D 2640 FE0F ; fully-qualified # 🕵🏻‍♀️ woman detective: light skin tone +1F575 1F3FB 200D 2640 ; non-fully-qualified # 🕵🏻‍♀ woman detective: light skin tone +1F575 1F3FC 200D 2640 FE0F ; fully-qualified # 🕵🏼‍♀️ woman detective: medium-light skin tone +1F575 1F3FC 200D 2640 ; non-fully-qualified # 🕵🏼‍♀ woman detective: medium-light skin tone +1F575 1F3FD 200D 2640 FE0F ; fully-qualified # 🕵🏽‍♀️ woman detective: medium skin tone +1F575 1F3FD 200D 2640 ; non-fully-qualified # 🕵🏽‍♀ woman detective: medium skin tone +1F575 1F3FE 200D 2640 FE0F ; fully-qualified # 🕵🏾‍♀️ woman detective: medium-dark skin tone +1F575 1F3FE 200D 2640 ; non-fully-qualified # 🕵🏾‍♀ woman detective: medium-dark skin tone +1F575 1F3FF 200D 2640 FE0F ; fully-qualified # 🕵🏿‍♀️ woman detective: dark skin tone +1F575 1F3FF 200D 2640 ; non-fully-qualified # 🕵🏿‍♀ woman detective: dark skin tone +1F482 ; fully-qualified # 💂 guard +1F482 1F3FB ; fully-qualified # 💂🏻 guard: light skin tone +1F482 1F3FC ; fully-qualified # 💂🏼 guard: medium-light skin tone +1F482 1F3FD ; fully-qualified # 💂🏽 guard: medium skin tone +1F482 1F3FE ; fully-qualified # 💂🏾 guard: medium-dark skin tone +1F482 1F3FF ; fully-qualified # 💂🏿 guard: dark skin tone +1F482 200D 2642 FE0F ; fully-qualified # 💂‍♂️ man guard +1F482 200D 2642 ; non-fully-qualified # 💂‍♂ man guard +1F482 1F3FB 200D 2642 FE0F ; fully-qualified # 💂🏻‍♂️ man guard: light skin tone +1F482 1F3FB 200D 2642 ; non-fully-qualified # 💂🏻‍♂ man guard: light skin tone +1F482 1F3FC 200D 2642 FE0F ; fully-qualified # 💂🏼‍♂️ man guard: medium-light skin tone +1F482 1F3FC 200D 2642 ; non-fully-qualified # 💂🏼‍♂ man guard: medium-light skin tone +1F482 1F3FD 200D 2642 FE0F ; fully-qualified # 💂🏽‍♂️ man guard: medium skin tone +1F482 1F3FD 200D 2642 ; non-fully-qualified # 💂🏽‍♂ man guard: medium skin tone +1F482 1F3FE 200D 2642 FE0F ; fully-qualified # 💂🏾‍♂️ man guard: medium-dark skin tone +1F482 1F3FE 200D 2642 ; non-fully-qualified # 💂🏾‍♂ man guard: medium-dark skin tone +1F482 1F3FF 200D 2642 FE0F ; fully-qualified # 💂🏿‍♂️ man guard: dark skin tone +1F482 1F3FF 200D 2642 ; non-fully-qualified # 💂🏿‍♂ man guard: dark skin tone +1F482 200D 2640 FE0F ; fully-qualified # 💂‍♀️ woman guard +1F482 200D 2640 ; non-fully-qualified # 💂‍♀ woman guard +1F482 1F3FB 200D 2640 FE0F ; fully-qualified # 💂🏻‍♀️ woman guard: light skin tone +1F482 1F3FB 200D 2640 ; non-fully-qualified # 💂🏻‍♀ woman guard: light skin tone +1F482 1F3FC 200D 2640 FE0F ; fully-qualified # 💂🏼‍♀️ woman guard: medium-light skin tone +1F482 1F3FC 200D 2640 ; non-fully-qualified # 💂🏼‍♀ woman guard: medium-light skin tone +1F482 1F3FD 200D 2640 FE0F ; fully-qualified # 💂🏽‍♀️ woman guard: medium skin tone +1F482 1F3FD 200D 2640 ; non-fully-qualified # 💂🏽‍♀ woman guard: medium skin tone +1F482 1F3FE 200D 2640 FE0F ; fully-qualified # 💂🏾‍♀️ woman guard: medium-dark skin tone +1F482 1F3FE 200D 2640 ; non-fully-qualified # 💂🏾‍♀ woman guard: medium-dark skin tone +1F482 1F3FF 200D 2640 FE0F ; fully-qualified # 💂🏿‍♀️ woman guard: dark skin tone +1F482 1F3FF 200D 2640 ; non-fully-qualified # 💂🏿‍♀ woman guard: dark skin tone +1F477 ; fully-qualified # 👷 construction worker +1F477 1F3FB ; fully-qualified # 👷🏻 construction worker: light skin tone +1F477 1F3FC ; fully-qualified # 👷🏼 construction worker: medium-light skin tone +1F477 1F3FD ; fully-qualified # 👷🏽 construction worker: medium skin tone +1F477 1F3FE ; fully-qualified # 👷🏾 construction worker: medium-dark skin tone +1F477 1F3FF ; fully-qualified # 👷🏿 construction worker: dark skin tone +1F477 200D 2642 FE0F ; fully-qualified # 👷‍♂️ man construction worker +1F477 200D 2642 ; non-fully-qualified # 👷‍♂ man construction worker +1F477 1F3FB 200D 2642 FE0F ; fully-qualified # 👷🏻‍♂️ man construction worker: light skin tone +1F477 1F3FB 200D 2642 ; non-fully-qualified # 👷🏻‍♂ man construction worker: light skin tone +1F477 1F3FC 200D 2642 FE0F ; fully-qualified # 👷🏼‍♂️ man construction worker: medium-light skin tone +1F477 1F3FC 200D 2642 ; non-fully-qualified # 👷🏼‍♂ man construction worker: medium-light skin tone +1F477 1F3FD 200D 2642 FE0F ; fully-qualified # 👷🏽‍♂️ man construction worker: medium skin tone +1F477 1F3FD 200D 2642 ; non-fully-qualified # 👷🏽‍♂ man construction worker: medium skin tone +1F477 1F3FE 200D 2642 FE0F ; fully-qualified # 👷🏾‍♂️ man construction worker: medium-dark skin tone +1F477 1F3FE 200D 2642 ; non-fully-qualified # 👷🏾‍♂ man construction worker: medium-dark skin tone +1F477 1F3FF 200D 2642 FE0F ; fully-qualified # 👷🏿‍♂️ man construction worker: dark skin tone +1F477 1F3FF 200D 2642 ; non-fully-qualified # 👷🏿‍♂ man construction worker: dark skin tone +1F477 200D 2640 FE0F ; fully-qualified # 👷‍♀️ woman construction worker +1F477 200D 2640 ; non-fully-qualified # 👷‍♀ woman construction worker +1F477 1F3FB 200D 2640 FE0F ; fully-qualified # 👷🏻‍♀️ woman construction worker: light skin tone +1F477 1F3FB 200D 2640 ; non-fully-qualified # 👷🏻‍♀ woman construction worker: light skin tone +1F477 1F3FC 200D 2640 FE0F ; fully-qualified # 👷🏼‍♀️ woman construction worker: medium-light skin tone +1F477 1F3FC 200D 2640 ; non-fully-qualified # 👷🏼‍♀ woman construction worker: medium-light skin tone +1F477 1F3FD 200D 2640 FE0F ; fully-qualified # 👷🏽‍♀️ woman construction worker: medium skin tone +1F477 1F3FD 200D 2640 ; non-fully-qualified # 👷🏽‍♀ woman construction worker: medium skin tone +1F477 1F3FE 200D 2640 FE0F ; fully-qualified # 👷🏾‍♀️ woman construction worker: medium-dark skin tone +1F477 1F3FE 200D 2640 ; non-fully-qualified # 👷🏾‍♀ woman construction worker: medium-dark skin tone +1F477 1F3FF 200D 2640 FE0F ; fully-qualified # 👷🏿‍♀️ woman construction worker: dark skin tone +1F477 1F3FF 200D 2640 ; non-fully-qualified # 👷🏿‍♀ woman construction worker: dark skin tone +1F934 ; fully-qualified # 🤴 prince +1F934 1F3FB ; fully-qualified # 🤴🏻 prince: light skin tone +1F934 1F3FC ; fully-qualified # 🤴🏼 prince: medium-light skin tone +1F934 1F3FD ; fully-qualified # 🤴🏽 prince: medium skin tone +1F934 1F3FE ; fully-qualified # 🤴🏾 prince: medium-dark skin tone +1F934 1F3FF ; fully-qualified # 🤴🏿 prince: dark skin tone +1F478 ; fully-qualified # 👸 princess +1F478 1F3FB ; fully-qualified # 👸🏻 princess: light skin tone +1F478 1F3FC ; fully-qualified # 👸🏼 princess: medium-light skin tone +1F478 1F3FD ; fully-qualified # 👸🏽 princess: medium skin tone +1F478 1F3FE ; fully-qualified # 👸🏾 princess: medium-dark skin tone +1F478 1F3FF ; fully-qualified # 👸🏿 princess: dark skin tone +1F473 ; fully-qualified # 👳 person wearing turban +1F473 1F3FB ; fully-qualified # 👳🏻 person wearing turban: light skin tone +1F473 1F3FC ; fully-qualified # 👳🏼 person wearing turban: medium-light skin tone +1F473 1F3FD ; fully-qualified # 👳🏽 person wearing turban: medium skin tone +1F473 1F3FE ; fully-qualified # 👳🏾 person wearing turban: medium-dark skin tone +1F473 1F3FF ; fully-qualified # 👳🏿 person wearing turban: dark skin tone +1F473 200D 2642 FE0F ; fully-qualified # 👳‍♂️ man wearing turban +1F473 200D 2642 ; non-fully-qualified # 👳‍♂ man wearing turban +1F473 1F3FB 200D 2642 FE0F ; fully-qualified # 👳🏻‍♂️ man wearing turban: light skin tone +1F473 1F3FB 200D 2642 ; non-fully-qualified # 👳🏻‍♂ man wearing turban: light skin tone +1F473 1F3FC 200D 2642 FE0F ; fully-qualified # 👳🏼‍♂️ man wearing turban: medium-light skin tone +1F473 1F3FC 200D 2642 ; non-fully-qualified # 👳🏼‍♂ man wearing turban: medium-light skin tone +1F473 1F3FD 200D 2642 FE0F ; fully-qualified # 👳🏽‍♂️ man wearing turban: medium skin tone +1F473 1F3FD 200D 2642 ; non-fully-qualified # 👳🏽‍♂ man wearing turban: medium skin tone +1F473 1F3FE 200D 2642 FE0F ; fully-qualified # 👳🏾‍♂️ man wearing turban: medium-dark skin tone +1F473 1F3FE 200D 2642 ; non-fully-qualified # 👳🏾‍♂ man wearing turban: medium-dark skin tone +1F473 1F3FF 200D 2642 FE0F ; fully-qualified # 👳🏿‍♂️ man wearing turban: dark skin tone +1F473 1F3FF 200D 2642 ; non-fully-qualified # 👳🏿‍♂ man wearing turban: dark skin tone +1F473 200D 2640 FE0F ; fully-qualified # 👳‍♀️ woman wearing turban +1F473 200D 2640 ; non-fully-qualified # 👳‍♀ woman wearing turban +1F473 1F3FB 200D 2640 FE0F ; fully-qualified # 👳🏻‍♀️ woman wearing turban: light skin tone +1F473 1F3FB 200D 2640 ; non-fully-qualified # 👳🏻‍♀ woman wearing turban: light skin tone +1F473 1F3FC 200D 2640 FE0F ; fully-qualified # 👳🏼‍♀️ woman wearing turban: medium-light skin tone +1F473 1F3FC 200D 2640 ; non-fully-qualified # 👳🏼‍♀ woman wearing turban: medium-light skin tone +1F473 1F3FD 200D 2640 FE0F ; fully-qualified # 👳🏽‍♀️ woman wearing turban: medium skin tone +1F473 1F3FD 200D 2640 ; non-fully-qualified # 👳🏽‍♀ woman wearing turban: medium skin tone +1F473 1F3FE 200D 2640 FE0F ; fully-qualified # 👳🏾‍♀️ woman wearing turban: medium-dark skin tone +1F473 1F3FE 200D 2640 ; non-fully-qualified # 👳🏾‍♀ woman wearing turban: medium-dark skin tone +1F473 1F3FF 200D 2640 FE0F ; fully-qualified # 👳🏿‍♀️ woman wearing turban: dark skin tone +1F473 1F3FF 200D 2640 ; non-fully-qualified # 👳🏿‍♀ woman wearing turban: dark skin tone +1F472 ; fully-qualified # 👲 man with Chinese cap +1F472 1F3FB ; fully-qualified # 👲🏻 man with Chinese cap: light skin tone +1F472 1F3FC ; fully-qualified # 👲🏼 man with Chinese cap: medium-light skin tone +1F472 1F3FD ; fully-qualified # 👲🏽 man with Chinese cap: medium skin tone +1F472 1F3FE ; fully-qualified # 👲🏾 man with Chinese cap: medium-dark skin tone +1F472 1F3FF ; fully-qualified # 👲🏿 man with Chinese cap: dark skin tone +1F9D5 ; fully-qualified # 🧕 woman with headscarf +1F9D5 1F3FB ; fully-qualified # 🧕🏻 woman with headscarf: light skin tone +1F9D5 1F3FC ; fully-qualified # 🧕🏼 woman with headscarf: medium-light skin tone +1F9D5 1F3FD ; fully-qualified # 🧕🏽 woman with headscarf: medium skin tone +1F9D5 1F3FE ; fully-qualified # 🧕🏾 woman with headscarf: medium-dark skin tone +1F9D5 1F3FF ; fully-qualified # 🧕🏿 woman with headscarf: dark skin tone +1F9D4 ; fully-qualified # 🧔 bearded person +1F9D4 1F3FB ; fully-qualified # 🧔🏻 bearded person: light skin tone +1F9D4 1F3FC ; fully-qualified # 🧔🏼 bearded person: medium-light skin tone +1F9D4 1F3FD ; fully-qualified # 🧔🏽 bearded person: medium skin tone +1F9D4 1F3FE ; fully-qualified # 🧔🏾 bearded person: medium-dark skin tone +1F9D4 1F3FF ; fully-qualified # 🧔🏿 bearded person: dark skin tone +1F471 ; fully-qualified # 👱 blond-haired person +1F471 1F3FB ; fully-qualified # 👱🏻 blond-haired person: light skin tone +1F471 1F3FC ; fully-qualified # 👱🏼 blond-haired person: medium-light skin tone +1F471 1F3FD ; fully-qualified # 👱🏽 blond-haired person: medium skin tone +1F471 1F3FE ; fully-qualified # 👱🏾 blond-haired person: medium-dark skin tone +1F471 1F3FF ; fully-qualified # 👱🏿 blond-haired person: dark skin tone +1F471 200D 2642 FE0F ; fully-qualified # 👱‍♂️ blond-haired man +1F471 200D 2642 ; non-fully-qualified # 👱‍♂ blond-haired man +1F471 1F3FB 200D 2642 FE0F ; fully-qualified # 👱🏻‍♂️ blond-haired man: light skin tone +1F471 1F3FB 200D 2642 ; non-fully-qualified # 👱🏻‍♂ blond-haired man: light skin tone +1F471 1F3FC 200D 2642 FE0F ; fully-qualified # 👱🏼‍♂️ blond-haired man: medium-light skin tone +1F471 1F3FC 200D 2642 ; non-fully-qualified # 👱🏼‍♂ blond-haired man: medium-light skin tone +1F471 1F3FD 200D 2642 FE0F ; fully-qualified # 👱🏽‍♂️ blond-haired man: medium skin tone +1F471 1F3FD 200D 2642 ; non-fully-qualified # 👱🏽‍♂ blond-haired man: medium skin tone +1F471 1F3FE 200D 2642 FE0F ; fully-qualified # 👱🏾‍♂️ blond-haired man: medium-dark skin tone +1F471 1F3FE 200D 2642 ; non-fully-qualified # 👱🏾‍♂ blond-haired man: medium-dark skin tone +1F471 1F3FF 200D 2642 FE0F ; fully-qualified # 👱🏿‍♂️ blond-haired man: dark skin tone +1F471 1F3FF 200D 2642 ; non-fully-qualified # 👱🏿‍♂ blond-haired man: dark skin tone +1F471 200D 2640 FE0F ; fully-qualified # 👱‍♀️ blond-haired woman +1F471 200D 2640 ; non-fully-qualified # 👱‍♀ blond-haired woman +1F471 1F3FB 200D 2640 FE0F ; fully-qualified # 👱🏻‍♀️ blond-haired woman: light skin tone +1F471 1F3FB 200D 2640 ; non-fully-qualified # 👱🏻‍♀ blond-haired woman: light skin tone +1F471 1F3FC 200D 2640 FE0F ; fully-qualified # 👱🏼‍♀️ blond-haired woman: medium-light skin tone +1F471 1F3FC 200D 2640 ; non-fully-qualified # 👱🏼‍♀ blond-haired woman: medium-light skin tone +1F471 1F3FD 200D 2640 FE0F ; fully-qualified # 👱🏽‍♀️ blond-haired woman: medium skin tone +1F471 1F3FD 200D 2640 ; non-fully-qualified # 👱🏽‍♀ blond-haired woman: medium skin tone +1F471 1F3FE 200D 2640 FE0F ; fully-qualified # 👱🏾‍♀️ blond-haired woman: medium-dark skin tone +1F471 1F3FE 200D 2640 ; non-fully-qualified # 👱🏾‍♀ blond-haired woman: medium-dark skin tone +1F471 1F3FF 200D 2640 FE0F ; fully-qualified # 👱🏿‍♀️ blond-haired woman: dark skin tone +1F471 1F3FF 200D 2640 ; non-fully-qualified # 👱🏿‍♀ blond-haired woman: dark skin tone +1F935 ; fully-qualified # 🤵 man in tuxedo +1F935 1F3FB ; fully-qualified # 🤵🏻 man in tuxedo: light skin tone +1F935 1F3FC ; fully-qualified # 🤵🏼 man in tuxedo: medium-light skin tone +1F935 1F3FD ; fully-qualified # 🤵🏽 man in tuxedo: medium skin tone +1F935 1F3FE ; fully-qualified # 🤵🏾 man in tuxedo: medium-dark skin tone +1F935 1F3FF ; fully-qualified # 🤵🏿 man in tuxedo: dark skin tone +1F470 ; fully-qualified # 👰 bride with veil +1F470 1F3FB ; fully-qualified # 👰🏻 bride with veil: light skin tone +1F470 1F3FC ; fully-qualified # 👰🏼 bride with veil: medium-light skin tone +1F470 1F3FD ; fully-qualified # 👰🏽 bride with veil: medium skin tone +1F470 1F3FE ; fully-qualified # 👰🏾 bride with veil: medium-dark skin tone +1F470 1F3FF ; fully-qualified # 👰🏿 bride with veil: dark skin tone +1F930 ; fully-qualified # 🤰 pregnant woman +1F930 1F3FB ; fully-qualified # 🤰🏻 pregnant woman: light skin tone +1F930 1F3FC ; fully-qualified # 🤰🏼 pregnant woman: medium-light skin tone +1F930 1F3FD ; fully-qualified # 🤰🏽 pregnant woman: medium skin tone +1F930 1F3FE ; fully-qualified # 🤰🏾 pregnant woman: medium-dark skin tone +1F930 1F3FF ; fully-qualified # 🤰🏿 pregnant woman: dark skin tone +1F931 ; fully-qualified # 🤱 breast-feeding +1F931 1F3FB ; fully-qualified # 🤱🏻 breast-feeding: light skin tone +1F931 1F3FC ; fully-qualified # 🤱🏼 breast-feeding: medium-light skin tone +1F931 1F3FD ; fully-qualified # 🤱🏽 breast-feeding: medium skin tone +1F931 1F3FE ; fully-qualified # 🤱🏾 breast-feeding: medium-dark skin tone +1F931 1F3FF ; fully-qualified # 🤱🏿 breast-feeding: dark skin tone + +# subgroup: person-fantasy +1F47C ; fully-qualified # 👼 baby angel +1F47C 1F3FB ; fully-qualified # 👼🏻 baby angel: light skin tone +1F47C 1F3FC ; fully-qualified # 👼🏼 baby angel: medium-light skin tone +1F47C 1F3FD ; fully-qualified # 👼🏽 baby angel: medium skin tone +1F47C 1F3FE ; fully-qualified # 👼🏾 baby angel: medium-dark skin tone +1F47C 1F3FF ; fully-qualified # 👼🏿 baby angel: dark skin tone +1F385 ; fully-qualified # 🎅 Santa Claus +1F385 1F3FB ; fully-qualified # 🎅🏻 Santa Claus: light skin tone +1F385 1F3FC ; fully-qualified # 🎅🏼 Santa Claus: medium-light skin tone +1F385 1F3FD ; fully-qualified # 🎅🏽 Santa Claus: medium skin tone +1F385 1F3FE ; fully-qualified # 🎅🏾 Santa Claus: medium-dark skin tone +1F385 1F3FF ; fully-qualified # 🎅🏿 Santa Claus: dark skin tone +1F936 ; fully-qualified # 🤶 Mrs. Claus +1F936 1F3FB ; fully-qualified # 🤶🏻 Mrs. Claus: light skin tone +1F936 1F3FC ; fully-qualified # 🤶🏼 Mrs. Claus: medium-light skin tone +1F936 1F3FD ; fully-qualified # 🤶🏽 Mrs. Claus: medium skin tone +1F936 1F3FE ; fully-qualified # 🤶🏾 Mrs. Claus: medium-dark skin tone +1F936 1F3FF ; fully-qualified # 🤶🏿 Mrs. Claus: dark skin tone +1F9D9 ; fully-qualified # 🧙 mage +1F9D9 1F3FB ; fully-qualified # 🧙🏻 mage: light skin tone +1F9D9 1F3FC ; fully-qualified # 🧙🏼 mage: medium-light skin tone +1F9D9 1F3FD ; fully-qualified # 🧙🏽 mage: medium skin tone +1F9D9 1F3FE ; fully-qualified # 🧙🏾 mage: medium-dark skin tone +1F9D9 1F3FF ; fully-qualified # 🧙🏿 mage: dark skin tone +1F9D9 200D 2640 FE0F ; fully-qualified # 🧙‍♀️ woman mage +1F9D9 200D 2640 ; non-fully-qualified # 🧙‍♀ woman mage +1F9D9 1F3FB 200D 2640 FE0F ; fully-qualified # 🧙🏻‍♀️ woman mage: light skin tone +1F9D9 1F3FB 200D 2640 ; non-fully-qualified # 🧙🏻‍♀ woman mage: light skin tone +1F9D9 1F3FC 200D 2640 FE0F ; fully-qualified # 🧙🏼‍♀️ woman mage: medium-light skin tone +1F9D9 1F3FC 200D 2640 ; non-fully-qualified # 🧙🏼‍♀ woman mage: medium-light skin tone +1F9D9 1F3FD 200D 2640 FE0F ; fully-qualified # 🧙🏽‍♀️ woman mage: medium skin tone +1F9D9 1F3FD 200D 2640 ; non-fully-qualified # 🧙🏽‍♀ woman mage: medium skin tone +1F9D9 1F3FE 200D 2640 FE0F ; fully-qualified # 🧙🏾‍♀️ woman mage: medium-dark skin tone +1F9D9 1F3FE 200D 2640 ; non-fully-qualified # 🧙🏾‍♀ woman mage: medium-dark skin tone +1F9D9 1F3FF 200D 2640 FE0F ; fully-qualified # 🧙🏿‍♀️ woman mage: dark skin tone +1F9D9 1F3FF 200D 2640 ; non-fully-qualified # 🧙🏿‍♀ woman mage: dark skin tone +1F9D9 200D 2642 FE0F ; fully-qualified # 🧙‍♂️ man mage +1F9D9 200D 2642 ; non-fully-qualified # 🧙‍♂ man mage +1F9D9 1F3FB 200D 2642 FE0F ; fully-qualified # 🧙🏻‍♂️ man mage: light skin tone +1F9D9 1F3FB 200D 2642 ; non-fully-qualified # 🧙🏻‍♂ man mage: light skin tone +1F9D9 1F3FC 200D 2642 FE0F ; fully-qualified # 🧙🏼‍♂️ man mage: medium-light skin tone +1F9D9 1F3FC 200D 2642 ; non-fully-qualified # 🧙🏼‍♂ man mage: medium-light skin tone +1F9D9 1F3FD 200D 2642 FE0F ; fully-qualified # 🧙🏽‍♂️ man mage: medium skin tone +1F9D9 1F3FD 200D 2642 ; non-fully-qualified # 🧙🏽‍♂ man mage: medium skin tone +1F9D9 1F3FE 200D 2642 FE0F ; fully-qualified # 🧙🏾‍♂️ man mage: medium-dark skin tone +1F9D9 1F3FE 200D 2642 ; non-fully-qualified # 🧙🏾‍♂ man mage: medium-dark skin tone +1F9D9 1F3FF 200D 2642 FE0F ; fully-qualified # 🧙🏿‍♂️ man mage: dark skin tone +1F9D9 1F3FF 200D 2642 ; non-fully-qualified # 🧙🏿‍♂ man mage: dark skin tone +1F9DA ; fully-qualified # 🧚 fairy +1F9DA 1F3FB ; fully-qualified # 🧚🏻 fairy: light skin tone +1F9DA 1F3FC ; fully-qualified # 🧚🏼 fairy: medium-light skin tone +1F9DA 1F3FD ; fully-qualified # 🧚🏽 fairy: medium skin tone +1F9DA 1F3FE ; fully-qualified # 🧚🏾 fairy: medium-dark skin tone +1F9DA 1F3FF ; fully-qualified # 🧚🏿 fairy: dark skin tone +1F9DA 200D 2640 FE0F ; fully-qualified # 🧚‍♀️ woman fairy +1F9DA 200D 2640 ; non-fully-qualified # 🧚‍♀ woman fairy +1F9DA 1F3FB 200D 2640 FE0F ; fully-qualified # 🧚🏻‍♀️ woman fairy: light skin tone +1F9DA 1F3FB 200D 2640 ; non-fully-qualified # 🧚🏻‍♀ woman fairy: light skin tone +1F9DA 1F3FC 200D 2640 FE0F ; fully-qualified # 🧚🏼‍♀️ woman fairy: medium-light skin tone +1F9DA 1F3FC 200D 2640 ; non-fully-qualified # 🧚🏼‍♀ woman fairy: medium-light skin tone +1F9DA 1F3FD 200D 2640 FE0F ; fully-qualified # 🧚🏽‍♀️ woman fairy: medium skin tone +1F9DA 1F3FD 200D 2640 ; non-fully-qualified # 🧚🏽‍♀ woman fairy: medium skin tone +1F9DA 1F3FE 200D 2640 FE0F ; fully-qualified # 🧚🏾‍♀️ woman fairy: medium-dark skin tone +1F9DA 1F3FE 200D 2640 ; non-fully-qualified # 🧚🏾‍♀ woman fairy: medium-dark skin tone +1F9DA 1F3FF 200D 2640 FE0F ; fully-qualified # 🧚🏿‍♀️ woman fairy: dark skin tone +1F9DA 1F3FF 200D 2640 ; non-fully-qualified # 🧚🏿‍♀ woman fairy: dark skin tone +1F9DA 200D 2642 FE0F ; fully-qualified # 🧚‍♂️ man fairy +1F9DA 200D 2642 ; non-fully-qualified # 🧚‍♂ man fairy +1F9DA 1F3FB 200D 2642 FE0F ; fully-qualified # 🧚🏻‍♂️ man fairy: light skin tone +1F9DA 1F3FB 200D 2642 ; non-fully-qualified # 🧚🏻‍♂ man fairy: light skin tone +1F9DA 1F3FC 200D 2642 FE0F ; fully-qualified # 🧚🏼‍♂️ man fairy: medium-light skin tone +1F9DA 1F3FC 200D 2642 ; non-fully-qualified # 🧚🏼‍♂ man fairy: medium-light skin tone +1F9DA 1F3FD 200D 2642 FE0F ; fully-qualified # 🧚🏽‍♂️ man fairy: medium skin tone +1F9DA 1F3FD 200D 2642 ; non-fully-qualified # 🧚🏽‍♂ man fairy: medium skin tone +1F9DA 1F3FE 200D 2642 FE0F ; fully-qualified # 🧚🏾‍♂️ man fairy: medium-dark skin tone +1F9DA 1F3FE 200D 2642 ; non-fully-qualified # 🧚🏾‍♂ man fairy: medium-dark skin tone +1F9DA 1F3FF 200D 2642 FE0F ; fully-qualified # 🧚🏿‍♂️ man fairy: dark skin tone +1F9DA 1F3FF 200D 2642 ; non-fully-qualified # 🧚🏿‍♂ man fairy: dark skin tone +1F9DB ; fully-qualified # 🧛 vampire +1F9DB 1F3FB ; fully-qualified # 🧛🏻 vampire: light skin tone +1F9DB 1F3FC ; fully-qualified # 🧛🏼 vampire: medium-light skin tone +1F9DB 1F3FD ; fully-qualified # 🧛🏽 vampire: medium skin tone +1F9DB 1F3FE ; fully-qualified # 🧛🏾 vampire: medium-dark skin tone +1F9DB 1F3FF ; fully-qualified # 🧛🏿 vampire: dark skin tone +1F9DB 200D 2640 FE0F ; fully-qualified # 🧛‍♀️ woman vampire +1F9DB 200D 2640 ; non-fully-qualified # 🧛‍♀ woman vampire +1F9DB 1F3FB 200D 2640 FE0F ; fully-qualified # 🧛🏻‍♀️ woman vampire: light skin tone +1F9DB 1F3FB 200D 2640 ; non-fully-qualified # 🧛🏻‍♀ woman vampire: light skin tone +1F9DB 1F3FC 200D 2640 FE0F ; fully-qualified # 🧛🏼‍♀️ woman vampire: medium-light skin tone +1F9DB 1F3FC 200D 2640 ; non-fully-qualified # 🧛🏼‍♀ woman vampire: medium-light skin tone +1F9DB 1F3FD 200D 2640 FE0F ; fully-qualified # 🧛🏽‍♀️ woman vampire: medium skin tone +1F9DB 1F3FD 200D 2640 ; non-fully-qualified # 🧛🏽‍♀ woman vampire: medium skin tone +1F9DB 1F3FE 200D 2640 FE0F ; fully-qualified # 🧛🏾‍♀️ woman vampire: medium-dark skin tone +1F9DB 1F3FE 200D 2640 ; non-fully-qualified # 🧛🏾‍♀ woman vampire: medium-dark skin tone +1F9DB 1F3FF 200D 2640 FE0F ; fully-qualified # 🧛🏿‍♀️ woman vampire: dark skin tone +1F9DB 1F3FF 200D 2640 ; non-fully-qualified # 🧛🏿‍♀ woman vampire: dark skin tone +1F9DB 200D 2642 FE0F ; fully-qualified # 🧛‍♂️ man vampire +1F9DB 200D 2642 ; non-fully-qualified # 🧛‍♂ man vampire +1F9DB 1F3FB 200D 2642 FE0F ; fully-qualified # 🧛🏻‍♂️ man vampire: light skin tone +1F9DB 1F3FB 200D 2642 ; non-fully-qualified # 🧛🏻‍♂ man vampire: light skin tone +1F9DB 1F3FC 200D 2642 FE0F ; fully-qualified # 🧛🏼‍♂️ man vampire: medium-light skin tone +1F9DB 1F3FC 200D 2642 ; non-fully-qualified # 🧛🏼‍♂ man vampire: medium-light skin tone +1F9DB 1F3FD 200D 2642 FE0F ; fully-qualified # 🧛🏽‍♂️ man vampire: medium skin tone +1F9DB 1F3FD 200D 2642 ; non-fully-qualified # 🧛🏽‍♂ man vampire: medium skin tone +1F9DB 1F3FE 200D 2642 FE0F ; fully-qualified # 🧛🏾‍♂️ man vampire: medium-dark skin tone +1F9DB 1F3FE 200D 2642 ; non-fully-qualified # 🧛🏾‍♂ man vampire: medium-dark skin tone +1F9DB 1F3FF 200D 2642 FE0F ; fully-qualified # 🧛🏿‍♂️ man vampire: dark skin tone +1F9DB 1F3FF 200D 2642 ; non-fully-qualified # 🧛🏿‍♂ man vampire: dark skin tone +1F9DC ; fully-qualified # 🧜 merperson +1F9DC 1F3FB ; fully-qualified # 🧜🏻 merperson: light skin tone +1F9DC 1F3FC ; fully-qualified # 🧜🏼 merperson: medium-light skin tone +1F9DC 1F3FD ; fully-qualified # 🧜🏽 merperson: medium skin tone +1F9DC 1F3FE ; fully-qualified # 🧜🏾 merperson: medium-dark skin tone +1F9DC 1F3FF ; fully-qualified # 🧜🏿 merperson: dark skin tone +1F9DC 200D 2640 FE0F ; fully-qualified # 🧜‍♀️ mermaid +1F9DC 200D 2640 ; non-fully-qualified # 🧜‍♀ mermaid +1F9DC 1F3FB 200D 2640 FE0F ; fully-qualified # 🧜🏻‍♀️ mermaid: light skin tone +1F9DC 1F3FB 200D 2640 ; non-fully-qualified # 🧜🏻‍♀ mermaid: light skin tone +1F9DC 1F3FC 200D 2640 FE0F ; fully-qualified # 🧜🏼‍♀️ mermaid: medium-light skin tone +1F9DC 1F3FC 200D 2640 ; non-fully-qualified # 🧜🏼‍♀ mermaid: medium-light skin tone +1F9DC 1F3FD 200D 2640 FE0F ; fully-qualified # 🧜🏽‍♀️ mermaid: medium skin tone +1F9DC 1F3FD 200D 2640 ; non-fully-qualified # 🧜🏽‍♀ mermaid: medium skin tone +1F9DC 1F3FE 200D 2640 FE0F ; fully-qualified # 🧜🏾‍♀️ mermaid: medium-dark skin tone +1F9DC 1F3FE 200D 2640 ; non-fully-qualified # 🧜🏾‍♀ mermaid: medium-dark skin tone +1F9DC 1F3FF 200D 2640 FE0F ; fully-qualified # 🧜🏿‍♀️ mermaid: dark skin tone +1F9DC 1F3FF 200D 2640 ; non-fully-qualified # 🧜🏿‍♀ mermaid: dark skin tone +1F9DC 200D 2642 FE0F ; fully-qualified # 🧜‍♂️ merman +1F9DC 200D 2642 ; non-fully-qualified # 🧜‍♂ merman +1F9DC 1F3FB 200D 2642 FE0F ; fully-qualified # 🧜🏻‍♂️ merman: light skin tone +1F9DC 1F3FB 200D 2642 ; non-fully-qualified # 🧜🏻‍♂ merman: light skin tone +1F9DC 1F3FC 200D 2642 FE0F ; fully-qualified # 🧜🏼‍♂️ merman: medium-light skin tone +1F9DC 1F3FC 200D 2642 ; non-fully-qualified # 🧜🏼‍♂ merman: medium-light skin tone +1F9DC 1F3FD 200D 2642 FE0F ; fully-qualified # 🧜🏽‍♂️ merman: medium skin tone +1F9DC 1F3FD 200D 2642 ; non-fully-qualified # 🧜🏽‍♂ merman: medium skin tone +1F9DC 1F3FE 200D 2642 FE0F ; fully-qualified # 🧜🏾‍♂️ merman: medium-dark skin tone +1F9DC 1F3FE 200D 2642 ; non-fully-qualified # 🧜🏾‍♂ merman: medium-dark skin tone +1F9DC 1F3FF 200D 2642 FE0F ; fully-qualified # 🧜🏿‍♂️ merman: dark skin tone +1F9DC 1F3FF 200D 2642 ; non-fully-qualified # 🧜🏿‍♂ merman: dark skin tone +1F9DD ; fully-qualified # 🧝 elf +1F9DD 1F3FB ; fully-qualified # 🧝🏻 elf: light skin tone +1F9DD 1F3FC ; fully-qualified # 🧝🏼 elf: medium-light skin tone +1F9DD 1F3FD ; fully-qualified # 🧝🏽 elf: medium skin tone +1F9DD 1F3FE ; fully-qualified # 🧝🏾 elf: medium-dark skin tone +1F9DD 1F3FF ; fully-qualified # 🧝🏿 elf: dark skin tone +1F9DD 200D 2640 FE0F ; fully-qualified # 🧝‍♀️ woman elf +1F9DD 200D 2640 ; non-fully-qualified # 🧝‍♀ woman elf +1F9DD 1F3FB 200D 2640 FE0F ; fully-qualified # 🧝🏻‍♀️ woman elf: light skin tone +1F9DD 1F3FB 200D 2640 ; non-fully-qualified # 🧝🏻‍♀ woman elf: light skin tone +1F9DD 1F3FC 200D 2640 FE0F ; fully-qualified # 🧝🏼‍♀️ woman elf: medium-light skin tone +1F9DD 1F3FC 200D 2640 ; non-fully-qualified # 🧝🏼‍♀ woman elf: medium-light skin tone +1F9DD 1F3FD 200D 2640 FE0F ; fully-qualified # 🧝🏽‍♀️ woman elf: medium skin tone +1F9DD 1F3FD 200D 2640 ; non-fully-qualified # 🧝🏽‍♀ woman elf: medium skin tone +1F9DD 1F3FE 200D 2640 FE0F ; fully-qualified # 🧝🏾‍♀️ woman elf: medium-dark skin tone +1F9DD 1F3FE 200D 2640 ; non-fully-qualified # 🧝🏾‍♀ woman elf: medium-dark skin tone +1F9DD 1F3FF 200D 2640 FE0F ; fully-qualified # 🧝🏿‍♀️ woman elf: dark skin tone +1F9DD 1F3FF 200D 2640 ; non-fully-qualified # 🧝🏿‍♀ woman elf: dark skin tone +1F9DD 200D 2642 FE0F ; fully-qualified # 🧝‍♂️ man elf +1F9DD 200D 2642 ; non-fully-qualified # 🧝‍♂ man elf +1F9DD 1F3FB 200D 2642 FE0F ; fully-qualified # 🧝🏻‍♂️ man elf: light skin tone +1F9DD 1F3FB 200D 2642 ; non-fully-qualified # 🧝🏻‍♂ man elf: light skin tone +1F9DD 1F3FC 200D 2642 FE0F ; fully-qualified # 🧝🏼‍♂️ man elf: medium-light skin tone +1F9DD 1F3FC 200D 2642 ; non-fully-qualified # 🧝🏼‍♂ man elf: medium-light skin tone +1F9DD 1F3FD 200D 2642 FE0F ; fully-qualified # 🧝🏽‍♂️ man elf: medium skin tone +1F9DD 1F3FD 200D 2642 ; non-fully-qualified # 🧝🏽‍♂ man elf: medium skin tone +1F9DD 1F3FE 200D 2642 FE0F ; fully-qualified # 🧝🏾‍♂️ man elf: medium-dark skin tone +1F9DD 1F3FE 200D 2642 ; non-fully-qualified # 🧝🏾‍♂ man elf: medium-dark skin tone +1F9DD 1F3FF 200D 2642 FE0F ; fully-qualified # 🧝🏿‍♂️ man elf: dark skin tone +1F9DD 1F3FF 200D 2642 ; non-fully-qualified # 🧝🏿‍♂ man elf: dark skin tone +1F9DE ; fully-qualified # 🧞 genie +1F9DE 200D 2640 FE0F ; fully-qualified # 🧞‍♀️ woman genie +1F9DE 200D 2640 ; non-fully-qualified # 🧞‍♀ woman genie +1F9DE 200D 2642 FE0F ; fully-qualified # 🧞‍♂️ man genie +1F9DE 200D 2642 ; non-fully-qualified # 🧞‍♂ man genie +1F9DF ; fully-qualified # 🧟 zombie +1F9DF 200D 2640 FE0F ; fully-qualified # 🧟‍♀️ woman zombie +1F9DF 200D 2640 ; non-fully-qualified # 🧟‍♀ woman zombie +1F9DF 200D 2642 FE0F ; fully-qualified # 🧟‍♂️ man zombie +1F9DF 200D 2642 ; non-fully-qualified # 🧟‍♂ man zombie + +# subgroup: person-gesture +1F64D ; fully-qualified # 🙍 person frowning +1F64D 1F3FB ; fully-qualified # 🙍🏻 person frowning: light skin tone +1F64D 1F3FC ; fully-qualified # 🙍🏼 person frowning: medium-light skin tone +1F64D 1F3FD ; fully-qualified # 🙍🏽 person frowning: medium skin tone +1F64D 1F3FE ; fully-qualified # 🙍🏾 person frowning: medium-dark skin tone +1F64D 1F3FF ; fully-qualified # 🙍🏿 person frowning: dark skin tone +1F64D 200D 2642 FE0F ; fully-qualified # 🙍‍♂️ man frowning +1F64D 200D 2642 ; non-fully-qualified # 🙍‍♂ man frowning +1F64D 1F3FB 200D 2642 FE0F ; fully-qualified # 🙍🏻‍♂️ man frowning: light skin tone +1F64D 1F3FB 200D 2642 ; non-fully-qualified # 🙍🏻‍♂ man frowning: light skin tone +1F64D 1F3FC 200D 2642 FE0F ; fully-qualified # 🙍🏼‍♂️ man frowning: medium-light skin tone +1F64D 1F3FC 200D 2642 ; non-fully-qualified # 🙍🏼‍♂ man frowning: medium-light skin tone +1F64D 1F3FD 200D 2642 FE0F ; fully-qualified # 🙍🏽‍♂️ man frowning: medium skin tone +1F64D 1F3FD 200D 2642 ; non-fully-qualified # 🙍🏽‍♂ man frowning: medium skin tone +1F64D 1F3FE 200D 2642 FE0F ; fully-qualified # 🙍🏾‍♂️ man frowning: medium-dark skin tone +1F64D 1F3FE 200D 2642 ; non-fully-qualified # 🙍🏾‍♂ man frowning: medium-dark skin tone +1F64D 1F3FF 200D 2642 FE0F ; fully-qualified # 🙍🏿‍♂️ man frowning: dark skin tone +1F64D 1F3FF 200D 2642 ; non-fully-qualified # 🙍🏿‍♂ man frowning: dark skin tone +1F64D 200D 2640 FE0F ; fully-qualified # 🙍‍♀️ woman frowning +1F64D 200D 2640 ; non-fully-qualified # 🙍‍♀ woman frowning +1F64D 1F3FB 200D 2640 FE0F ; fully-qualified # 🙍🏻‍♀️ woman frowning: light skin tone +1F64D 1F3FB 200D 2640 ; non-fully-qualified # 🙍🏻‍♀ woman frowning: light skin tone +1F64D 1F3FC 200D 2640 FE0F ; fully-qualified # 🙍🏼‍♀️ woman frowning: medium-light skin tone +1F64D 1F3FC 200D 2640 ; non-fully-qualified # 🙍🏼‍♀ woman frowning: medium-light skin tone +1F64D 1F3FD 200D 2640 FE0F ; fully-qualified # 🙍🏽‍♀️ woman frowning: medium skin tone +1F64D 1F3FD 200D 2640 ; non-fully-qualified # 🙍🏽‍♀ woman frowning: medium skin tone +1F64D 1F3FE 200D 2640 FE0F ; fully-qualified # 🙍🏾‍♀️ woman frowning: medium-dark skin tone +1F64D 1F3FE 200D 2640 ; non-fully-qualified # 🙍🏾‍♀ woman frowning: medium-dark skin tone +1F64D 1F3FF 200D 2640 FE0F ; fully-qualified # 🙍🏿‍♀️ woman frowning: dark skin tone +1F64D 1F3FF 200D 2640 ; non-fully-qualified # 🙍🏿‍♀ woman frowning: dark skin tone +1F64E ; fully-qualified # 🙎 person pouting +1F64E 1F3FB ; fully-qualified # 🙎🏻 person pouting: light skin tone +1F64E 1F3FC ; fully-qualified # 🙎🏼 person pouting: medium-light skin tone +1F64E 1F3FD ; fully-qualified # 🙎🏽 person pouting: medium skin tone +1F64E 1F3FE ; fully-qualified # 🙎🏾 person pouting: medium-dark skin tone +1F64E 1F3FF ; fully-qualified # 🙎🏿 person pouting: dark skin tone +1F64E 200D 2642 FE0F ; fully-qualified # 🙎‍♂️ man pouting +1F64E 200D 2642 ; non-fully-qualified # 🙎‍♂ man pouting +1F64E 1F3FB 200D 2642 FE0F ; fully-qualified # 🙎🏻‍♂️ man pouting: light skin tone +1F64E 1F3FB 200D 2642 ; non-fully-qualified # 🙎🏻‍♂ man pouting: light skin tone +1F64E 1F3FC 200D 2642 FE0F ; fully-qualified # 🙎🏼‍♂️ man pouting: medium-light skin tone +1F64E 1F3FC 200D 2642 ; non-fully-qualified # 🙎🏼‍♂ man pouting: medium-light skin tone +1F64E 1F3FD 200D 2642 FE0F ; fully-qualified # 🙎🏽‍♂️ man pouting: medium skin tone +1F64E 1F3FD 200D 2642 ; non-fully-qualified # 🙎🏽‍♂ man pouting: medium skin tone +1F64E 1F3FE 200D 2642 FE0F ; fully-qualified # 🙎🏾‍♂️ man pouting: medium-dark skin tone +1F64E 1F3FE 200D 2642 ; non-fully-qualified # 🙎🏾‍♂ man pouting: medium-dark skin tone +1F64E 1F3FF 200D 2642 FE0F ; fully-qualified # 🙎🏿‍♂️ man pouting: dark skin tone +1F64E 1F3FF 200D 2642 ; non-fully-qualified # 🙎🏿‍♂ man pouting: dark skin tone +1F64E 200D 2640 FE0F ; fully-qualified # 🙎‍♀️ woman pouting +1F64E 200D 2640 ; non-fully-qualified # 🙎‍♀ woman pouting +1F64E 1F3FB 200D 2640 FE0F ; fully-qualified # 🙎🏻‍♀️ woman pouting: light skin tone +1F64E 1F3FB 200D 2640 ; non-fully-qualified # 🙎🏻‍♀ woman pouting: light skin tone +1F64E 1F3FC 200D 2640 FE0F ; fully-qualified # 🙎🏼‍♀️ woman pouting: medium-light skin tone +1F64E 1F3FC 200D 2640 ; non-fully-qualified # 🙎🏼‍♀ woman pouting: medium-light skin tone +1F64E 1F3FD 200D 2640 FE0F ; fully-qualified # 🙎🏽‍♀️ woman pouting: medium skin tone +1F64E 1F3FD 200D 2640 ; non-fully-qualified # 🙎🏽‍♀ woman pouting: medium skin tone +1F64E 1F3FE 200D 2640 FE0F ; fully-qualified # 🙎🏾‍♀️ woman pouting: medium-dark skin tone +1F64E 1F3FE 200D 2640 ; non-fully-qualified # 🙎🏾‍♀ woman pouting: medium-dark skin tone +1F64E 1F3FF 200D 2640 FE0F ; fully-qualified # 🙎🏿‍♀️ woman pouting: dark skin tone +1F64E 1F3FF 200D 2640 ; non-fully-qualified # 🙎🏿‍♀ woman pouting: dark skin tone +1F645 ; fully-qualified # 🙅 person gesturing NO +1F645 1F3FB ; fully-qualified # 🙅🏻 person gesturing NO: light skin tone +1F645 1F3FC ; fully-qualified # 🙅🏼 person gesturing NO: medium-light skin tone +1F645 1F3FD ; fully-qualified # 🙅🏽 person gesturing NO: medium skin tone +1F645 1F3FE ; fully-qualified # 🙅🏾 person gesturing NO: medium-dark skin tone +1F645 1F3FF ; fully-qualified # 🙅🏿 person gesturing NO: dark skin tone +1F645 200D 2642 FE0F ; fully-qualified # 🙅‍♂️ man gesturing NO +1F645 200D 2642 ; non-fully-qualified # 🙅‍♂ man gesturing NO +1F645 1F3FB 200D 2642 FE0F ; fully-qualified # 🙅🏻‍♂️ man gesturing NO: light skin tone +1F645 1F3FB 200D 2642 ; non-fully-qualified # 🙅🏻‍♂ man gesturing NO: light skin tone +1F645 1F3FC 200D 2642 FE0F ; fully-qualified # 🙅🏼‍♂️ man gesturing NO: medium-light skin tone +1F645 1F3FC 200D 2642 ; non-fully-qualified # 🙅🏼‍♂ man gesturing NO: medium-light skin tone +1F645 1F3FD 200D 2642 FE0F ; fully-qualified # 🙅🏽‍♂️ man gesturing NO: medium skin tone +1F645 1F3FD 200D 2642 ; non-fully-qualified # 🙅🏽‍♂ man gesturing NO: medium skin tone +1F645 1F3FE 200D 2642 FE0F ; fully-qualified # 🙅🏾‍♂️ man gesturing NO: medium-dark skin tone +1F645 1F3FE 200D 2642 ; non-fully-qualified # 🙅🏾‍♂ man gesturing NO: medium-dark skin tone +1F645 1F3FF 200D 2642 FE0F ; fully-qualified # 🙅🏿‍♂️ man gesturing NO: dark skin tone +1F645 1F3FF 200D 2642 ; non-fully-qualified # 🙅🏿‍♂ man gesturing NO: dark skin tone +1F645 200D 2640 FE0F ; fully-qualified # 🙅‍♀️ woman gesturing NO +1F645 200D 2640 ; non-fully-qualified # 🙅‍♀ woman gesturing NO +1F645 1F3FB 200D 2640 FE0F ; fully-qualified # 🙅🏻‍♀️ woman gesturing NO: light skin tone +1F645 1F3FB 200D 2640 ; non-fully-qualified # 🙅🏻‍♀ woman gesturing NO: light skin tone +1F645 1F3FC 200D 2640 FE0F ; fully-qualified # 🙅🏼‍♀️ woman gesturing NO: medium-light skin tone +1F645 1F3FC 200D 2640 ; non-fully-qualified # 🙅🏼‍♀ woman gesturing NO: medium-light skin tone +1F645 1F3FD 200D 2640 FE0F ; fully-qualified # 🙅🏽‍♀️ woman gesturing NO: medium skin tone +1F645 1F3FD 200D 2640 ; non-fully-qualified # 🙅🏽‍♀ woman gesturing NO: medium skin tone +1F645 1F3FE 200D 2640 FE0F ; fully-qualified # 🙅🏾‍♀️ woman gesturing NO: medium-dark skin tone +1F645 1F3FE 200D 2640 ; non-fully-qualified # 🙅🏾‍♀ woman gesturing NO: medium-dark skin tone +1F645 1F3FF 200D 2640 FE0F ; fully-qualified # 🙅🏿‍♀️ woman gesturing NO: dark skin tone +1F645 1F3FF 200D 2640 ; non-fully-qualified # 🙅🏿‍♀ woman gesturing NO: dark skin tone +1F646 ; fully-qualified # 🙆 person gesturing OK +1F646 1F3FB ; fully-qualified # 🙆🏻 person gesturing OK: light skin tone +1F646 1F3FC ; fully-qualified # 🙆🏼 person gesturing OK: medium-light skin tone +1F646 1F3FD ; fully-qualified # 🙆🏽 person gesturing OK: medium skin tone +1F646 1F3FE ; fully-qualified # 🙆🏾 person gesturing OK: medium-dark skin tone +1F646 1F3FF ; fully-qualified # 🙆🏿 person gesturing OK: dark skin tone +1F646 200D 2642 FE0F ; fully-qualified # 🙆‍♂️ man gesturing OK +1F646 200D 2642 ; non-fully-qualified # 🙆‍♂ man gesturing OK +1F646 1F3FB 200D 2642 FE0F ; fully-qualified # 🙆🏻‍♂️ man gesturing OK: light skin tone +1F646 1F3FB 200D 2642 ; non-fully-qualified # 🙆🏻‍♂ man gesturing OK: light skin tone +1F646 1F3FC 200D 2642 FE0F ; fully-qualified # 🙆🏼‍♂️ man gesturing OK: medium-light skin tone +1F646 1F3FC 200D 2642 ; non-fully-qualified # 🙆🏼‍♂ man gesturing OK: medium-light skin tone +1F646 1F3FD 200D 2642 FE0F ; fully-qualified # 🙆🏽‍♂️ man gesturing OK: medium skin tone +1F646 1F3FD 200D 2642 ; non-fully-qualified # 🙆🏽‍♂ man gesturing OK: medium skin tone +1F646 1F3FE 200D 2642 FE0F ; fully-qualified # 🙆🏾‍♂️ man gesturing OK: medium-dark skin tone +1F646 1F3FE 200D 2642 ; non-fully-qualified # 🙆🏾‍♂ man gesturing OK: medium-dark skin tone +1F646 1F3FF 200D 2642 FE0F ; fully-qualified # 🙆🏿‍♂️ man gesturing OK: dark skin tone +1F646 1F3FF 200D 2642 ; non-fully-qualified # 🙆🏿‍♂ man gesturing OK: dark skin tone +1F646 200D 2640 FE0F ; fully-qualified # 🙆‍♀️ woman gesturing OK +1F646 200D 2640 ; non-fully-qualified # 🙆‍♀ woman gesturing OK +1F646 1F3FB 200D 2640 FE0F ; fully-qualified # 🙆🏻‍♀️ woman gesturing OK: light skin tone +1F646 1F3FB 200D 2640 ; non-fully-qualified # 🙆🏻‍♀ woman gesturing OK: light skin tone +1F646 1F3FC 200D 2640 FE0F ; fully-qualified # 🙆🏼‍♀️ woman gesturing OK: medium-light skin tone +1F646 1F3FC 200D 2640 ; non-fully-qualified # 🙆🏼‍♀ woman gesturing OK: medium-light skin tone +1F646 1F3FD 200D 2640 FE0F ; fully-qualified # 🙆🏽‍♀️ woman gesturing OK: medium skin tone +1F646 1F3FD 200D 2640 ; non-fully-qualified # 🙆🏽‍♀ woman gesturing OK: medium skin tone +1F646 1F3FE 200D 2640 FE0F ; fully-qualified # 🙆🏾‍♀️ woman gesturing OK: medium-dark skin tone +1F646 1F3FE 200D 2640 ; non-fully-qualified # 🙆🏾‍♀ woman gesturing OK: medium-dark skin tone +1F646 1F3FF 200D 2640 FE0F ; fully-qualified # 🙆🏿‍♀️ woman gesturing OK: dark skin tone +1F646 1F3FF 200D 2640 ; non-fully-qualified # 🙆🏿‍♀ woman gesturing OK: dark skin tone +1F481 ; fully-qualified # 💁 person tipping hand +1F481 1F3FB ; fully-qualified # 💁🏻 person tipping hand: light skin tone +1F481 1F3FC ; fully-qualified # 💁🏼 person tipping hand: medium-light skin tone +1F481 1F3FD ; fully-qualified # 💁🏽 person tipping hand: medium skin tone +1F481 1F3FE ; fully-qualified # 💁🏾 person tipping hand: medium-dark skin tone +1F481 1F3FF ; fully-qualified # 💁🏿 person tipping hand: dark skin tone +1F481 200D 2642 FE0F ; fully-qualified # 💁‍♂️ man tipping hand +1F481 200D 2642 ; non-fully-qualified # 💁‍♂ man tipping hand +1F481 1F3FB 200D 2642 FE0F ; fully-qualified # 💁🏻‍♂️ man tipping hand: light skin tone +1F481 1F3FB 200D 2642 ; non-fully-qualified # 💁🏻‍♂ man tipping hand: light skin tone +1F481 1F3FC 200D 2642 FE0F ; fully-qualified # 💁🏼‍♂️ man tipping hand: medium-light skin tone +1F481 1F3FC 200D 2642 ; non-fully-qualified # 💁🏼‍♂ man tipping hand: medium-light skin tone +1F481 1F3FD 200D 2642 FE0F ; fully-qualified # 💁🏽‍♂️ man tipping hand: medium skin tone +1F481 1F3FD 200D 2642 ; non-fully-qualified # 💁🏽‍♂ man tipping hand: medium skin tone +1F481 1F3FE 200D 2642 FE0F ; fully-qualified # 💁🏾‍♂️ man tipping hand: medium-dark skin tone +1F481 1F3FE 200D 2642 ; non-fully-qualified # 💁🏾‍♂ man tipping hand: medium-dark skin tone +1F481 1F3FF 200D 2642 FE0F ; fully-qualified # 💁🏿‍♂️ man tipping hand: dark skin tone +1F481 1F3FF 200D 2642 ; non-fully-qualified # 💁🏿‍♂ man tipping hand: dark skin tone +1F481 200D 2640 FE0F ; fully-qualified # 💁‍♀️ woman tipping hand +1F481 200D 2640 ; non-fully-qualified # 💁‍♀ woman tipping hand +1F481 1F3FB 200D 2640 FE0F ; fully-qualified # 💁🏻‍♀️ woman tipping hand: light skin tone +1F481 1F3FB 200D 2640 ; non-fully-qualified # 💁🏻‍♀ woman tipping hand: light skin tone +1F481 1F3FC 200D 2640 FE0F ; fully-qualified # 💁🏼‍♀️ woman tipping hand: medium-light skin tone +1F481 1F3FC 200D 2640 ; non-fully-qualified # 💁🏼‍♀ woman tipping hand: medium-light skin tone +1F481 1F3FD 200D 2640 FE0F ; fully-qualified # 💁🏽‍♀️ woman tipping hand: medium skin tone +1F481 1F3FD 200D 2640 ; non-fully-qualified # 💁🏽‍♀ woman tipping hand: medium skin tone +1F481 1F3FE 200D 2640 FE0F ; fully-qualified # 💁🏾‍♀️ woman tipping hand: medium-dark skin tone +1F481 1F3FE 200D 2640 ; non-fully-qualified # 💁🏾‍♀ woman tipping hand: medium-dark skin tone +1F481 1F3FF 200D 2640 FE0F ; fully-qualified # 💁🏿‍♀️ woman tipping hand: dark skin tone +1F481 1F3FF 200D 2640 ; non-fully-qualified # 💁🏿‍♀ woman tipping hand: dark skin tone +1F64B ; fully-qualified # 🙋 person raising hand +1F64B 1F3FB ; fully-qualified # 🙋🏻 person raising hand: light skin tone +1F64B 1F3FC ; fully-qualified # 🙋🏼 person raising hand: medium-light skin tone +1F64B 1F3FD ; fully-qualified # 🙋🏽 person raising hand: medium skin tone +1F64B 1F3FE ; fully-qualified # 🙋🏾 person raising hand: medium-dark skin tone +1F64B 1F3FF ; fully-qualified # 🙋🏿 person raising hand: dark skin tone +1F64B 200D 2642 FE0F ; fully-qualified # 🙋‍♂️ man raising hand +1F64B 200D 2642 ; non-fully-qualified # 🙋‍♂ man raising hand +1F64B 1F3FB 200D 2642 FE0F ; fully-qualified # 🙋🏻‍♂️ man raising hand: light skin tone +1F64B 1F3FB 200D 2642 ; non-fully-qualified # 🙋🏻‍♂ man raising hand: light skin tone +1F64B 1F3FC 200D 2642 FE0F ; fully-qualified # 🙋🏼‍♂️ man raising hand: medium-light skin tone +1F64B 1F3FC 200D 2642 ; non-fully-qualified # 🙋🏼‍♂ man raising hand: medium-light skin tone +1F64B 1F3FD 200D 2642 FE0F ; fully-qualified # 🙋🏽‍♂️ man raising hand: medium skin tone +1F64B 1F3FD 200D 2642 ; non-fully-qualified # 🙋🏽‍♂ man raising hand: medium skin tone +1F64B 1F3FE 200D 2642 FE0F ; fully-qualified # 🙋🏾‍♂️ man raising hand: medium-dark skin tone +1F64B 1F3FE 200D 2642 ; non-fully-qualified # 🙋🏾‍♂ man raising hand: medium-dark skin tone +1F64B 1F3FF 200D 2642 FE0F ; fully-qualified # 🙋🏿‍♂️ man raising hand: dark skin tone +1F64B 1F3FF 200D 2642 ; non-fully-qualified # 🙋🏿‍♂ man raising hand: dark skin tone +1F64B 200D 2640 FE0F ; fully-qualified # 🙋‍♀️ woman raising hand +1F64B 200D 2640 ; non-fully-qualified # 🙋‍♀ woman raising hand +1F64B 1F3FB 200D 2640 FE0F ; fully-qualified # 🙋🏻‍♀️ woman raising hand: light skin tone +1F64B 1F3FB 200D 2640 ; non-fully-qualified # 🙋🏻‍♀ woman raising hand: light skin tone +1F64B 1F3FC 200D 2640 FE0F ; fully-qualified # 🙋🏼‍♀️ woman raising hand: medium-light skin tone +1F64B 1F3FC 200D 2640 ; non-fully-qualified # 🙋🏼‍♀ woman raising hand: medium-light skin tone +1F64B 1F3FD 200D 2640 FE0F ; fully-qualified # 🙋🏽‍♀️ woman raising hand: medium skin tone +1F64B 1F3FD 200D 2640 ; non-fully-qualified # 🙋🏽‍♀ woman raising hand: medium skin tone +1F64B 1F3FE 200D 2640 FE0F ; fully-qualified # 🙋🏾‍♀️ woman raising hand: medium-dark skin tone +1F64B 1F3FE 200D 2640 ; non-fully-qualified # 🙋🏾‍♀ woman raising hand: medium-dark skin tone +1F64B 1F3FF 200D 2640 FE0F ; fully-qualified # 🙋🏿‍♀️ woman raising hand: dark skin tone +1F64B 1F3FF 200D 2640 ; non-fully-qualified # 🙋🏿‍♀ woman raising hand: dark skin tone +1F647 ; fully-qualified # 🙇 person bowing +1F647 1F3FB ; fully-qualified # 🙇🏻 person bowing: light skin tone +1F647 1F3FC ; fully-qualified # 🙇🏼 person bowing: medium-light skin tone +1F647 1F3FD ; fully-qualified # 🙇🏽 person bowing: medium skin tone +1F647 1F3FE ; fully-qualified # 🙇🏾 person bowing: medium-dark skin tone +1F647 1F3FF ; fully-qualified # 🙇🏿 person bowing: dark skin tone +1F647 200D 2642 FE0F ; fully-qualified # 🙇‍♂️ man bowing +1F647 200D 2642 ; non-fully-qualified # 🙇‍♂ man bowing +1F647 1F3FB 200D 2642 FE0F ; fully-qualified # 🙇🏻‍♂️ man bowing: light skin tone +1F647 1F3FB 200D 2642 ; non-fully-qualified # 🙇🏻‍♂ man bowing: light skin tone +1F647 1F3FC 200D 2642 FE0F ; fully-qualified # 🙇🏼‍♂️ man bowing: medium-light skin tone +1F647 1F3FC 200D 2642 ; non-fully-qualified # 🙇🏼‍♂ man bowing: medium-light skin tone +1F647 1F3FD 200D 2642 FE0F ; fully-qualified # 🙇🏽‍♂️ man bowing: medium skin tone +1F647 1F3FD 200D 2642 ; non-fully-qualified # 🙇🏽‍♂ man bowing: medium skin tone +1F647 1F3FE 200D 2642 FE0F ; fully-qualified # 🙇🏾‍♂️ man bowing: medium-dark skin tone +1F647 1F3FE 200D 2642 ; non-fully-qualified # 🙇🏾‍♂ man bowing: medium-dark skin tone +1F647 1F3FF 200D 2642 FE0F ; fully-qualified # 🙇🏿‍♂️ man bowing: dark skin tone +1F647 1F3FF 200D 2642 ; non-fully-qualified # 🙇🏿‍♂ man bowing: dark skin tone +1F647 200D 2640 FE0F ; fully-qualified # 🙇‍♀️ woman bowing +1F647 200D 2640 ; non-fully-qualified # 🙇‍♀ woman bowing +1F647 1F3FB 200D 2640 FE0F ; fully-qualified # 🙇🏻‍♀️ woman bowing: light skin tone +1F647 1F3FB 200D 2640 ; non-fully-qualified # 🙇🏻‍♀ woman bowing: light skin tone +1F647 1F3FC 200D 2640 FE0F ; fully-qualified # 🙇🏼‍♀️ woman bowing: medium-light skin tone +1F647 1F3FC 200D 2640 ; non-fully-qualified # 🙇🏼‍♀ woman bowing: medium-light skin tone +1F647 1F3FD 200D 2640 FE0F ; fully-qualified # 🙇🏽‍♀️ woman bowing: medium skin tone +1F647 1F3FD 200D 2640 ; non-fully-qualified # 🙇🏽‍♀ woman bowing: medium skin tone +1F647 1F3FE 200D 2640 FE0F ; fully-qualified # 🙇🏾‍♀️ woman bowing: medium-dark skin tone +1F647 1F3FE 200D 2640 ; non-fully-qualified # 🙇🏾‍♀ woman bowing: medium-dark skin tone +1F647 1F3FF 200D 2640 FE0F ; fully-qualified # 🙇🏿‍♀️ woman bowing: dark skin tone +1F647 1F3FF 200D 2640 ; non-fully-qualified # 🙇🏿‍♀ woman bowing: dark skin tone +1F926 ; fully-qualified # 🤦 person facepalming +1F926 1F3FB ; fully-qualified # 🤦🏻 person facepalming: light skin tone +1F926 1F3FC ; fully-qualified # 🤦🏼 person facepalming: medium-light skin tone +1F926 1F3FD ; fully-qualified # 🤦🏽 person facepalming: medium skin tone +1F926 1F3FE ; fully-qualified # 🤦🏾 person facepalming: medium-dark skin tone +1F926 1F3FF ; fully-qualified # 🤦🏿 person facepalming: dark skin tone +1F926 200D 2642 FE0F ; fully-qualified # 🤦‍♂️ man facepalming +1F926 200D 2642 ; non-fully-qualified # 🤦‍♂ man facepalming +1F926 1F3FB 200D 2642 FE0F ; fully-qualified # 🤦🏻‍♂️ man facepalming: light skin tone +1F926 1F3FB 200D 2642 ; non-fully-qualified # 🤦🏻‍♂ man facepalming: light skin tone +1F926 1F3FC 200D 2642 FE0F ; fully-qualified # 🤦🏼‍♂️ man facepalming: medium-light skin tone +1F926 1F3FC 200D 2642 ; non-fully-qualified # 🤦🏼‍♂ man facepalming: medium-light skin tone +1F926 1F3FD 200D 2642 FE0F ; fully-qualified # 🤦🏽‍♂️ man facepalming: medium skin tone +1F926 1F3FD 200D 2642 ; non-fully-qualified # 🤦🏽‍♂ man facepalming: medium skin tone +1F926 1F3FE 200D 2642 FE0F ; fully-qualified # 🤦🏾‍♂️ man facepalming: medium-dark skin tone +1F926 1F3FE 200D 2642 ; non-fully-qualified # 🤦🏾‍♂ man facepalming: medium-dark skin tone +1F926 1F3FF 200D 2642 FE0F ; fully-qualified # 🤦🏿‍♂️ man facepalming: dark skin tone +1F926 1F3FF 200D 2642 ; non-fully-qualified # 🤦🏿‍♂ man facepalming: dark skin tone +1F926 200D 2640 FE0F ; fully-qualified # 🤦‍♀️ woman facepalming +1F926 200D 2640 ; non-fully-qualified # 🤦‍♀ woman facepalming +1F926 1F3FB 200D 2640 FE0F ; fully-qualified # 🤦🏻‍♀️ woman facepalming: light skin tone +1F926 1F3FB 200D 2640 ; non-fully-qualified # 🤦🏻‍♀ woman facepalming: light skin tone +1F926 1F3FC 200D 2640 FE0F ; fully-qualified # 🤦🏼‍♀️ woman facepalming: medium-light skin tone +1F926 1F3FC 200D 2640 ; non-fully-qualified # 🤦🏼‍♀ woman facepalming: medium-light skin tone +1F926 1F3FD 200D 2640 FE0F ; fully-qualified # 🤦🏽‍♀️ woman facepalming: medium skin tone +1F926 1F3FD 200D 2640 ; non-fully-qualified # 🤦🏽‍♀ woman facepalming: medium skin tone +1F926 1F3FE 200D 2640 FE0F ; fully-qualified # 🤦🏾‍♀️ woman facepalming: medium-dark skin tone +1F926 1F3FE 200D 2640 ; non-fully-qualified # 🤦🏾‍♀ woman facepalming: medium-dark skin tone +1F926 1F3FF 200D 2640 FE0F ; fully-qualified # 🤦🏿‍♀️ woman facepalming: dark skin tone +1F926 1F3FF 200D 2640 ; non-fully-qualified # 🤦🏿‍♀ woman facepalming: dark skin tone +1F937 ; fully-qualified # 🤷 person shrugging +1F937 1F3FB ; fully-qualified # 🤷🏻 person shrugging: light skin tone +1F937 1F3FC ; fully-qualified # 🤷🏼 person shrugging: medium-light skin tone +1F937 1F3FD ; fully-qualified # 🤷🏽 person shrugging: medium skin tone +1F937 1F3FE ; fully-qualified # 🤷🏾 person shrugging: medium-dark skin tone +1F937 1F3FF ; fully-qualified # 🤷🏿 person shrugging: dark skin tone +1F937 200D 2642 FE0F ; fully-qualified # 🤷‍♂️ man shrugging +1F937 200D 2642 ; non-fully-qualified # 🤷‍♂ man shrugging +1F937 1F3FB 200D 2642 FE0F ; fully-qualified # 🤷🏻‍♂️ man shrugging: light skin tone +1F937 1F3FB 200D 2642 ; non-fully-qualified # 🤷🏻‍♂ man shrugging: light skin tone +1F937 1F3FC 200D 2642 FE0F ; fully-qualified # 🤷🏼‍♂️ man shrugging: medium-light skin tone +1F937 1F3FC 200D 2642 ; non-fully-qualified # 🤷🏼‍♂ man shrugging: medium-light skin tone +1F937 1F3FD 200D 2642 FE0F ; fully-qualified # 🤷🏽‍♂️ man shrugging: medium skin tone +1F937 1F3FD 200D 2642 ; non-fully-qualified # 🤷🏽‍♂ man shrugging: medium skin tone +1F937 1F3FE 200D 2642 FE0F ; fully-qualified # 🤷🏾‍♂️ man shrugging: medium-dark skin tone +1F937 1F3FE 200D 2642 ; non-fully-qualified # 🤷🏾‍♂ man shrugging: medium-dark skin tone +1F937 1F3FF 200D 2642 FE0F ; fully-qualified # 🤷🏿‍♂️ man shrugging: dark skin tone +1F937 1F3FF 200D 2642 ; non-fully-qualified # 🤷🏿‍♂ man shrugging: dark skin tone +1F937 200D 2640 FE0F ; fully-qualified # 🤷‍♀️ woman shrugging +1F937 200D 2640 ; non-fully-qualified # 🤷‍♀ woman shrugging +1F937 1F3FB 200D 2640 FE0F ; fully-qualified # 🤷🏻‍♀️ woman shrugging: light skin tone +1F937 1F3FB 200D 2640 ; non-fully-qualified # 🤷🏻‍♀ woman shrugging: light skin tone +1F937 1F3FC 200D 2640 FE0F ; fully-qualified # 🤷🏼‍♀️ woman shrugging: medium-light skin tone +1F937 1F3FC 200D 2640 ; non-fully-qualified # 🤷🏼‍♀ woman shrugging: medium-light skin tone +1F937 1F3FD 200D 2640 FE0F ; fully-qualified # 🤷🏽‍♀️ woman shrugging: medium skin tone +1F937 1F3FD 200D 2640 ; non-fully-qualified # 🤷🏽‍♀ woman shrugging: medium skin tone +1F937 1F3FE 200D 2640 FE0F ; fully-qualified # 🤷🏾‍♀️ woman shrugging: medium-dark skin tone +1F937 1F3FE 200D 2640 ; non-fully-qualified # 🤷🏾‍♀ woman shrugging: medium-dark skin tone +1F937 1F3FF 200D 2640 FE0F ; fully-qualified # 🤷🏿‍♀️ woman shrugging: dark skin tone +1F937 1F3FF 200D 2640 ; non-fully-qualified # 🤷🏿‍♀ woman shrugging: dark skin tone + +# subgroup: person-activity +1F486 ; fully-qualified # 💆 person getting massage +1F486 1F3FB ; fully-qualified # 💆🏻 person getting massage: light skin tone +1F486 1F3FC ; fully-qualified # 💆🏼 person getting massage: medium-light skin tone +1F486 1F3FD ; fully-qualified # 💆🏽 person getting massage: medium skin tone +1F486 1F3FE ; fully-qualified # 💆🏾 person getting massage: medium-dark skin tone +1F486 1F3FF ; fully-qualified # 💆🏿 person getting massage: dark skin tone +1F486 200D 2642 FE0F ; fully-qualified # 💆‍♂️ man getting massage +1F486 200D 2642 ; non-fully-qualified # 💆‍♂ man getting massage +1F486 1F3FB 200D 2642 FE0F ; fully-qualified # 💆🏻‍♂️ man getting massage: light skin tone +1F486 1F3FB 200D 2642 ; non-fully-qualified # 💆🏻‍♂ man getting massage: light skin tone +1F486 1F3FC 200D 2642 FE0F ; fully-qualified # 💆🏼‍♂️ man getting massage: medium-light skin tone +1F486 1F3FC 200D 2642 ; non-fully-qualified # 💆🏼‍♂ man getting massage: medium-light skin tone +1F486 1F3FD 200D 2642 FE0F ; fully-qualified # 💆🏽‍♂️ man getting massage: medium skin tone +1F486 1F3FD 200D 2642 ; non-fully-qualified # 💆🏽‍♂ man getting massage: medium skin tone +1F486 1F3FE 200D 2642 FE0F ; fully-qualified # 💆🏾‍♂️ man getting massage: medium-dark skin tone +1F486 1F3FE 200D 2642 ; non-fully-qualified # 💆🏾‍♂ man getting massage: medium-dark skin tone +1F486 1F3FF 200D 2642 FE0F ; fully-qualified # 💆🏿‍♂️ man getting massage: dark skin tone +1F486 1F3FF 200D 2642 ; non-fully-qualified # 💆🏿‍♂ man getting massage: dark skin tone +1F486 200D 2640 FE0F ; fully-qualified # 💆‍♀️ woman getting massage +1F486 200D 2640 ; non-fully-qualified # 💆‍♀ woman getting massage +1F486 1F3FB 200D 2640 FE0F ; fully-qualified # 💆🏻‍♀️ woman getting massage: light skin tone +1F486 1F3FB 200D 2640 ; non-fully-qualified # 💆🏻‍♀ woman getting massage: light skin tone +1F486 1F3FC 200D 2640 FE0F ; fully-qualified # 💆🏼‍♀️ woman getting massage: medium-light skin tone +1F486 1F3FC 200D 2640 ; non-fully-qualified # 💆🏼‍♀ woman getting massage: medium-light skin tone +1F486 1F3FD 200D 2640 FE0F ; fully-qualified # 💆🏽‍♀️ woman getting massage: medium skin tone +1F486 1F3FD 200D 2640 ; non-fully-qualified # 💆🏽‍♀ woman getting massage: medium skin tone +1F486 1F3FE 200D 2640 FE0F ; fully-qualified # 💆🏾‍♀️ woman getting massage: medium-dark skin tone +1F486 1F3FE 200D 2640 ; non-fully-qualified # 💆🏾‍♀ woman getting massage: medium-dark skin tone +1F486 1F3FF 200D 2640 FE0F ; fully-qualified # 💆🏿‍♀️ woman getting massage: dark skin tone +1F486 1F3FF 200D 2640 ; non-fully-qualified # 💆🏿‍♀ woman getting massage: dark skin tone +1F487 ; fully-qualified # 💇 person getting haircut +1F487 1F3FB ; fully-qualified # 💇🏻 person getting haircut: light skin tone +1F487 1F3FC ; fully-qualified # 💇🏼 person getting haircut: medium-light skin tone +1F487 1F3FD ; fully-qualified # 💇🏽 person getting haircut: medium skin tone +1F487 1F3FE ; fully-qualified # 💇🏾 person getting haircut: medium-dark skin tone +1F487 1F3FF ; fully-qualified # 💇🏿 person getting haircut: dark skin tone +1F487 200D 2642 FE0F ; fully-qualified # 💇‍♂️ man getting haircut +1F487 200D 2642 ; non-fully-qualified # 💇‍♂ man getting haircut +1F487 1F3FB 200D 2642 FE0F ; fully-qualified # 💇🏻‍♂️ man getting haircut: light skin tone +1F487 1F3FB 200D 2642 ; non-fully-qualified # 💇🏻‍♂ man getting haircut: light skin tone +1F487 1F3FC 200D 2642 FE0F ; fully-qualified # 💇🏼‍♂️ man getting haircut: medium-light skin tone +1F487 1F3FC 200D 2642 ; non-fully-qualified # 💇🏼‍♂ man getting haircut: medium-light skin tone +1F487 1F3FD 200D 2642 FE0F ; fully-qualified # 💇🏽‍♂️ man getting haircut: medium skin tone +1F487 1F3FD 200D 2642 ; non-fully-qualified # 💇🏽‍♂ man getting haircut: medium skin tone +1F487 1F3FE 200D 2642 FE0F ; fully-qualified # 💇🏾‍♂️ man getting haircut: medium-dark skin tone +1F487 1F3FE 200D 2642 ; non-fully-qualified # 💇🏾‍♂ man getting haircut: medium-dark skin tone +1F487 1F3FF 200D 2642 FE0F ; fully-qualified # 💇🏿‍♂️ man getting haircut: dark skin tone +1F487 1F3FF 200D 2642 ; non-fully-qualified # 💇🏿‍♂ man getting haircut: dark skin tone +1F487 200D 2640 FE0F ; fully-qualified # 💇‍♀️ woman getting haircut +1F487 200D 2640 ; non-fully-qualified # 💇‍♀ woman getting haircut +1F487 1F3FB 200D 2640 FE0F ; fully-qualified # 💇🏻‍♀️ woman getting haircut: light skin tone +1F487 1F3FB 200D 2640 ; non-fully-qualified # 💇🏻‍♀ woman getting haircut: light skin tone +1F487 1F3FC 200D 2640 FE0F ; fully-qualified # 💇🏼‍♀️ woman getting haircut: medium-light skin tone +1F487 1F3FC 200D 2640 ; non-fully-qualified # 💇🏼‍♀ woman getting haircut: medium-light skin tone +1F487 1F3FD 200D 2640 FE0F ; fully-qualified # 💇🏽‍♀️ woman getting haircut: medium skin tone +1F487 1F3FD 200D 2640 ; non-fully-qualified # 💇🏽‍♀ woman getting haircut: medium skin tone +1F487 1F3FE 200D 2640 FE0F ; fully-qualified # 💇🏾‍♀️ woman getting haircut: medium-dark skin tone +1F487 1F3FE 200D 2640 ; non-fully-qualified # 💇🏾‍♀ woman getting haircut: medium-dark skin tone +1F487 1F3FF 200D 2640 FE0F ; fully-qualified # 💇🏿‍♀️ woman getting haircut: dark skin tone +1F487 1F3FF 200D 2640 ; non-fully-qualified # 💇🏿‍♀ woman getting haircut: dark skin tone +1F6B6 ; fully-qualified # 🚶 person walking +1F6B6 1F3FB ; fully-qualified # 🚶🏻 person walking: light skin tone +1F6B6 1F3FC ; fully-qualified # 🚶🏼 person walking: medium-light skin tone +1F6B6 1F3FD ; fully-qualified # 🚶🏽 person walking: medium skin tone +1F6B6 1F3FE ; fully-qualified # 🚶🏾 person walking: medium-dark skin tone +1F6B6 1F3FF ; fully-qualified # 🚶🏿 person walking: dark skin tone +1F6B6 200D 2642 FE0F ; fully-qualified # 🚶‍♂️ man walking +1F6B6 200D 2642 ; non-fully-qualified # 🚶‍♂ man walking +1F6B6 1F3FB 200D 2642 FE0F ; fully-qualified # 🚶🏻‍♂️ man walking: light skin tone +1F6B6 1F3FB 200D 2642 ; non-fully-qualified # 🚶🏻‍♂ man walking: light skin tone +1F6B6 1F3FC 200D 2642 FE0F ; fully-qualified # 🚶🏼‍♂️ man walking: medium-light skin tone +1F6B6 1F3FC 200D 2642 ; non-fully-qualified # 🚶🏼‍♂ man walking: medium-light skin tone +1F6B6 1F3FD 200D 2642 FE0F ; fully-qualified # 🚶🏽‍♂️ man walking: medium skin tone +1F6B6 1F3FD 200D 2642 ; non-fully-qualified # 🚶🏽‍♂ man walking: medium skin tone +1F6B6 1F3FE 200D 2642 FE0F ; fully-qualified # 🚶🏾‍♂️ man walking: medium-dark skin tone +1F6B6 1F3FE 200D 2642 ; non-fully-qualified # 🚶🏾‍♂ man walking: medium-dark skin tone +1F6B6 1F3FF 200D 2642 FE0F ; fully-qualified # 🚶🏿‍♂️ man walking: dark skin tone +1F6B6 1F3FF 200D 2642 ; non-fully-qualified # 🚶🏿‍♂ man walking: dark skin tone +1F6B6 200D 2640 FE0F ; fully-qualified # 🚶‍♀️ woman walking +1F6B6 200D 2640 ; non-fully-qualified # 🚶‍♀ woman walking +1F6B6 1F3FB 200D 2640 FE0F ; fully-qualified # 🚶🏻‍♀️ woman walking: light skin tone +1F6B6 1F3FB 200D 2640 ; non-fully-qualified # 🚶🏻‍♀ woman walking: light skin tone +1F6B6 1F3FC 200D 2640 FE0F ; fully-qualified # 🚶🏼‍♀️ woman walking: medium-light skin tone +1F6B6 1F3FC 200D 2640 ; non-fully-qualified # 🚶🏼‍♀ woman walking: medium-light skin tone +1F6B6 1F3FD 200D 2640 FE0F ; fully-qualified # 🚶🏽‍♀️ woman walking: medium skin tone +1F6B6 1F3FD 200D 2640 ; non-fully-qualified # 🚶🏽‍♀ woman walking: medium skin tone +1F6B6 1F3FE 200D 2640 FE0F ; fully-qualified # 🚶🏾‍♀️ woman walking: medium-dark skin tone +1F6B6 1F3FE 200D 2640 ; non-fully-qualified # 🚶🏾‍♀ woman walking: medium-dark skin tone +1F6B6 1F3FF 200D 2640 FE0F ; fully-qualified # 🚶🏿‍♀️ woman walking: dark skin tone +1F6B6 1F3FF 200D 2640 ; non-fully-qualified # 🚶🏿‍♀ woman walking: dark skin tone +1F3C3 ; fully-qualified # 🏃 person running +1F3C3 1F3FB ; fully-qualified # 🏃🏻 person running: light skin tone +1F3C3 1F3FC ; fully-qualified # 🏃🏼 person running: medium-light skin tone +1F3C3 1F3FD ; fully-qualified # 🏃🏽 person running: medium skin tone +1F3C3 1F3FE ; fully-qualified # 🏃🏾 person running: medium-dark skin tone +1F3C3 1F3FF ; fully-qualified # 🏃🏿 person running: dark skin tone +1F3C3 200D 2642 FE0F ; fully-qualified # 🏃‍♂️ man running +1F3C3 200D 2642 ; non-fully-qualified # 🏃‍♂ man running +1F3C3 1F3FB 200D 2642 FE0F ; fully-qualified # 🏃🏻‍♂️ man running: light skin tone +1F3C3 1F3FB 200D 2642 ; non-fully-qualified # 🏃🏻‍♂ man running: light skin tone +1F3C3 1F3FC 200D 2642 FE0F ; fully-qualified # 🏃🏼‍♂️ man running: medium-light skin tone +1F3C3 1F3FC 200D 2642 ; non-fully-qualified # 🏃🏼‍♂ man running: medium-light skin tone +1F3C3 1F3FD 200D 2642 FE0F ; fully-qualified # 🏃🏽‍♂️ man running: medium skin tone +1F3C3 1F3FD 200D 2642 ; non-fully-qualified # 🏃🏽‍♂ man running: medium skin tone +1F3C3 1F3FE 200D 2642 FE0F ; fully-qualified # 🏃🏾‍♂️ man running: medium-dark skin tone +1F3C3 1F3FE 200D 2642 ; non-fully-qualified # 🏃🏾‍♂ man running: medium-dark skin tone +1F3C3 1F3FF 200D 2642 FE0F ; fully-qualified # 🏃🏿‍♂️ man running: dark skin tone +1F3C3 1F3FF 200D 2642 ; non-fully-qualified # 🏃🏿‍♂ man running: dark skin tone +1F3C3 200D 2640 FE0F ; fully-qualified # 🏃‍♀️ woman running +1F3C3 200D 2640 ; non-fully-qualified # 🏃‍♀ woman running +1F3C3 1F3FB 200D 2640 FE0F ; fully-qualified # 🏃🏻‍♀️ woman running: light skin tone +1F3C3 1F3FB 200D 2640 ; non-fully-qualified # 🏃🏻‍♀ woman running: light skin tone +1F3C3 1F3FC 200D 2640 FE0F ; fully-qualified # 🏃🏼‍♀️ woman running: medium-light skin tone +1F3C3 1F3FC 200D 2640 ; non-fully-qualified # 🏃🏼‍♀ woman running: medium-light skin tone +1F3C3 1F3FD 200D 2640 FE0F ; fully-qualified # 🏃🏽‍♀️ woman running: medium skin tone +1F3C3 1F3FD 200D 2640 ; non-fully-qualified # 🏃🏽‍♀ woman running: medium skin tone +1F3C3 1F3FE 200D 2640 FE0F ; fully-qualified # 🏃🏾‍♀️ woman running: medium-dark skin tone +1F3C3 1F3FE 200D 2640 ; non-fully-qualified # 🏃🏾‍♀ woman running: medium-dark skin tone +1F3C3 1F3FF 200D 2640 FE0F ; fully-qualified # 🏃🏿‍♀️ woman running: dark skin tone +1F3C3 1F3FF 200D 2640 ; non-fully-qualified # 🏃🏿‍♀ woman running: dark skin tone +1F483 ; fully-qualified # 💃 woman dancing +1F483 1F3FB ; fully-qualified # 💃🏻 woman dancing: light skin tone +1F483 1F3FC ; fully-qualified # 💃🏼 woman dancing: medium-light skin tone +1F483 1F3FD ; fully-qualified # 💃🏽 woman dancing: medium skin tone +1F483 1F3FE ; fully-qualified # 💃🏾 woman dancing: medium-dark skin tone +1F483 1F3FF ; fully-qualified # 💃🏿 woman dancing: dark skin tone +1F57A ; fully-qualified # 🕺 man dancing +1F57A 1F3FB ; fully-qualified # 🕺🏻 man dancing: light skin tone +1F57A 1F3FC ; fully-qualified # 🕺🏼 man dancing: medium-light skin tone +1F57A 1F3FD ; fully-qualified # 🕺🏽 man dancing: medium skin tone +1F57A 1F3FE ; fully-qualified # 🕺🏾 man dancing: medium-dark skin tone +1F57A 1F3FF ; fully-qualified # 🕺🏿 man dancing: dark skin tone +1F46F ; fully-qualified # 👯 people with bunny ears partying +1F46F 200D 2642 FE0F ; fully-qualified # 👯‍♂️ men with bunny ears partying +1F46F 200D 2642 ; non-fully-qualified # 👯‍♂ men with bunny ears partying +1F46F 200D 2640 FE0F ; fully-qualified # 👯‍♀️ women with bunny ears partying +1F46F 200D 2640 ; non-fully-qualified # 👯‍♀ women with bunny ears partying +1F9D6 ; fully-qualified # 🧖 person in steamy room +1F9D6 1F3FB ; fully-qualified # 🧖🏻 person in steamy room: light skin tone +1F9D6 1F3FC ; fully-qualified # 🧖🏼 person in steamy room: medium-light skin tone +1F9D6 1F3FD ; fully-qualified # 🧖🏽 person in steamy room: medium skin tone +1F9D6 1F3FE ; fully-qualified # 🧖🏾 person in steamy room: medium-dark skin tone +1F9D6 1F3FF ; fully-qualified # 🧖🏿 person in steamy room: dark skin tone +1F9D6 200D 2640 FE0F ; fully-qualified # 🧖‍♀️ woman in steamy room +1F9D6 200D 2640 ; non-fully-qualified # 🧖‍♀ woman in steamy room +1F9D6 1F3FB 200D 2640 FE0F ; fully-qualified # 🧖🏻‍♀️ woman in steamy room: light skin tone +1F9D6 1F3FB 200D 2640 ; non-fully-qualified # 🧖🏻‍♀ woman in steamy room: light skin tone +1F9D6 1F3FC 200D 2640 FE0F ; fully-qualified # 🧖🏼‍♀️ woman in steamy room: medium-light skin tone +1F9D6 1F3FC 200D 2640 ; non-fully-qualified # 🧖🏼‍♀ woman in steamy room: medium-light skin tone +1F9D6 1F3FD 200D 2640 FE0F ; fully-qualified # 🧖🏽‍♀️ woman in steamy room: medium skin tone +1F9D6 1F3FD 200D 2640 ; non-fully-qualified # 🧖🏽‍♀ woman in steamy room: medium skin tone +1F9D6 1F3FE 200D 2640 FE0F ; fully-qualified # 🧖🏾‍♀️ woman in steamy room: medium-dark skin tone +1F9D6 1F3FE 200D 2640 ; non-fully-qualified # 🧖🏾‍♀ woman in steamy room: medium-dark skin tone +1F9D6 1F3FF 200D 2640 FE0F ; fully-qualified # 🧖🏿‍♀️ woman in steamy room: dark skin tone +1F9D6 1F3FF 200D 2640 ; non-fully-qualified # 🧖🏿‍♀ woman in steamy room: dark skin tone +1F9D6 200D 2642 FE0F ; fully-qualified # 🧖‍♂️ man in steamy room +1F9D6 200D 2642 ; non-fully-qualified # 🧖‍♂ man in steamy room +1F9D6 1F3FB 200D 2642 FE0F ; fully-qualified # 🧖🏻‍♂️ man in steamy room: light skin tone +1F9D6 1F3FB 200D 2642 ; non-fully-qualified # 🧖🏻‍♂ man in steamy room: light skin tone +1F9D6 1F3FC 200D 2642 FE0F ; fully-qualified # 🧖🏼‍♂️ man in steamy room: medium-light skin tone +1F9D6 1F3FC 200D 2642 ; non-fully-qualified # 🧖🏼‍♂ man in steamy room: medium-light skin tone +1F9D6 1F3FD 200D 2642 FE0F ; fully-qualified # 🧖🏽‍♂️ man in steamy room: medium skin tone +1F9D6 1F3FD 200D 2642 ; non-fully-qualified # 🧖🏽‍♂ man in steamy room: medium skin tone +1F9D6 1F3FE 200D 2642 FE0F ; fully-qualified # 🧖🏾‍♂️ man in steamy room: medium-dark skin tone +1F9D6 1F3FE 200D 2642 ; non-fully-qualified # 🧖🏾‍♂ man in steamy room: medium-dark skin tone +1F9D6 1F3FF 200D 2642 FE0F ; fully-qualified # 🧖🏿‍♂️ man in steamy room: dark skin tone +1F9D6 1F3FF 200D 2642 ; non-fully-qualified # 🧖🏿‍♂ man in steamy room: dark skin tone +1F9D7 ; fully-qualified # 🧗 person climbing +1F9D7 1F3FB ; fully-qualified # 🧗🏻 person climbing: light skin tone +1F9D7 1F3FC ; fully-qualified # 🧗🏼 person climbing: medium-light skin tone +1F9D7 1F3FD ; fully-qualified # 🧗🏽 person climbing: medium skin tone +1F9D7 1F3FE ; fully-qualified # 🧗🏾 person climbing: medium-dark skin tone +1F9D7 1F3FF ; fully-qualified # 🧗🏿 person climbing: dark skin tone +1F9D7 200D 2640 FE0F ; fully-qualified # 🧗‍♀️ woman climbing +1F9D7 200D 2640 ; non-fully-qualified # 🧗‍♀ woman climbing +1F9D7 1F3FB 200D 2640 FE0F ; fully-qualified # 🧗🏻‍♀️ woman climbing: light skin tone +1F9D7 1F3FB 200D 2640 ; non-fully-qualified # 🧗🏻‍♀ woman climbing: light skin tone +1F9D7 1F3FC 200D 2640 FE0F ; fully-qualified # 🧗🏼‍♀️ woman climbing: medium-light skin tone +1F9D7 1F3FC 200D 2640 ; non-fully-qualified # 🧗🏼‍♀ woman climbing: medium-light skin tone +1F9D7 1F3FD 200D 2640 FE0F ; fully-qualified # 🧗🏽‍♀️ woman climbing: medium skin tone +1F9D7 1F3FD 200D 2640 ; non-fully-qualified # 🧗🏽‍♀ woman climbing: medium skin tone +1F9D7 1F3FE 200D 2640 FE0F ; fully-qualified # 🧗🏾‍♀️ woman climbing: medium-dark skin tone +1F9D7 1F3FE 200D 2640 ; non-fully-qualified # 🧗🏾‍♀ woman climbing: medium-dark skin tone +1F9D7 1F3FF 200D 2640 FE0F ; fully-qualified # 🧗🏿‍♀️ woman climbing: dark skin tone +1F9D7 1F3FF 200D 2640 ; non-fully-qualified # 🧗🏿‍♀ woman climbing: dark skin tone +1F9D7 200D 2642 FE0F ; fully-qualified # 🧗‍♂️ man climbing +1F9D7 200D 2642 ; non-fully-qualified # 🧗‍♂ man climbing +1F9D7 1F3FB 200D 2642 FE0F ; fully-qualified # 🧗🏻‍♂️ man climbing: light skin tone +1F9D7 1F3FB 200D 2642 ; non-fully-qualified # 🧗🏻‍♂ man climbing: light skin tone +1F9D7 1F3FC 200D 2642 FE0F ; fully-qualified # 🧗🏼‍♂️ man climbing: medium-light skin tone +1F9D7 1F3FC 200D 2642 ; non-fully-qualified # 🧗🏼‍♂ man climbing: medium-light skin tone +1F9D7 1F3FD 200D 2642 FE0F ; fully-qualified # 🧗🏽‍♂️ man climbing: medium skin tone +1F9D7 1F3FD 200D 2642 ; non-fully-qualified # 🧗🏽‍♂ man climbing: medium skin tone +1F9D7 1F3FE 200D 2642 FE0F ; fully-qualified # 🧗🏾‍♂️ man climbing: medium-dark skin tone +1F9D7 1F3FE 200D 2642 ; non-fully-qualified # 🧗🏾‍♂ man climbing: medium-dark skin tone +1F9D7 1F3FF 200D 2642 FE0F ; fully-qualified # 🧗🏿‍♂️ man climbing: dark skin tone +1F9D7 1F3FF 200D 2642 ; non-fully-qualified # 🧗🏿‍♂ man climbing: dark skin tone +1F9D8 ; fully-qualified # 🧘 person in lotus position +1F9D8 1F3FB ; fully-qualified # 🧘🏻 person in lotus position: light skin tone +1F9D8 1F3FC ; fully-qualified # 🧘🏼 person in lotus position: medium-light skin tone +1F9D8 1F3FD ; fully-qualified # 🧘🏽 person in lotus position: medium skin tone +1F9D8 1F3FE ; fully-qualified # 🧘🏾 person in lotus position: medium-dark skin tone +1F9D8 1F3FF ; fully-qualified # 🧘🏿 person in lotus position: dark skin tone +1F9D8 200D 2640 FE0F ; fully-qualified # 🧘‍♀️ woman in lotus position +1F9D8 200D 2640 ; non-fully-qualified # 🧘‍♀ woman in lotus position +1F9D8 1F3FB 200D 2640 FE0F ; fully-qualified # 🧘🏻‍♀️ woman in lotus position: light skin tone +1F9D8 1F3FB 200D 2640 ; non-fully-qualified # 🧘🏻‍♀ woman in lotus position: light skin tone +1F9D8 1F3FC 200D 2640 FE0F ; fully-qualified # 🧘🏼‍♀️ woman in lotus position: medium-light skin tone +1F9D8 1F3FC 200D 2640 ; non-fully-qualified # 🧘🏼‍♀ woman in lotus position: medium-light skin tone +1F9D8 1F3FD 200D 2640 FE0F ; fully-qualified # 🧘🏽‍♀️ woman in lotus position: medium skin tone +1F9D8 1F3FD 200D 2640 ; non-fully-qualified # 🧘🏽‍♀ woman in lotus position: medium skin tone +1F9D8 1F3FE 200D 2640 FE0F ; fully-qualified # 🧘🏾‍♀️ woman in lotus position: medium-dark skin tone +1F9D8 1F3FE 200D 2640 ; non-fully-qualified # 🧘🏾‍♀ woman in lotus position: medium-dark skin tone +1F9D8 1F3FF 200D 2640 FE0F ; fully-qualified # 🧘🏿‍♀️ woman in lotus position: dark skin tone +1F9D8 1F3FF 200D 2640 ; non-fully-qualified # 🧘🏿‍♀ woman in lotus position: dark skin tone +1F9D8 200D 2642 FE0F ; fully-qualified # 🧘‍♂️ man in lotus position +1F9D8 200D 2642 ; non-fully-qualified # 🧘‍♂ man in lotus position +1F9D8 1F3FB 200D 2642 FE0F ; fully-qualified # 🧘🏻‍♂️ man in lotus position: light skin tone +1F9D8 1F3FB 200D 2642 ; non-fully-qualified # 🧘🏻‍♂ man in lotus position: light skin tone +1F9D8 1F3FC 200D 2642 FE0F ; fully-qualified # 🧘🏼‍♂️ man in lotus position: medium-light skin tone +1F9D8 1F3FC 200D 2642 ; non-fully-qualified # 🧘🏼‍♂ man in lotus position: medium-light skin tone +1F9D8 1F3FD 200D 2642 FE0F ; fully-qualified # 🧘🏽‍♂️ man in lotus position: medium skin tone +1F9D8 1F3FD 200D 2642 ; non-fully-qualified # 🧘🏽‍♂ man in lotus position: medium skin tone +1F9D8 1F3FE 200D 2642 FE0F ; fully-qualified # 🧘🏾‍♂️ man in lotus position: medium-dark skin tone +1F9D8 1F3FE 200D 2642 ; non-fully-qualified # 🧘🏾‍♂ man in lotus position: medium-dark skin tone +1F9D8 1F3FF 200D 2642 FE0F ; fully-qualified # 🧘🏿‍♂️ man in lotus position: dark skin tone +1F9D8 1F3FF 200D 2642 ; non-fully-qualified # 🧘🏿‍♂ man in lotus position: dark skin tone +1F6C0 ; fully-qualified # 🛀 person taking bath +1F6C0 1F3FB ; fully-qualified # 🛀🏻 person taking bath: light skin tone +1F6C0 1F3FC ; fully-qualified # 🛀🏼 person taking bath: medium-light skin tone +1F6C0 1F3FD ; fully-qualified # 🛀🏽 person taking bath: medium skin tone +1F6C0 1F3FE ; fully-qualified # 🛀🏾 person taking bath: medium-dark skin tone +1F6C0 1F3FF ; fully-qualified # 🛀🏿 person taking bath: dark skin tone +1F6CC ; fully-qualified # 🛌 person in bed +1F6CC 1F3FB ; fully-qualified # 🛌🏻 person in bed: light skin tone +1F6CC 1F3FC ; fully-qualified # 🛌🏼 person in bed: medium-light skin tone +1F6CC 1F3FD ; fully-qualified # 🛌🏽 person in bed: medium skin tone +1F6CC 1F3FE ; fully-qualified # 🛌🏾 person in bed: medium-dark skin tone +1F6CC 1F3FF ; fully-qualified # 🛌🏿 person in bed: dark skin tone +1F574 FE0F ; fully-qualified # 🕴️ man in business suit levitating +1F574 ; non-fully-qualified # 🕴 man in business suit levitating +1F574 1F3FB ; fully-qualified # 🕴🏻 man in business suit levitating: light skin tone +1F574 1F3FC ; fully-qualified # 🕴🏼 man in business suit levitating: medium-light skin tone +1F574 1F3FD ; fully-qualified # 🕴🏽 man in business suit levitating: medium skin tone +1F574 1F3FE ; fully-qualified # 🕴🏾 man in business suit levitating: medium-dark skin tone +1F574 1F3FF ; fully-qualified # 🕴🏿 man in business suit levitating: dark skin tone +1F5E3 FE0F ; fully-qualified # 🗣️ speaking head +1F5E3 ; non-fully-qualified # 🗣 speaking head +1F464 ; fully-qualified # 👤 bust in silhouette +1F465 ; fully-qualified # 👥 busts in silhouette + +# subgroup: person-sport +1F93A ; fully-qualified # 🤺 person fencing +1F3C7 ; fully-qualified # 🏇 horse racing +1F3C7 1F3FB ; fully-qualified # 🏇🏻 horse racing: light skin tone +1F3C7 1F3FC ; fully-qualified # 🏇🏼 horse racing: medium-light skin tone +1F3C7 1F3FD ; fully-qualified # 🏇🏽 horse racing: medium skin tone +1F3C7 1F3FE ; fully-qualified # 🏇🏾 horse racing: medium-dark skin tone +1F3C7 1F3FF ; fully-qualified # 🏇🏿 horse racing: dark skin tone +26F7 FE0F ; fully-qualified # ⛷️ skier +26F7 ; non-fully-qualified # ⛷ skier +1F3C2 ; fully-qualified # 🏂 snowboarder +1F3C2 1F3FB ; fully-qualified # 🏂🏻 snowboarder: light skin tone +1F3C2 1F3FC ; fully-qualified # 🏂🏼 snowboarder: medium-light skin tone +1F3C2 1F3FD ; fully-qualified # 🏂🏽 snowboarder: medium skin tone +1F3C2 1F3FE ; fully-qualified # 🏂🏾 snowboarder: medium-dark skin tone +1F3C2 1F3FF ; fully-qualified # 🏂🏿 snowboarder: dark skin tone +1F3CC FE0F ; fully-qualified # 🏌️ person golfing +1F3CC ; non-fully-qualified # 🏌 person golfing +1F3CC 1F3FB ; fully-qualified # 🏌🏻 person golfing: light skin tone +1F3CC 1F3FC ; fully-qualified # 🏌🏼 person golfing: medium-light skin tone +1F3CC 1F3FD ; fully-qualified # 🏌🏽 person golfing: medium skin tone +1F3CC 1F3FE ; fully-qualified # 🏌🏾 person golfing: medium-dark skin tone +1F3CC 1F3FF ; fully-qualified # 🏌🏿 person golfing: dark skin tone +1F3CC FE0F 200D 2642 FE0F ; fully-qualified # 🏌️‍♂️ man golfing +1F3CC 200D 2642 FE0F ; non-fully-qualified # 🏌‍♂️ man golfing +1F3CC FE0F 200D 2642 ; non-fully-qualified # 🏌️‍♂ man golfing +1F3CC 200D 2642 ; non-fully-qualified # 🏌‍♂ man golfing +1F3CC 1F3FB 200D 2642 FE0F ; fully-qualified # 🏌🏻‍♂️ man golfing: light skin tone +1F3CC 1F3FB 200D 2642 ; non-fully-qualified # 🏌🏻‍♂ man golfing: light skin tone +1F3CC 1F3FC 200D 2642 FE0F ; fully-qualified # 🏌🏼‍♂️ man golfing: medium-light skin tone +1F3CC 1F3FC 200D 2642 ; non-fully-qualified # 🏌🏼‍♂ man golfing: medium-light skin tone +1F3CC 1F3FD 200D 2642 FE0F ; fully-qualified # 🏌🏽‍♂️ man golfing: medium skin tone +1F3CC 1F3FD 200D 2642 ; non-fully-qualified # 🏌🏽‍♂ man golfing: medium skin tone +1F3CC 1F3FE 200D 2642 FE0F ; fully-qualified # 🏌🏾‍♂️ man golfing: medium-dark skin tone +1F3CC 1F3FE 200D 2642 ; non-fully-qualified # 🏌🏾‍♂ man golfing: medium-dark skin tone +1F3CC 1F3FF 200D 2642 FE0F ; fully-qualified # 🏌🏿‍♂️ man golfing: dark skin tone +1F3CC 1F3FF 200D 2642 ; non-fully-qualified # 🏌🏿‍♂ man golfing: dark skin tone +1F3CC FE0F 200D 2640 FE0F ; fully-qualified # 🏌️‍♀️ woman golfing +1F3CC 200D 2640 FE0F ; non-fully-qualified # 🏌‍♀️ woman golfing +1F3CC FE0F 200D 2640 ; non-fully-qualified # 🏌️‍♀ woman golfing +1F3CC 200D 2640 ; non-fully-qualified # 🏌‍♀ woman golfing +1F3CC 1F3FB 200D 2640 FE0F ; fully-qualified # 🏌🏻‍♀️ woman golfing: light skin tone +1F3CC 1F3FB 200D 2640 ; non-fully-qualified # 🏌🏻‍♀ woman golfing: light skin tone +1F3CC 1F3FC 200D 2640 FE0F ; fully-qualified # 🏌🏼‍♀️ woman golfing: medium-light skin tone +1F3CC 1F3FC 200D 2640 ; non-fully-qualified # 🏌🏼‍♀ woman golfing: medium-light skin tone +1F3CC 1F3FD 200D 2640 FE0F ; fully-qualified # 🏌🏽‍♀️ woman golfing: medium skin tone +1F3CC 1F3FD 200D 2640 ; non-fully-qualified # 🏌🏽‍♀ woman golfing: medium skin tone +1F3CC 1F3FE 200D 2640 FE0F ; fully-qualified # 🏌🏾‍♀️ woman golfing: medium-dark skin tone +1F3CC 1F3FE 200D 2640 ; non-fully-qualified # 🏌🏾‍♀ woman golfing: medium-dark skin tone +1F3CC 1F3FF 200D 2640 FE0F ; fully-qualified # 🏌🏿‍♀️ woman golfing: dark skin tone +1F3CC 1F3FF 200D 2640 ; non-fully-qualified # 🏌🏿‍♀ woman golfing: dark skin tone +1F3C4 ; fully-qualified # 🏄 person surfing +1F3C4 1F3FB ; fully-qualified # 🏄🏻 person surfing: light skin tone +1F3C4 1F3FC ; fully-qualified # 🏄🏼 person surfing: medium-light skin tone +1F3C4 1F3FD ; fully-qualified # 🏄🏽 person surfing: medium skin tone +1F3C4 1F3FE ; fully-qualified # 🏄🏾 person surfing: medium-dark skin tone +1F3C4 1F3FF ; fully-qualified # 🏄🏿 person surfing: dark skin tone +1F3C4 200D 2642 FE0F ; fully-qualified # 🏄‍♂️ man surfing +1F3C4 200D 2642 ; non-fully-qualified # 🏄‍♂ man surfing +1F3C4 1F3FB 200D 2642 FE0F ; fully-qualified # 🏄🏻‍♂️ man surfing: light skin tone +1F3C4 1F3FB 200D 2642 ; non-fully-qualified # 🏄🏻‍♂ man surfing: light skin tone +1F3C4 1F3FC 200D 2642 FE0F ; fully-qualified # 🏄🏼‍♂️ man surfing: medium-light skin tone +1F3C4 1F3FC 200D 2642 ; non-fully-qualified # 🏄🏼‍♂ man surfing: medium-light skin tone +1F3C4 1F3FD 200D 2642 FE0F ; fully-qualified # 🏄🏽‍♂️ man surfing: medium skin tone +1F3C4 1F3FD 200D 2642 ; non-fully-qualified # 🏄🏽‍♂ man surfing: medium skin tone +1F3C4 1F3FE 200D 2642 FE0F ; fully-qualified # 🏄🏾‍♂️ man surfing: medium-dark skin tone +1F3C4 1F3FE 200D 2642 ; non-fully-qualified # 🏄🏾‍♂ man surfing: medium-dark skin tone +1F3C4 1F3FF 200D 2642 FE0F ; fully-qualified # 🏄🏿‍♂️ man surfing: dark skin tone +1F3C4 1F3FF 200D 2642 ; non-fully-qualified # 🏄🏿‍♂ man surfing: dark skin tone +1F3C4 200D 2640 FE0F ; fully-qualified # 🏄‍♀️ woman surfing +1F3C4 200D 2640 ; non-fully-qualified # 🏄‍♀ woman surfing +1F3C4 1F3FB 200D 2640 FE0F ; fully-qualified # 🏄🏻‍♀️ woman surfing: light skin tone +1F3C4 1F3FB 200D 2640 ; non-fully-qualified # 🏄🏻‍♀ woman surfing: light skin tone +1F3C4 1F3FC 200D 2640 FE0F ; fully-qualified # 🏄🏼‍♀️ woman surfing: medium-light skin tone +1F3C4 1F3FC 200D 2640 ; non-fully-qualified # 🏄🏼‍♀ woman surfing: medium-light skin tone +1F3C4 1F3FD 200D 2640 FE0F ; fully-qualified # 🏄🏽‍♀️ woman surfing: medium skin tone +1F3C4 1F3FD 200D 2640 ; non-fully-qualified # 🏄🏽‍♀ woman surfing: medium skin tone +1F3C4 1F3FE 200D 2640 FE0F ; fully-qualified # 🏄🏾‍♀️ woman surfing: medium-dark skin tone +1F3C4 1F3FE 200D 2640 ; non-fully-qualified # 🏄🏾‍♀ woman surfing: medium-dark skin tone +1F3C4 1F3FF 200D 2640 FE0F ; fully-qualified # 🏄🏿‍♀️ woman surfing: dark skin tone +1F3C4 1F3FF 200D 2640 ; non-fully-qualified # 🏄🏿‍♀ woman surfing: dark skin tone +1F6A3 ; fully-qualified # 🚣 person rowing boat +1F6A3 1F3FB ; fully-qualified # 🚣🏻 person rowing boat: light skin tone +1F6A3 1F3FC ; fully-qualified # 🚣🏼 person rowing boat: medium-light skin tone +1F6A3 1F3FD ; fully-qualified # 🚣🏽 person rowing boat: medium skin tone +1F6A3 1F3FE ; fully-qualified # 🚣🏾 person rowing boat: medium-dark skin tone +1F6A3 1F3FF ; fully-qualified # 🚣🏿 person rowing boat: dark skin tone +1F6A3 200D 2642 FE0F ; fully-qualified # 🚣‍♂️ man rowing boat +1F6A3 200D 2642 ; non-fully-qualified # 🚣‍♂ man rowing boat +1F6A3 1F3FB 200D 2642 FE0F ; fully-qualified # 🚣🏻‍♂️ man rowing boat: light skin tone +1F6A3 1F3FB 200D 2642 ; non-fully-qualified # 🚣🏻‍♂ man rowing boat: light skin tone +1F6A3 1F3FC 200D 2642 FE0F ; fully-qualified # 🚣🏼‍♂️ man rowing boat: medium-light skin tone +1F6A3 1F3FC 200D 2642 ; non-fully-qualified # 🚣🏼‍♂ man rowing boat: medium-light skin tone +1F6A3 1F3FD 200D 2642 FE0F ; fully-qualified # 🚣🏽‍♂️ man rowing boat: medium skin tone +1F6A3 1F3FD 200D 2642 ; non-fully-qualified # 🚣🏽‍♂ man rowing boat: medium skin tone +1F6A3 1F3FE 200D 2642 FE0F ; fully-qualified # 🚣🏾‍♂️ man rowing boat: medium-dark skin tone +1F6A3 1F3FE 200D 2642 ; non-fully-qualified # 🚣🏾‍♂ man rowing boat: medium-dark skin tone +1F6A3 1F3FF 200D 2642 FE0F ; fully-qualified # 🚣🏿‍♂️ man rowing boat: dark skin tone +1F6A3 1F3FF 200D 2642 ; non-fully-qualified # 🚣🏿‍♂ man rowing boat: dark skin tone +1F6A3 200D 2640 FE0F ; fully-qualified # 🚣‍♀️ woman rowing boat +1F6A3 200D 2640 ; non-fully-qualified # 🚣‍♀ woman rowing boat +1F6A3 1F3FB 200D 2640 FE0F ; fully-qualified # 🚣🏻‍♀️ woman rowing boat: light skin tone +1F6A3 1F3FB 200D 2640 ; non-fully-qualified # 🚣🏻‍♀ woman rowing boat: light skin tone +1F6A3 1F3FC 200D 2640 FE0F ; fully-qualified # 🚣🏼‍♀️ woman rowing boat: medium-light skin tone +1F6A3 1F3FC 200D 2640 ; non-fully-qualified # 🚣🏼‍♀ woman rowing boat: medium-light skin tone +1F6A3 1F3FD 200D 2640 FE0F ; fully-qualified # 🚣🏽‍♀️ woman rowing boat: medium skin tone +1F6A3 1F3FD 200D 2640 ; non-fully-qualified # 🚣🏽‍♀ woman rowing boat: medium skin tone +1F6A3 1F3FE 200D 2640 FE0F ; fully-qualified # 🚣🏾‍♀️ woman rowing boat: medium-dark skin tone +1F6A3 1F3FE 200D 2640 ; non-fully-qualified # 🚣🏾‍♀ woman rowing boat: medium-dark skin tone +1F6A3 1F3FF 200D 2640 FE0F ; fully-qualified # 🚣🏿‍♀️ woman rowing boat: dark skin tone +1F6A3 1F3FF 200D 2640 ; non-fully-qualified # 🚣🏿‍♀ woman rowing boat: dark skin tone +1F3CA ; fully-qualified # 🏊 person swimming +1F3CA 1F3FB ; fully-qualified # 🏊🏻 person swimming: light skin tone +1F3CA 1F3FC ; fully-qualified # 🏊🏼 person swimming: medium-light skin tone +1F3CA 1F3FD ; fully-qualified # 🏊🏽 person swimming: medium skin tone +1F3CA 1F3FE ; fully-qualified # 🏊🏾 person swimming: medium-dark skin tone +1F3CA 1F3FF ; fully-qualified # 🏊🏿 person swimming: dark skin tone +1F3CA 200D 2642 FE0F ; fully-qualified # 🏊‍♂️ man swimming +1F3CA 200D 2642 ; non-fully-qualified # 🏊‍♂ man swimming +1F3CA 1F3FB 200D 2642 FE0F ; fully-qualified # 🏊🏻‍♂️ man swimming: light skin tone +1F3CA 1F3FB 200D 2642 ; non-fully-qualified # 🏊🏻‍♂ man swimming: light skin tone +1F3CA 1F3FC 200D 2642 FE0F ; fully-qualified # 🏊🏼‍♂️ man swimming: medium-light skin tone +1F3CA 1F3FC 200D 2642 ; non-fully-qualified # 🏊🏼‍♂ man swimming: medium-light skin tone +1F3CA 1F3FD 200D 2642 FE0F ; fully-qualified # 🏊🏽‍♂️ man swimming: medium skin tone +1F3CA 1F3FD 200D 2642 ; non-fully-qualified # 🏊🏽‍♂ man swimming: medium skin tone +1F3CA 1F3FE 200D 2642 FE0F ; fully-qualified # 🏊🏾‍♂️ man swimming: medium-dark skin tone +1F3CA 1F3FE 200D 2642 ; non-fully-qualified # 🏊🏾‍♂ man swimming: medium-dark skin tone +1F3CA 1F3FF 200D 2642 FE0F ; fully-qualified # 🏊🏿‍♂️ man swimming: dark skin tone +1F3CA 1F3FF 200D 2642 ; non-fully-qualified # 🏊🏿‍♂ man swimming: dark skin tone +1F3CA 200D 2640 FE0F ; fully-qualified # 🏊‍♀️ woman swimming +1F3CA 200D 2640 ; non-fully-qualified # 🏊‍♀ woman swimming +1F3CA 1F3FB 200D 2640 FE0F ; fully-qualified # 🏊🏻‍♀️ woman swimming: light skin tone +1F3CA 1F3FB 200D 2640 ; non-fully-qualified # 🏊🏻‍♀ woman swimming: light skin tone +1F3CA 1F3FC 200D 2640 FE0F ; fully-qualified # 🏊🏼‍♀️ woman swimming: medium-light skin tone +1F3CA 1F3FC 200D 2640 ; non-fully-qualified # 🏊🏼‍♀ woman swimming: medium-light skin tone +1F3CA 1F3FD 200D 2640 FE0F ; fully-qualified # 🏊🏽‍♀️ woman swimming: medium skin tone +1F3CA 1F3FD 200D 2640 ; non-fully-qualified # 🏊🏽‍♀ woman swimming: medium skin tone +1F3CA 1F3FE 200D 2640 FE0F ; fully-qualified # 🏊🏾‍♀️ woman swimming: medium-dark skin tone +1F3CA 1F3FE 200D 2640 ; non-fully-qualified # 🏊🏾‍♀ woman swimming: medium-dark skin tone +1F3CA 1F3FF 200D 2640 FE0F ; fully-qualified # 🏊🏿‍♀️ woman swimming: dark skin tone +1F3CA 1F3FF 200D 2640 ; non-fully-qualified # 🏊🏿‍♀ woman swimming: dark skin tone +26F9 FE0F ; fully-qualified # ⛹️ person bouncing ball +26F9 ; non-fully-qualified # ⛹ person bouncing ball +26F9 1F3FB ; fully-qualified # ⛹🏻 person bouncing ball: light skin tone +26F9 1F3FC ; fully-qualified # ⛹🏼 person bouncing ball: medium-light skin tone +26F9 1F3FD ; fully-qualified # ⛹🏽 person bouncing ball: medium skin tone +26F9 1F3FE ; fully-qualified # ⛹🏾 person bouncing ball: medium-dark skin tone +26F9 1F3FF ; fully-qualified # ⛹🏿 person bouncing ball: dark skin tone +26F9 FE0F 200D 2642 FE0F ; fully-qualified # ⛹️‍♂️ man bouncing ball +26F9 200D 2642 FE0F ; non-fully-qualified # ⛹‍♂️ man bouncing ball +26F9 FE0F 200D 2642 ; non-fully-qualified # ⛹️‍♂ man bouncing ball +26F9 200D 2642 ; non-fully-qualified # ⛹‍♂ man bouncing ball +26F9 1F3FB 200D 2642 FE0F ; fully-qualified # ⛹🏻‍♂️ man bouncing ball: light skin tone +26F9 1F3FB 200D 2642 ; non-fully-qualified # ⛹🏻‍♂ man bouncing ball: light skin tone +26F9 1F3FC 200D 2642 FE0F ; fully-qualified # ⛹🏼‍♂️ man bouncing ball: medium-light skin tone +26F9 1F3FC 200D 2642 ; non-fully-qualified # ⛹🏼‍♂ man bouncing ball: medium-light skin tone +26F9 1F3FD 200D 2642 FE0F ; fully-qualified # ⛹🏽‍♂️ man bouncing ball: medium skin tone +26F9 1F3FD 200D 2642 ; non-fully-qualified # ⛹🏽‍♂ man bouncing ball: medium skin tone +26F9 1F3FE 200D 2642 FE0F ; fully-qualified # ⛹🏾‍♂️ man bouncing ball: medium-dark skin tone +26F9 1F3FE 200D 2642 ; non-fully-qualified # ⛹🏾‍♂ man bouncing ball: medium-dark skin tone +26F9 1F3FF 200D 2642 FE0F ; fully-qualified # ⛹🏿‍♂️ man bouncing ball: dark skin tone +26F9 1F3FF 200D 2642 ; non-fully-qualified # ⛹🏿‍♂ man bouncing ball: dark skin tone +26F9 FE0F 200D 2640 FE0F ; fully-qualified # ⛹️‍♀️ woman bouncing ball +26F9 200D 2640 FE0F ; non-fully-qualified # ⛹‍♀️ woman bouncing ball +26F9 FE0F 200D 2640 ; non-fully-qualified # ⛹️‍♀ woman bouncing ball +26F9 200D 2640 ; non-fully-qualified # ⛹‍♀ woman bouncing ball +26F9 1F3FB 200D 2640 FE0F ; fully-qualified # ⛹🏻‍♀️ woman bouncing ball: light skin tone +26F9 1F3FB 200D 2640 ; non-fully-qualified # ⛹🏻‍♀ woman bouncing ball: light skin tone +26F9 1F3FC 200D 2640 FE0F ; fully-qualified # ⛹🏼‍♀️ woman bouncing ball: medium-light skin tone +26F9 1F3FC 200D 2640 ; non-fully-qualified # ⛹🏼‍♀ woman bouncing ball: medium-light skin tone +26F9 1F3FD 200D 2640 FE0F ; fully-qualified # ⛹🏽‍♀️ woman bouncing ball: medium skin tone +26F9 1F3FD 200D 2640 ; non-fully-qualified # ⛹🏽‍♀ woman bouncing ball: medium skin tone +26F9 1F3FE 200D 2640 FE0F ; fully-qualified # ⛹🏾‍♀️ woman bouncing ball: medium-dark skin tone +26F9 1F3FE 200D 2640 ; non-fully-qualified # ⛹🏾‍♀ woman bouncing ball: medium-dark skin tone +26F9 1F3FF 200D 2640 FE0F ; fully-qualified # ⛹🏿‍♀️ woman bouncing ball: dark skin tone +26F9 1F3FF 200D 2640 ; non-fully-qualified # ⛹🏿‍♀ woman bouncing ball: dark skin tone +1F3CB FE0F ; fully-qualified # 🏋️ person lifting weights +1F3CB ; non-fully-qualified # 🏋 person lifting weights +1F3CB 1F3FB ; fully-qualified # 🏋🏻 person lifting weights: light skin tone +1F3CB 1F3FC ; fully-qualified # 🏋🏼 person lifting weights: medium-light skin tone +1F3CB 1F3FD ; fully-qualified # 🏋🏽 person lifting weights: medium skin tone +1F3CB 1F3FE ; fully-qualified # 🏋🏾 person lifting weights: medium-dark skin tone +1F3CB 1F3FF ; fully-qualified # 🏋🏿 person lifting weights: dark skin tone +1F3CB FE0F 200D 2642 FE0F ; fully-qualified # 🏋️‍♂️ man lifting weights +1F3CB 200D 2642 FE0F ; non-fully-qualified # 🏋‍♂️ man lifting weights +1F3CB FE0F 200D 2642 ; non-fully-qualified # 🏋️‍♂ man lifting weights +1F3CB 200D 2642 ; non-fully-qualified # 🏋‍♂ man lifting weights +1F3CB 1F3FB 200D 2642 FE0F ; fully-qualified # 🏋🏻‍♂️ man lifting weights: light skin tone +1F3CB 1F3FB 200D 2642 ; non-fully-qualified # 🏋🏻‍♂ man lifting weights: light skin tone +1F3CB 1F3FC 200D 2642 FE0F ; fully-qualified # 🏋🏼‍♂️ man lifting weights: medium-light skin tone +1F3CB 1F3FC 200D 2642 ; non-fully-qualified # 🏋🏼‍♂ man lifting weights: medium-light skin tone +1F3CB 1F3FD 200D 2642 FE0F ; fully-qualified # 🏋🏽‍♂️ man lifting weights: medium skin tone +1F3CB 1F3FD 200D 2642 ; non-fully-qualified # 🏋🏽‍♂ man lifting weights: medium skin tone +1F3CB 1F3FE 200D 2642 FE0F ; fully-qualified # 🏋🏾‍♂️ man lifting weights: medium-dark skin tone +1F3CB 1F3FE 200D 2642 ; non-fully-qualified # 🏋🏾‍♂ man lifting weights: medium-dark skin tone +1F3CB 1F3FF 200D 2642 FE0F ; fully-qualified # 🏋🏿‍♂️ man lifting weights: dark skin tone +1F3CB 1F3FF 200D 2642 ; non-fully-qualified # 🏋🏿‍♂ man lifting weights: dark skin tone +1F3CB FE0F 200D 2640 FE0F ; fully-qualified # 🏋️‍♀️ woman lifting weights +1F3CB 200D 2640 FE0F ; non-fully-qualified # 🏋‍♀️ woman lifting weights +1F3CB FE0F 200D 2640 ; non-fully-qualified # 🏋️‍♀ woman lifting weights +1F3CB 200D 2640 ; non-fully-qualified # 🏋‍♀ woman lifting weights +1F3CB 1F3FB 200D 2640 FE0F ; fully-qualified # 🏋🏻‍♀️ woman lifting weights: light skin tone +1F3CB 1F3FB 200D 2640 ; non-fully-qualified # 🏋🏻‍♀ woman lifting weights: light skin tone +1F3CB 1F3FC 200D 2640 FE0F ; fully-qualified # 🏋🏼‍♀️ woman lifting weights: medium-light skin tone +1F3CB 1F3FC 200D 2640 ; non-fully-qualified # 🏋🏼‍♀ woman lifting weights: medium-light skin tone +1F3CB 1F3FD 200D 2640 FE0F ; fully-qualified # 🏋🏽‍♀️ woman lifting weights: medium skin tone +1F3CB 1F3FD 200D 2640 ; non-fully-qualified # 🏋🏽‍♀ woman lifting weights: medium skin tone +1F3CB 1F3FE 200D 2640 FE0F ; fully-qualified # 🏋🏾‍♀️ woman lifting weights: medium-dark skin tone +1F3CB 1F3FE 200D 2640 ; non-fully-qualified # 🏋🏾‍♀ woman lifting weights: medium-dark skin tone +1F3CB 1F3FF 200D 2640 FE0F ; fully-qualified # 🏋🏿‍♀️ woman lifting weights: dark skin tone +1F3CB 1F3FF 200D 2640 ; non-fully-qualified # 🏋🏿‍♀ woman lifting weights: dark skin tone +1F6B4 ; fully-qualified # 🚴 person biking +1F6B4 1F3FB ; fully-qualified # 🚴🏻 person biking: light skin tone +1F6B4 1F3FC ; fully-qualified # 🚴🏼 person biking: medium-light skin tone +1F6B4 1F3FD ; fully-qualified # 🚴🏽 person biking: medium skin tone +1F6B4 1F3FE ; fully-qualified # 🚴🏾 person biking: medium-dark skin tone +1F6B4 1F3FF ; fully-qualified # 🚴🏿 person biking: dark skin tone +1F6B4 200D 2642 FE0F ; fully-qualified # 🚴‍♂️ man biking +1F6B4 200D 2642 ; non-fully-qualified # 🚴‍♂ man biking +1F6B4 1F3FB 200D 2642 FE0F ; fully-qualified # 🚴🏻‍♂️ man biking: light skin tone +1F6B4 1F3FB 200D 2642 ; non-fully-qualified # 🚴🏻‍♂ man biking: light skin tone +1F6B4 1F3FC 200D 2642 FE0F ; fully-qualified # 🚴🏼‍♂️ man biking: medium-light skin tone +1F6B4 1F3FC 200D 2642 ; non-fully-qualified # 🚴🏼‍♂ man biking: medium-light skin tone +1F6B4 1F3FD 200D 2642 FE0F ; fully-qualified # 🚴🏽‍♂️ man biking: medium skin tone +1F6B4 1F3FD 200D 2642 ; non-fully-qualified # 🚴🏽‍♂ man biking: medium skin tone +1F6B4 1F3FE 200D 2642 FE0F ; fully-qualified # 🚴🏾‍♂️ man biking: medium-dark skin tone +1F6B4 1F3FE 200D 2642 ; non-fully-qualified # 🚴🏾‍♂ man biking: medium-dark skin tone +1F6B4 1F3FF 200D 2642 FE0F ; fully-qualified # 🚴🏿‍♂️ man biking: dark skin tone +1F6B4 1F3FF 200D 2642 ; non-fully-qualified # 🚴🏿‍♂ man biking: dark skin tone +1F6B4 200D 2640 FE0F ; fully-qualified # 🚴‍♀️ woman biking +1F6B4 200D 2640 ; non-fully-qualified # 🚴‍♀ woman biking +1F6B4 1F3FB 200D 2640 FE0F ; fully-qualified # 🚴🏻‍♀️ woman biking: light skin tone +1F6B4 1F3FB 200D 2640 ; non-fully-qualified # 🚴🏻‍♀ woman biking: light skin tone +1F6B4 1F3FC 200D 2640 FE0F ; fully-qualified # 🚴🏼‍♀️ woman biking: medium-light skin tone +1F6B4 1F3FC 200D 2640 ; non-fully-qualified # 🚴🏼‍♀ woman biking: medium-light skin tone +1F6B4 1F3FD 200D 2640 FE0F ; fully-qualified # 🚴🏽‍♀️ woman biking: medium skin tone +1F6B4 1F3FD 200D 2640 ; non-fully-qualified # 🚴🏽‍♀ woman biking: medium skin tone +1F6B4 1F3FE 200D 2640 FE0F ; fully-qualified # 🚴🏾‍♀️ woman biking: medium-dark skin tone +1F6B4 1F3FE 200D 2640 ; non-fully-qualified # 🚴🏾‍♀ woman biking: medium-dark skin tone +1F6B4 1F3FF 200D 2640 FE0F ; fully-qualified # 🚴🏿‍♀️ woman biking: dark skin tone +1F6B4 1F3FF 200D 2640 ; non-fully-qualified # 🚴🏿‍♀ woman biking: dark skin tone +1F6B5 ; fully-qualified # 🚵 person mountain biking +1F6B5 1F3FB ; fully-qualified # 🚵🏻 person mountain biking: light skin tone +1F6B5 1F3FC ; fully-qualified # 🚵🏼 person mountain biking: medium-light skin tone +1F6B5 1F3FD ; fully-qualified # 🚵🏽 person mountain biking: medium skin tone +1F6B5 1F3FE ; fully-qualified # 🚵🏾 person mountain biking: medium-dark skin tone +1F6B5 1F3FF ; fully-qualified # 🚵🏿 person mountain biking: dark skin tone +1F6B5 200D 2642 FE0F ; fully-qualified # 🚵‍♂️ man mountain biking +1F6B5 200D 2642 ; non-fully-qualified # 🚵‍♂ man mountain biking +1F6B5 1F3FB 200D 2642 FE0F ; fully-qualified # 🚵🏻‍♂️ man mountain biking: light skin tone +1F6B5 1F3FB 200D 2642 ; non-fully-qualified # 🚵🏻‍♂ man mountain biking: light skin tone +1F6B5 1F3FC 200D 2642 FE0F ; fully-qualified # 🚵🏼‍♂️ man mountain biking: medium-light skin tone +1F6B5 1F3FC 200D 2642 ; non-fully-qualified # 🚵🏼‍♂ man mountain biking: medium-light skin tone +1F6B5 1F3FD 200D 2642 FE0F ; fully-qualified # 🚵🏽‍♂️ man mountain biking: medium skin tone +1F6B5 1F3FD 200D 2642 ; non-fully-qualified # 🚵🏽‍♂ man mountain biking: medium skin tone +1F6B5 1F3FE 200D 2642 FE0F ; fully-qualified # 🚵🏾‍♂️ man mountain biking: medium-dark skin tone +1F6B5 1F3FE 200D 2642 ; non-fully-qualified # 🚵🏾‍♂ man mountain biking: medium-dark skin tone +1F6B5 1F3FF 200D 2642 FE0F ; fully-qualified # 🚵🏿‍♂️ man mountain biking: dark skin tone +1F6B5 1F3FF 200D 2642 ; non-fully-qualified # 🚵🏿‍♂ man mountain biking: dark skin tone +1F6B5 200D 2640 FE0F ; fully-qualified # 🚵‍♀️ woman mountain biking +1F6B5 200D 2640 ; non-fully-qualified # 🚵‍♀ woman mountain biking +1F6B5 1F3FB 200D 2640 FE0F ; fully-qualified # 🚵🏻‍♀️ woman mountain biking: light skin tone +1F6B5 1F3FB 200D 2640 ; non-fully-qualified # 🚵🏻‍♀ woman mountain biking: light skin tone +1F6B5 1F3FC 200D 2640 FE0F ; fully-qualified # 🚵🏼‍♀️ woman mountain biking: medium-light skin tone +1F6B5 1F3FC 200D 2640 ; non-fully-qualified # 🚵🏼‍♀ woman mountain biking: medium-light skin tone +1F6B5 1F3FD 200D 2640 FE0F ; fully-qualified # 🚵🏽‍♀️ woman mountain biking: medium skin tone +1F6B5 1F3FD 200D 2640 ; non-fully-qualified # 🚵🏽‍♀ woman mountain biking: medium skin tone +1F6B5 1F3FE 200D 2640 FE0F ; fully-qualified # 🚵🏾‍♀️ woman mountain biking: medium-dark skin tone +1F6B5 1F3FE 200D 2640 ; non-fully-qualified # 🚵🏾‍♀ woman mountain biking: medium-dark skin tone +1F6B5 1F3FF 200D 2640 FE0F ; fully-qualified # 🚵🏿‍♀️ woman mountain biking: dark skin tone +1F6B5 1F3FF 200D 2640 ; non-fully-qualified # 🚵🏿‍♀ woman mountain biking: dark skin tone +1F3CE FE0F ; fully-qualified # 🏎️ racing car +1F3CE ; non-fully-qualified # 🏎 racing car +1F3CD FE0F ; fully-qualified # 🏍️ motorcycle +1F3CD ; non-fully-qualified # 🏍 motorcycle +1F938 ; fully-qualified # 🤸 person cartwheeling +1F938 1F3FB ; fully-qualified # 🤸🏻 person cartwheeling: light skin tone +1F938 1F3FC ; fully-qualified # 🤸🏼 person cartwheeling: medium-light skin tone +1F938 1F3FD ; fully-qualified # 🤸🏽 person cartwheeling: medium skin tone +1F938 1F3FE ; fully-qualified # 🤸🏾 person cartwheeling: medium-dark skin tone +1F938 1F3FF ; fully-qualified # 🤸🏿 person cartwheeling: dark skin tone +1F938 200D 2642 FE0F ; fully-qualified # 🤸‍♂️ man cartwheeling +1F938 200D 2642 ; non-fully-qualified # 🤸‍♂ man cartwheeling +1F938 1F3FB 200D 2642 FE0F ; fully-qualified # 🤸🏻‍♂️ man cartwheeling: light skin tone +1F938 1F3FB 200D 2642 ; non-fully-qualified # 🤸🏻‍♂ man cartwheeling: light skin tone +1F938 1F3FC 200D 2642 FE0F ; fully-qualified # 🤸🏼‍♂️ man cartwheeling: medium-light skin tone +1F938 1F3FC 200D 2642 ; non-fully-qualified # 🤸🏼‍♂ man cartwheeling: medium-light skin tone +1F938 1F3FD 200D 2642 FE0F ; fully-qualified # 🤸🏽‍♂️ man cartwheeling: medium skin tone +1F938 1F3FD 200D 2642 ; non-fully-qualified # 🤸🏽‍♂ man cartwheeling: medium skin tone +1F938 1F3FE 200D 2642 FE0F ; fully-qualified # 🤸🏾‍♂️ man cartwheeling: medium-dark skin tone +1F938 1F3FE 200D 2642 ; non-fully-qualified # 🤸🏾‍♂ man cartwheeling: medium-dark skin tone +1F938 1F3FF 200D 2642 FE0F ; fully-qualified # 🤸🏿‍♂️ man cartwheeling: dark skin tone +1F938 1F3FF 200D 2642 ; non-fully-qualified # 🤸🏿‍♂ man cartwheeling: dark skin tone +1F938 200D 2640 FE0F ; fully-qualified # 🤸‍♀️ woman cartwheeling +1F938 200D 2640 ; non-fully-qualified # 🤸‍♀ woman cartwheeling +1F938 1F3FB 200D 2640 FE0F ; fully-qualified # 🤸🏻‍♀️ woman cartwheeling: light skin tone +1F938 1F3FB 200D 2640 ; non-fully-qualified # 🤸🏻‍♀ woman cartwheeling: light skin tone +1F938 1F3FC 200D 2640 FE0F ; fully-qualified # 🤸🏼‍♀️ woman cartwheeling: medium-light skin tone +1F938 1F3FC 200D 2640 ; non-fully-qualified # 🤸🏼‍♀ woman cartwheeling: medium-light skin tone +1F938 1F3FD 200D 2640 FE0F ; fully-qualified # 🤸🏽‍♀️ woman cartwheeling: medium skin tone +1F938 1F3FD 200D 2640 ; non-fully-qualified # 🤸🏽‍♀ woman cartwheeling: medium skin tone +1F938 1F3FE 200D 2640 FE0F ; fully-qualified # 🤸🏾‍♀️ woman cartwheeling: medium-dark skin tone +1F938 1F3FE 200D 2640 ; non-fully-qualified # 🤸🏾‍♀ woman cartwheeling: medium-dark skin tone +1F938 1F3FF 200D 2640 FE0F ; fully-qualified # 🤸🏿‍♀️ woman cartwheeling: dark skin tone +1F938 1F3FF 200D 2640 ; non-fully-qualified # 🤸🏿‍♀ woman cartwheeling: dark skin tone +1F93C ; fully-qualified # 🤼 people wrestling +1F93C 200D 2642 FE0F ; fully-qualified # 🤼‍♂️ men wrestling +1F93C 200D 2642 ; non-fully-qualified # 🤼‍♂ men wrestling +1F93C 200D 2640 FE0F ; fully-qualified # 🤼‍♀️ women wrestling +1F93C 200D 2640 ; non-fully-qualified # 🤼‍♀ women wrestling +1F93D ; fully-qualified # 🤽 person playing water polo +1F93D 1F3FB ; fully-qualified # 🤽🏻 person playing water polo: light skin tone +1F93D 1F3FC ; fully-qualified # 🤽🏼 person playing water polo: medium-light skin tone +1F93D 1F3FD ; fully-qualified # 🤽🏽 person playing water polo: medium skin tone +1F93D 1F3FE ; fully-qualified # 🤽🏾 person playing water polo: medium-dark skin tone +1F93D 1F3FF ; fully-qualified # 🤽🏿 person playing water polo: dark skin tone +1F93D 200D 2642 FE0F ; fully-qualified # 🤽‍♂️ man playing water polo +1F93D 200D 2642 ; non-fully-qualified # 🤽‍♂ man playing water polo +1F93D 1F3FB 200D 2642 FE0F ; fully-qualified # 🤽🏻‍♂️ man playing water polo: light skin tone +1F93D 1F3FB 200D 2642 ; non-fully-qualified # 🤽🏻‍♂ man playing water polo: light skin tone +1F93D 1F3FC 200D 2642 FE0F ; fully-qualified # 🤽🏼‍♂️ man playing water polo: medium-light skin tone +1F93D 1F3FC 200D 2642 ; non-fully-qualified # 🤽🏼‍♂ man playing water polo: medium-light skin tone +1F93D 1F3FD 200D 2642 FE0F ; fully-qualified # 🤽🏽‍♂️ man playing water polo: medium skin tone +1F93D 1F3FD 200D 2642 ; non-fully-qualified # 🤽🏽‍♂ man playing water polo: medium skin tone +1F93D 1F3FE 200D 2642 FE0F ; fully-qualified # 🤽🏾‍♂️ man playing water polo: medium-dark skin tone +1F93D 1F3FE 200D 2642 ; non-fully-qualified # 🤽🏾‍♂ man playing water polo: medium-dark skin tone +1F93D 1F3FF 200D 2642 FE0F ; fully-qualified # 🤽🏿‍♂️ man playing water polo: dark skin tone +1F93D 1F3FF 200D 2642 ; non-fully-qualified # 🤽🏿‍♂ man playing water polo: dark skin tone +1F93D 200D 2640 FE0F ; fully-qualified # 🤽‍♀️ woman playing water polo +1F93D 200D 2640 ; non-fully-qualified # 🤽‍♀ woman playing water polo +1F93D 1F3FB 200D 2640 FE0F ; fully-qualified # 🤽🏻‍♀️ woman playing water polo: light skin tone +1F93D 1F3FB 200D 2640 ; non-fully-qualified # 🤽🏻‍♀ woman playing water polo: light skin tone +1F93D 1F3FC 200D 2640 FE0F ; fully-qualified # 🤽🏼‍♀️ woman playing water polo: medium-light skin tone +1F93D 1F3FC 200D 2640 ; non-fully-qualified # 🤽🏼‍♀ woman playing water polo: medium-light skin tone +1F93D 1F3FD 200D 2640 FE0F ; fully-qualified # 🤽🏽‍♀️ woman playing water polo: medium skin tone +1F93D 1F3FD 200D 2640 ; non-fully-qualified # 🤽🏽‍♀ woman playing water polo: medium skin tone +1F93D 1F3FE 200D 2640 FE0F ; fully-qualified # 🤽🏾‍♀️ woman playing water polo: medium-dark skin tone +1F93D 1F3FE 200D 2640 ; non-fully-qualified # 🤽🏾‍♀ woman playing water polo: medium-dark skin tone +1F93D 1F3FF 200D 2640 FE0F ; fully-qualified # 🤽🏿‍♀️ woman playing water polo: dark skin tone +1F93D 1F3FF 200D 2640 ; non-fully-qualified # 🤽🏿‍♀ woman playing water polo: dark skin tone +1F93E ; fully-qualified # 🤾 person playing handball +1F93E 1F3FB ; fully-qualified # 🤾🏻 person playing handball: light skin tone +1F93E 1F3FC ; fully-qualified # 🤾🏼 person playing handball: medium-light skin tone +1F93E 1F3FD ; fully-qualified # 🤾🏽 person playing handball: medium skin tone +1F93E 1F3FE ; fully-qualified # 🤾🏾 person playing handball: medium-dark skin tone +1F93E 1F3FF ; fully-qualified # 🤾🏿 person playing handball: dark skin tone +1F93E 200D 2642 FE0F ; fully-qualified # 🤾‍♂️ man playing handball +1F93E 200D 2642 ; non-fully-qualified # 🤾‍♂ man playing handball +1F93E 1F3FB 200D 2642 FE0F ; fully-qualified # 🤾🏻‍♂️ man playing handball: light skin tone +1F93E 1F3FB 200D 2642 ; non-fully-qualified # 🤾🏻‍♂ man playing handball: light skin tone +1F93E 1F3FC 200D 2642 FE0F ; fully-qualified # 🤾🏼‍♂️ man playing handball: medium-light skin tone +1F93E 1F3FC 200D 2642 ; non-fully-qualified # 🤾🏼‍♂ man playing handball: medium-light skin tone +1F93E 1F3FD 200D 2642 FE0F ; fully-qualified # 🤾🏽‍♂️ man playing handball: medium skin tone +1F93E 1F3FD 200D 2642 ; non-fully-qualified # 🤾🏽‍♂ man playing handball: medium skin tone +1F93E 1F3FE 200D 2642 FE0F ; fully-qualified # 🤾🏾‍♂️ man playing handball: medium-dark skin tone +1F93E 1F3FE 200D 2642 ; non-fully-qualified # 🤾🏾‍♂ man playing handball: medium-dark skin tone +1F93E 1F3FF 200D 2642 FE0F ; fully-qualified # 🤾🏿‍♂️ man playing handball: dark skin tone +1F93E 1F3FF 200D 2642 ; non-fully-qualified # 🤾🏿‍♂ man playing handball: dark skin tone +1F93E 200D 2640 FE0F ; fully-qualified # 🤾‍♀️ woman playing handball +1F93E 200D 2640 ; non-fully-qualified # 🤾‍♀ woman playing handball +1F93E 1F3FB 200D 2640 FE0F ; fully-qualified # 🤾🏻‍♀️ woman playing handball: light skin tone +1F93E 1F3FB 200D 2640 ; non-fully-qualified # 🤾🏻‍♀ woman playing handball: light skin tone +1F93E 1F3FC 200D 2640 FE0F ; fully-qualified # 🤾🏼‍♀️ woman playing handball: medium-light skin tone +1F93E 1F3FC 200D 2640 ; non-fully-qualified # 🤾🏼‍♀ woman playing handball: medium-light skin tone +1F93E 1F3FD 200D 2640 FE0F ; fully-qualified # 🤾🏽‍♀️ woman playing handball: medium skin tone +1F93E 1F3FD 200D 2640 ; non-fully-qualified # 🤾🏽‍♀ woman playing handball: medium skin tone +1F93E 1F3FE 200D 2640 FE0F ; fully-qualified # 🤾🏾‍♀️ woman playing handball: medium-dark skin tone +1F93E 1F3FE 200D 2640 ; non-fully-qualified # 🤾🏾‍♀ woman playing handball: medium-dark skin tone +1F93E 1F3FF 200D 2640 FE0F ; fully-qualified # 🤾🏿‍♀️ woman playing handball: dark skin tone +1F93E 1F3FF 200D 2640 ; non-fully-qualified # 🤾🏿‍♀ woman playing handball: dark skin tone +1F939 ; fully-qualified # 🤹 person juggling +1F939 1F3FB ; fully-qualified # 🤹🏻 person juggling: light skin tone +1F939 1F3FC ; fully-qualified # 🤹🏼 person juggling: medium-light skin tone +1F939 1F3FD ; fully-qualified # 🤹🏽 person juggling: medium skin tone +1F939 1F3FE ; fully-qualified # 🤹🏾 person juggling: medium-dark skin tone +1F939 1F3FF ; fully-qualified # 🤹🏿 person juggling: dark skin tone +1F939 200D 2642 FE0F ; fully-qualified # 🤹‍♂️ man juggling +1F939 200D 2642 ; non-fully-qualified # 🤹‍♂ man juggling +1F939 1F3FB 200D 2642 FE0F ; fully-qualified # 🤹🏻‍♂️ man juggling: light skin tone +1F939 1F3FB 200D 2642 ; non-fully-qualified # 🤹🏻‍♂ man juggling: light skin tone +1F939 1F3FC 200D 2642 FE0F ; fully-qualified # 🤹🏼‍♂️ man juggling: medium-light skin tone +1F939 1F3FC 200D 2642 ; non-fully-qualified # 🤹🏼‍♂ man juggling: medium-light skin tone +1F939 1F3FD 200D 2642 FE0F ; fully-qualified # 🤹🏽‍♂️ man juggling: medium skin tone +1F939 1F3FD 200D 2642 ; non-fully-qualified # 🤹🏽‍♂ man juggling: medium skin tone +1F939 1F3FE 200D 2642 FE0F ; fully-qualified # 🤹🏾‍♂️ man juggling: medium-dark skin tone +1F939 1F3FE 200D 2642 ; non-fully-qualified # 🤹🏾‍♂ man juggling: medium-dark skin tone +1F939 1F3FF 200D 2642 FE0F ; fully-qualified # 🤹🏿‍♂️ man juggling: dark skin tone +1F939 1F3FF 200D 2642 ; non-fully-qualified # 🤹🏿‍♂ man juggling: dark skin tone +1F939 200D 2640 FE0F ; fully-qualified # 🤹‍♀️ woman juggling +1F939 200D 2640 ; non-fully-qualified # 🤹‍♀ woman juggling +1F939 1F3FB 200D 2640 FE0F ; fully-qualified # 🤹🏻‍♀️ woman juggling: light skin tone +1F939 1F3FB 200D 2640 ; non-fully-qualified # 🤹🏻‍♀ woman juggling: light skin tone +1F939 1F3FC 200D 2640 FE0F ; fully-qualified # 🤹🏼‍♀️ woman juggling: medium-light skin tone +1F939 1F3FC 200D 2640 ; non-fully-qualified # 🤹🏼‍♀ woman juggling: medium-light skin tone +1F939 1F3FD 200D 2640 FE0F ; fully-qualified # 🤹🏽‍♀️ woman juggling: medium skin tone +1F939 1F3FD 200D 2640 ; non-fully-qualified # 🤹🏽‍♀ woman juggling: medium skin tone +1F939 1F3FE 200D 2640 FE0F ; fully-qualified # 🤹🏾‍♀️ woman juggling: medium-dark skin tone +1F939 1F3FE 200D 2640 ; non-fully-qualified # 🤹🏾‍♀ woman juggling: medium-dark skin tone +1F939 1F3FF 200D 2640 FE0F ; fully-qualified # 🤹🏿‍♀️ woman juggling: dark skin tone +1F939 1F3FF 200D 2640 ; non-fully-qualified # 🤹🏿‍♀ woman juggling: dark skin tone + +# subgroup: family +1F46B ; fully-qualified # 👫 man and woman holding hands +1F46C ; fully-qualified # 👬 two men holding hands +1F46D ; fully-qualified # 👭 two women holding hands +1F48F ; fully-qualified # 💏 kiss +1F469 200D 2764 FE0F 200D 1F48B 200D 1F468 ; fully-qualified # 👩‍❤️‍💋‍👨 kiss: woman, man +1F469 200D 2764 200D 1F48B 200D 1F468 ; non-fully-qualified # 👩‍❤‍💋‍👨 kiss: woman, man +1F468 200D 2764 FE0F 200D 1F48B 200D 1F468 ; fully-qualified # 👨‍❤️‍💋‍👨 kiss: man, man +1F468 200D 2764 200D 1F48B 200D 1F468 ; non-fully-qualified # 👨‍❤‍💋‍👨 kiss: man, man +1F469 200D 2764 FE0F 200D 1F48B 200D 1F469 ; fully-qualified # 👩‍❤️‍💋‍👩 kiss: woman, woman +1F469 200D 2764 200D 1F48B 200D 1F469 ; non-fully-qualified # 👩‍❤‍💋‍👩 kiss: woman, woman +1F491 ; fully-qualified # 💑 couple with heart +1F469 200D 2764 FE0F 200D 1F468 ; fully-qualified # 👩‍❤️‍👨 couple with heart: woman, man +1F469 200D 2764 200D 1F468 ; non-fully-qualified # 👩‍❤‍👨 couple with heart: woman, man +1F468 200D 2764 FE0F 200D 1F468 ; fully-qualified # 👨‍❤️‍👨 couple with heart: man, man +1F468 200D 2764 200D 1F468 ; non-fully-qualified # 👨‍❤‍👨 couple with heart: man, man +1F469 200D 2764 FE0F 200D 1F469 ; fully-qualified # 👩‍❤️‍👩 couple with heart: woman, woman +1F469 200D 2764 200D 1F469 ; non-fully-qualified # 👩‍❤‍👩 couple with heart: woman, woman +1F46A ; fully-qualified # 👪 family +1F468 200D 1F469 200D 1F466 ; fully-qualified # 👨‍👩‍👦 family: man, woman, boy +1F468 200D 1F469 200D 1F467 ; fully-qualified # 👨‍👩‍👧 family: man, woman, girl +1F468 200D 1F469 200D 1F467 200D 1F466 ; fully-qualified # 👨‍👩‍👧‍👦 family: man, woman, girl, boy +1F468 200D 1F469 200D 1F466 200D 1F466 ; fully-qualified # 👨‍👩‍👦‍👦 family: man, woman, boy, boy +1F468 200D 1F469 200D 1F467 200D 1F467 ; fully-qualified # 👨‍👩‍👧‍👧 family: man, woman, girl, girl +1F468 200D 1F468 200D 1F466 ; fully-qualified # 👨‍👨‍👦 family: man, man, boy +1F468 200D 1F468 200D 1F467 ; fully-qualified # 👨‍👨‍👧 family: man, man, girl +1F468 200D 1F468 200D 1F467 200D 1F466 ; fully-qualified # 👨‍👨‍👧‍👦 family: man, man, girl, boy +1F468 200D 1F468 200D 1F466 200D 1F466 ; fully-qualified # 👨‍👨‍👦‍👦 family: man, man, boy, boy +1F468 200D 1F468 200D 1F467 200D 1F467 ; fully-qualified # 👨‍👨‍👧‍👧 family: man, man, girl, girl +1F469 200D 1F469 200D 1F466 ; fully-qualified # 👩‍👩‍👦 family: woman, woman, boy +1F469 200D 1F469 200D 1F467 ; fully-qualified # 👩‍👩‍👧 family: woman, woman, girl +1F469 200D 1F469 200D 1F467 200D 1F466 ; fully-qualified # 👩‍👩‍👧‍👦 family: woman, woman, girl, boy +1F469 200D 1F469 200D 1F466 200D 1F466 ; fully-qualified # 👩‍👩‍👦‍👦 family: woman, woman, boy, boy +1F469 200D 1F469 200D 1F467 200D 1F467 ; fully-qualified # 👩‍👩‍👧‍👧 family: woman, woman, girl, girl +1F468 200D 1F466 ; fully-qualified # 👨‍👦 family: man, boy +1F468 200D 1F466 200D 1F466 ; fully-qualified # 👨‍👦‍👦 family: man, boy, boy +1F468 200D 1F467 ; fully-qualified # 👨‍👧 family: man, girl +1F468 200D 1F467 200D 1F466 ; fully-qualified # 👨‍👧‍👦 family: man, girl, boy +1F468 200D 1F467 200D 1F467 ; fully-qualified # 👨‍👧‍👧 family: man, girl, girl +1F469 200D 1F466 ; fully-qualified # 👩‍👦 family: woman, boy +1F469 200D 1F466 200D 1F466 ; fully-qualified # 👩‍👦‍👦 family: woman, boy, boy +1F469 200D 1F467 ; fully-qualified # 👩‍👧 family: woman, girl +1F469 200D 1F467 200D 1F466 ; fully-qualified # 👩‍👧‍👦 family: woman, girl, boy +1F469 200D 1F467 200D 1F467 ; fully-qualified # 👩‍👧‍👧 family: woman, girl, girl + +# subgroup: body +1F933 ; fully-qualified # 🤳 selfie +1F933 1F3FB ; fully-qualified # 🤳🏻 selfie: light skin tone +1F933 1F3FC ; fully-qualified # 🤳🏼 selfie: medium-light skin tone +1F933 1F3FD ; fully-qualified # 🤳🏽 selfie: medium skin tone +1F933 1F3FE ; fully-qualified # 🤳🏾 selfie: medium-dark skin tone +1F933 1F3FF ; fully-qualified # 🤳🏿 selfie: dark skin tone +1F4AA ; fully-qualified # 💪 flexed biceps +1F4AA 1F3FB ; fully-qualified # 💪🏻 flexed biceps: light skin tone +1F4AA 1F3FC ; fully-qualified # 💪🏼 flexed biceps: medium-light skin tone +1F4AA 1F3FD ; fully-qualified # 💪🏽 flexed biceps: medium skin tone +1F4AA 1F3FE ; fully-qualified # 💪🏾 flexed biceps: medium-dark skin tone +1F4AA 1F3FF ; fully-qualified # 💪🏿 flexed biceps: dark skin tone +1F448 ; fully-qualified # 👈 backhand index pointing left +1F448 1F3FB ; fully-qualified # 👈🏻 backhand index pointing left: light skin tone +1F448 1F3FC ; fully-qualified # 👈🏼 backhand index pointing left: medium-light skin tone +1F448 1F3FD ; fully-qualified # 👈🏽 backhand index pointing left: medium skin tone +1F448 1F3FE ; fully-qualified # 👈🏾 backhand index pointing left: medium-dark skin tone +1F448 1F3FF ; fully-qualified # 👈🏿 backhand index pointing left: dark skin tone +1F449 ; fully-qualified # 👉 backhand index pointing right +1F449 1F3FB ; fully-qualified # 👉🏻 backhand index pointing right: light skin tone +1F449 1F3FC ; fully-qualified # 👉🏼 backhand index pointing right: medium-light skin tone +1F449 1F3FD ; fully-qualified # 👉🏽 backhand index pointing right: medium skin tone +1F449 1F3FE ; fully-qualified # 👉🏾 backhand index pointing right: medium-dark skin tone +1F449 1F3FF ; fully-qualified # 👉🏿 backhand index pointing right: dark skin tone +261D FE0F ; fully-qualified # ☝️ index pointing up +261D ; non-fully-qualified # ☝ index pointing up +261D 1F3FB ; fully-qualified # ☝🏻 index pointing up: light skin tone +261D 1F3FC ; fully-qualified # ☝🏼 index pointing up: medium-light skin tone +261D 1F3FD ; fully-qualified # ☝🏽 index pointing up: medium skin tone +261D 1F3FE ; fully-qualified # ☝🏾 index pointing up: medium-dark skin tone +261D 1F3FF ; fully-qualified # ☝🏿 index pointing up: dark skin tone +1F446 ; fully-qualified # 👆 backhand index pointing up +1F446 1F3FB ; fully-qualified # 👆🏻 backhand index pointing up: light skin tone +1F446 1F3FC ; fully-qualified # 👆🏼 backhand index pointing up: medium-light skin tone +1F446 1F3FD ; fully-qualified # 👆🏽 backhand index pointing up: medium skin tone +1F446 1F3FE ; fully-qualified # 👆🏾 backhand index pointing up: medium-dark skin tone +1F446 1F3FF ; fully-qualified # 👆🏿 backhand index pointing up: dark skin tone +1F595 ; fully-qualified # 🖕 middle finger +1F595 1F3FB ; fully-qualified # 🖕🏻 middle finger: light skin tone +1F595 1F3FC ; fully-qualified # 🖕🏼 middle finger: medium-light skin tone +1F595 1F3FD ; fully-qualified # 🖕🏽 middle finger: medium skin tone +1F595 1F3FE ; fully-qualified # 🖕🏾 middle finger: medium-dark skin tone +1F595 1F3FF ; fully-qualified # 🖕🏿 middle finger: dark skin tone +1F447 ; fully-qualified # 👇 backhand index pointing down +1F447 1F3FB ; fully-qualified # 👇🏻 backhand index pointing down: light skin tone +1F447 1F3FC ; fully-qualified # 👇🏼 backhand index pointing down: medium-light skin tone +1F447 1F3FD ; fully-qualified # 👇🏽 backhand index pointing down: medium skin tone +1F447 1F3FE ; fully-qualified # 👇🏾 backhand index pointing down: medium-dark skin tone +1F447 1F3FF ; fully-qualified # 👇🏿 backhand index pointing down: dark skin tone +270C FE0F ; fully-qualified # ✌️ victory hand +270C ; non-fully-qualified # ✌ victory hand +270C 1F3FB ; fully-qualified # ✌🏻 victory hand: light skin tone +270C 1F3FC ; fully-qualified # ✌🏼 victory hand: medium-light skin tone +270C 1F3FD ; fully-qualified # ✌🏽 victory hand: medium skin tone +270C 1F3FE ; fully-qualified # ✌🏾 victory hand: medium-dark skin tone +270C 1F3FF ; fully-qualified # ✌🏿 victory hand: dark skin tone +1F91E ; fully-qualified # 🤞 crossed fingers +1F91E 1F3FB ; fully-qualified # 🤞🏻 crossed fingers: light skin tone +1F91E 1F3FC ; fully-qualified # 🤞🏼 crossed fingers: medium-light skin tone +1F91E 1F3FD ; fully-qualified # 🤞🏽 crossed fingers: medium skin tone +1F91E 1F3FE ; fully-qualified # 🤞🏾 crossed fingers: medium-dark skin tone +1F91E 1F3FF ; fully-qualified # 🤞🏿 crossed fingers: dark skin tone +1F596 ; fully-qualified # 🖖 vulcan salute +1F596 1F3FB ; fully-qualified # 🖖🏻 vulcan salute: light skin tone +1F596 1F3FC ; fully-qualified # 🖖🏼 vulcan salute: medium-light skin tone +1F596 1F3FD ; fully-qualified # 🖖🏽 vulcan salute: medium skin tone +1F596 1F3FE ; fully-qualified # 🖖🏾 vulcan salute: medium-dark skin tone +1F596 1F3FF ; fully-qualified # 🖖🏿 vulcan salute: dark skin tone +1F918 ; fully-qualified # 🤘 sign of the horns +1F918 1F3FB ; fully-qualified # 🤘🏻 sign of the horns: light skin tone +1F918 1F3FC ; fully-qualified # 🤘🏼 sign of the horns: medium-light skin tone +1F918 1F3FD ; fully-qualified # 🤘🏽 sign of the horns: medium skin tone +1F918 1F3FE ; fully-qualified # 🤘🏾 sign of the horns: medium-dark skin tone +1F918 1F3FF ; fully-qualified # 🤘🏿 sign of the horns: dark skin tone +1F919 ; fully-qualified # 🤙 call me hand +1F919 1F3FB ; fully-qualified # 🤙🏻 call me hand: light skin tone +1F919 1F3FC ; fully-qualified # 🤙🏼 call me hand: medium-light skin tone +1F919 1F3FD ; fully-qualified # 🤙🏽 call me hand: medium skin tone +1F919 1F3FE ; fully-qualified # 🤙🏾 call me hand: medium-dark skin tone +1F919 1F3FF ; fully-qualified # 🤙🏿 call me hand: dark skin tone +1F590 FE0F ; fully-qualified # 🖐️ raised hand with fingers splayed +1F590 ; non-fully-qualified # 🖐 raised hand with fingers splayed +1F590 1F3FB ; fully-qualified # 🖐🏻 raised hand with fingers splayed: light skin tone +1F590 1F3FC ; fully-qualified # 🖐🏼 raised hand with fingers splayed: medium-light skin tone +1F590 1F3FD ; fully-qualified # 🖐🏽 raised hand with fingers splayed: medium skin tone +1F590 1F3FE ; fully-qualified # 🖐🏾 raised hand with fingers splayed: medium-dark skin tone +1F590 1F3FF ; fully-qualified # 🖐🏿 raised hand with fingers splayed: dark skin tone +270B ; fully-qualified # ✋ raised hand +270B 1F3FB ; fully-qualified # ✋🏻 raised hand: light skin tone +270B 1F3FC ; fully-qualified # ✋🏼 raised hand: medium-light skin tone +270B 1F3FD ; fully-qualified # ✋🏽 raised hand: medium skin tone +270B 1F3FE ; fully-qualified # ✋🏾 raised hand: medium-dark skin tone +270B 1F3FF ; fully-qualified # ✋🏿 raised hand: dark skin tone +1F44C ; fully-qualified # 👌 OK hand +1F44C 1F3FB ; fully-qualified # 👌🏻 OK hand: light skin tone +1F44C 1F3FC ; fully-qualified # 👌🏼 OK hand: medium-light skin tone +1F44C 1F3FD ; fully-qualified # 👌🏽 OK hand: medium skin tone +1F44C 1F3FE ; fully-qualified # 👌🏾 OK hand: medium-dark skin tone +1F44C 1F3FF ; fully-qualified # 👌🏿 OK hand: dark skin tone +1F44D ; fully-qualified # 👍 thumbs up +1F44D 1F3FB ; fully-qualified # 👍🏻 thumbs up: light skin tone +1F44D 1F3FC ; fully-qualified # 👍🏼 thumbs up: medium-light skin tone +1F44D 1F3FD ; fully-qualified # 👍🏽 thumbs up: medium skin tone +1F44D 1F3FE ; fully-qualified # 👍🏾 thumbs up: medium-dark skin tone +1F44D 1F3FF ; fully-qualified # 👍🏿 thumbs up: dark skin tone +1F44E ; fully-qualified # 👎 thumbs down +1F44E 1F3FB ; fully-qualified # 👎🏻 thumbs down: light skin tone +1F44E 1F3FC ; fully-qualified # 👎🏼 thumbs down: medium-light skin tone +1F44E 1F3FD ; fully-qualified # 👎🏽 thumbs down: medium skin tone +1F44E 1F3FE ; fully-qualified # 👎🏾 thumbs down: medium-dark skin tone +1F44E 1F3FF ; fully-qualified # 👎🏿 thumbs down: dark skin tone +270A ; fully-qualified # ✊ raised fist +270A 1F3FB ; fully-qualified # ✊🏻 raised fist: light skin tone +270A 1F3FC ; fully-qualified # ✊🏼 raised fist: medium-light skin tone +270A 1F3FD ; fully-qualified # ✊🏽 raised fist: medium skin tone +270A 1F3FE ; fully-qualified # ✊🏾 raised fist: medium-dark skin tone +270A 1F3FF ; fully-qualified # ✊🏿 raised fist: dark skin tone +1F44A ; fully-qualified # 👊 oncoming fist +1F44A 1F3FB ; fully-qualified # 👊🏻 oncoming fist: light skin tone +1F44A 1F3FC ; fully-qualified # 👊🏼 oncoming fist: medium-light skin tone +1F44A 1F3FD ; fully-qualified # 👊🏽 oncoming fist: medium skin tone +1F44A 1F3FE ; fully-qualified # 👊🏾 oncoming fist: medium-dark skin tone +1F44A 1F3FF ; fully-qualified # 👊🏿 oncoming fist: dark skin tone +1F91B ; fully-qualified # 🤛 left-facing fist +1F91B 1F3FB ; fully-qualified # 🤛🏻 left-facing fist: light skin tone +1F91B 1F3FC ; fully-qualified # 🤛🏼 left-facing fist: medium-light skin tone +1F91B 1F3FD ; fully-qualified # 🤛🏽 left-facing fist: medium skin tone +1F91B 1F3FE ; fully-qualified # 🤛🏾 left-facing fist: medium-dark skin tone +1F91B 1F3FF ; fully-qualified # 🤛🏿 left-facing fist: dark skin tone +1F91C ; fully-qualified # 🤜 right-facing fist +1F91C 1F3FB ; fully-qualified # 🤜🏻 right-facing fist: light skin tone +1F91C 1F3FC ; fully-qualified # 🤜🏼 right-facing fist: medium-light skin tone +1F91C 1F3FD ; fully-qualified # 🤜🏽 right-facing fist: medium skin tone +1F91C 1F3FE ; fully-qualified # 🤜🏾 right-facing fist: medium-dark skin tone +1F91C 1F3FF ; fully-qualified # 🤜🏿 right-facing fist: dark skin tone +1F91A ; fully-qualified # 🤚 raised back of hand +1F91A 1F3FB ; fully-qualified # 🤚🏻 raised back of hand: light skin tone +1F91A 1F3FC ; fully-qualified # 🤚🏼 raised back of hand: medium-light skin tone +1F91A 1F3FD ; fully-qualified # 🤚🏽 raised back of hand: medium skin tone +1F91A 1F3FE ; fully-qualified # 🤚🏾 raised back of hand: medium-dark skin tone +1F91A 1F3FF ; fully-qualified # 🤚🏿 raised back of hand: dark skin tone +1F44B ; fully-qualified # 👋 waving hand +1F44B 1F3FB ; fully-qualified # 👋🏻 waving hand: light skin tone +1F44B 1F3FC ; fully-qualified # 👋🏼 waving hand: medium-light skin tone +1F44B 1F3FD ; fully-qualified # 👋🏽 waving hand: medium skin tone +1F44B 1F3FE ; fully-qualified # 👋🏾 waving hand: medium-dark skin tone +1F44B 1F3FF ; fully-qualified # 👋🏿 waving hand: dark skin tone +1F91F ; fully-qualified # 🤟 love-you gesture +1F91F 1F3FB ; fully-qualified # 🤟🏻 love-you gesture: light skin tone +1F91F 1F3FC ; fully-qualified # 🤟🏼 love-you gesture: medium-light skin tone +1F91F 1F3FD ; fully-qualified # 🤟🏽 love-you gesture: medium skin tone +1F91F 1F3FE ; fully-qualified # 🤟🏾 love-you gesture: medium-dark skin tone +1F91F 1F3FF ; fully-qualified # 🤟🏿 love-you gesture: dark skin tone +270D FE0F ; fully-qualified # ✍️ writing hand +270D ; non-fully-qualified # ✍ writing hand +270D 1F3FB ; fully-qualified # ✍🏻 writing hand: light skin tone +270D 1F3FC ; fully-qualified # ✍🏼 writing hand: medium-light skin tone +270D 1F3FD ; fully-qualified # ✍🏽 writing hand: medium skin tone +270D 1F3FE ; fully-qualified # ✍🏾 writing hand: medium-dark skin tone +270D 1F3FF ; fully-qualified # ✍🏿 writing hand: dark skin tone +1F44F ; fully-qualified # 👏 clapping hands +1F44F 1F3FB ; fully-qualified # 👏🏻 clapping hands: light skin tone +1F44F 1F3FC ; fully-qualified # 👏🏼 clapping hands: medium-light skin tone +1F44F 1F3FD ; fully-qualified # 👏🏽 clapping hands: medium skin tone +1F44F 1F3FE ; fully-qualified # 👏🏾 clapping hands: medium-dark skin tone +1F44F 1F3FF ; fully-qualified # 👏🏿 clapping hands: dark skin tone +1F450 ; fully-qualified # 👐 open hands +1F450 1F3FB ; fully-qualified # 👐🏻 open hands: light skin tone +1F450 1F3FC ; fully-qualified # 👐🏼 open hands: medium-light skin tone +1F450 1F3FD ; fully-qualified # 👐🏽 open hands: medium skin tone +1F450 1F3FE ; fully-qualified # 👐🏾 open hands: medium-dark skin tone +1F450 1F3FF ; fully-qualified # 👐🏿 open hands: dark skin tone +1F64C ; fully-qualified # 🙌 raising hands +1F64C 1F3FB ; fully-qualified # 🙌🏻 raising hands: light skin tone +1F64C 1F3FC ; fully-qualified # 🙌🏼 raising hands: medium-light skin tone +1F64C 1F3FD ; fully-qualified # 🙌🏽 raising hands: medium skin tone +1F64C 1F3FE ; fully-qualified # 🙌🏾 raising hands: medium-dark skin tone +1F64C 1F3FF ; fully-qualified # 🙌🏿 raising hands: dark skin tone +1F932 ; fully-qualified # 🤲 palms up together +1F932 1F3FB ; fully-qualified # 🤲🏻 palms up together: light skin tone +1F932 1F3FC ; fully-qualified # 🤲🏼 palms up together: medium-light skin tone +1F932 1F3FD ; fully-qualified # 🤲🏽 palms up together: medium skin tone +1F932 1F3FE ; fully-qualified # 🤲🏾 palms up together: medium-dark skin tone +1F932 1F3FF ; fully-qualified # 🤲🏿 palms up together: dark skin tone +1F64F ; fully-qualified # 🙏 folded hands +1F64F 1F3FB ; fully-qualified # 🙏🏻 folded hands: light skin tone +1F64F 1F3FC ; fully-qualified # 🙏🏼 folded hands: medium-light skin tone +1F64F 1F3FD ; fully-qualified # 🙏🏽 folded hands: medium skin tone +1F64F 1F3FE ; fully-qualified # 🙏🏾 folded hands: medium-dark skin tone +1F64F 1F3FF ; fully-qualified # 🙏🏿 folded hands: dark skin tone +1F91D ; fully-qualified # 🤝 handshake +1F485 ; fully-qualified # 💅 nail polish +1F485 1F3FB ; fully-qualified # 💅🏻 nail polish: light skin tone +1F485 1F3FC ; fully-qualified # 💅🏼 nail polish: medium-light skin tone +1F485 1F3FD ; fully-qualified # 💅🏽 nail polish: medium skin tone +1F485 1F3FE ; fully-qualified # 💅🏾 nail polish: medium-dark skin tone +1F485 1F3FF ; fully-qualified # 💅🏿 nail polish: dark skin tone +1F442 ; fully-qualified # 👂 ear +1F442 1F3FB ; fully-qualified # 👂🏻 ear: light skin tone +1F442 1F3FC ; fully-qualified # 👂🏼 ear: medium-light skin tone +1F442 1F3FD ; fully-qualified # 👂🏽 ear: medium skin tone +1F442 1F3FE ; fully-qualified # 👂🏾 ear: medium-dark skin tone +1F442 1F3FF ; fully-qualified # 👂🏿 ear: dark skin tone +1F443 ; fully-qualified # 👃 nose +1F443 1F3FB ; fully-qualified # 👃🏻 nose: light skin tone +1F443 1F3FC ; fully-qualified # 👃🏼 nose: medium-light skin tone +1F443 1F3FD ; fully-qualified # 👃🏽 nose: medium skin tone +1F443 1F3FE ; fully-qualified # 👃🏾 nose: medium-dark skin tone +1F443 1F3FF ; fully-qualified # 👃🏿 nose: dark skin tone +1F463 ; fully-qualified # 👣 footprints +1F440 ; fully-qualified # 👀 eyes +1F441 FE0F ; fully-qualified # 👁️ eye +1F441 ; non-fully-qualified # 👁 eye +1F441 FE0F 200D 1F5E8 FE0F ; fully-qualified # 👁️‍🗨️ eye in speech bubble +1F441 200D 1F5E8 FE0F ; non-fully-qualified # 👁‍🗨️ eye in speech bubble +1F441 FE0F 200D 1F5E8 ; non-fully-qualified # 👁️‍🗨 eye in speech bubble +1F441 200D 1F5E8 ; non-fully-qualified # 👁‍🗨 eye in speech bubble +1F9E0 ; fully-qualified # 🧠 brain +1F445 ; fully-qualified # 👅 tongue +1F444 ; fully-qualified # 👄 mouth + +# subgroup: emotion +1F48B ; fully-qualified # 💋 kiss mark +1F498 ; fully-qualified # 💘 heart with arrow +2764 FE0F ; fully-qualified # ❤️ red heart +2764 ; non-fully-qualified # ❤ red heart +1F493 ; fully-qualified # 💓 beating heart +1F494 ; fully-qualified # 💔 broken heart +1F495 ; fully-qualified # 💕 two hearts +1F496 ; fully-qualified # 💖 sparkling heart +1F497 ; fully-qualified # 💗 growing heart +1F499 ; fully-qualified # 💙 blue heart +1F49A ; fully-qualified # 💚 green heart +1F49B ; fully-qualified # 💛 yellow heart +1F9E1 ; fully-qualified # 🧡 orange heart +1F49C ; fully-qualified # 💜 purple heart +1F5A4 ; fully-qualified # 🖤 black heart +1F49D ; fully-qualified # 💝 heart with ribbon +1F49E ; fully-qualified # 💞 revolving hearts +1F49F ; fully-qualified # 💟 heart decoration +2763 FE0F ; fully-qualified # ❣️ heavy heart exclamation +2763 ; non-fully-qualified # ❣ heavy heart exclamation +1F48C ; fully-qualified # 💌 love letter +1F4A4 ; fully-qualified # 💤 zzz +1F4A2 ; fully-qualified # 💢 anger symbol +1F4A3 ; fully-qualified # 💣 bomb +1F4A5 ; fully-qualified # 💥 collision +1F4A6 ; fully-qualified # 💦 sweat droplets +1F4A8 ; fully-qualified # 💨 dashing away +1F4AB ; fully-qualified # 💫 dizzy +1F4AC ; fully-qualified # 💬 speech balloon +1F5E8 FE0F ; fully-qualified # 🗨️ left speech bubble +1F5E8 ; non-fully-qualified # 🗨 left speech bubble +1F5EF FE0F ; fully-qualified # 🗯️ right anger bubble +1F5EF ; non-fully-qualified # 🗯 right anger bubble +1F4AD ; fully-qualified # 💭 thought balloon +1F573 FE0F ; fully-qualified # 🕳️ hole +1F573 ; non-fully-qualified # 🕳 hole + +# subgroup: clothing +1F453 ; fully-qualified # 👓 glasses +1F576 FE0F ; fully-qualified # 🕶️ sunglasses +1F576 ; non-fully-qualified # 🕶 sunglasses +1F454 ; fully-qualified # 👔 necktie +1F455 ; fully-qualified # 👕 t-shirt +1F456 ; fully-qualified # 👖 jeans +1F9E3 ; fully-qualified # 🧣 scarf +1F9E4 ; fully-qualified # 🧤 gloves +1F9E5 ; fully-qualified # 🧥 coat +1F9E6 ; fully-qualified # 🧦 socks +1F457 ; fully-qualified # 👗 dress +1F458 ; fully-qualified # 👘 kimono +1F459 ; fully-qualified # 👙 bikini +1F45A ; fully-qualified # 👚 woman’s clothes +1F45B ; fully-qualified # 👛 purse +1F45C ; fully-qualified # 👜 handbag +1F45D ; fully-qualified # 👝 clutch bag +1F6CD FE0F ; fully-qualified # 🛍️ shopping bags +1F6CD ; non-fully-qualified # 🛍 shopping bags +1F392 ; fully-qualified # 🎒 school backpack +1F45E ; fully-qualified # 👞 man’s shoe +1F45F ; fully-qualified # 👟 running shoe +1F460 ; fully-qualified # 👠 high-heeled shoe +1F461 ; fully-qualified # 👡 woman’s sandal +1F462 ; fully-qualified # 👢 woman’s boot +1F451 ; fully-qualified # 👑 crown +1F452 ; fully-qualified # 👒 woman’s hat +1F3A9 ; fully-qualified # 🎩 top hat +1F393 ; fully-qualified # 🎓 graduation cap +1F9E2 ; fully-qualified # 🧢 billed cap +26D1 FE0F ; fully-qualified # ⛑️ rescue worker’s helmet +26D1 ; non-fully-qualified # ⛑ rescue worker’s helmet +1F4FF ; fully-qualified # 📿 prayer beads +1F484 ; fully-qualified # 💄 lipstick +1F48D ; fully-qualified # 💍 ring +1F48E ; fully-qualified # 💎 gem stone + +# Smileys & People subtotal: 2069 +# Smileys & People subtotal: 589 w/o modifiers + +# group: Animals & Nature + +# subgroup: animal-mammal +1F435 ; fully-qualified # 🐵 monkey face +1F412 ; fully-qualified # 🐒 monkey +1F98D ; fully-qualified # 🦍 gorilla +1F436 ; fully-qualified # 🐶 dog face +1F415 ; fully-qualified # 🐕 dog +1F429 ; fully-qualified # 🐩 poodle +1F43A ; fully-qualified # 🐺 wolf face +1F98A ; fully-qualified # 🦊 fox face +1F431 ; fully-qualified # 🐱 cat face +1F408 ; fully-qualified # 🐈 cat +1F981 ; fully-qualified # 🦁 lion face +1F42F ; fully-qualified # 🐯 tiger face +1F405 ; fully-qualified # 🐅 tiger +1F406 ; fully-qualified # 🐆 leopard +1F434 ; fully-qualified # 🐴 horse face +1F40E ; fully-qualified # 🐎 horse +1F984 ; fully-qualified # 🦄 unicorn face +1F993 ; fully-qualified # 🦓 zebra +1F98C ; fully-qualified # 🦌 deer +1F42E ; fully-qualified # 🐮 cow face +1F402 ; fully-qualified # 🐂 ox +1F403 ; fully-qualified # 🐃 water buffalo +1F404 ; fully-qualified # 🐄 cow +1F437 ; fully-qualified # 🐷 pig face +1F416 ; fully-qualified # 🐖 pig +1F417 ; fully-qualified # 🐗 boar +1F43D ; fully-qualified # 🐽 pig nose +1F40F ; fully-qualified # 🐏 ram +1F411 ; fully-qualified # 🐑 ewe +1F410 ; fully-qualified # 🐐 goat +1F42A ; fully-qualified # 🐪 camel +1F42B ; fully-qualified # 🐫 two-hump camel +1F992 ; fully-qualified # 🦒 giraffe +1F418 ; fully-qualified # 🐘 elephant +1F98F ; fully-qualified # 🦏 rhinoceros +1F42D ; fully-qualified # 🐭 mouse face +1F401 ; fully-qualified # 🐁 mouse +1F400 ; fully-qualified # 🐀 rat +1F439 ; fully-qualified # 🐹 hamster face +1F430 ; fully-qualified # 🐰 rabbit face +1F407 ; fully-qualified # 🐇 rabbit +1F43F FE0F ; fully-qualified # 🐿️ chipmunk +1F43F ; non-fully-qualified # 🐿 chipmunk +1F994 ; fully-qualified # 🦔 hedgehog +1F987 ; fully-qualified # 🦇 bat +1F43B ; fully-qualified # 🐻 bear face +1F428 ; fully-qualified # 🐨 koala +1F43C ; fully-qualified # 🐼 panda face +1F43E ; fully-qualified # 🐾 paw prints + +# subgroup: animal-bird +1F983 ; fully-qualified # 🦃 turkey +1F414 ; fully-qualified # 🐔 chicken +1F413 ; fully-qualified # 🐓 rooster +1F423 ; fully-qualified # 🐣 hatching chick +1F424 ; fully-qualified # 🐤 baby chick +1F425 ; fully-qualified # 🐥 front-facing baby chick +1F426 ; fully-qualified # 🐦 bird +1F427 ; fully-qualified # 🐧 penguin +1F54A FE0F ; fully-qualified # 🕊️ dove +1F54A ; non-fully-qualified # 🕊 dove +1F985 ; fully-qualified # 🦅 eagle +1F986 ; fully-qualified # 🦆 duck +1F989 ; fully-qualified # 🦉 owl + +# subgroup: animal-amphibian +1F438 ; fully-qualified # 🐸 frog face + +# subgroup: animal-reptile +1F40A ; fully-qualified # 🐊 crocodile +1F422 ; fully-qualified # 🐢 turtle +1F98E ; fully-qualified # 🦎 lizard +1F40D ; fully-qualified # 🐍 snake +1F432 ; fully-qualified # 🐲 dragon face +1F409 ; fully-qualified # 🐉 dragon +1F995 ; fully-qualified # 🦕 sauropod +1F996 ; fully-qualified # 🦖 T-Rex + +# subgroup: animal-marine +1F433 ; fully-qualified # 🐳 spouting whale +1F40B ; fully-qualified # 🐋 whale +1F42C ; fully-qualified # 🐬 dolphin +1F41F ; fully-qualified # 🐟 fish +1F420 ; fully-qualified # 🐠 tropical fish +1F421 ; fully-qualified # 🐡 blowfish +1F988 ; fully-qualified # 🦈 shark +1F419 ; fully-qualified # 🐙 octopus +1F41A ; fully-qualified # 🐚 spiral shell +1F980 ; fully-qualified # 🦀 crab +1F990 ; fully-qualified # 🦐 shrimp +1F991 ; fully-qualified # 🦑 squid + +# subgroup: animal-bug +1F40C ; fully-qualified # 🐌 snail +1F98B ; fully-qualified # 🦋 butterfly +1F41B ; fully-qualified # 🐛 bug +1F41C ; fully-qualified # 🐜 ant +1F41D ; fully-qualified # 🐝 honeybee +1F41E ; fully-qualified # 🐞 lady beetle +1F997 ; fully-qualified # 🦗 cricket +1F577 FE0F ; fully-qualified # 🕷️ spider +1F577 ; non-fully-qualified # 🕷 spider +1F578 FE0F ; fully-qualified # 🕸️ spider web +1F578 ; non-fully-qualified # 🕸 spider web +1F982 ; fully-qualified # 🦂 scorpion + +# subgroup: plant-flower +1F490 ; fully-qualified # 💐 bouquet +1F338 ; fully-qualified # 🌸 cherry blossom +1F4AE ; fully-qualified # 💮 white flower +1F3F5 FE0F ; fully-qualified # 🏵️ rosette +1F3F5 ; non-fully-qualified # 🏵 rosette +1F339 ; fully-qualified # 🌹 rose +1F940 ; fully-qualified # 🥀 wilted flower +1F33A ; fully-qualified # 🌺 hibiscus +1F33B ; fully-qualified # 🌻 sunflower +1F33C ; fully-qualified # 🌼 blossom +1F337 ; fully-qualified # 🌷 tulip + +# subgroup: plant-other +1F331 ; fully-qualified # 🌱 seedling +1F332 ; fully-qualified # 🌲 evergreen tree +1F333 ; fully-qualified # 🌳 deciduous tree +1F334 ; fully-qualified # 🌴 palm tree +1F335 ; fully-qualified # 🌵 cactus +1F33E ; fully-qualified # 🌾 sheaf of rice +1F33F ; fully-qualified # 🌿 herb +2618 FE0F ; fully-qualified # ☘️ shamrock +2618 ; non-fully-qualified # ☘ shamrock +1F340 ; fully-qualified # 🍀 four leaf clover +1F341 ; fully-qualified # 🍁 maple leaf +1F342 ; fully-qualified # 🍂 fallen leaf +1F343 ; fully-qualified # 🍃 leaf fluttering in wind + +# Animals & Nature subtotal: 119 +# Animals & Nature subtotal: 119 w/o modifiers + +# group: Food & Drink + +# subgroup: food-fruit +1F347 ; fully-qualified # 🍇 grapes +1F348 ; fully-qualified # 🍈 melon +1F349 ; fully-qualified # 🍉 watermelon +1F34A ; fully-qualified # 🍊 tangerine +1F34B ; fully-qualified # 🍋 lemon +1F34C ; fully-qualified # 🍌 banana +1F34D ; fully-qualified # 🍍 pineapple +1F34E ; fully-qualified # 🍎 red apple +1F34F ; fully-qualified # 🍏 green apple +1F350 ; fully-qualified # 🍐 pear +1F351 ; fully-qualified # 🍑 peach +1F352 ; fully-qualified # 🍒 cherries +1F353 ; fully-qualified # 🍓 strawberry +1F95D ; fully-qualified # 🥝 kiwi fruit +1F345 ; fully-qualified # 🍅 tomato +1F965 ; fully-qualified # 🥥 coconut + +# subgroup: food-vegetable +1F951 ; fully-qualified # 🥑 avocado +1F346 ; fully-qualified # 🍆 eggplant +1F954 ; fully-qualified # 🥔 potato +1F955 ; fully-qualified # 🥕 carrot +1F33D ; fully-qualified # 🌽 ear of corn +1F336 FE0F ; fully-qualified # 🌶️ hot pepper +1F336 ; non-fully-qualified # 🌶 hot pepper +1F952 ; fully-qualified # 🥒 cucumber +1F966 ; fully-qualified # 🥦 broccoli +1F344 ; fully-qualified # 🍄 mushroom +1F95C ; fully-qualified # 🥜 peanuts +1F330 ; fully-qualified # 🌰 chestnut + +# subgroup: food-prepared +1F35E ; fully-qualified # 🍞 bread +1F950 ; fully-qualified # 🥐 croissant +1F956 ; fully-qualified # 🥖 baguette bread +1F968 ; fully-qualified # 🥨 pretzel +1F95E ; fully-qualified # 🥞 pancakes +1F9C0 ; fully-qualified # 🧀 cheese wedge +1F356 ; fully-qualified # 🍖 meat on bone +1F357 ; fully-qualified # 🍗 poultry leg +1F969 ; fully-qualified # 🥩 cut of meat +1F953 ; fully-qualified # 🥓 bacon +1F354 ; fully-qualified # 🍔 hamburger +1F35F ; fully-qualified # 🍟 french fries +1F355 ; fully-qualified # 🍕 pizza +1F32D ; fully-qualified # 🌭 hot dog +1F96A ; fully-qualified # 🥪 sandwich +1F32E ; fully-qualified # 🌮 taco +1F32F ; fully-qualified # 🌯 burrito +1F959 ; fully-qualified # 🥙 stuffed flatbread +1F95A ; fully-qualified # 🥚 egg +1F373 ; fully-qualified # 🍳 cooking +1F958 ; fully-qualified # 🥘 shallow pan of food +1F372 ; fully-qualified # 🍲 pot of food +1F963 ; fully-qualified # 🥣 bowl with spoon +1F957 ; fully-qualified # 🥗 green salad +1F37F ; fully-qualified # 🍿 popcorn +1F96B ; fully-qualified # 🥫 canned food + +# subgroup: food-asian +1F371 ; fully-qualified # 🍱 bento box +1F358 ; fully-qualified # 🍘 rice cracker +1F359 ; fully-qualified # 🍙 rice ball +1F35A ; fully-qualified # 🍚 cooked rice +1F35B ; fully-qualified # 🍛 curry rice +1F35C ; fully-qualified # 🍜 steaming bowl +1F35D ; fully-qualified # 🍝 spaghetti +1F360 ; fully-qualified # 🍠 roasted sweet potato +1F362 ; fully-qualified # 🍢 oden +1F363 ; fully-qualified # 🍣 sushi +1F364 ; fully-qualified # 🍤 fried shrimp +1F365 ; fully-qualified # 🍥 fish cake with swirl +1F361 ; fully-qualified # 🍡 dango +1F95F ; fully-qualified # 🥟 dumpling +1F960 ; fully-qualified # 🥠 fortune cookie +1F961 ; fully-qualified # 🥡 takeout box + +# subgroup: food-sweet +1F366 ; fully-qualified # 🍦 soft ice cream +1F367 ; fully-qualified # 🍧 shaved ice +1F368 ; fully-qualified # 🍨 ice cream +1F369 ; fully-qualified # 🍩 doughnut +1F36A ; fully-qualified # 🍪 cookie +1F382 ; fully-qualified # 🎂 birthday cake +1F370 ; fully-qualified # 🍰 shortcake +1F967 ; fully-qualified # 🥧 pie +1F36B ; fully-qualified # 🍫 chocolate bar +1F36C ; fully-qualified # 🍬 candy +1F36D ; fully-qualified # 🍭 lollipop +1F36E ; fully-qualified # 🍮 custard +1F36F ; fully-qualified # 🍯 honey pot + +# subgroup: drink +1F37C ; fully-qualified # 🍼 baby bottle +1F95B ; fully-qualified # 🥛 glass of milk +2615 ; fully-qualified # ☕ hot beverage +1F375 ; fully-qualified # 🍵 teacup without handle +1F376 ; fully-qualified # 🍶 sake +1F37E ; fully-qualified # 🍾 bottle with popping cork +1F377 ; fully-qualified # 🍷 wine glass +1F378 ; fully-qualified # 🍸 cocktail glass +1F379 ; fully-qualified # 🍹 tropical drink +1F37A ; fully-qualified # 🍺 beer mug +1F37B ; fully-qualified # 🍻 clinking beer mugs +1F942 ; fully-qualified # 🥂 clinking glasses +1F943 ; fully-qualified # 🥃 tumbler glass +1F964 ; fully-qualified # 🥤 cup with straw + +# subgroup: dishware +1F962 ; fully-qualified # 🥢 chopsticks +1F37D FE0F ; fully-qualified # 🍽️ fork and knife with plate +1F37D ; non-fully-qualified # 🍽 fork and knife with plate +1F374 ; fully-qualified # 🍴 fork and knife +1F944 ; fully-qualified # 🥄 spoon +1F52A ; fully-qualified # 🔪 kitchen knife +1F3FA ; fully-qualified # 🏺 amphora + +# Food & Drink subtotal: 104 +# Food & Drink subtotal: 104 w/o modifiers + +# group: Travel & Places + +# subgroup: place-map +1F30D ; fully-qualified # 🌍 globe showing Europe-Africa +1F30E ; fully-qualified # 🌎 globe showing Americas +1F30F ; fully-qualified # 🌏 globe showing Asia-Australia +1F310 ; fully-qualified # 🌐 globe with meridians +1F5FA FE0F ; fully-qualified # 🗺️ world map +1F5FA ; non-fully-qualified # 🗺 world map +1F5FE ; fully-qualified # 🗾 map of Japan + +# subgroup: place-geographic +1F3D4 FE0F ; fully-qualified # 🏔️ snow-capped mountain +1F3D4 ; non-fully-qualified # 🏔 snow-capped mountain +26F0 FE0F ; fully-qualified # ⛰️ mountain +26F0 ; non-fully-qualified # ⛰ mountain +1F30B ; fully-qualified # 🌋 volcano +1F5FB ; fully-qualified # 🗻 mount fuji +1F3D5 FE0F ; fully-qualified # 🏕️ camping +1F3D5 ; non-fully-qualified # 🏕 camping +1F3D6 FE0F ; fully-qualified # 🏖️ beach with umbrella +1F3D6 ; non-fully-qualified # 🏖 beach with umbrella +1F3DC FE0F ; fully-qualified # 🏜️ desert +1F3DC ; non-fully-qualified # 🏜 desert +1F3DD FE0F ; fully-qualified # 🏝️ desert island +1F3DD ; non-fully-qualified # 🏝 desert island +1F3DE FE0F ; fully-qualified # 🏞️ national park +1F3DE ; non-fully-qualified # 🏞 national park + +# subgroup: place-building +1F3DF FE0F ; fully-qualified # 🏟️ stadium +1F3DF ; non-fully-qualified # 🏟 stadium +1F3DB FE0F ; fully-qualified # 🏛️ classical building +1F3DB ; non-fully-qualified # 🏛 classical building +1F3D7 FE0F ; fully-qualified # 🏗️ building construction +1F3D7 ; non-fully-qualified # 🏗 building construction +1F3D8 FE0F ; fully-qualified # 🏘️ house +1F3D8 ; non-fully-qualified # 🏘 house +1F3D9 FE0F ; fully-qualified # 🏙️ cityscape +1F3D9 ; non-fully-qualified # 🏙 cityscape +1F3DA FE0F ; fully-qualified # 🏚️ derelict house +1F3DA ; non-fully-qualified # 🏚 derelict house +1F3E0 ; fully-qualified # 🏠 house +1F3E1 ; fully-qualified # 🏡 house with garden +1F3E2 ; fully-qualified # 🏢 office building +1F3E3 ; fully-qualified # 🏣 Japanese post office +1F3E4 ; fully-qualified # 🏤 post office +1F3E5 ; fully-qualified # 🏥 hospital +1F3E6 ; fully-qualified # 🏦 bank +1F3E8 ; fully-qualified # 🏨 hotel +1F3E9 ; fully-qualified # 🏩 love hotel +1F3EA ; fully-qualified # 🏪 convenience store +1F3EB ; fully-qualified # 🏫 school +1F3EC ; fully-qualified # 🏬 department store +1F3ED ; fully-qualified # 🏭 factory +1F3EF ; fully-qualified # 🏯 Japanese castle +1F3F0 ; fully-qualified # 🏰 castle +1F492 ; fully-qualified # 💒 wedding +1F5FC ; fully-qualified # 🗼 Tokyo tower +1F5FD ; fully-qualified # 🗽 Statue of Liberty + +# subgroup: place-religious +26EA ; fully-qualified # ⛪ church +1F54C ; fully-qualified # 🕌 mosque +1F54D ; fully-qualified # 🕍 synagogue +26E9 FE0F ; fully-qualified # ⛩️ shinto shrine +26E9 ; non-fully-qualified # ⛩ shinto shrine +1F54B ; fully-qualified # 🕋 kaaba + +# subgroup: place-other +26F2 ; fully-qualified # ⛲ fountain +26FA ; fully-qualified # ⛺ tent +1F301 ; fully-qualified # 🌁 foggy +1F303 ; fully-qualified # 🌃 night with stars +1F304 ; fully-qualified # 🌄 sunrise over mountains +1F305 ; fully-qualified # 🌅 sunrise +1F306 ; fully-qualified # 🌆 cityscape at dusk +1F307 ; fully-qualified # 🌇 sunset +1F309 ; fully-qualified # 🌉 bridge at night +2668 FE0F ; fully-qualified # ♨️ hot springs +2668 ; non-fully-qualified # ♨ hot springs +1F30C ; fully-qualified # 🌌 milky way +1F3A0 ; fully-qualified # 🎠 carousel horse +1F3A1 ; fully-qualified # 🎡 ferris wheel +1F3A2 ; fully-qualified # 🎢 roller coaster +1F488 ; fully-qualified # 💈 barber pole +1F3AA ; fully-qualified # 🎪 circus tent +1F3AD ; fully-qualified # 🎭 performing arts +1F5BC FE0F ; fully-qualified # 🖼️ framed picture +1F5BC ; non-fully-qualified # 🖼 framed picture +1F3A8 ; fully-qualified # 🎨 artist palette +1F3B0 ; fully-qualified # 🎰 slot machine + +# subgroup: transport-ground +1F682 ; fully-qualified # 🚂 locomotive +1F683 ; fully-qualified # 🚃 railway car +1F684 ; fully-qualified # 🚄 high-speed train +1F685 ; fully-qualified # 🚅 high-speed train with bullet nose +1F686 ; fully-qualified # 🚆 train +1F687 ; fully-qualified # 🚇 metro +1F688 ; fully-qualified # 🚈 light rail +1F689 ; fully-qualified # 🚉 station +1F68A ; fully-qualified # 🚊 tram +1F69D ; fully-qualified # 🚝 monorail +1F69E ; fully-qualified # 🚞 mountain railway +1F68B ; fully-qualified # 🚋 tram car +1F68C ; fully-qualified # 🚌 bus +1F68D ; fully-qualified # 🚍 oncoming bus +1F68E ; fully-qualified # 🚎 trolleybus +1F690 ; fully-qualified # 🚐 minibus +1F691 ; fully-qualified # 🚑 ambulance +1F692 ; fully-qualified # 🚒 fire engine +1F693 ; fully-qualified # 🚓 police car +1F694 ; fully-qualified # 🚔 oncoming police car +1F695 ; fully-qualified # 🚕 taxi +1F696 ; fully-qualified # 🚖 oncoming taxi +1F697 ; fully-qualified # 🚗 automobile +1F698 ; fully-qualified # 🚘 oncoming automobile +1F699 ; fully-qualified # 🚙 sport utility vehicle +1F69A ; fully-qualified # 🚚 delivery truck +1F69B ; fully-qualified # 🚛 articulated lorry +1F69C ; fully-qualified # 🚜 tractor +1F6B2 ; fully-qualified # 🚲 bicycle +1F6F4 ; fully-qualified # 🛴 kick scooter +1F6F5 ; fully-qualified # 🛵 motor scooter +1F68F ; fully-qualified # 🚏 bus stop +1F6E3 FE0F ; fully-qualified # 🛣️ motorway +1F6E3 ; non-fully-qualified # 🛣 motorway +1F6E4 FE0F ; fully-qualified # 🛤️ railway track +1F6E4 ; non-fully-qualified # 🛤 railway track +26FD ; fully-qualified # ⛽ fuel pump +1F6A8 ; fully-qualified # 🚨 police car light +1F6A5 ; fully-qualified # 🚥 horizontal traffic light +1F6A6 ; fully-qualified # 🚦 vertical traffic light +1F6A7 ; fully-qualified # 🚧 construction +1F6D1 ; fully-qualified # 🛑 stop sign + +# subgroup: transport-water +2693 ; fully-qualified # ⚓ anchor +26F5 ; fully-qualified # ⛵ sailboat +1F6F6 ; fully-qualified # 🛶 canoe +1F6A4 ; fully-qualified # 🚤 speedboat +1F6F3 FE0F ; fully-qualified # 🛳️ passenger ship +1F6F3 ; non-fully-qualified # 🛳 passenger ship +26F4 FE0F ; fully-qualified # ⛴️ ferry +26F4 ; non-fully-qualified # ⛴ ferry +1F6E5 FE0F ; fully-qualified # 🛥️ motor boat +1F6E5 ; non-fully-qualified # 🛥 motor boat +1F6A2 ; fully-qualified # 🚢 ship + +# subgroup: transport-air +2708 FE0F ; fully-qualified # ✈️ airplane +2708 ; non-fully-qualified # ✈ airplane +1F6E9 FE0F ; fully-qualified # 🛩️ small airplane +1F6E9 ; non-fully-qualified # 🛩 small airplane +1F6EB ; fully-qualified # 🛫 airplane departure +1F6EC ; fully-qualified # 🛬 airplane arrival +1F4BA ; fully-qualified # 💺 seat +1F681 ; fully-qualified # 🚁 helicopter +1F69F ; fully-qualified # 🚟 suspension railway +1F6A0 ; fully-qualified # 🚠 mountain cableway +1F6A1 ; fully-qualified # 🚡 aerial tramway +1F6F0 FE0F ; fully-qualified # 🛰️ satellite +1F6F0 ; non-fully-qualified # 🛰 satellite +1F680 ; fully-qualified # 🚀 rocket +1F6F8 ; fully-qualified # 🛸 flying saucer + +# subgroup: hotel +1F6CE FE0F ; fully-qualified # 🛎️ bellhop bell +1F6CE ; non-fully-qualified # 🛎 bellhop bell +1F6AA ; fully-qualified # 🚪 door +1F6CF FE0F ; fully-qualified # 🛏️ bed +1F6CF ; non-fully-qualified # 🛏 bed +1F6CB FE0F ; fully-qualified # 🛋️ couch and lamp +1F6CB ; non-fully-qualified # 🛋 couch and lamp +1F6BD ; fully-qualified # 🚽 toilet +1F6BF ; fully-qualified # 🚿 shower +1F6C1 ; fully-qualified # 🛁 bathtub + +# subgroup: time +231B ; fully-qualified # ⌛ hourglass +23F3 ; fully-qualified # ⏳ hourglass with flowing sand +231A ; fully-qualified # ⌚ watch +23F0 ; fully-qualified # ⏰ alarm clock +23F1 FE0F ; fully-qualified # ⏱️ stopwatch +23F1 ; non-fully-qualified # ⏱ stopwatch +23F2 FE0F ; fully-qualified # ⏲️ timer clock +23F2 ; non-fully-qualified # ⏲ timer clock +1F570 FE0F ; fully-qualified # 🕰️ mantelpiece clock +1F570 ; non-fully-qualified # 🕰 mantelpiece clock +1F55B ; fully-qualified # 🕛 twelve o’clock +1F567 ; fully-qualified # 🕧 twelve-thirty +1F550 ; fully-qualified # 🕐 one o’clock +1F55C ; fully-qualified # 🕜 one-thirty +1F551 ; fully-qualified # 🕑 two o’clock +1F55D ; fully-qualified # 🕝 two-thirty +1F552 ; fully-qualified # 🕒 three o’clock +1F55E ; fully-qualified # 🕞 three-thirty +1F553 ; fully-qualified # 🕓 four o’clock +1F55F ; fully-qualified # 🕟 four-thirty +1F554 ; fully-qualified # 🕔 five o’clock +1F560 ; fully-qualified # 🕠 five-thirty +1F555 ; fully-qualified # 🕕 six o’clock +1F561 ; fully-qualified # 🕡 six-thirty +1F556 ; fully-qualified # 🕖 seven o’clock +1F562 ; fully-qualified # 🕢 seven-thirty +1F557 ; fully-qualified # 🕗 eight o’clock +1F563 ; fully-qualified # 🕣 eight-thirty +1F558 ; fully-qualified # 🕘 nine o’clock +1F564 ; fully-qualified # 🕤 nine-thirty +1F559 ; fully-qualified # 🕙 ten o’clock +1F565 ; fully-qualified # 🕥 ten-thirty +1F55A ; fully-qualified # 🕚 eleven o’clock +1F566 ; fully-qualified # 🕦 eleven-thirty + +# subgroup: sky & weather +1F311 ; fully-qualified # 🌑 new moon +1F312 ; fully-qualified # 🌒 waxing crescent moon +1F313 ; fully-qualified # 🌓 first quarter moon +1F314 ; fully-qualified # 🌔 waxing gibbous moon +1F315 ; fully-qualified # 🌕 full moon +1F316 ; fully-qualified # 🌖 waning gibbous moon +1F317 ; fully-qualified # 🌗 last quarter moon +1F318 ; fully-qualified # 🌘 waning crescent moon +1F319 ; fully-qualified # 🌙 crescent moon +1F31A ; fully-qualified # 🌚 new moon face +1F31B ; fully-qualified # 🌛 first quarter moon with face +1F31C ; fully-qualified # 🌜 last quarter moon with face +1F321 FE0F ; fully-qualified # 🌡️ thermometer +1F321 ; non-fully-qualified # 🌡 thermometer +2600 FE0F ; fully-qualified # ☀️ sun +2600 ; non-fully-qualified # ☀ sun +1F31D ; fully-qualified # 🌝 full moon with face +1F31E ; fully-qualified # 🌞 sun with face +2B50 ; fully-qualified # ⭐ white medium star +1F31F ; fully-qualified # 🌟 glowing star +1F320 ; fully-qualified # 🌠 shooting star +2601 FE0F ; fully-qualified # ☁️ cloud +2601 ; non-fully-qualified # ☁ cloud +26C5 ; fully-qualified # ⛅ sun behind cloud +26C8 FE0F ; fully-qualified # ⛈️ cloud with lightning and rain +26C8 ; non-fully-qualified # ⛈ cloud with lightning and rain +1F324 FE0F ; fully-qualified # 🌤️ sun behind small cloud +1F324 ; non-fully-qualified # 🌤 sun behind small cloud +1F325 FE0F ; fully-qualified # 🌥️ sun behind large cloud +1F325 ; non-fully-qualified # 🌥 sun behind large cloud +1F326 FE0F ; fully-qualified # 🌦️ sun behind rain cloud +1F326 ; non-fully-qualified # 🌦 sun behind rain cloud +1F327 FE0F ; fully-qualified # 🌧️ cloud with rain +1F327 ; non-fully-qualified # 🌧 cloud with rain +1F328 FE0F ; fully-qualified # 🌨️ cloud with snow +1F328 ; non-fully-qualified # 🌨 cloud with snow +1F329 FE0F ; fully-qualified # 🌩️ cloud with lightning +1F329 ; non-fully-qualified # 🌩 cloud with lightning +1F32A FE0F ; fully-qualified # 🌪️ tornado +1F32A ; non-fully-qualified # 🌪 tornado +1F32B FE0F ; fully-qualified # 🌫️ fog +1F32B ; non-fully-qualified # 🌫 fog +1F32C FE0F ; fully-qualified # 🌬️ wind face +1F32C ; non-fully-qualified # 🌬 wind face +1F300 ; fully-qualified # 🌀 cyclone +1F308 ; fully-qualified # 🌈 rainbow +1F302 ; fully-qualified # 🌂 closed umbrella +2602 FE0F ; fully-qualified # ☂️ umbrella +2602 ; non-fully-qualified # ☂ umbrella +2614 ; fully-qualified # ☔ umbrella with rain drops +26F1 FE0F ; fully-qualified # ⛱️ umbrella on ground +26F1 ; non-fully-qualified # ⛱ umbrella on ground +26A1 ; fully-qualified # ⚡ high voltage +2744 FE0F ; fully-qualified # ❄️ snowflake +2744 ; non-fully-qualified # ❄ snowflake +2603 FE0F ; fully-qualified # ☃️ snowman +2603 ; non-fully-qualified # ☃ snowman +26C4 ; fully-qualified # ⛄ snowman without snow +2604 FE0F ; fully-qualified # ☄️ comet +2604 ; non-fully-qualified # ☄ comet +1F525 ; fully-qualified # 🔥 fire +1F4A7 ; fully-qualified # 💧 droplet +1F30A ; fully-qualified # 🌊 water wave + +# Travel & Places subtotal: 256 +# Travel & Places subtotal: 256 w/o modifiers + +# group: Activities + +# subgroup: event +1F383 ; fully-qualified # 🎃 jack-o-lantern +1F384 ; fully-qualified # 🎄 Christmas tree +1F386 ; fully-qualified # 🎆 fireworks +1F387 ; fully-qualified # 🎇 sparkler +2728 ; fully-qualified # ✨ sparkles +1F388 ; fully-qualified # 🎈 balloon +1F389 ; fully-qualified # 🎉 party popper +1F38A ; fully-qualified # 🎊 confetti ball +1F38B ; fully-qualified # 🎋 tanabata tree +1F38D ; fully-qualified # 🎍 pine decoration +1F38E ; fully-qualified # 🎎 Japanese dolls +1F38F ; fully-qualified # 🎏 carp streamer +1F390 ; fully-qualified # 🎐 wind chime +1F391 ; fully-qualified # 🎑 moon viewing ceremony +1F380 ; fully-qualified # 🎀 ribbon +1F381 ; fully-qualified # 🎁 wrapped gift +1F397 FE0F ; fully-qualified # 🎗️ reminder ribbon +1F397 ; non-fully-qualified # 🎗 reminder ribbon +1F39F FE0F ; fully-qualified # 🎟️ admission tickets +1F39F ; non-fully-qualified # 🎟 admission tickets +1F3AB ; fully-qualified # 🎫 ticket + +# subgroup: award-medal +1F396 FE0F ; fully-qualified # 🎖️ military medal +1F396 ; non-fully-qualified # 🎖 military medal +1F3C6 ; fully-qualified # 🏆 trophy +1F3C5 ; fully-qualified # 🏅 sports medal +1F947 ; fully-qualified # 🥇 1st place medal +1F948 ; fully-qualified # 🥈 2nd place medal +1F949 ; fully-qualified # 🥉 3rd place medal + +# subgroup: sport +26BD ; fully-qualified # ⚽ soccer ball +26BE ; fully-qualified # ⚾ baseball +1F3C0 ; fully-qualified # 🏀 basketball +1F3D0 ; fully-qualified # 🏐 volleyball +1F3C8 ; fully-qualified # 🏈 american football +1F3C9 ; fully-qualified # 🏉 rugby football +1F3BE ; fully-qualified # 🎾 tennis +1F3B1 ; fully-qualified # 🎱 pool 8 ball +1F3B3 ; fully-qualified # 🎳 bowling +1F3CF ; fully-qualified # 🏏 cricket +1F3D1 ; fully-qualified # 🏑 field hockey +1F3D2 ; fully-qualified # 🏒 ice hockey +1F3D3 ; fully-qualified # 🏓 ping pong +1F3F8 ; fully-qualified # 🏸 badminton +1F94A ; fully-qualified # 🥊 boxing glove +1F94B ; fully-qualified # 🥋 martial arts uniform +1F945 ; fully-qualified # 🥅 goal net +1F3AF ; fully-qualified # 🎯 direct hit +26F3 ; fully-qualified # ⛳ flag in hole +26F8 FE0F ; fully-qualified # ⛸️ ice skate +26F8 ; non-fully-qualified # ⛸ ice skate +1F3A3 ; fully-qualified # 🎣 fishing pole +1F3BD ; fully-qualified # 🎽 running shirt +1F3BF ; fully-qualified # 🎿 skis +1F6F7 ; fully-qualified # 🛷 sled +1F94C ; fully-qualified # 🥌 curling stone + +# subgroup: game +1F3AE ; fully-qualified # 🎮 video game +1F579 FE0F ; fully-qualified # 🕹️ joystick +1F579 ; non-fully-qualified # 🕹 joystick +1F3B2 ; fully-qualified # 🎲 game die +2660 FE0F ; fully-qualified # ♠️ spade suit +2660 ; non-fully-qualified # ♠ spade suit +2665 FE0F ; fully-qualified # ♥️ heart suit +2665 ; non-fully-qualified # ♥ heart suit +2666 FE0F ; fully-qualified # ♦️ diamond suit +2666 ; non-fully-qualified # ♦ diamond suit +2663 FE0F ; fully-qualified # ♣️ club suit +2663 ; non-fully-qualified # ♣ club suit +1F0CF ; fully-qualified # 🃏 joker +1F004 ; fully-qualified # 🀄 mahjong red dragon +1F3B4 ; fully-qualified # 🎴 flower playing cards + +# Activities subtotal: 69 +# Activities subtotal: 69 w/o modifiers + +# group: Objects + +# subgroup: sound +1F507 ; fully-qualified # 🔇 muted speaker +1F508 ; fully-qualified # 🔈 speaker low volume +1F509 ; fully-qualified # 🔉 speaker medium volume +1F50A ; fully-qualified # 🔊 speaker high volume +1F4E2 ; fully-qualified # 📢 loudspeaker +1F4E3 ; fully-qualified # 📣 megaphone +1F4EF ; fully-qualified # 📯 postal horn +1F514 ; fully-qualified # 🔔 bell +1F515 ; fully-qualified # 🔕 bell with slash + +# subgroup: music +1F3BC ; fully-qualified # 🎼 musical score +1F3B5 ; fully-qualified # 🎵 musical note +1F3B6 ; fully-qualified # 🎶 musical notes +1F399 FE0F ; fully-qualified # 🎙️ studio microphone +1F399 ; non-fully-qualified # 🎙 studio microphone +1F39A FE0F ; fully-qualified # 🎚️ level slider +1F39A ; non-fully-qualified # 🎚 level slider +1F39B FE0F ; fully-qualified # 🎛️ control knobs +1F39B ; non-fully-qualified # 🎛 control knobs +1F3A4 ; fully-qualified # 🎤 microphone +1F3A7 ; fully-qualified # 🎧 headphone +1F4FB ; fully-qualified # 📻 radio + +# subgroup: musical-instrument +1F3B7 ; fully-qualified # 🎷 saxophone +1F3B8 ; fully-qualified # 🎸 guitar +1F3B9 ; fully-qualified # 🎹 musical keyboard +1F3BA ; fully-qualified # 🎺 trumpet +1F3BB ; fully-qualified # 🎻 violin +1F941 ; fully-qualified # 🥁 drum + +# subgroup: phone +1F4F1 ; fully-qualified # 📱 mobile phone +1F4F2 ; fully-qualified # 📲 mobile phone with arrow +260E FE0F ; fully-qualified # ☎️ telephone +260E ; non-fully-qualified # ☎ telephone +1F4DE ; fully-qualified # 📞 telephone receiver +1F4DF ; fully-qualified # 📟 pager +1F4E0 ; fully-qualified # 📠 fax machine + +# subgroup: computer +1F50B ; fully-qualified # 🔋 battery +1F50C ; fully-qualified # 🔌 electric plug +1F4BB ; fully-qualified # 💻 laptop computer +1F5A5 FE0F ; fully-qualified # 🖥️ desktop computer +1F5A5 ; non-fully-qualified # 🖥 desktop computer +1F5A8 FE0F ; fully-qualified # 🖨️ printer +1F5A8 ; non-fully-qualified # 🖨 printer +2328 FE0F ; fully-qualified # ⌨️ keyboard +2328 ; non-fully-qualified # ⌨ keyboard +1F5B1 FE0F ; fully-qualified # 🖱️ computer mouse +1F5B1 ; non-fully-qualified # 🖱 computer mouse +1F5B2 FE0F ; fully-qualified # 🖲️ trackball +1F5B2 ; non-fully-qualified # 🖲 trackball +1F4BD ; fully-qualified # 💽 computer disk +1F4BE ; fully-qualified # 💾 floppy disk +1F4BF ; fully-qualified # 💿 optical disk +1F4C0 ; fully-qualified # 📀 dvd + +# subgroup: light & video +1F3A5 ; fully-qualified # 🎥 movie camera +1F39E FE0F ; fully-qualified # 🎞️ film frames +1F39E ; non-fully-qualified # 🎞 film frames +1F4FD FE0F ; fully-qualified # 📽️ film projector +1F4FD ; non-fully-qualified # 📽 film projector +1F3AC ; fully-qualified # 🎬 clapper board +1F4FA ; fully-qualified # 📺 television +1F4F7 ; fully-qualified # 📷 camera +1F4F8 ; fully-qualified # 📸 camera with flash +1F4F9 ; fully-qualified # 📹 video camera +1F4FC ; fully-qualified # 📼 videocassette +1F50D ; fully-qualified # 🔍 left-pointing magnifying glass +1F50E ; fully-qualified # 🔎 right-pointing magnifying glass +1F52C ; fully-qualified # 🔬 microscope +1F52D ; fully-qualified # 🔭 telescope +1F4E1 ; fully-qualified # 📡 satellite antenna +1F56F FE0F ; fully-qualified # 🕯️ candle +1F56F ; non-fully-qualified # 🕯 candle +1F4A1 ; fully-qualified # 💡 light bulb +1F526 ; fully-qualified # 🔦 flashlight +1F3EE ; fully-qualified # 🏮 red paper lantern + +# subgroup: book-paper +1F4D4 ; fully-qualified # 📔 notebook with decorative cover +1F4D5 ; fully-qualified # 📕 closed book +1F4D6 ; fully-qualified # 📖 open book +1F4D7 ; fully-qualified # 📗 green book +1F4D8 ; fully-qualified # 📘 blue book +1F4D9 ; fully-qualified # 📙 orange book +1F4DA ; fully-qualified # 📚 books +1F4D3 ; fully-qualified # 📓 notebook +1F4D2 ; fully-qualified # 📒 ledger +1F4C3 ; fully-qualified # 📃 page with curl +1F4DC ; fully-qualified # 📜 scroll +1F4C4 ; fully-qualified # 📄 page facing up +1F4F0 ; fully-qualified # 📰 newspaper +1F5DE FE0F ; fully-qualified # 🗞️ rolled-up newspaper +1F5DE ; non-fully-qualified # 🗞 rolled-up newspaper +1F4D1 ; fully-qualified # 📑 bookmark tabs +1F516 ; fully-qualified # 🔖 bookmark +1F3F7 FE0F ; fully-qualified # 🏷️ label +1F3F7 ; non-fully-qualified # 🏷 label + +# subgroup: money +1F4B0 ; fully-qualified # 💰 money bag +1F4B4 ; fully-qualified # 💴 yen banknote +1F4B5 ; fully-qualified # 💵 dollar banknote +1F4B6 ; fully-qualified # 💶 euro banknote +1F4B7 ; fully-qualified # 💷 pound banknote +1F4B8 ; fully-qualified # 💸 money with wings +1F4B3 ; fully-qualified # 💳 credit card +1F4B9 ; fully-qualified # 💹 chart increasing with yen +1F4B1 ; fully-qualified # 💱 currency exchange +1F4B2 ; fully-qualified # 💲 heavy dollar sign + +# subgroup: mail +2709 FE0F ; fully-qualified # ✉️ envelope +2709 ; non-fully-qualified # ✉ envelope +1F4E7 ; fully-qualified # 📧 e-mail +1F4E8 ; fully-qualified # 📨 incoming envelope +1F4E9 ; fully-qualified # 📩 envelope with arrow +1F4E4 ; fully-qualified # 📤 outbox tray +1F4E5 ; fully-qualified # 📥 inbox tray +1F4E6 ; fully-qualified # 📦 package +1F4EB ; fully-qualified # 📫 closed mailbox with raised flag +1F4EA ; fully-qualified # 📪 closed mailbox with lowered flag +1F4EC ; fully-qualified # 📬 open mailbox with raised flag +1F4ED ; fully-qualified # 📭 open mailbox with lowered flag +1F4EE ; fully-qualified # 📮 postbox +1F5F3 FE0F ; fully-qualified # 🗳️ ballot box with ballot +1F5F3 ; non-fully-qualified # 🗳 ballot box with ballot + +# subgroup: writing +270F FE0F ; fully-qualified # ✏️ pencil +270F ; non-fully-qualified # ✏ pencil +2712 FE0F ; fully-qualified # ✒️ black nib +2712 ; non-fully-qualified # ✒ black nib +1F58B FE0F ; fully-qualified # 🖋️ fountain pen +1F58B ; non-fully-qualified # 🖋 fountain pen +1F58A FE0F ; fully-qualified # 🖊️ pen +1F58A ; non-fully-qualified # 🖊 pen +1F58C FE0F ; fully-qualified # 🖌️ paintbrush +1F58C ; non-fully-qualified # 🖌 paintbrush +1F58D FE0F ; fully-qualified # 🖍️ crayon +1F58D ; non-fully-qualified # 🖍 crayon +1F4DD ; fully-qualified # 📝 memo + +# subgroup: office +1F4BC ; fully-qualified # 💼 briefcase +1F4C1 ; fully-qualified # 📁 file folder +1F4C2 ; fully-qualified # 📂 open file folder +1F5C2 FE0F ; fully-qualified # 🗂️ card index dividers +1F5C2 ; non-fully-qualified # 🗂 card index dividers +1F4C5 ; fully-qualified # 📅 calendar +1F4C6 ; fully-qualified # 📆 tear-off calendar +1F5D2 FE0F ; fully-qualified # 🗒️ spiral notepad +1F5D2 ; non-fully-qualified # 🗒 spiral notepad +1F5D3 FE0F ; fully-qualified # 🗓️ spiral calendar +1F5D3 ; non-fully-qualified # 🗓 spiral calendar +1F4C7 ; fully-qualified # 📇 card index +1F4C8 ; fully-qualified # 📈 chart increasing +1F4C9 ; fully-qualified # 📉 chart decreasing +1F4CA ; fully-qualified # 📊 bar chart +1F4CB ; fully-qualified # 📋 clipboard +1F4CC ; fully-qualified # 📌 pushpin +1F4CD ; fully-qualified # 📍 round pushpin +1F4CE ; fully-qualified # 📎 paperclip +1F587 FE0F ; fully-qualified # 🖇️ linked paperclips +1F587 ; non-fully-qualified # 🖇 linked paperclips +1F4CF ; fully-qualified # 📏 straight ruler +1F4D0 ; fully-qualified # 📐 triangular ruler +2702 FE0F ; fully-qualified # ✂️ scissors +2702 ; non-fully-qualified # ✂ scissors +1F5C3 FE0F ; fully-qualified # 🗃️ card file box +1F5C3 ; non-fully-qualified # 🗃 card file box +1F5C4 FE0F ; fully-qualified # 🗄️ file cabinet +1F5C4 ; non-fully-qualified # 🗄 file cabinet +1F5D1 FE0F ; fully-qualified # 🗑️ wastebasket +1F5D1 ; non-fully-qualified # 🗑 wastebasket + +# subgroup: lock +1F512 ; fully-qualified # 🔒 locked +1F513 ; fully-qualified # 🔓 unlocked +1F50F ; fully-qualified # 🔏 locked with pen +1F510 ; fully-qualified # 🔐 locked with key +1F511 ; fully-qualified # 🔑 key +1F5DD FE0F ; fully-qualified # 🗝️ old key +1F5DD ; non-fully-qualified # 🗝 old key + +# subgroup: tool +1F528 ; fully-qualified # 🔨 hammer +26CF FE0F ; fully-qualified # ⛏️ pick +26CF ; non-fully-qualified # ⛏ pick +2692 FE0F ; fully-qualified # ⚒️ hammer and pick +2692 ; non-fully-qualified # ⚒ hammer and pick +1F6E0 FE0F ; fully-qualified # 🛠️ hammer and wrench +1F6E0 ; non-fully-qualified # 🛠 hammer and wrench +1F5E1 FE0F ; fully-qualified # 🗡️ dagger +1F5E1 ; non-fully-qualified # 🗡 dagger +2694 FE0F ; fully-qualified # ⚔️ crossed swords +2694 ; non-fully-qualified # ⚔ crossed swords +1F52B ; fully-qualified # 🔫 pistol +1F3F9 ; fully-qualified # 🏹 bow and arrow +1F6E1 FE0F ; fully-qualified # 🛡️ shield +1F6E1 ; non-fully-qualified # 🛡 shield +1F527 ; fully-qualified # 🔧 wrench +1F529 ; fully-qualified # 🔩 nut and bolt +2699 FE0F ; fully-qualified # ⚙️ gear +2699 ; non-fully-qualified # ⚙ gear +1F5DC FE0F ; fully-qualified # 🗜️ clamp +1F5DC ; non-fully-qualified # 🗜 clamp +2697 FE0F ; fully-qualified # ⚗️ alembic +2697 ; non-fully-qualified # ⚗ alembic +2696 FE0F ; fully-qualified # ⚖️ balance scale +2696 ; non-fully-qualified # ⚖ balance scale +1F517 ; fully-qualified # 🔗 link +26D3 FE0F ; fully-qualified # ⛓️ chains +26D3 ; non-fully-qualified # ⛓ chains + +# subgroup: medical +1F489 ; fully-qualified # 💉 syringe +1F48A ; fully-qualified # 💊 pill + +# subgroup: other-object +1F6AC ; fully-qualified # 🚬 cigarette +26B0 FE0F ; fully-qualified # ⚰️ coffin +26B0 ; non-fully-qualified # ⚰ coffin +26B1 FE0F ; fully-qualified # ⚱️ funeral urn +26B1 ; non-fully-qualified # ⚱ funeral urn +1F5FF ; fully-qualified # 🗿 moai +1F6E2 FE0F ; fully-qualified # 🛢️ oil drum +1F6E2 ; non-fully-qualified # 🛢 oil drum +1F52E ; fully-qualified # 🔮 crystal ball +1F6D2 ; fully-qualified # 🛒 shopping cart + +# Objects subtotal: 207 +# Objects subtotal: 207 w/o modifiers + +# group: Symbols + +# subgroup: transport-sign +1F3E7 ; fully-qualified # 🏧 ATM sign +1F6AE ; fully-qualified # 🚮 litter in bin sign +1F6B0 ; fully-qualified # 🚰 potable water +267F ; fully-qualified # ♿ wheelchair symbol +1F6B9 ; fully-qualified # 🚹 men’s room +1F6BA ; fully-qualified # 🚺 women’s room +1F6BB ; fully-qualified # 🚻 restroom +1F6BC ; fully-qualified # 🚼 baby symbol +1F6BE ; fully-qualified # 🚾 water closet +1F6C2 ; fully-qualified # 🛂 passport control +1F6C3 ; fully-qualified # 🛃 customs +1F6C4 ; fully-qualified # 🛄 baggage claim +1F6C5 ; fully-qualified # 🛅 left luggage + +# subgroup: warning +26A0 FE0F ; fully-qualified # ⚠️ warning +26A0 ; non-fully-qualified # ⚠ warning +1F6B8 ; fully-qualified # 🚸 children crossing +26D4 ; fully-qualified # ⛔ no entry +1F6AB ; fully-qualified # 🚫 prohibited +1F6B3 ; fully-qualified # 🚳 no bicycles +1F6AD ; fully-qualified # 🚭 no smoking +1F6AF ; fully-qualified # 🚯 no littering +1F6B1 ; fully-qualified # 🚱 non-potable water +1F6B7 ; fully-qualified # 🚷 no pedestrians +1F4F5 ; fully-qualified # 📵 no mobile phones +1F51E ; fully-qualified # 🔞 no one under eighteen +2622 FE0F ; fully-qualified # ☢️ radioactive +2622 ; non-fully-qualified # ☢ radioactive +2623 FE0F ; fully-qualified # ☣️ biohazard +2623 ; non-fully-qualified # ☣ biohazard + +# subgroup: arrow +2B06 FE0F ; fully-qualified # ⬆️ up arrow +2B06 ; non-fully-qualified # ⬆ up arrow +2197 FE0F ; fully-qualified # ↗️ up-right arrow +2197 ; non-fully-qualified # ↗ up-right arrow +27A1 FE0F ; fully-qualified # ➡️ right arrow +27A1 ; non-fully-qualified # ➡ right arrow +2198 FE0F ; fully-qualified # ↘️ down-right arrow +2198 ; non-fully-qualified # ↘ down-right arrow +2B07 FE0F ; fully-qualified # ⬇️ down arrow +2B07 ; non-fully-qualified # ⬇ down arrow +2199 FE0F ; fully-qualified # ↙️ down-left arrow +2199 ; non-fully-qualified # ↙ down-left arrow +2B05 FE0F ; fully-qualified # ⬅️ left arrow +2B05 ; non-fully-qualified # ⬅ left arrow +2196 FE0F ; fully-qualified # ↖️ up-left arrow +2196 ; non-fully-qualified # ↖ up-left arrow +2195 FE0F ; fully-qualified # ↕️ up-down arrow +2195 ; non-fully-qualified # ↕ up-down arrow +2194 FE0F ; fully-qualified # ↔️ left-right arrow +2194 ; non-fully-qualified # ↔ left-right arrow +21A9 FE0F ; fully-qualified # ↩️ right arrow curving left +21A9 ; non-fully-qualified # ↩ right arrow curving left +21AA FE0F ; fully-qualified # ↪️ left arrow curving right +21AA ; non-fully-qualified # ↪ left arrow curving right +2934 FE0F ; fully-qualified # ⤴️ right arrow curving up +2934 ; non-fully-qualified # ⤴ right arrow curving up +2935 FE0F ; fully-qualified # ⤵️ right arrow curving down +2935 ; non-fully-qualified # ⤵ right arrow curving down +1F503 ; fully-qualified # 🔃 clockwise vertical arrows +1F504 ; fully-qualified # 🔄 anticlockwise arrows button +1F519 ; fully-qualified # 🔙 BACK arrow +1F51A ; fully-qualified # 🔚 END arrow +1F51B ; fully-qualified # 🔛 ON! arrow +1F51C ; fully-qualified # 🔜 SOON arrow +1F51D ; fully-qualified # 🔝 TOP arrow + +# subgroup: religion +1F6D0 ; fully-qualified # 🛐 place of worship +269B FE0F ; fully-qualified # ⚛️ atom symbol +269B ; non-fully-qualified # ⚛ atom symbol +1F549 FE0F ; fully-qualified # 🕉️ om +1F549 ; non-fully-qualified # 🕉 om +2721 FE0F ; fully-qualified # ✡️ star of David +2721 ; non-fully-qualified # ✡ star of David +2638 FE0F ; fully-qualified # ☸️ wheel of dharma +2638 ; non-fully-qualified # ☸ wheel of dharma +262F FE0F ; fully-qualified # ☯️ yin yang +262F ; non-fully-qualified # ☯ yin yang +271D FE0F ; fully-qualified # ✝️ latin cross +271D ; non-fully-qualified # ✝ latin cross +2626 FE0F ; fully-qualified # ☦️ orthodox cross +2626 ; non-fully-qualified # ☦ orthodox cross +262A FE0F ; fully-qualified # ☪️ star and crescent +262A ; non-fully-qualified # ☪ star and crescent +262E FE0F ; fully-qualified # ☮️ peace symbol +262E ; non-fully-qualified # ☮ peace symbol +1F54E ; fully-qualified # 🕎 menorah +1F52F ; fully-qualified # 🔯 dotted six-pointed star + +# subgroup: zodiac +2648 ; fully-qualified # ♈ Aries +2649 ; fully-qualified # ♉ Taurus +264A ; fully-qualified # ♊ Gemini +264B ; fully-qualified # ♋ Cancer +264C ; fully-qualified # ♌ Leo +264D ; fully-qualified # ♍ Virgo +264E ; fully-qualified # ♎ Libra +264F ; fully-qualified # ♏ Scorpius +2650 ; fully-qualified # ♐ Sagittarius +2651 ; fully-qualified # ♑ Capricorn +2652 ; fully-qualified # ♒ Aquarius +2653 ; fully-qualified # ♓ Pisces +26CE ; fully-qualified # ⛎ Ophiuchus + +# subgroup: av-symbol +1F500 ; fully-qualified # 🔀 shuffle tracks button +1F501 ; fully-qualified # 🔁 repeat button +1F502 ; fully-qualified # 🔂 repeat single button +25B6 FE0F ; fully-qualified # ▶️ play button +25B6 ; non-fully-qualified # ▶ play button +23E9 ; fully-qualified # ⏩ fast-forward button +23ED FE0F ; fully-qualified # ⏭️ next track button +23ED ; non-fully-qualified # ⏭ next track button +23EF FE0F ; fully-qualified # ⏯️ play or pause button +23EF ; non-fully-qualified # ⏯ play or pause button +25C0 FE0F ; fully-qualified # ◀️ reverse button +25C0 ; non-fully-qualified # ◀ reverse button +23EA ; fully-qualified # ⏪ fast reverse button +23EE FE0F ; fully-qualified # ⏮️ last track button +23EE ; non-fully-qualified # ⏮ last track button +1F53C ; fully-qualified # 🔼 up button +23EB ; fully-qualified # ⏫ fast up button +1F53D ; fully-qualified # 🔽 down button +23EC ; fully-qualified # ⏬ fast down button +23F8 FE0F ; fully-qualified # ⏸️ pause button +23F8 ; non-fully-qualified # ⏸ pause button +23F9 FE0F ; fully-qualified # ⏹️ stop button +23F9 ; non-fully-qualified # ⏹ stop button +23FA FE0F ; fully-qualified # ⏺️ record button +23FA ; non-fully-qualified # ⏺ record button +23CF FE0F ; fully-qualified # ⏏️ eject button +23CF ; non-fully-qualified # ⏏ eject button +1F3A6 ; fully-qualified # 🎦 cinema +1F505 ; fully-qualified # 🔅 dim button +1F506 ; fully-qualified # 🔆 bright button +1F4F6 ; fully-qualified # 📶 antenna bars +1F4F3 ; fully-qualified # 📳 vibration mode +1F4F4 ; fully-qualified # 📴 mobile phone off + +# subgroup: other-symbol +2640 FE0F ; fully-qualified # ♀️ female sign +2640 ; non-fully-qualified # ♀ female sign +2642 FE0F ; fully-qualified # ♂️ male sign +2642 ; non-fully-qualified # ♂ male sign +2695 FE0F ; fully-qualified # ⚕️ medical symbol +2695 ; non-fully-qualified # ⚕ medical symbol +267B FE0F ; fully-qualified # ♻️ recycling symbol +267B ; non-fully-qualified # ♻ recycling symbol +269C FE0F ; fully-qualified # ⚜️ fleur-de-lis +269C ; non-fully-qualified # ⚜ fleur-de-lis +1F531 ; fully-qualified # 🔱 trident emblem +1F4DB ; fully-qualified # 📛 name badge +1F530 ; fully-qualified # 🔰 Japanese symbol for beginner +2B55 ; fully-qualified # ⭕ heavy large circle +2705 ; fully-qualified # ✅ white heavy check mark +2611 FE0F ; fully-qualified # ☑️ ballot box with check +2611 ; non-fully-qualified # ☑ ballot box with check +2714 FE0F ; fully-qualified # ✔️ heavy check mark +2714 ; non-fully-qualified # ✔ heavy check mark +2716 FE0F ; fully-qualified # ✖️ heavy multiplication x +2716 ; non-fully-qualified # ✖ heavy multiplication x +274C ; fully-qualified # ❌ cross mark +274E ; fully-qualified # ❎ cross mark button +2795 ; fully-qualified # ➕ heavy plus sign +2796 ; fully-qualified # ➖ heavy minus sign +2797 ; fully-qualified # ➗ heavy division sign +27B0 ; fully-qualified # ➰ curly loop +27BF ; fully-qualified # ➿ double curly loop +303D FE0F ; fully-qualified # 〽️ part alternation mark +303D ; non-fully-qualified # 〽 part alternation mark +2733 FE0F ; fully-qualified # ✳️ eight-spoked asterisk +2733 ; non-fully-qualified # ✳ eight-spoked asterisk +2734 FE0F ; fully-qualified # ✴️ eight-pointed star +2734 ; non-fully-qualified # ✴ eight-pointed star +2747 FE0F ; fully-qualified # ❇️ sparkle +2747 ; non-fully-qualified # ❇ sparkle +203C FE0F ; fully-qualified # ‼️ double exclamation mark +203C ; non-fully-qualified # ‼ double exclamation mark +2049 FE0F ; fully-qualified # ⁉️ exclamation question mark +2049 ; non-fully-qualified # ⁉ exclamation question mark +2753 ; fully-qualified # ❓ question mark +2754 ; fully-qualified # ❔ white question mark +2755 ; fully-qualified # ❕ white exclamation mark +2757 ; fully-qualified # ❗ exclamation mark +3030 FE0F ; fully-qualified # 〰️ wavy dash +3030 ; non-fully-qualified # 〰 wavy dash +00A9 FE0F ; fully-qualified # ©️ copyright +00A9 ; non-fully-qualified # © copyright +00AE FE0F ; fully-qualified # ®️ registered +00AE ; non-fully-qualified # ® registered +2122 FE0F ; fully-qualified # ™️ trade mark +2122 ; non-fully-qualified # ™ trade mark + +# subgroup: keycap +0023 FE0F 20E3 ; fully-qualified # #️⃣ keycap: # +0023 20E3 ; non-fully-qualified # #⃣ keycap: # +002A FE0F 20E3 ; fully-qualified # *️⃣ keycap: * +002A 20E3 ; non-fully-qualified # *⃣ keycap: * +0030 FE0F 20E3 ; fully-qualified # 0️⃣ keycap: 0 +0030 20E3 ; non-fully-qualified # 0⃣ keycap: 0 +0031 FE0F 20E3 ; fully-qualified # 1️⃣ keycap: 1 +0031 20E3 ; non-fully-qualified # 1⃣ keycap: 1 +0032 FE0F 20E3 ; fully-qualified # 2️⃣ keycap: 2 +0032 20E3 ; non-fully-qualified # 2⃣ keycap: 2 +0033 FE0F 20E3 ; fully-qualified # 3️⃣ keycap: 3 +0033 20E3 ; non-fully-qualified # 3⃣ keycap: 3 +0034 FE0F 20E3 ; fully-qualified # 4️⃣ keycap: 4 +0034 20E3 ; non-fully-qualified # 4⃣ keycap: 4 +0035 FE0F 20E3 ; fully-qualified # 5️⃣ keycap: 5 +0035 20E3 ; non-fully-qualified # 5⃣ keycap: 5 +0036 FE0F 20E3 ; fully-qualified # 6️⃣ keycap: 6 +0036 20E3 ; non-fully-qualified # 6⃣ keycap: 6 +0037 FE0F 20E3 ; fully-qualified # 7️⃣ keycap: 7 +0037 20E3 ; non-fully-qualified # 7⃣ keycap: 7 +0038 FE0F 20E3 ; fully-qualified # 8️⃣ keycap: 8 +0038 20E3 ; non-fully-qualified # 8⃣ keycap: 8 +0039 FE0F 20E3 ; fully-qualified # 9️⃣ keycap: 9 +0039 20E3 ; non-fully-qualified # 9⃣ keycap: 9 +1F51F ; fully-qualified # 🔟 keycap 10 + +# subgroup: alphanum +1F4AF ; fully-qualified # 💯 hundred points +1F520 ; fully-qualified # 🔠 input latin uppercase +1F521 ; fully-qualified # 🔡 input latin lowercase +1F522 ; fully-qualified # 🔢 input numbers +1F523 ; fully-qualified # 🔣 input symbols +1F524 ; fully-qualified # 🔤 input latin letters +1F170 FE0F ; fully-qualified # 🅰️ A button (blood type) +1F170 ; non-fully-qualified # 🅰 A button (blood type) +1F18E ; fully-qualified # 🆎 AB button (blood type) +1F171 FE0F ; fully-qualified # 🅱️ B button (blood type) +1F171 ; non-fully-qualified # 🅱 B button (blood type) +1F191 ; fully-qualified # 🆑 CL button +1F192 ; fully-qualified # 🆒 COOL button +1F193 ; fully-qualified # 🆓 FREE button +2139 FE0F ; fully-qualified # ℹ️ information +2139 ; non-fully-qualified # ℹ information +1F194 ; fully-qualified # 🆔 ID button +24C2 FE0F ; fully-qualified # Ⓜ️ circled M +24C2 ; non-fully-qualified # Ⓜ circled M +1F195 ; fully-qualified # 🆕 NEW button +1F196 ; fully-qualified # 🆖 NG button +1F17E FE0F ; fully-qualified # 🅾️ O button (blood type) +1F17E ; non-fully-qualified # 🅾 O button (blood type) +1F197 ; fully-qualified # 🆗 OK button +1F17F FE0F ; fully-qualified # 🅿️ P button +1F17F ; non-fully-qualified # 🅿 P button +1F198 ; fully-qualified # 🆘 SOS button +1F199 ; fully-qualified # 🆙 UP! button +1F19A ; fully-qualified # 🆚 VS button +1F201 ; fully-qualified # 🈁 Japanese “here” button +1F202 FE0F ; fully-qualified # 🈂️ Japanese “service charge” button +1F202 ; non-fully-qualified # 🈂 Japanese “service charge” button +1F237 FE0F ; fully-qualified # 🈷️ Japanese “monthly amount” button +1F237 ; non-fully-qualified # 🈷 Japanese “monthly amount” button +1F236 ; fully-qualified # 🈶 Japanese “not free of charge” button +1F22F ; fully-qualified # 🈯 Japanese “reserved” button +1F250 ; fully-qualified # 🉐 Japanese “bargain” button +1F239 ; fully-qualified # 🈹 Japanese “discount” button +1F21A ; fully-qualified # 🈚 Japanese “free of charge” button +1F232 ; fully-qualified # 🈲 Japanese “prohibited” button +1F251 ; fully-qualified # 🉑 Japanese “acceptable” button +1F238 ; fully-qualified # 🈸 Japanese “application” button +1F234 ; fully-qualified # 🈴 Japanese “passing grade” button +1F233 ; fully-qualified # 🈳 Japanese “vacancy” button +3297 FE0F ; fully-qualified # ㊗️ Japanese “congratulations” button +3297 ; non-fully-qualified # ㊗ Japanese “congratulations” button +3299 FE0F ; fully-qualified # ㊙️ Japanese “secret” button +3299 ; non-fully-qualified # ㊙ Japanese “secret” button +1F23A ; fully-qualified # 🈺 Japanese “open for business” button +1F235 ; fully-qualified # 🈵 Japanese “no vacancy” button + +# subgroup: geometric +25AA FE0F ; fully-qualified # ▪️ black small square +25AA ; non-fully-qualified # ▪ black small square +25AB FE0F ; fully-qualified # ▫️ white small square +25AB ; non-fully-qualified # ▫ white small square +25FB FE0F ; fully-qualified # ◻️ white medium square +25FB ; non-fully-qualified # ◻ white medium square +25FC FE0F ; fully-qualified # ◼️ black medium square +25FC ; non-fully-qualified # ◼ black medium square +25FD ; fully-qualified # ◽ white medium-small square +25FE ; fully-qualified # ◾ black medium-small square +2B1B ; fully-qualified # ⬛ black large square +2B1C ; fully-qualified # ⬜ white large square +1F536 ; fully-qualified # 🔶 large orange diamond +1F537 ; fully-qualified # 🔷 large blue diamond +1F538 ; fully-qualified # 🔸 small orange diamond +1F539 ; fully-qualified # 🔹 small blue diamond +1F53A ; fully-qualified # 🔺 red triangle pointed up +1F53B ; fully-qualified # 🔻 red triangle pointed down +1F4A0 ; fully-qualified # 💠 diamond with a dot +1F518 ; fully-qualified # 🔘 radio button +1F532 ; fully-qualified # 🔲 black square button +1F533 ; fully-qualified # 🔳 white square button +26AA ; fully-qualified # ⚪ white circle +26AB ; fully-qualified # ⚫ black circle +1F534 ; fully-qualified # 🔴 red circle +1F535 ; fully-qualified # 🔵 blue circle + +# Symbols subtotal: 284 +# Symbols subtotal: 284 w/o modifiers + +# group: Flags + +# subgroup: flag +1F3C1 ; fully-qualified # 🏁 chequered flag +1F6A9 ; fully-qualified # 🚩 triangular flag +1F38C ; fully-qualified # 🎌 crossed flags +1F3F4 ; fully-qualified # 🏴 black flag +1F3F3 FE0F ; fully-qualified # 🏳️ white flag +1F3F3 ; non-fully-qualified # 🏳 white flag +1F3F3 FE0F 200D 1F308 ; fully-qualified # 🏳️‍🌈 rainbow flag +1F3F3 200D 1F308 ; non-fully-qualified # 🏳‍🌈 rainbow flag + +# subgroup: country-flag +1F1E6 1F1E8 ; fully-qualified # 🇦🇨 Ascension Island +1F1E6 1F1E9 ; fully-qualified # 🇦🇩 Andorra +1F1E6 1F1EA ; fully-qualified # 🇦🇪 United Arab Emirates +1F1E6 1F1EB ; fully-qualified # 🇦🇫 Afghanistan +1F1E6 1F1EC ; fully-qualified # 🇦🇬 Antigua & Barbuda +1F1E6 1F1EE ; fully-qualified # 🇦🇮 Anguilla +1F1E6 1F1F1 ; fully-qualified # 🇦🇱 Albania +1F1E6 1F1F2 ; fully-qualified # 🇦🇲 Armenia +1F1E6 1F1F4 ; fully-qualified # 🇦🇴 Angola +1F1E6 1F1F6 ; fully-qualified # 🇦🇶 Antarctica +1F1E6 1F1F7 ; fully-qualified # 🇦🇷 Argentina +1F1E6 1F1F8 ; fully-qualified # 🇦🇸 American Samoa +1F1E6 1F1F9 ; fully-qualified # 🇦🇹 Austria +1F1E6 1F1FA ; fully-qualified # 🇦🇺 Australia +1F1E6 1F1FC ; fully-qualified # 🇦🇼 Aruba +1F1E6 1F1FD ; fully-qualified # 🇦🇽 Åland Islands +1F1E6 1F1FF ; fully-qualified # 🇦🇿 Azerbaijan +1F1E7 1F1E6 ; fully-qualified # 🇧🇦 Bosnia & Herzegovina +1F1E7 1F1E7 ; fully-qualified # 🇧🇧 Barbados +1F1E7 1F1E9 ; fully-qualified # 🇧🇩 Bangladesh +1F1E7 1F1EA ; fully-qualified # 🇧🇪 Belgium +1F1E7 1F1EB ; fully-qualified # 🇧🇫 Burkina Faso +1F1E7 1F1EC ; fully-qualified # 🇧🇬 Bulgaria +1F1E7 1F1ED ; fully-qualified # 🇧🇭 Bahrain +1F1E7 1F1EE ; fully-qualified # 🇧🇮 Burundi +1F1E7 1F1EF ; fully-qualified # 🇧🇯 Benin +1F1E7 1F1F1 ; fully-qualified # 🇧🇱 St. Barthélemy +1F1E7 1F1F2 ; fully-qualified # 🇧🇲 Bermuda +1F1E7 1F1F3 ; fully-qualified # 🇧🇳 Brunei +1F1E7 1F1F4 ; fully-qualified # 🇧🇴 Bolivia +1F1E7 1F1F6 ; fully-qualified # 🇧🇶 Caribbean Netherlands +1F1E7 1F1F7 ; fully-qualified # 🇧🇷 Brazil +1F1E7 1F1F8 ; fully-qualified # 🇧🇸 Bahamas +1F1E7 1F1F9 ; fully-qualified # 🇧🇹 Bhutan +1F1E7 1F1FB ; fully-qualified # 🇧🇻 Bouvet Island +1F1E7 1F1FC ; fully-qualified # 🇧🇼 Botswana +1F1E7 1F1FE ; fully-qualified # 🇧🇾 Belarus +1F1E7 1F1FF ; fully-qualified # 🇧🇿 Belize +1F1E8 1F1E6 ; fully-qualified # 🇨🇦 Canada +1F1E8 1F1E8 ; fully-qualified # 🇨🇨 Cocos (Keeling) Islands +1F1E8 1F1E9 ; fully-qualified # 🇨🇩 Congo - Kinshasa +1F1E8 1F1EB ; fully-qualified # 🇨🇫 Central African Republic +1F1E8 1F1EC ; fully-qualified # 🇨🇬 Congo - Brazzaville +1F1E8 1F1ED ; fully-qualified # 🇨🇭 Switzerland +1F1E8 1F1EE ; fully-qualified # 🇨🇮 Côte d’Ivoire +1F1E8 1F1F0 ; fully-qualified # 🇨🇰 Cook Islands +1F1E8 1F1F1 ; fully-qualified # 🇨🇱 Chile +1F1E8 1F1F2 ; fully-qualified # 🇨🇲 Cameroon +1F1E8 1F1F3 ; fully-qualified # 🇨🇳 China +1F1E8 1F1F4 ; fully-qualified # 🇨🇴 Colombia +1F1E8 1F1F5 ; fully-qualified # 🇨🇵 Clipperton Island +1F1E8 1F1F7 ; fully-qualified # 🇨🇷 Costa Rica +1F1E8 1F1FA ; fully-qualified # 🇨🇺 Cuba +1F1E8 1F1FB ; fully-qualified # 🇨🇻 Cape Verde +1F1E8 1F1FC ; fully-qualified # 🇨🇼 Curaçao +1F1E8 1F1FD ; fully-qualified # 🇨🇽 Christmas Island +1F1E8 1F1FE ; fully-qualified # 🇨🇾 Cyprus +1F1E8 1F1FF ; fully-qualified # 🇨🇿 Czechia +1F1E9 1F1EA ; fully-qualified # 🇩🇪 Germany +1F1E9 1F1EC ; fully-qualified # 🇩🇬 Diego Garcia +1F1E9 1F1EF ; fully-qualified # 🇩🇯 Djibouti +1F1E9 1F1F0 ; fully-qualified # 🇩🇰 Denmark +1F1E9 1F1F2 ; fully-qualified # 🇩🇲 Dominica +1F1E9 1F1F4 ; fully-qualified # 🇩🇴 Dominican Republic +1F1E9 1F1FF ; fully-qualified # 🇩🇿 Algeria +1F1EA 1F1E6 ; fully-qualified # 🇪🇦 Ceuta & Melilla +1F1EA 1F1E8 ; fully-qualified # 🇪🇨 Ecuador +1F1EA 1F1EA ; fully-qualified # 🇪🇪 Estonia +1F1EA 1F1EC ; fully-qualified # 🇪🇬 Egypt +1F1EA 1F1ED ; fully-qualified # 🇪🇭 Western Sahara +1F1EA 1F1F7 ; fully-qualified # 🇪🇷 Eritrea +1F1EA 1F1F8 ; fully-qualified # 🇪🇸 Spain +1F1EA 1F1F9 ; fully-qualified # 🇪🇹 Ethiopia +1F1EA 1F1FA ; fully-qualified # 🇪🇺 European Union +1F1EB 1F1EE ; fully-qualified # 🇫🇮 Finland +1F1EB 1F1EF ; fully-qualified # 🇫🇯 Fiji +1F1EB 1F1F0 ; fully-qualified # 🇫🇰 Falkland Islands +1F1EB 1F1F2 ; fully-qualified # 🇫🇲 Micronesia +1F1EB 1F1F4 ; fully-qualified # 🇫🇴 Faroe Islands +1F1EB 1F1F7 ; fully-qualified # 🇫🇷 France +1F1EC 1F1E6 ; fully-qualified # 🇬🇦 Gabon +1F1EC 1F1E7 ; fully-qualified # 🇬🇧 United Kingdom +1F1EC 1F1E9 ; fully-qualified # 🇬🇩 Grenada +1F1EC 1F1EA ; fully-qualified # 🇬🇪 Georgia +1F1EC 1F1EB ; fully-qualified # 🇬🇫 French Guiana +1F1EC 1F1EC ; fully-qualified # 🇬🇬 Guernsey +1F1EC 1F1ED ; fully-qualified # 🇬🇭 Ghana +1F1EC 1F1EE ; fully-qualified # 🇬🇮 Gibraltar +1F1EC 1F1F1 ; fully-qualified # 🇬🇱 Greenland +1F1EC 1F1F2 ; fully-qualified # 🇬🇲 Gambia +1F1EC 1F1F3 ; fully-qualified # 🇬🇳 Guinea +1F1EC 1F1F5 ; fully-qualified # 🇬🇵 Guadeloupe +1F1EC 1F1F6 ; fully-qualified # 🇬🇶 Equatorial Guinea +1F1EC 1F1F7 ; fully-qualified # 🇬🇷 Greece +1F1EC 1F1F8 ; fully-qualified # 🇬🇸 South Georgia & South Sandwich Islands +1F1EC 1F1F9 ; fully-qualified # 🇬🇹 Guatemala +1F1EC 1F1FA ; fully-qualified # 🇬🇺 Guam +1F1EC 1F1FC ; fully-qualified # 🇬🇼 Guinea-Bissau +1F1EC 1F1FE ; fully-qualified # 🇬🇾 Guyana +1F1ED 1F1F0 ; fully-qualified # 🇭🇰 Hong Kong SAR China +1F1ED 1F1F2 ; fully-qualified # 🇭🇲 Heard & McDonald Islands +1F1ED 1F1F3 ; fully-qualified # 🇭🇳 Honduras +1F1ED 1F1F7 ; fully-qualified # 🇭🇷 Croatia +1F1ED 1F1F9 ; fully-qualified # 🇭🇹 Haiti +1F1ED 1F1FA ; fully-qualified # 🇭🇺 Hungary +1F1EE 1F1E8 ; fully-qualified # 🇮🇨 Canary Islands +1F1EE 1F1E9 ; fully-qualified # 🇮🇩 Indonesia +1F1EE 1F1EA ; fully-qualified # 🇮🇪 Ireland +1F1EE 1F1F1 ; fully-qualified # 🇮🇱 Israel +1F1EE 1F1F2 ; fully-qualified # 🇮🇲 Isle of Man +1F1EE 1F1F3 ; fully-qualified # 🇮🇳 India +1F1EE 1F1F4 ; fully-qualified # 🇮🇴 British Indian Ocean Territory +1F1EE 1F1F6 ; fully-qualified # 🇮🇶 Iraq +1F1EE 1F1F7 ; fully-qualified # 🇮🇷 Iran +1F1EE 1F1F8 ; fully-qualified # 🇮🇸 Iceland +1F1EE 1F1F9 ; fully-qualified # 🇮🇹 Italy +1F1EF 1F1EA ; fully-qualified # 🇯🇪 Jersey +1F1EF 1F1F2 ; fully-qualified # 🇯🇲 Jamaica +1F1EF 1F1F4 ; fully-qualified # 🇯🇴 Jordan +1F1EF 1F1F5 ; fully-qualified # 🇯🇵 Japan +1F1F0 1F1EA ; fully-qualified # 🇰🇪 Kenya +1F1F0 1F1EC ; fully-qualified # 🇰🇬 Kyrgyzstan +1F1F0 1F1ED ; fully-qualified # 🇰🇭 Cambodia +1F1F0 1F1EE ; fully-qualified # 🇰🇮 Kiribati +1F1F0 1F1F2 ; fully-qualified # 🇰🇲 Comoros +1F1F0 1F1F3 ; fully-qualified # 🇰🇳 St. Kitts & Nevis +1F1F0 1F1F5 ; fully-qualified # 🇰🇵 North Korea +1F1F0 1F1F7 ; fully-qualified # 🇰🇷 South Korea +1F1F0 1F1FC ; fully-qualified # 🇰🇼 Kuwait +1F1F0 1F1FE ; fully-qualified # 🇰🇾 Cayman Islands +1F1F0 1F1FF ; fully-qualified # 🇰🇿 Kazakhstan +1F1F1 1F1E6 ; fully-qualified # 🇱🇦 Laos +1F1F1 1F1E7 ; fully-qualified # 🇱🇧 Lebanon +1F1F1 1F1E8 ; fully-qualified # 🇱🇨 St. Lucia +1F1F1 1F1EE ; fully-qualified # 🇱🇮 Liechtenstein +1F1F1 1F1F0 ; fully-qualified # 🇱🇰 Sri Lanka +1F1F1 1F1F7 ; fully-qualified # 🇱🇷 Liberia +1F1F1 1F1F8 ; fully-qualified # 🇱🇸 Lesotho +1F1F1 1F1F9 ; fully-qualified # 🇱🇹 Lithuania +1F1F1 1F1FA ; fully-qualified # 🇱🇺 Luxembourg +1F1F1 1F1FB ; fully-qualified # 🇱🇻 Latvia +1F1F1 1F1FE ; fully-qualified # 🇱🇾 Libya +1F1F2 1F1E6 ; fully-qualified # 🇲🇦 Morocco +1F1F2 1F1E8 ; fully-qualified # 🇲🇨 Monaco +1F1F2 1F1E9 ; fully-qualified # 🇲🇩 Moldova +1F1F2 1F1EA ; fully-qualified # 🇲🇪 Montenegro +1F1F2 1F1EB ; fully-qualified # 🇲🇫 St. Martin +1F1F2 1F1EC ; fully-qualified # 🇲🇬 Madagascar +1F1F2 1F1ED ; fully-qualified # 🇲🇭 Marshall Islands +1F1F2 1F1F0 ; fully-qualified # 🇲🇰 Macedonia +1F1F2 1F1F1 ; fully-qualified # 🇲🇱 Mali +1F1F2 1F1F2 ; fully-qualified # 🇲🇲 Myanmar (Burma) +1F1F2 1F1F3 ; fully-qualified # 🇲🇳 Mongolia +1F1F2 1F1F4 ; fully-qualified # 🇲🇴 Macau SAR China +1F1F2 1F1F5 ; fully-qualified # 🇲🇵 Northern Mariana Islands +1F1F2 1F1F6 ; fully-qualified # 🇲🇶 Martinique +1F1F2 1F1F7 ; fully-qualified # 🇲🇷 Mauritania +1F1F2 1F1F8 ; fully-qualified # 🇲🇸 Montserrat +1F1F2 1F1F9 ; fully-qualified # 🇲🇹 Malta +1F1F2 1F1FA ; fully-qualified # 🇲🇺 Mauritius +1F1F2 1F1FB ; fully-qualified # 🇲🇻 Maldives +1F1F2 1F1FC ; fully-qualified # 🇲🇼 Malawi +1F1F2 1F1FD ; fully-qualified # 🇲🇽 Mexico +1F1F2 1F1FE ; fully-qualified # 🇲🇾 Malaysia +1F1F2 1F1FF ; fully-qualified # 🇲🇿 Mozambique +1F1F3 1F1E6 ; fully-qualified # 🇳🇦 Namibia +1F1F3 1F1E8 ; fully-qualified # 🇳🇨 New Caledonia +1F1F3 1F1EA ; fully-qualified # 🇳🇪 Niger +1F1F3 1F1EB ; fully-qualified # 🇳🇫 Norfolk Island +1F1F3 1F1EC ; fully-qualified # 🇳🇬 Nigeria +1F1F3 1F1EE ; fully-qualified # 🇳🇮 Nicaragua +1F1F3 1F1F1 ; fully-qualified # 🇳🇱 Netherlands +1F1F3 1F1F4 ; fully-qualified # 🇳🇴 Norway +1F1F3 1F1F5 ; fully-qualified # 🇳🇵 Nepal +1F1F3 1F1F7 ; fully-qualified # 🇳🇷 Nauru +1F1F3 1F1FA ; fully-qualified # 🇳🇺 Niue +1F1F3 1F1FF ; fully-qualified # 🇳🇿 New Zealand +1F1F4 1F1F2 ; fully-qualified # 🇴🇲 Oman +1F1F5 1F1E6 ; fully-qualified # 🇵🇦 Panama +1F1F5 1F1EA ; fully-qualified # 🇵🇪 Peru +1F1F5 1F1EB ; fully-qualified # 🇵🇫 French Polynesia +1F1F5 1F1EC ; fully-qualified # 🇵🇬 Papua New Guinea +1F1F5 1F1ED ; fully-qualified # 🇵🇭 Philippines +1F1F5 1F1F0 ; fully-qualified # 🇵🇰 Pakistan +1F1F5 1F1F1 ; fully-qualified # 🇵🇱 Poland +1F1F5 1F1F2 ; fully-qualified # 🇵🇲 St. Pierre & Miquelon +1F1F5 1F1F3 ; fully-qualified # 🇵🇳 Pitcairn Islands +1F1F5 1F1F7 ; fully-qualified # 🇵🇷 Puerto Rico +1F1F5 1F1F8 ; fully-qualified # 🇵🇸 Palestinian Territories +1F1F5 1F1F9 ; fully-qualified # 🇵🇹 Portugal +1F1F5 1F1FC ; fully-qualified # 🇵🇼 Palau +1F1F5 1F1FE ; fully-qualified # 🇵🇾 Paraguay +1F1F6 1F1E6 ; fully-qualified # 🇶🇦 Qatar +1F1F7 1F1EA ; fully-qualified # 🇷🇪 Réunion +1F1F7 1F1F4 ; fully-qualified # 🇷🇴 Romania +1F1F7 1F1F8 ; fully-qualified # 🇷🇸 Serbia +1F1F7 1F1FA ; fully-qualified # 🇷🇺 Russia +1F1F7 1F1FC ; fully-qualified # 🇷🇼 Rwanda +1F1F8 1F1E6 ; fully-qualified # 🇸🇦 Saudi Arabia +1F1F8 1F1E7 ; fully-qualified # 🇸🇧 Solomon Islands +1F1F8 1F1E8 ; fully-qualified # 🇸🇨 Seychelles +1F1F8 1F1E9 ; fully-qualified # 🇸🇩 Sudan +1F1F8 1F1EA ; fully-qualified # 🇸🇪 Sweden +1F1F8 1F1EC ; fully-qualified # 🇸🇬 Singapore +1F1F8 1F1ED ; fully-qualified # 🇸🇭 St. Helena +1F1F8 1F1EE ; fully-qualified # 🇸🇮 Slovenia +1F1F8 1F1EF ; fully-qualified # 🇸🇯 Svalbard & Jan Mayen +1F1F8 1F1F0 ; fully-qualified # 🇸🇰 Slovakia +1F1F8 1F1F1 ; fully-qualified # 🇸🇱 Sierra Leone +1F1F8 1F1F2 ; fully-qualified # 🇸🇲 San Marino +1F1F8 1F1F3 ; fully-qualified # 🇸🇳 Senegal +1F1F8 1F1F4 ; fully-qualified # 🇸🇴 Somalia +1F1F8 1F1F7 ; fully-qualified # 🇸🇷 Suriname +1F1F8 1F1F8 ; fully-qualified # 🇸🇸 South Sudan +1F1F8 1F1F9 ; fully-qualified # 🇸🇹 São Tomé & Príncipe +1F1F8 1F1FB ; fully-qualified # 🇸🇻 El Salvador +1F1F8 1F1FD ; fully-qualified # 🇸🇽 Sint Maarten +1F1F8 1F1FE ; fully-qualified # 🇸🇾 Syria +1F1F8 1F1FF ; fully-qualified # 🇸🇿 Swaziland +1F1F9 1F1E6 ; fully-qualified # 🇹🇦 Tristan da Cunha +1F1F9 1F1E8 ; fully-qualified # 🇹🇨 Turks & Caicos Islands +1F1F9 1F1E9 ; fully-qualified # 🇹🇩 Chad +1F1F9 1F1EB ; fully-qualified # 🇹🇫 French Southern Territories +1F1F9 1F1EC ; fully-qualified # 🇹🇬 Togo +1F1F9 1F1ED ; fully-qualified # 🇹🇭 Thailand +1F1F9 1F1EF ; fully-qualified # 🇹🇯 Tajikistan +1F1F9 1F1F0 ; fully-qualified # 🇹🇰 Tokelau +1F1F9 1F1F1 ; fully-qualified # 🇹🇱 Timor-Leste +1F1F9 1F1F2 ; fully-qualified # 🇹🇲 Turkmenistan +1F1F9 1F1F3 ; fully-qualified # 🇹🇳 Tunisia +1F1F9 1F1F4 ; fully-qualified # 🇹🇴 Tonga +1F1F9 1F1F7 ; fully-qualified # 🇹🇷 Turkey +1F1F9 1F1F9 ; fully-qualified # 🇹🇹 Trinidad & Tobago +1F1F9 1F1FB ; fully-qualified # 🇹🇻 Tuvalu +1F1F9 1F1FC ; fully-qualified # 🇹🇼 Taiwan +1F1F9 1F1FF ; fully-qualified # 🇹🇿 Tanzania +1F1FA 1F1E6 ; fully-qualified # 🇺🇦 Ukraine +1F1FA 1F1EC ; fully-qualified # 🇺🇬 Uganda +1F1FA 1F1F2 ; fully-qualified # 🇺🇲 U.S. Outlying Islands +1F1FA 1F1F3 ; fully-qualified # 🇺🇳 United Nations +1F1FA 1F1F8 ; fully-qualified # 🇺🇸 United States +1F1FA 1F1FE ; fully-qualified # 🇺🇾 Uruguay +1F1FA 1F1FF ; fully-qualified # 🇺🇿 Uzbekistan +1F1FB 1F1E6 ; fully-qualified # 🇻🇦 Vatican City +1F1FB 1F1E8 ; fully-qualified # 🇻🇨 St. Vincent & Grenadines +1F1FB 1F1EA ; fully-qualified # 🇻🇪 Venezuela +1F1FB 1F1EC ; fully-qualified # 🇻🇬 British Virgin Islands +1F1FB 1F1EE ; fully-qualified # 🇻🇮 U.S. Virgin Islands +1F1FB 1F1F3 ; fully-qualified # 🇻🇳 Vietnam +1F1FB 1F1FA ; fully-qualified # 🇻🇺 Vanuatu +1F1FC 1F1EB ; fully-qualified # 🇼🇫 Wallis & Futuna +1F1FC 1F1F8 ; fully-qualified # 🇼🇸 Samoa +1F1FD 1F1F0 ; fully-qualified # 🇽🇰 Kosovo +1F1FE 1F1EA ; fully-qualified # 🇾🇪 Yemen +1F1FE 1F1F9 ; fully-qualified # 🇾🇹 Mayotte +1F1FF 1F1E6 ; fully-qualified # 🇿🇦 South Africa +1F1FF 1F1F2 ; fully-qualified # 🇿🇲 Zambia +1F1FF 1F1FC ; fully-qualified # 🇿🇼 Zimbabwe + +# subgroup: subdivision-flag +1F3F4 E0067 E0062 E0065 E006E E0067 E007F ; fully-qualified # 🏴󠁧󠁢󠁥󠁮󠁧󠁿 England +1F3F4 E0067 E0062 E0073 E0063 E0074 E007F ; fully-qualified # 🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland +1F3F4 E0067 E0062 E0077 E006C E0073 E007F ; fully-qualified # 🏴󠁧󠁢󠁷󠁬󠁳󠁿 Wales + +# Flags subtotal: 269 +# Flags subtotal: 269 w/o modifiers + +#EOF diff --git a/SOURCES/ibus-xx-ctrl-space.patch b/SOURCES/ibus-xx-ctrl-space.patch deleted file mode 100644 index 00da9b5..0000000 --- a/SOURCES/ibus-xx-ctrl-space.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in -index 007fc66..6c75562 100644 ---- a/data/ibus.schemas.in -+++ b/data/ibus.schemas.in -@@ -143,7 +143,7 @@ se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn - ibus - list - string -- [<Super>space] -+ [<Control>space] - - Trigger shortcut keys for gtk_accelerator_parse - The shortcut keys for turning input method on or off -diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala -index 54251e7..867dbd2 100644 ---- a/ui/gtk3/panel.vala -+++ b/ui/gtk3/panel.vala -@@ -354,6 +354,7 @@ class Panel : IBus.PanelService { - } - - private void update_version_1_5_3() { -+#if 0 - #if ENABLE_LIBNOTIFY - if (!Notify.is_initted()) { - Notify.init ("ibus"); -@@ -374,6 +375,7 @@ class Panel : IBus.PanelService { - #else - warning(_("Super+space is now the default hotkey.")); - #endif -+#endif - } - - private void set_version() { diff --git a/SOURCES/ibus-xx-setup-frequent-lang.patch b/SOURCES/ibus-xx-setup-frequent-lang.patch deleted file mode 100644 index 2724b8c..0000000 --- a/SOURCES/ibus-xx-setup-frequent-lang.patch +++ /dev/null @@ -1,411 +0,0 @@ -From 6c5b4f197afde5185c23ed725eecb36da43507e6 Mon Sep 17 00:00:00 2001 -From: fujiwarat -Date: Tue, 14 Jan 2014 15:30:54 +0900 -Subject: [PATCH] Enable ibus-setup to show the frequently used languages - only in IME list. - ---- - data/ibus.schemas.in | 168 ++++++++++++++++++++++++++++++++++++++++++++++++ - setup/enginecombobox.py | 148 +++++++++++++++++++++++++++++++++++------- - 2 files changed, 292 insertions(+), 24 deletions(-) - -diff --git a/data/ibus.schemas.in b/data/ibus.schemas.in -index 28d2219..0600133 100644 ---- a/data/ibus.schemas.in -+++ b/data/ibus.schemas.in -@@ -351,6 +351,174 @@ se,si,sk,sy,sy(ku),th,tj,tr,ua,uz,vn - - - -+ /schemas/desktop/ibus/general/xkblayoutconfig/group_list -+ /desktop/ibus/general/xkblayoutconfig/group_list -+ ibus -+ list -+ string -+ [west_europe,south_europe,east_europe,north_europe,west_asia,center_asia,east_asia,india,australia] -+ -+ List of system keyboard layout groups on ibus-setup -+ The group list is used not to show all the system -+ keyboard layouts by default. The list item will be -+ appended at the end of gconf key. e.g. -+ .../xkblayoutconfig/item1 -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/west_europe -+ /desktop/ibus/general/xkblayoutconfig/west_europe -+ ibus -+ list -+ string -+ -+ [ca,cs,de,en,es,fr,gd,hu,it,nl,pt,sk,sl] -+ -+ List of European languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/south_europe -+ /desktop/ibus/general/xkblayoutconfig/south_europe -+ ibus -+ list -+ string -+ -+ [bg,bs,el,mk,mt,ro,sq,sr] -+ -+ List of European languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/east_europe -+ /desktop/ibus/general/xkblayoutconfig/east_europe -+ ibus -+ list -+ string -+ -+ [be,csb,cv,et,ka,kk,ky,lt,lv,pl,ru,tt,uk,uz] -+ -+ List of European languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/north_europe -+ /desktop/ibus/general/xkblayoutconfig/north_europe -+ ibus -+ list -+ string -+ -+ [da,fi,fo,is,no,se,sv] -+ -+ List of European languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/west_asia -+ /desktop/ibus/general/xkblayoutconfig/west_asia -+ ibus -+ list -+ string -+ -+ [am,ar,az,ber,fa,ha,he,hy,ig,ku,tg,tr,yo] -+ -+ List of Asian languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/center_asia -+ /desktop/ibus/general/xkblayoutconfig/center_asia -+ ibus -+ list -+ string -+ -+ [bo,zh] -+ -+ List of Asian languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/east_asia -+ /desktop/ibus/general/xkblayoutconfig/east_asia -+ ibus -+ list -+ string -+ -+ [dz,km,lo,my,th,vi] -+ -+ List of Asian languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/india -+ /desktop/ibus/general/xkblayoutconfig/india -+ ibus -+ list -+ string -+ -+ [bn,dv,gu,hi,kn,ml,ne,or,pa,si,ta,te,ur] -+ -+ List of Asian languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ -+ /schemas/desktop/ibus/general/xkblayoutconfig/australia -+ /desktop/ibus/general/xkblayoutconfig/australia -+ ibus -+ list -+ string -+ -+ [mi] -+ -+ List of Asian languages on ibus-setup -+ ibus-setup shows the languages only in input method list -+ when you run ibus-setup on one of the languages. -+ Other languages are hidden under an extended button. -+ -+ -+ - /schemas/desktop/ibus/panel/custom_font - /desktop/ibus/panel/custom_font - ibus -diff --git a/setup/enginecombobox.py b/setup/enginecombobox.py -index b45ad56..830f0e8 100644 ---- a/setup/enginecombobox.py -+++ b/setup/enginecombobox.py -@@ -22,6 +22,7 @@ - - import locale - -+from gi.repository import Gio - from gi.repository import GObject - from gi.repository import Gtk - from gi.repository import IBus -@@ -45,6 +46,10 @@ class EngineComboBox(Gtk.ComboBox): - self.connect("notify::active", self.__notify_active_cb) - - self.__model = None -+ self.__all_model = None -+ self.__show_sub_lang = False -+ self.__settings_xkblayoutconfig = Gio.Settings( -+ "org.freedesktop.ibus.general.xkblayoutconfig"); - - renderer = Gtk.CellRendererPixbuf() - renderer.set_property("xalign", 0) -@@ -58,20 +63,45 @@ class EngineComboBox(Gtk.ComboBox): - self.pack_start(renderer, True) - self.set_cell_data_func(renderer, self.__name_cell_data_cb, None) - -- def set_engines(self, engines): -- self.__model = Gtk.TreeStore(object) -+ def __gconf_get_lang_list_from_locale(self): -+ common_list = ['en', 'Other'] -+ loc = None -+ try: -+ loc = locale.setlocale (locale.LC_ALL) -+ except: -+ pass -+ if loc == None: -+ return common_list -+ current_lang = IBus.get_language_name(loc) -+ if current_lang == None: -+ return common_list -+ group_list = self.__settings_xkblayoutconfig.get_strv('group-list') -+ if len(group_list) == 0: -+ return [loc] + common_list -+ lang_list = None -+ for group in group_list: -+ group = group.replace('_', '-') -+ langs = self.__settings_xkblayoutconfig.get_strv(group) -+ for lang in langs: -+ if current_lang == IBus.get_language_name(lang): -+ lang_list = langs -+ break -+ if lang_list != None: -+ break -+ if lang_list == None: -+ return [loc] + common_list -+ return lang_list + common_list - -- iter1 = self.__model.append(None) -- self.__model.set(iter1, 0, 0) -- langs = {} -- for e in engines: -- l = IBus.get_language_name(e.get_language()) -- if l == None: -- l = "" -- if l not in langs: -- langs[l] = [] -- langs[l].append(e) -+ def __has_engine_in_lang_list(self, engine, lang_list): -+ retval = False -+ for lang in lang_list: -+ if IBus.get_language_name(lang) == \ -+ IBus.get_language_name(engine.props.language): -+ retval = True -+ break -+ return retval - -+ def __model_append_langs(self, model, langs, visible): - keys = langs.keys() - keys.sort(locale.strcoll) - loc = locale.getlocale()[0] -@@ -89,29 +119,86 @@ class EngineComboBox(Gtk.ComboBox): - keys.remove(IBus.get_language_name("Other")) - keys += [IBus.get_language_name("Other")] - for l in keys: -- iter1 = self.__model.append(None) -- self.__model.set(iter1, 0, l) -+ iter1 = model.append(None) -+ model.set(iter1, 0, l) - def cmp_engine(a, b): - if a.get_rank() == b.get_rank(): - return locale.strcoll(a.get_longname(), b.get_longname()) - return int(b.get_rank() - a.get_rank()) - langs[l].sort(cmp_engine) - for e in langs[l]: -- iter2 = self.__model.append(iter1) -- self.__model.set(iter2, 0, e) -+ iter2 = model.append(iter1) -+ model.set(iter2, 0, e) -+ -+ def set_engines(self, engines): -+ self.__model = Gtk.TreeStore(object) - -- self.set_model(self.__model) -+ iter1 = self.__model.append(None) -+ self.__model.set(iter1, 0, 0) -+ lang_list = self.__gconf_get_lang_list_from_locale() -+ lang = {} -+ sub_lang = {} -+ for e in engines: -+ l = IBus.get_language_name(e.props.language) -+ if lang_list == None or \ -+ self.__has_engine_in_lang_list(e, lang_list): -+ if l not in lang: -+ lang[l] = [] -+ lang[l].append(e) -+ else: -+ if l not in sub_lang: -+ sub_lang[l] = [] -+ sub_lang[l].append(e) -+ -+ self.__model_append_langs(self.__model, lang, True) -+ iter1 = self.__model.append(None) -+ self.__model.set(iter1, 0, -1) -+ -+ self.__all_model = Gtk.TreeStore(object) -+ iter1 = self.__all_model.append(None) -+ self.__all_model.set(iter1, 0, 0) -+ self.__model_append_langs(self.__all_model, lang, False) -+ iter1 = self.__all_model.append(None) -+ self.__all_model.set(iter1, 0, -1) -+ self.__model_append_langs(self.__all_model, sub_lang, False) -+ -+ self.__toggle_sub_lang() -+ -+ def __toggle_sub_lang(self): -+ self.set_model(None) -+ if self.__show_sub_lang: -+ self.set_model(self.__all_model) -+ else: -+ self.set_model(self.__model) - self.set_active(0) - - def __icon_cell_data_cb(self, celllayout, renderer, model, iter, data): -- engine = self.__model.get_value(iter, 0) -+ model = self.get_model() -+ engine = model.get_value(iter, 0) - - if isinstance(engine, str) or isinstance (engine, unicode): - renderer.set_property("visible", False) - renderer.set_property("sensitive", False) - elif isinstance(engine, int): -- renderer.set_property("visible", False) -- renderer.set_property("sensitive", False) -+ if engine == 0: -+ renderer.set_property("visible", False) -+ renderer.set_property("sensitive", False) -+ renderer.set_property("pixbuf", None) -+ elif engine < 0: -+ if not self.__show_sub_lang: -+ pixbuf = load_icon("go-bottom", Gtk.IconSize.LARGE_TOOLBAR) -+ else: -+ pixbuf = load_icon("go-up", Gtk.IconSize.LARGE_TOOLBAR) -+ if pixbuf == None: -+ pixbuf = load_icon(Gtk.STOCK_MISSING_IMAGE, -+ Gtk.IconSize.LARGE_TOOLBAR) -+ if pixbuf == None: -+ renderer.set_property("visible", False) -+ renderer.set_property("sensitive", False) -+ return -+ renderer.set_property("visible", True) -+ renderer.set_property("sensitive", True) -+ renderer.set_property("pixbuf", pixbuf) - else: - renderer.set_property("visible", True) - renderer.set_property("sensitive", True) -@@ -119,7 +206,8 @@ class EngineComboBox(Gtk.ComboBox): - renderer.set_property("pixbuf", pixbuf) - - def __name_cell_data_cb(self, celllayout, renderer, model, iter, data): -- engine = self.__model.get_value(iter, 0) -+ model = self.get_model() -+ engine = model.get_value(iter, 0) - - if isinstance (engine, str) or isinstance (engine, unicode): - renderer.set_property("sensitive", False) -@@ -127,8 +215,15 @@ class EngineComboBox(Gtk.ComboBox): - renderer.set_property("weight", Pango.Weight.NORMAL) - elif isinstance(engine, int): - renderer.set_property("sensitive", True) -- renderer.set_property("text", _("Select an input method")) -- renderer.set_property("weight", Pango.Weight.NORMAL) -+ if engine == 0: -+ renderer.set_property("text", _("Select an input method")) -+ renderer.set_property("weight", Pango.Weight.NORMAL) -+ elif engine < 0: -+ if not self.__show_sub_lang: -+ renderer.set_property("text", _("Show all input methods")) -+ else: -+ renderer.set_property("text", _("Show only input methods for your region")) -+ renderer.set_property("weight", Pango.Weight.BOLD) - else: - renderer.set_property("sensitive", True) - renderer.set_property("text", engine.get_longname()) -@@ -144,7 +239,12 @@ class EngineComboBox(Gtk.ComboBox): - if i == 0 or i == -1: - return None - iter = self.get_active_iter() -- return self.get_model()[iter][0] -+ model = self.get_model() -+ if model[iter][0] == -1: -+ self.__show_sub_lang = not self.__show_sub_lang -+ self.__toggle_sub_lang() -+ return None -+ return model[iter][0] - else: - raise AttributeError, 'unknown property %s' % property.name - --- -1.8.0 - diff --git a/SOURCES/ibus.conf.5 b/SOURCES/ibus.conf.5 new file mode 100644 index 0000000..c5795b3 --- /dev/null +++ b/SOURCES/ibus.conf.5 @@ -0,0 +1,73 @@ +.\" This file is distributed under the same license as the ibus +.\" package. +.\" Copyright (C) Takao Fujiwara , 2013. +.\" +.TH IBUS.CONF "5" "August 2013" "1.5.3" "User Commands" +.SH NAME +.B ibus.conf +\- X input preload/configuration file for ibus + +.SH SYNOPSIS +.B /etc/X11/xinit/xinput.d/ibus.conf + +.SH DESCRIPTION + +.PP +IBus is an Intelligent Input Bus. It is a new input framework for Linux +OS. It provides full featured and user friendly input method user +interface. It also may help developers to develop input method easily. + +.PP +.B ibus.conf +is a configuration file containing X input setting values to be read in +and set by /etc/X11/xinit/xinitrc\-common. +.I imsettings-switch(1) +is called from XDG auto\-start and invokes +xinitrc\-common. +.LP +If this file is the alias of +.I /etc/X11/xinit/xinputrc +for the system setting +or +.I [$XDG_CONFIG_HOME|$HOME/.config]/imsettings/xinputrc +for the user setting, the setting can be default. +.I im\-chooser(1) +can choose the user setting. +.LP +The configuration options are: +.TP +\fBXIM\fP +XIM name for XMODIFIERS +.TP +\fBXIM_PROGRAM\fP +XIM executable program name +.TP +\fBXIM_ARGS\fP +XIM arguments for XIM_PROGRAM +.TP +\fBSHORT_DESC\fP +XIM human readable name for +.I im\-chooser(1) +.TP +\fBICON\fP +icon file for +.I im\-chooser(1) +.TP +\fBPREFERENCE_PROGRAM\fP +XIM setup program for +.I im\-chooser(1) +.TP +\fBGTK_IM_MODULE\fP +IM environment valuable for GTK+ applications. +.TP +\fBQT_IM_MODULE\fP +IM environment valuable for QT applications. + +.SH BUGS +If you find a bug, please report it at http://code.google.com/p/ibus/issues/list + +.SH "SEE ALSO" +.BR ibus\-daemon (1) +.BR imsettings\-switch (1) +.BR im\-chooser (1) +.BR X (7) diff --git a/SPECS/ibus.spec b/SPECS/ibus.spec index 621214f..6221de9 100644 --- a/SPECS/ibus.spec +++ b/SPECS/ibus.spec @@ -1,17 +1,37 @@ -%global with_preload_xkb_engine 1 %global with_pygobject2 1 +%if (0%{?fedora} || 0%{?rhel} > 7) %global with_pygobject3 1 +%else +%global with_pygobject3 0 +%endif %global with_pkg_config %(pkg-config --version >/dev/null 2>&1 && echo -n "1" || echo -n "0") -%if (0%{?fedora} > 18 || 0%{?rhel} > 6) -%global with_python_pkg 1 +%if (0%{?fedora} || 0%{?rhel} > 6) +%global with_kde5 1 +%else +%global with_kde5 0 +%endif + +%if (0%{?fedora}) +%global with_emoji_harfbuzz 1 +%else +%global with_emoji_harfbuzz 0 +%endif + +%if (0%{?fedora} || 0%{?rhel} > 7) +%global with_wayland_weston 1 %else -%global with_python_pkg 0 +%global with_wayland_weston 0 %endif %global ibus_api_version 1.0 +# for bytecompile in %%{_datadir}/ibus/setup +%if %with_pygobject3 +%global __python %{__python3} +%endif + %if %with_pkg_config %{!?gtk2_binary_version: %global gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)} %{!?gtk3_binary_version: %global gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)} @@ -24,41 +44,34 @@ %global dbus_python_version 0.83.0 -Name: ibus -Version: 1.5.3 -Release: 13%{?dist} -Summary: Intelligent Input Bus for Linux OS -License: LGPLv2+ -Group: System Environment/Libraries -URL: http://code.google.com/p/ibus/ -Source0: http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz -Source1: %{name}-xinput +Name: ibus +Version: 1.5.17 +Release: 2%{?dist} +Summary: Intelligent Input Bus for Linux OS +License: LGPLv2+ +Group: System Environment/Libraries +URL: https://github.com/ibus/%name/wiki +Source0: https://github.com/ibus/%name/releases/download/%{version}/%{name}-%{version}.tar.gz +Source1: %{name}-xinput +Source2: %{name}.conf.5 +%if (0%{?rhel} > 6) +# Require cldr-emoji-annotation package +Source3: %{name}-cldr-emoji-annotation-32.0.0_1.tar.gz +Source4: %{name}-emoji-test.txt +%endif +# Will remove the annotation tarball once the rpm is available on Fedora # Upstreamed patches. -# Patch0: %%{name}-HEAD.patch -Patch0: %{name}-HEAD.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=810211 -Patch1: %{name}-810211-no-switch-by-no-trigger.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=541492 -Patch2: %{name}-541492-xkb.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=530711 -Patch3: %{name}-530711-preload-sys.patch -# Hide minor input method engines on ibus-setup by locale -Patch4: %{name}-xx-setup-frequent-lang.patch -# Fix build with newer vala versions -Patch5: 0001-Fix-a-build-error-of-Gdk.EventKey-with-vala-0.23.2.patch - -# Removed the target. -# rhpkg srpm's target is rhel but it runs on fedora box. -# Keep the default triggers for the back compatiblity. -Patch95: %{name}-xx-ctrl-space.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1030358 -Patch96: %{name}-1030358-translation_updates.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1183909 -Patch97: %{name}-1183909-x11-hang-fast-type.patch +# Patch0: %%{name}-HEAD.patch +%if %with_emoji_harfbuzz +# Under testing self rendering until Pango, Fontconfig, Cairo are stable +# Patch1: %{name}-xx-emoji-harfbuzz.patch +%endif BuildRequires: gettext-devel BuildRequires: libtool +# for gtkdoc-fixxref +BuildRequires: glib2-doc BuildRequires: gtk2-devel BuildRequires: gtk3-devel BuildRequires: dbus-glib-devel @@ -67,6 +80,12 @@ BuildRequires: desktop-file-utils BuildRequires: gtk-doc BuildRequires: dconf-devel BuildRequires: dbus-x11 +%if %with_pygobject3 +BuildRequires: python3-devel +BuildRequires: python3-gobject +%else +BuildRequires: python-gobject +%endif BuildRequires: python2-devel BuildRequires: vala BuildRequires: vala-devel @@ -76,46 +95,56 @@ BuildRequires: GConf2-devel BuildRequires: intltool BuildRequires: iso-codes-devel BuildRequires: libnotify-devel - -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-gtk2 = %{version}-%{release} -Requires: %{name}-gtk3 = %{version}-%{release} -%if %with_python_pkg -Requires: %{name}-setup = %{version}-%{release} +%if %with_wayland_weston +BuildRequires: libwayland-client-devel +%endif +%if %with_kde5 +BuildRequires: qt5-qtbase-devel +%endif +%if (0%{?fedora} || 0%{?rhel} > 7) +BuildRequires: cldr-emoji-annotation +BuildRequires: unicode-emoji +%endif +%if %with_emoji_harfbuzz +BuildRequires: cairo-devel +BuildRequires: fontconfig-devel +BuildRequires: harfbuzz-devel %endif -Requires: iso-codes -Requires: dbus-python >= %{dbus_python_version} -Requires: dbus-x11 -# Owner of %%{_sysconfdir}/dconf/db -Requires: dconf -Requires: librsvg2 +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-gtk2%{?_isa} = %{version}-%{release} +Requires: %{name}-gtk3%{?_isa} = %{version}-%{release} +Requires: %{name}-setup = %{version}-%{release} + +Requires: iso-codes +Requires: dbus-x11 +Requires: dconf +Requires: librsvg2 +%if %with_pygobject3 +# Owner of %%python3_sitearch/gi/overrides +Requires: python3-gobject +# https://bugzilla.redhat.com/show_bug.cgi?id=1161871 +Requires: python3 +%else # Owner of %%python2_sitearch/gi/overrides -Requires: pygobject3-base +Requires: python-gobject +Requires: python2 +%endif # Owner of %%{_sysconfdir}/X11/xinit -Requires: xorg-x11-xinit +Requires: xorg-x11-xinit # for setxkbmap -Requires: xorg-x11-xkb-utils -# The feature in ibus-gnome3 is provided by gnome-shell. -Obsoletes: ibus-gnome3 < %{version}-%{release} -%if ! %with_python_pkg -%if %with_pygobject3 -Requires: pygobject3 -BuildRequires: gobject-introspection-devel -BuildRequires: pygobject3-devel -%endif -%if %with_pygobject2 -Requires: pygtk2 -%endif -%endif +Requires: xorg-x11-xkb-utils -Requires(post): desktop-file-utils -Requires(postun): desktop-file-utils -Requires(postun): dconf -Requires(posttrans): dconf +Requires: desktop-file-utils +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils +Requires: dconf +Requires(postun): dconf +Requires(posttrans): dconf -Requires(post): %{_sbindir}/alternatives -Requires(postun): %{_sbindir}/alternatives +Requires: %{_sbindir}/alternatives +Requires(post): %{_sbindir}/alternatives +Requires(postun): %{_sbindir}/alternatives %global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf @@ -123,156 +152,204 @@ Requires(postun): %{_sbindir}/alternatives IBus means Intelligent Input Bus. It is an input framework for Linux OS. %package libs -Summary: IBus libraries -Group: System Environment/Libraries +Summary: IBus libraries +Group: System Environment/Libraries -Requires: glib2 >= %{glib_ver} -Requires: dbus >= 1.2.4 +Requires: dbus >= 1.2.4 +Requires: glib2 >= %{glib_ver} # Owner of %%{_libdir}/girepository-1.0 -Requires: gobject-introspection +Requires: gobject-introspection %description libs This package contains the libraries for IBus %package gtk2 -Summary: IBus im module for gtk2 -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Summary: IBus IM module for GTK2 +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: glib2 >= %{glib_ver} Requires(post): glib2 >= %{glib_ver} # Added for upgrade el6 to el7 -Provides: ibus-gtk = %{version}-%{release} -Obsoletes: ibus-gtk < %{version}-%{release} +Provides: ibus-gtk = %{version}-%{release} +Obsoletes: ibus-gtk < %{version}-%{release} %description gtk2 -This package contains ibus im module for gtk2 +This package contains IBus IM module for GTK2 %package gtk3 -Summary: IBus im module for gtk3 -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Summary: IBus IM module for GTK3 +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: glib2 >= %{glib_ver} Requires(post): glib2 >= %{glib_ver} %description gtk3 -This package contains ibus im module for gtk3 +This package contains IBus IM module for GTK3 -%if %with_python_pkg -%if %with_pygobject3 %package setup Summary: IBus setup utility Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} -Requires: pygobject3 -BuildRequires: gobject-introspection-devel +%if %with_pygobject3 +Requires: python3 +Requires: python3-gobject +%else +Requires: python2 +Requires: python-gobject +%endif BuildRequires: pygobject3-devel +BuildRequires: gobject-introspection-devel BuildArch: noarch %description setup This is a setup utility for IBus. -%endif %if %with_pygobject2 %package pygtk2 -Summary: IBus pygtk2 library +Summary: IBus PyGTK2 library Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} +Requires: dbus-python >= %{dbus_python_version} +Requires: python2 Requires: pygtk2 BuildArch: noarch %description pygtk2 -This is a pygtk2 library for IBus. Now major IBus engines use pygobject3 +This is a PyGTK2 library for IBus. Now major IBus engines use PyGObject3 and this package will be deprecated. %endif + +%if %with_pygobject3 +%package py2override +Summary: IBus Python2 override library +Group: System Environment/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# Owner of %%python2_sitearch/gi/overrides +%if (0%{?fedora}) +Requires: pygobject3-base +%else +Requires: python-gobject +%endif +Requires: python2 + +%description py2override +This is a Python2 override library for IBus. The Python files override +some functions in GObject-Introspection. +%endif + +%if %with_wayland_weston +%package wayland +Summary: IBus IM module for Wayland +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description wayland +This package contains IBus IM module for Wayland %endif %package devel -Summary: Development tools for ibus -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: dbus-devel -Requires: glib2-devel +Summary: Development tools for ibus +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: dbus-devel +Requires: glib2-devel # Owner of %%{_datadir}/gir-1.0 -Requires: gobject-introspection-devel +Requires: gobject-introspection-devel # Owner of %%{_datadir}/vala/vapi -Requires: vala +Requires: vala %description devel The ibus-devel package contains the header files and developer docs for ibus. %package devel-docs -Summary: Developer documents for ibus -Group: Development/Libraries +Summary: Developer documents for IBus +Group: Development/Libraries %if (0%{?fedora} >= 19 || 0%{?rhel} >= 7) -Requires: %{name} = %{version}-%{release} -BuildArch: noarch +Requires: %{name} = %{version}-%{release} +BuildArch: noarch %else -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %endif -# Owner of %%{_datadir}/gtk-doc/html -Requires: gtk-doc %description devel-docs -The ibus-devel-docs package contains developer documentation for ibus +The ibus-devel-docs package contains developer documentation for IBus %prep %setup -q - +zcat %SOURCE3 | tar xf - +mkdir emoji +cp %SOURCE4 emoji/emoji-test.txt # %%patch0 -p1 -%patch0 -p1 -cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || -%patch1 -p1 -b .noswitch -%if %with_preload_xkb_engine -%patch2 -p1 -b .preload-xkb -rm -f bindings/vala/ibus-1.0.vapi -rm -f data/dconf/00-upstream-settings +# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || +%if %with_emoji_harfbuzz +# %%patch1 -p1 -z .hb %endif -%patch3 -p1 -b .preload-sys -%patch4 -p1 -b .setup-frequent-lang -%patch5 -p1 -%if (0%{?fedora} < 19 && 0%{?rhel} < 7) -%patch95 -p1 -b .ctrl -%endif -%if (0%{?fedora} < 1 && 0%{?rhel} <= 7) -%patch96 -p2 -b .po-rhel -%endif -%if (0%{?fedora} < 20 && 0%{?rhel} <= 7) -%patch97 -p1 -b .xhang -%endif +# prep test +diff client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c +if test $? -ne 0 ; then + echo "Have to copy ibusimcontext.c into client/gtk3" + abort +fi %build -%if %with_preload_xkb_engine +#autoreconf -f -i -v +#make -C ui/gtk3 maintainer-clean-generic +#make -C tools maintainer-clean-generic autoreconf -f -i -v -%endif %configure \ --disable-static \ --enable-gtk2 \ --enable-gtk3 \ --enable-xim \ --enable-gtk-doc \ - --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*' \ --enable-surrounding-text \ +%if %with_pygobject3 + --with-python=python3 \ +%endif %if %with_pygobject2 --enable-python-library \ %endif - --enable-introspection +%if %with_wayland_weston + --enable-wayland \ +%endif +%if ! %with_kde5 + --disable-appindicator \ +%endif +%if %with_emoji_harfbuzz + --enable-harfbuzz-for-emoji \ +%endif +%if (0%{?rhel} > 6) + --with-emoji-annotation-dir=$PWD/cldr-emoji-annotation-32.0.0_1/annotations \ + --with-unicode-emoji-dir=$PWD/emoji \ +%endif + --enable-introspection \ + %{nil} -%if %with_preload_xkb_engine make -C ui/gtk3 maintainer-clean-generic -%endif -# make -C po update-gmo -make %{?_smp_mflags} +make %{?_smp_mflags} GDBUS_CODEGEN="python2 $PWD/gdbus-codegen" %install make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' -rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-%{ibus_api_version}.la +rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-*%{ibus_api_version}.la rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la +# install man page +for S in %{SOURCE2} +do + cp $S . + MP=`basename $S` + gzip $MP + install -pm 644 -D ${MP}.gz $RPM_BUILD_ROOT%{_datadir}/man/man5/${MP}.gz +done + # install xinput config file install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf} @@ -350,42 +427,41 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &> /dev/null || : %{_bindir}/ibus %{_bindir}/ibus-daemon %{_datadir}/bash-completion/completions/ibus.bash +%{_datadir}/dbus-1/services/*.service %{_datadir}/GConf/gsettings/* %{_datadir}/glib-2.0/schemas/*.xml %{_datadir}/ibus/component +%{_datadir}/ibus/dicts %{_datadir}/ibus/engine %{_datadir}/ibus/keymaps %{_datadir}/icons/hicolor/*/apps/* %{_datadir}/man/man1/ibus.1.gz %{_datadir}/man/man1/ibus-daemon.1.gz +%{_datadir}/man/man5/ibus.conf.5.gz +%{_datadir}/man/man7/ibus-emoji.7.gz %{_libexecdir}/ibus-engine-simple %{_libexecdir}/ibus-dconf +%{_libexecdir}/ibus-portal +%{_libexecdir}/ibus-ui-emojier %{_libexecdir}/ibus-ui-gtk3 %{_libexecdir}/ibus-x11 %{_sysconfdir}/dconf/db/ibus.d %{_sysconfdir}/dconf/profile/ibus +%if %with_pygobject3 +%python3_sitearch/gi/overrides/__pycache__/*.py* +%python3_sitearch/gi/overrides/IBus.py +%else %python2_sitearch/gi/overrides/IBus.py* +%endif # ibus owns xinput.d because gnome does not like to depend on imsettings. %dir %{_sysconfdir}/X11/xinit/xinput.d # Do not use %%config(noreplace) to always get the new keywords in _xinputconf # For user customization, $HOME/.xinputrc can be used instead. %config %{_xinputconf} -%if ! %with_python_pkg -%if %with_pygobject3 -%{_bindir}/ibus-setup -%{_datadir}/applications/ibus-setup.desktop -%{_datadir}/ibus/setup -%{_datadir}/man/man1/ibus-setup.1.gz -%endif -%if %with_pygobject2 -%dir %{python2_sitelib}/ibus -%{python2_sitelib}/ibus/* -%endif -%endif %files libs -%{_libdir}/libibus-%{ibus_api_version}.so.* -%{_libdir}/girepository-1.0/IBus-1.0.typelib +%{_libdir}/libibus-*%{ibus_api_version}.so.* +%{_libdir}/girepository-1.0/IBus*-1.0.typelib %files gtk2 %{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so @@ -393,34 +469,58 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &> /dev/null || : %files gtk3 %{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so -%if %with_python_pkg -%if %with_pygobject3 +# The setup package won't include icon files so that +# gtk-update-icon-cache is executed in the main package only one time. %files setup %{_bindir}/ibus-setup %{_datadir}/applications/ibus-setup.desktop %{_datadir}/ibus/setup %{_datadir}/man/man1/ibus-setup.1.gz -%endif %if %with_pygobject2 %files pygtk2 %dir %{python2_sitelib}/ibus %{python2_sitelib}/ibus/* %endif + +%if %with_pygobject3 +%files py2override +%python2_sitearch/gi/overrides/IBus.py* +%endif + +%if %with_wayland_weston +%files wayland +%{_libexecdir}/ibus-wayland %endif %files devel %{_libdir}/lib*.so %{_libdir}/pkgconfig/* %{_includedir}/* -%{_datadir}/gir-1.0/IBus-1.0.gir -%{_datadir}/vala/vapi/ibus-1.0.vapi -%{_datadir}/vala/vapi/ibus-1.0.deps +%{_datadir}/gir-1.0/IBus*-1.0.gir +%{_datadir}/vala/vapi/ibus-*1.0.vapi +%{_datadir}/vala/vapi/ibus-*1.0.deps %files devel-docs +# Own html dir since gtk-doc is heavy. +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html %{_datadir}/gtk-doc/html/* %changelog +* Mon Nov 06 2017 Takao Fujiwara - 1.5.17-2 +- Resolves: #1488582 - delete ibus-wayland for RHEL7 inspection + +* Mon Nov 06 2017 Takao Fujiwara - 1.5.17-1 +- Resolves: #1488582 - rebase to fix a runtime dependency of gnome-shell + +* Fri Oct 13 2017 Takao Fujiwara - 1.5.3-15 +- Resolves: #1488582 - fix a build warning in errata + +* Fri Oct 13 2017 Takao Fujiwara - 1.5.3-14 +- Resolves: #1488582 - rebuild ibus with Wayland support +- Add ibus-portal + * Thu Jul 23 2015 Rui Matos - 1.5.3-13 - Resolves: #1238397 - ibus doesn't build with vala in 7.2