diff -rupN ibus-chewing-1.4.4-Source/ChangeLog ibus-chewing-1.4.8-Source/ChangeLog --- ibus-chewing-1.4.4-Source/ChangeLog 2013-12-18 15:01:09.000000000 +1000 +++ ibus-chewing-1.4.8-Source/ChangeLog 2014-01-17 13:00:34.460062327 +1000 @@ -1,4 +1,19 @@ -* Wed Dec 18 2013 Ding-Yi Chen - 1.4.4 +* Fri Jan 17 2014 Ding-Yi Chen - 1.4.4-4 +- Target "translation" is built separately with all, + in order to tame multiple job make. +- Fixed Build for RHEL7 +- Resolves Bug 1013977 - ibus-chewing needs to have ibus write-cache --system in %post and %postun +- Resolves Bug 1027031 - CVE-2013-4509 ibus-chewing: ibus: visible password entry flaw [rhel-7.0] +- Resolves Bug 1028911 - [zh_TW]'Chinese<->English' switch does not work when clicking on the Chewing menu list. +- Resolves Bug 1045868 - ibus-chewing *again* not built with $RPM_OPT_FLAGS +- Option "Sync between caps lock and IM": + + Default of is changed to "disable", because the previous default + "keyboard" cause bug 1028911 for GNOME Shell. + + Now Sync from "input method" can control Caps LED in GNOME shell. +- Translation added: de_DE, es_ES, it_IT, pt_BR, uk_UA +- Set environment IBUS_CHEWING_LOGFILE for ibus-chewing log. + +* Mon Dec 23 2013 Ding-Yi Chen - 1.4.4 - Resolves Bug 842856 - ibus-chewing 1.4.3-1 not built with $RPM_OPT_FLAGS - Resolves Bug 1027030 - CVE-2013-4509 ibus-chewing: ibus: visible password entry flaw [fedora-all] @@ -266,5 +281,3 @@ Fix the errors which Funda Wang as point * Fri Feb 20 2009 - Ding-Yi Chen - 1.0.0.20090220 - This is a barely working version for with IBus C. - The build system is converted from autotool to CMake. - - diff -rupN ibus-chewing-1.4.4-Source/ChangeLog~ ibus-chewing-1.4.8-Source/ChangeLog~ --- ibus-chewing-1.4.4-Source/ChangeLog~ 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/ChangeLog~ 2014-01-17 12:38:43.000000000 +1000 @@ -0,0 +1,290 @@ +* Fri Jan 17 2014 Ding-Yi Chen - 1.4.8 + + +* Thu Jan 16 2014 Ding-Yi Chen - 1.4.7 +- Target "translation" is built separately with all, + in order to tame multiple job make. + +* Thu Jan 16 2014 Ding-Yi Chen - 1.4.6 +- Fixed Build for RHEL7 + +* Wed Jan 15 2014 Ding-Yi Chen - 1.4.5 +- Resolves Bug 1013977 - ibus-chewing needs to have ibus write-cache --system in %post and %postun +- Resolves Bug 1027031 - CVE-2013-4509 ibus-chewing: ibus: visible password entry flaw [rhel-7.0] +- Resolves Bug 1028911 - [zh_TW]'Chinese<->English' switch does not work when clicking on the Chewing menu list. +- Resolves Bug 1045868 - ibus-chewing *again* not built with $RPM_OPT_FLAGS +- Option "Sync between caps lock and IM": + + Default of is changed to "disable", because the previous default + "keyboard" cause bug 1028911 for GNOME Shell. + + Now Sync from "input method" can control Caps LED in GNOME shell. +- Translation added: de_DE, es_ES, it_IT, pt_BR, uk_UA +- Set environment IBUS_CHEWING_LOGFILE for ibus-chewing log. + +* Mon Dec 23 2013 Ding-Yi Chen - 1.4.4 +- Resolves Bug 842856 - ibus-chewing 1.4.3-1 not built with $RPM_OPT_FLAGS +- Resolves Bug 1027030 - CVE-2013-4509 ibus-chewing: ibus: visible + password entry flaw [fedora-all] + Thanks czchen for the GitHub pull request 39. +- Added translations: fr_FR, ja_JP, ko_KR +- Adopt cmake-fedora-1.2.0 + +* Mon Nov 26 2012 Ding-Yi Chen - 1.4.3 +- Fixed GitHub issue #30: Rework decorate_preedit + by merging pull request #30 from buganini +- Fixed GitHub issue #31: Properly refresh property + by merging pull request #31 from buganini + +* Thu Aug 23 2012 Ding-Yi Chen - 1.4.2 +- Fixed GitHub issue #7: highlighted text be cut after switch back to pure ibus + by merging pull request #24 from buganini +- Fixed GitHub issue #20: Shift key will send duplicated strings + by merging pull request #22 from buganini +- Fixed GitHub issue #21: somethings wrong with cmake +- Fixed GitHub issue #25: Weird symbol when input with somethings highlighted + by merging pull request #26 from buganini +- Fixed GitHub issue #27: Local path committed into tree +- Fixed: Bug 713033 - [zh_TW] ibus-chewing problem +- Fixed: Bug 745371 - ibus-chewing: mode confusion In Temporary English mode and Chinese mode later on +- Fixed: Google Issue 1172: [ibus-chewing] move elf file to standard directory. +- Fixed: Google Issue 1426: ibus-chewing-1.3.10 installs directory /gconf to root filesystem +- Fixed: Google Issue 1428: ibus-chewing-1.3.10 fails to save it's settings +- Fixed: Google Issue 1481: Some characters are missing when a long string in preedit buffer. +- Fixed: Google Issue 1490: Cannot change INSTAL prefix for ibus-chewing-1.4.0 + +* Mon Jul 23 2012 Ding-Yi Chen - 1.4.0 +- Merge pull request #13 from hiroshiyui to Fix wrong data type conversion +- Fixed: Google Issue 1079: Use shift key to switch to English mode in ibus-chewing + Also list as GitHub pull request #17 +- Fixed: Google Issue 1089: Ibus-chewing cause window flicker when compiz enabled +- Fixed: Google Issue 1329, Github Issue 3: Merge with buganini at gmail.com +- Fixed: Google Issue 1351: ibus-chewing 1.3.10 mistakenly send uncommitted charactor. +- Fixed: Google Issue 1374: ibus-chewing: cannot save the preference with gnomeshell +- Fixed: Google Issue 1427: ibus-chewing-1.3.10 is not compatible with ibus-1.4.0 and higher + Also list as GitHub pull request #16 +- Fixed: GitHub Issue 5: Word missing when with libchewing-0.3.3 and ibus-chewing 1.3.10 + Also list as GitHub pull request #15 +- Fixed: Launchpad bug: 1014456 bus-chewing deletes characters if too many of them are entered + Also list as GitHub pull request #19 + +* Thu Dec 15 2011 - Ding-Yi Chen - 1.3.10 +- Fixed Bug 726335 (Google issue 1281)- [abrt] ibus-chewing-1.3.9.2-3.fc15: g_atomic_int_get: + Process /usr/libexec/ibus-engine-chewing was killed by signal 11 (SIGSEGV) using patch from Scott Tsai +- Fixed Bug 727018 - ibus compose file needs a symbol tag for gnome-shell +- Fixed characters duplication problem (Google issue 1245, GitHub ibus-chewing issue 2) +- Fixed KP-Enter not been able to commit preedit buffer. (Google issue 1303, GitHub ibus-chewing issue 4) +- Depends on cmake-fedora now. +- Fixed issue 1274, which is addressed by yusake's comments on d9009bf. +- Add compile flag for GNOME3. +- Add command line option: showFlags +- ibus-gnome special symbol +- Thanks Fred Chien's patch against that candidate window cannot be closed + with escape key since selected tone. +- Thanks Fourdollar's patch for Fix plain zhuyin with space as selection problem. +- Remove support for ibus-1.2 and prior. + +* Fri Nov 19 2010 Ding-Yi Chen - 1.3.9.2 +- Fixed Bug 652909 +- Added back a Changlog item that mention Nils Philippsen's change. +- Apply Jim Huang's patch for zh_TW.po + +* Fri Nov 12 2010 Ding-Yi Chen - 1.3.8 +- Quick fix for f15 and ibus-1.4 build +- Version scheme change. + +* Fri Sep 10 2010 Ding-Yi Chen - 1.3.7.20100910 +- Input style of ibus-chewing is decommissioned under ibus >=1.3. + Now the input style is determined solely on the setting of + "Embed preedit in application window" in IBus. +- Resolves: #608991, #632043 +- Fixed Issue 1022: chewing commit some text in reset method + (patched by Peng Huang). +- Fixed Issue 1032: [ibus-chewing] Chewing not commit some single Chinese + char into application when press enter. +- Rewrite CMake modules to make them cleaner, and documents in cmake module + help format. +- [For developer and distro maintainer] + Various targets changed. Use 'make help' to obtain a list of available + targets. + +* Fri Jul 30 2010 - Ding-Yi Chen - 1.3.6.20100730 +- Resolves: #608991 +- Sort of fix upstream issue 993. +- Include USER-GUIDE +- Remove NEWS, as this project does not use it. +- Fix upstream Issue 1016: [ibus-chewing] Chewing should commit the complete string before disable chewing. But only for ibus-1.3.0 and later. +- Mouse candidate selection now work in plain Zhuyin mode. +- Default setting changes: (Won't affect current user though). + + Auto move cursor: TRUE + + Add phrases in front: TRUE + + spaceAsSelection: FALSE + +* Wed Jul 14 2010 Ding-Yi Chen - 1.3.5.20100714 +- Resolves: #608991 +- Removes Ctrl-v/V Hotkey + +* Wed Jul 07 2010 - Ding-Yi Chen - 1.3.5.20100706 +- Fixed google issue 965: + Candidate missing if both "Plain Zhuyin" and "Space As selection" are enabled. +- Revised Basic.macro +- Resolved: #608991 + +* Tue Jun 08 2010 - Ding-Yi Chen - 1.3.4.20100608 +- ibus-chewing can now use mouse to click on mouse. Thus + Fix Issue 951: Chewing does not support selection of candidates via mouseclick + Thanks zork@chromium.org for the patch. + +* Fri Jun 04 2010 - Ding-Yi Chen - 1.3.4.20100605 +- Fix Issue 942: Fix unsunk references in ibus-chewing + Applied the patch provided by zork@chromium.org. +- Rename CVS_DIST_TAGS to FEDORA_DIST_TAGS, and move its + definition to cmake_modules/ +- Gob2 generated file is now removed, because + Bug 519108 is fixed from Fedora 11. + +* Wed Mar 17 2010 - Ding-Yi Chen - 1.2.99.20100317 +- Fix google 796: English input for dvorak +- Fix google 797: Zhuyin input for dvorak +- Fix google 807: ibus-chewing shows the over-the-spot panel + even when not necessary + +* Fri Feb 19 2010 - Ding-Yi Chen - 1.2.99.20100217 +- Fixed the CMake description that leads summary incorrect. + +* Tue Feb 16 2010 - Ding-Yi Chen - 1.2.99.20100216 +- Fixed when typing English immediately after incomplete Chinese character. +- Add zh_TW summary. +- Revised description and write its zh_TW translation. + +* Tue Feb 16 2010 - Ding-Yi Chen - 1.2.99.20100215 +- "Macroize" rpm spec. +- Resolves: #565388 + +* Fri Feb 12 2010 - Ding-Yi Chen - 1.2.99.20100212 +- Fixed Google issue 505. +- Google issue 755 is fixed in libchewing-0.3.2-22, + See Chewing Google issue 10 +- Fixed behavior of Del, Backspace, Home, End +- Revert the change that fix Google issue 758. +- Change the default input style to "in candidate window", + because not all application handle the on-the-spot mode well. +- Fixed Google issue 776 + +* Tue Feb 09 2010 - Ding-Yi Chen - 1.2.0.20100210 +- Revert the change that fix Google issue 758. +- Remove "tag" target, add "commit" which do commit and tag. + +* Tue Feb 09 2010 - Ding-Yi Chen - 1.2.0.20100209 +- Fixed Google issue 754: commit string is missing when inputting + long English text in the end. +- Fixed Google issue 758: Space is irresponsive in Temporary English mode + if no Chinese in preedit buffer. +- Fixed Google Issue 763: [ibus-chewing] [qt] Shift-Up/Down does not mark + text area properly. +- Change the String "on the spot" to "in application window", + Chinese translation change to "在輸入處組詞" +- Change the "over the spot" to "in candidate window", + Chinese translation remain the same +- Fixed bodhi submission. + +* Mon Jan 25 2010 - Ding-Yi Chen - 1.2.0.20100125 +- Add over-the-spot editing mode. +- Possible fixed of Google issue 505: ibus acts strange in Qt programs. +- Implemented Google issue 738: Add a mode that allow editing in candidate window + (thus over-the-spot mode). + +* Fri Dec 11 2009 - Ding-Yi Chen - 1.2.0.20091211 +- Fix Google issue 608: ibus-chewing does not show cursor in xim mode. +- Fix Google issue 611: ibus-chewing keyboard setting reverts to default unexpectlly. +- Fix Google issue 660: failed to build with binutils-gold. +- Remove make target commit. +- Add make target tag + +* Fri Oct 02 2009 - Ding-Yi Chen - 1.2.0.20091002 +- Bug 518901 - ibus-chewing would not work with locale zh_TW.Big +- Fix Google issue 501: ibus-chewing buffer doesn't get cleared when +toggling ibus on/off +- Fix Google issue 502: ibus-chewing: character selection window stays +behind when toggling ibus off- Use WM's revised ibus-chewing icon. +- Debug output now marked with levels. + +* Thu Sep 17 2009 - Ding-Yi Chen - 1.2.0.20090917 +- Addressed Upstream (IBUS Google code) issue 484: + + Find the source that why the / and . are not working. +- Pack the gob2 generation source to avoid the [Bug 519108]: + [gob2] class and enum names convert incorrectly in mock / koji. + +* Wed Sep 09 2009 - Ding-Yi Chen - 1.2.0.20090831 +- IBusProperty and IBusPropList are free upon destruction. +- Fixed Red Hat Bugzilla [Bug 519328] [ibus-chewing] inconsistent between normal mode and plain Zhuyin mode. +- Addressed Upstream (IBUS Google code) issue 484: + Arithmetic symbols (+-*/) on number pad does not input properly. + +* Wed Aug 26 2009 - Ding-Yi Chen - 1.2.0.20090818 +- Merged 1.2 and 1.1 source code. +- Addressed Upstream (IBUS Google code) issue 471. +- Remove libX11 dependency. + +* Mon Aug 17 2009 - Ding-Yi Chen - 1.2.0.20090624 +- Lookup table now shows the selection key. + +* Mon Jun 22 2009 - Ding-Yi Chen - 1.2.0.20090622 +- For IBus 1.2 +- Revised dialog look. + +* Fri May 22 2009 - Ding-Yi Chen - 1.0.10.20090523 +- Applied Lubomir Rintel's patch + +* Fri May 22 2009 - Ding-Yi Chen - 1.0.10.20090522 +- Now the 1st down key brings the longest possible phrases. + The 2nd down key brings the 2nd longest possible phrases from the back, + unlike the previous versions where the cursor stays in the head of longest phrase. +- Add force lowercase in English mode option. +- Fix double free issue when destroy ibus-chewing. +- Hide ibus-chewing-panel when ibus-chewing is focus-out + +* Mon May 11 2009 - Ding-Yi Chen - 1.0.9.20090508 + Now commit is forced when switch of ibus-chewing or current application loses focus. +- New ibus-chewing.png is contribute by WM. +- input-keyboard.png is no longer needed and removed. +- ibus-engine-chewing -v option now need an integer as verbose level. +- ibus-chewing.schemas is now generated. +- Fix some CMake modules bugs. + +* Tue Apr 28 2009 - Ding-Yi Chen - 1.0.8.20090428 +Fix the errors which Funda Wang as pointing out: +- Move src/chewing.xml.in to data/ +- Fixed some typo in next_version targets. +- Remove GConf2 package requirement, while add gconftool-2 requirement. + +* Mon Mar 30 2009 - Ding-Yi Chen - 1.0.5.20090330 +- Added tooltips. +- Revealed the sync caps lock setting. +- Fixed Right key bug. +- Added CMake policy 0011 as OLD. + +* Mon Mar 23 2009 Ding-Yi Chen - 1.0.4.20090323 +- Various Settings are now in dialog. +- Integer settings are now revealed. +- MakerDialog.gob is now available. +- Work around of easy symbol input. +- Fix iBus Google issue 310. + +* Wed Mar 11 2009 Ding-Yi Chen - 1.0.3.20090311 +- IBus Google issue 305: ibus-chewing.schema -> ibus-chewing.schemas +- IBus Google issue 307: hardcoded chewing datadir +- Sync chewing candPerPage and IBusTable->page_size +- Sync between IM and keyboard (Experimental) + +* Tue Mar 03 2009 Ding-Yi Chen - 1.0.2.20090303 +- Required gconf2 -> GConf2. +- Fix RPM scriptlet. + +* Fri Feb 27 2009 Ding-Yi Chen - 1.0.1.20090227 +- Add gconf schema. +- Fix some memory leaking checked. +- Move some function to cmake_modules. +- Fix Google code issue 281 + +* Fri Feb 20 2009 - Ding-Yi Chen - 1.0.0.20090220 +- This is a barely working version for with IBus C. +- The build system is converted from autotool to CMake. \ 檔案末沒有 newline 字元 diff -rupN ibus-chewing-1.4.4-Source/ChangeLog.prev ibus-chewing-1.4.8-Source/ChangeLog.prev --- ibus-chewing-1.4.4-Source/ChangeLog.prev 2012-11-27 00:25:52.000000000 +1000 +++ ibus-chewing-1.4.8-Source/ChangeLog.prev 1970-01-01 10:00:00.000000000 +1000 @@ -1,262 +0,0 @@ -* Mon Nov 26 2012 Ding-Yi Chen - 1.4.3 -- Fixed GitHub issue #30: Rework decorate_preedit - by merging pull request #30 from buganini -- Fixed GitHub issue #31: Properly refresh property - by merging pull request #31 from buganini - -* Thu Aug 23 2012 Ding-Yi Chen - 1.4.2 -- Fixed GitHub issue #7: highlighted text be cut after switch back to pure ibus - by merging pull request #24 from buganini -- Fixed GitHub issue #20: Shift key will send duplicated strings - by merging pull request #22 from buganini -- Fixed GitHub issue #21: somethings wrong with cmake -- Fixed GitHub issue #25: Weird symbol when input with somethings highlighted - by merging pull request #26 from buganini -- Fixed GitHub issue #27: Local path committed into tree -- Fixed: Bug 713033 - [zh_TW] ibus-chewing problem -- Fixed: Bug 745371 - ibus-chewing: mode confusion In Temporary English mode and Chinese mode later on -- Fixed: Google Issue 1172: [ibus-chewing] move elf file to standard directory. -- Fixed: Google Issue 1426: ibus-chewing-1.3.10 installs directory /gconf to root filesystem -- Fixed: Google Issue 1428: ibus-chewing-1.3.10 fails to save it's settings -- Fixed: Google Issue 1481: Some characters are missing when a long string in preedit buffer. -- Fixed: Google Issue 1490: Cannot change INSTAL prefix for ibus-chewing-1.4.0 - -* Mon Jul 23 2012 Ding-Yi Chen - 1.4.0 -- Merge pull request #13 from hiroshiyui to Fix wrong data type conversion -- Fixed: Google Issue 1079: Use shift key to switch to English mode in ibus-chewing - Also list as GitHub pull request #17 -- Fixed: Google Issue 1089: Ibus-chewing cause window flicker when compiz enabled -- Fixed: Google Issue 1329, Github Issue 3: Merge with buganini at gmail.com -- Fixed: Google Issue 1351: ibus-chewing 1.3.10 mistakenly send uncommitted charactor. -- Fixed: Google Issue 1374: ibus-chewing: cannot save the preference with gnomeshell -- Fixed: Google Issue 1427: ibus-chewing-1.3.10 is not compatible with ibus-1.4.0 and higher - Also list as GitHub pull request #16 -- Fixed: GitHub Issue 5: Word missing when with libchewing-0.3.3 and ibus-chewing 1.3.10 - Also list as GitHub pull request #15 -- Fixed: Launchpad bug: 1014456 bus-chewing deletes characters if too many of them are entered - Also list as GitHub pull request #19 - -* Thu Dec 15 2011 - Ding-Yi Chen - 1.3.10 -- Fixed Bug 726335 (Google issue 1281)- [abrt] ibus-chewing-1.3.9.2-3.fc15: g_atomic_int_get: - Process /usr/libexec/ibus-engine-chewing was killed by signal 11 (SIGSEGV) using patch from Scott Tsai -- Fixed Bug 727018 - ibus compose file needs a symbol tag for gnome-shell -- Fixed characters duplication problem (Google issue 1245, GitHub ibus-chewing issue 2) -- Fixed KP-Enter not been able to commit preedit buffer. (Google issue 1303, GitHub ibus-chewing issue 4) -- Depends on cmake-fedora now. -- Fixed issue 1274, which is addressed by yusake's comments on d9009bf. -- Add compile flag for GNOME3. -- Add command line option: showFlags -- ibus-gnome special symbol -- Thanks Fred Chien's patch against that candidate window cannot be closed - with escape key since selected tone. -- Thanks Fourdollar's patch for Fix plain zhuyin with space as selection problem. -- Remove support for ibus-1.2 and prior. - -* Fri Nov 19 2010 Ding-Yi Chen - 1.3.9.2 -- Fixed Bug 652909 -- Added back a Changlog item that mention Nils Philippsen's change. -- Apply Jim Huang's patch for zh_TW.po - -* Fri Nov 12 2010 Ding-Yi Chen - 1.3.8 -- Quick fix for f15 and ibus-1.4 build -- Version scheme change. - -* Fri Sep 10 2010 Ding-Yi Chen - 1.3.7.20100910 -- Input style of ibus-chewing is decommissioned under ibus >=1.3. - Now the input style is determined solely on the setting of - "Embed preedit in application window" in IBus. -- Resolves: #608991, #632043 -- Fixed Issue 1022: chewing commit some text in reset method - (patched by Peng Huang). -- Fixed Issue 1032: [ibus-chewing] Chewing not commit some single Chinese - char into application when press enter. -- Rewrite CMake modules to make them cleaner, and documents in cmake module - help format. -- [For developer and distro maintainer] - Various targets changed. Use 'make help' to obtain a list of available - targets. - -* Fri Jul 30 2010 - Ding-Yi Chen - 1.3.6.20100730 -- Resolves: #608991 -- Sort of fix upstream issue 993. -- Include USER-GUIDE -- Remove NEWS, as this project does not use it. -- Fix upstream Issue 1016: [ibus-chewing] Chewing should commit the complete string before disable chewing. But only for ibus-1.3.0 and later. -- Mouse candidate selection now work in plain Zhuyin mode. -- Default setting changes: (Won't affect current user though). - + Auto move cursor: TRUE - + Add phrases in front: TRUE - + spaceAsSelection: FALSE - -* Wed Jul 14 2010 Ding-Yi Chen - 1.3.5.20100714 -- Resolves: #608991 -- Removes Ctrl-v/V Hotkey - -* Wed Jul 07 2010 - Ding-Yi Chen - 1.3.5.20100706 -- Fixed google issue 965: - Candidate missing if both "Plain Zhuyin" and "Space As selection" are enabled. -- Revised Basic.macro -- Resolved: #608991 - -* Tue Jun 08 2010 - Ding-Yi Chen - 1.3.4.20100608 -- ibus-chewing can now use mouse to click on mouse. Thus - Fix Issue 951: Chewing does not support selection of candidates via mouseclick - Thanks zork@chromium.org for the patch. - -* Fri Jun 04 2010 - Ding-Yi Chen - 1.3.4.20100605 -- Fix Issue 942: Fix unsunk references in ibus-chewing - Applied the patch provided by zork@chromium.org. -- Rename CVS_DIST_TAGS to FEDORA_DIST_TAGS, and move its - definition to cmake_modules/ -- Gob2 generated file is now removed, because - Bug 519108 is fixed from Fedora 11. - -* Wed Mar 17 2010 - Ding-Yi Chen - 1.2.99.20100317 -- Fix google 796: English input for dvorak -- Fix google 797: Zhuyin input for dvorak -- Fix google 807: ibus-chewing shows the over-the-spot panel - even when not necessary - -* Fri Feb 19 2010 - Ding-Yi Chen - 1.2.99.20100217 -- Fixed the CMake description that leads summary incorrect. - -* Tue Feb 16 2010 - Ding-Yi Chen - 1.2.99.20100216 -- Fixed when typing English immediately after incomplete Chinese character. -- Add zh_TW summary. -- Revised description and write its zh_TW translation. - -* Tue Feb 16 2010 - Ding-Yi Chen - 1.2.99.20100215 -- "Macroize" rpm spec. -- Resolves: #565388 - -* Fri Feb 12 2010 - Ding-Yi Chen - 1.2.99.20100212 -- Fixed Google issue 505. -- Google issue 755 is fixed in libchewing-0.3.2-22, - See Chewing Google issue 10 -- Fixed behavior of Del, Backspace, Home, End -- Revert the change that fix Google issue 758. -- Change the default input style to "in candidate window", - because not all application handle the on-the-spot mode well. -- Fixed Google issue 776 - -* Tue Feb 09 2010 - Ding-Yi Chen - 1.2.0.20100210 -- Revert the change that fix Google issue 758. -- Remove "tag" target, add "commit" which do commit and tag. - -* Tue Feb 09 2010 - Ding-Yi Chen - 1.2.0.20100209 -- Fixed Google issue 754: commit string is missing when inputting - long English text in the end. -- Fixed Google issue 758: Space is irresponsive in Temporary English mode - if no Chinese in preedit buffer. -- Fixed Google Issue 763: [ibus-chewing] [qt] Shift-Up/Down does not mark - text area properly. -- Change the String "on the spot" to "in application window", - Chinese translation change to "在輸入處組詞" -- Change the "over the spot" to "in candidate window", - Chinese translation remain the same -- Fixed bodhi submission. - -* Mon Jan 25 2010 - Ding-Yi Chen - 1.2.0.20100125 -- Add over-the-spot editing mode. -- Possible fixed of Google issue 505: ibus acts strange in Qt programs. -- Implemented Google issue 738: Add a mode that allow editing in candidate window - (thus over-the-spot mode). - -* Fri Dec 11 2009 - Ding-Yi Chen - 1.2.0.20091211 -- Fix Google issue 608: ibus-chewing does not show cursor in xim mode. -- Fix Google issue 611: ibus-chewing keyboard setting reverts to default unexpectlly. -- Fix Google issue 660: failed to build with binutils-gold. -- Remove make target commit. -- Add make target tag - -* Fri Oct 02 2009 - Ding-Yi Chen - 1.2.0.20091002 -- Bug 518901 - ibus-chewing would not work with locale zh_TW.Big -- Fix Google issue 501: ibus-chewing buffer doesn't get cleared when -toggling ibus on/off -- Fix Google issue 502: ibus-chewing: character selection window stays -behind when toggling ibus off- Use WM's revised ibus-chewing icon. -- Debug output now marked with levels. - -* Thu Sep 17 2009 - Ding-Yi Chen - 1.2.0.20090917 -- Addressed Upstream (IBUS Google code) issue 484: - + Find the source that why the / and . are not working. -- Pack the gob2 generation source to avoid the [Bug 519108]: - [gob2] class and enum names convert incorrectly in mock / koji. - -* Wed Sep 09 2009 - Ding-Yi Chen - 1.2.0.20090831 -- IBusProperty and IBusPropList are free upon destruction. -- Fixed Red Hat Bugzilla [Bug 519328] [ibus-chewing] inconsistent between normal mode and plain Zhuyin mode. -- Addressed Upstream (IBUS Google code) issue 484: - Arithmetic symbols (+-*/) on number pad does not input properly. - -* Wed Aug 26 2009 - Ding-Yi Chen - 1.2.0.20090818 -- Merged 1.2 and 1.1 source code. -- Addressed Upstream (IBUS Google code) issue 471. -- Remove libX11 dependency. - -* Mon Aug 17 2009 - Ding-Yi Chen - 1.2.0.20090624 -- Lookup table now shows the selection key. - -* Mon Jun 22 2009 - Ding-Yi Chen - 1.2.0.20090622 -- For IBus 1.2 -- Revised dialog look. - -* Fri May 22 2009 - Ding-Yi Chen - 1.0.10.20090523 -- Applied Lubomir Rintel's patch - -* Fri May 22 2009 - Ding-Yi Chen - 1.0.10.20090522 -- Now the 1st down key brings the longest possible phrases. - The 2nd down key brings the 2nd longest possible phrases from the back, - unlike the previous versions where the cursor stays in the head of longest phrase. -- Add force lowercase in English mode option. -- Fix double free issue when destroy ibus-chewing. -- Hide ibus-chewing-panel when ibus-chewing is focus-out - -* Mon May 11 2009 - Ding-Yi Chen - 1.0.9.20090508 - Now commit is forced when switch of ibus-chewing or current application loses focus. -- New ibus-chewing.png is contribute by WM. -- input-keyboard.png is no longer needed and removed. -- ibus-engine-chewing -v option now need an integer as verbose level. -- ibus-chewing.schemas is now generated. -- Fix some CMake modules bugs. - -* Tue Apr 28 2009 - Ding-Yi Chen - 1.0.8.20090428 -Fix the errors which Funda Wang as pointing out: -- Move src/chewing.xml.in to data/ -- Fixed some typo in next_version targets. -- Remove GConf2 package requirement, while add gconftool-2 requirement. - -* Mon Mar 30 2009 - Ding-Yi Chen - 1.0.5.20090330 -- Added tooltips. -- Revealed the sync caps lock setting. -- Fixed Right key bug. -- Added CMake policy 0011 as OLD. - -* Mon Mar 23 2009 Ding-Yi Chen - 1.0.4.20090323 -- Various Settings are now in dialog. -- Integer settings are now revealed. -- MakerDialog.gob is now available. -- Work around of easy symbol input. -- Fix iBus Google issue 310. - -* Wed Mar 11 2009 Ding-Yi Chen - 1.0.3.20090311 -- IBus Google issue 305: ibus-chewing.schema -> ibus-chewing.schemas -- IBus Google issue 307: hardcoded chewing datadir -- Sync chewing candPerPage and IBusTable->page_size -- Sync between IM and keyboard (Experimental) - -* Tue Mar 03 2009 Ding-Yi Chen - 1.0.2.20090303 -- Required gconf2 -> GConf2. -- Fix RPM scriptlet. - -* Fri Feb 27 2009 Ding-Yi Chen - 1.0.1.20090227 -- Add gconf schema. -- Fix some memory leaking checked. -- Move some function to cmake_modules. -- Fix Google code issue 281 - -* Fri Feb 20 2009 - Ding-Yi Chen - 1.0.0.20090220 -- This is a barely working version for with IBus C. -- The build system is converted from autotool to CMake. - - diff -rupN ibus-chewing-1.4.4-Source/CMakeLists.txt ibus-chewing-1.4.8-Source/CMakeLists.txt --- ibus-chewing-1.4.4-Source/CMakeLists.txt 2013-12-18 14:50:16.000000000 +1000 +++ ibus-chewing-1.4.8-Source/CMakeLists.txt 2014-01-16 15:21:18.000000000 +1000 @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 2.6.2) - -# CMP0011 should be set here, otherwise policy set in module won't affect -# here. +# CMP0011: New: Included scripts do automatic cmake_policy PUSH and POP. +# Old: cmake_policy in included script affect the caller. CMAKE_POLICY(SET CMP0011 OLD) # Default CMAKE_INSTALL_PREFIX should be set before PROJECT() @@ -38,17 +37,18 @@ 及大千26鍵。 本輸入法也同時支援帶調漢語拼音輸入。") -SET(CMAKE_C_FLAGS "-Wall") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") SET(AUTHORS "Peng Huang, Ding-Yi Chen") SET(MAINTAINER "Ding-Yi Chen ") SET(VENDOR "Red Hat, APAC, Inc.") SET(LICENSE "GPLv2+") SET(PRJ_GROUP "System Environment/Libraries") -SET(URL_TEMPLATE "http://code.google.com/p/ibus/") -SET(SOURCE_DOWNLOAD_URL_TEMPLATE "http://ibus.googlecode.com/files/%{name}-%{version}-Source.tar.gz") +SET(RPM_SPEC_URL "http://code.google.com/p/ibus/") +SET(RPM_SPEC_SOURCES "http://ibus.googlecode.com/files/%{name}-%{version}-Source.tar.gz") SET(HAS_TRANSLATION 1) + #################################################################### # Includes # @@ -61,13 +61,6 @@ IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake-fedo ENDIF(NOT EXISTS ${CMAKE_SOURCE_DIR}/Modules) ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/cmake-fedora/Modules) -IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake-fedora/Templates/fedora/project.spec.in) - IF(NOT EXISTS ${CMAKE_SOURCE_DIR}/rpm/project.spec.in) - EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/cmake-fedora/Templates/fedora/project.spec.in ${CMAKE_SOURCE_DIR}/rpm - ) - ENDIF(NOT EXISTS ${CMAKE_SOURCE_DIR}/rpm/project.spec.in) -ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/cmake-fedora/Templates/fedora/project.spec.in) - # Use standard FHS if Fedora build is not enabled IF(NOT CMAKE_FEDORA_ENABLE_FEDORA_BUILD) IF(CMAKE_SYSTEM_PROCESSOR MATCHES "64") @@ -88,6 +81,8 @@ IF(MANAGE_ENVIRONMENT_PATH STREQUAL "NOT tar zxvf SOURCES/cmake-fedora-modules-only-latest.tar.gz") ENDIF(MANAGE_ENVIRONMENT_PATH STREQUAL "NOTFOUND") +MANAGE_CMAKE_POLICY(CMP0017 NEW) + INCLUDE(ManageMessage) INCLUDE(ManageVersion) RELEASE_NOTES_READ_FILE() @@ -97,16 +92,21 @@ INCLUDE(ManageUninstall) INCLUDE(ManageVariable) INCLUDE(ManageDependency) + #################################################################### # Dependencies # # Enable GNOME_SHELL support by set the value to 1 SET_COMPILE_ENV(GNOME_SHELL 1 DISPLAY BOOL "Enable GNOME Shell support") +IF(IBUS_CHEWING_LOGFILE) + ADD_DEFINITIONS(-DIBUS_CHEWING_LOGFILE=${IBUS_CHEWING_LOGFILE}) +ENDIF(IBUS_CHEWING_LOGFILE) SET(IBUS_MIN_VER "1.3") SET(CHEWING_MIN_VER "0.3.3") ## Requires +MANAGE_DEPENDENCY(REQUIRES GCONF2 REQUIRED FEDORA_NAME "GConf2") MANAGE_DEPENDENCY(REQUIRES GTK2 REQUIRED) MANAGE_DEPENDENCY(REQUIRES IBUS VER "${IBUS_MIN_VER}" REQUIRED) MANAGE_DEPENDENCY(REQUIRES CHEWING VER "${CHEWING_MIN_VER}" REQUIRED @@ -177,37 +177,32 @@ INCLUDE(ManageGConf) # Packing # INCLUDE(ManageArchive) - -SET(SOURCE_ARCHIVE_DIR ".") -IF(CMAKE_FEDORA_ENABLE_FEDORA_BUILD) - ADD_SUBDIRECTORY(rpm) -ENDIF(CMAKE_FEDORA_ENABLE_FEDORA_BUILD) -INCLUDE(ManageRelease) - # GOB_GENERATED source codes are now excluded, # As Bug 519108 (https://bugzilla.redhat.com/show_bug.cgi?id=519108) # Is fixed from Fedora 11 - PACK_SOURCE_ARCHIVE(${RPM_BUILD_SOURCES} GITIGNORE ${CMAKE_SOURCE_DIR}/.gitignore - INCLUDE ChangeLog ${PROJECT_NAME}.pot + INCLUDE ${PROJECT_NAME}.pot ) +INCLUDE(ManageRelease) + +SET(SOURCE_ARCHIVE_DIR ".") IF(CMAKE_FEDORA_ENABLE_FEDORA_BUILD) + ADD_SUBDIRECTORY(rpm) M_MSG(${M_INFO1} "BUILD_REQUIRES=${BUILD_REQUIRES}") M_MSG(${M_INFO1} "REQUIRES=${REQUIRES}") - ## PACK_RPM NEED to be here, otherwise it cannot find the tarball - PACK_RPM() - RELEASE_FEDORA(fedora) - # "Off" Warning is displayed if mock is not installed. - RPM_MOCK_BUILD() - MANAGE_RELEASE(release_fedora) ELSE(CMAKE_FEDORA_ENABLE_FEDORA_BUILD) - MANAGE_RELEASE() + MANAGE_RELEASE(tag_push) ENDIF(CMAKE_FEDORA_ENABLE_FEDORA_BUILD) + +ADD_CUSTOM_COMMAND(OUTPUT po/${PROJECT_NAME}.pot + COMMAND make pot_file + ) + ##################################################################### -# Hosting and Release +# Hosting Release # #INCLUDE(ManageUpload) diff -rupN ibus-chewing-1.4.4-Source/.gitignore ibus-chewing-1.4.8-Source/.gitignore --- ibus-chewing-1.4.4-Source/.gitignore 2013-12-18 01:18:54.000000000 +1000 +++ ibus-chewing-1.4.8-Source/.gitignore 2014-01-15 21:07:13.000000000 +1000 @@ -1,49 +1,48 @@ .* *~ -ABOUT-NLS -bodhi.template -bin/ +*.sw[op] +**/CMakeFiles/ +**/_CPack_Packages/ +**/Testing/ **/BUILD/ **/BUILDROOT/ -ChangeLog +**/RPMS/ +**/SPECS/ +**/SOURCES/ +**/SRPMS/ +**/FedPkg/ +*NO_PACK* +bin/ +*.la +*.lo +*.loT +bodhi.template CMakeCache.txt cmake-fedora/ -**/CMakeFiles/ cmake_*install.cmake CPack*Config.cmake -**/_CPack_Packages/ CVS/ data/*.schemas debug*s.list -**/FedPkg/ *.gmo gtk-doc.make ibus-chewing.spec ibus-chewing*.tar.* install_manifest.txt -*.la -libtool -*.lo -*.loT ltmain.sh Makefile missing Modules -*NO_PACK* *.o *.old *.orig *.pot py-compile -**/RPMS/ *.so -**/SOURCES/ RPM-ChangeLog src/ibus-chewing-engine*.[ch] src/maker-dialog*.[ch] -**/SRPMS/ stamp-h1 -*.sw[op] *.rej *.rpm *.bak diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageArchive.cmake ibus-chewing-1.4.8-Source/Modules/ManageArchive.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageArchive.cmake 2013-12-18 01:52:07.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageArchive.cmake 2014-01-13 02:34:37.000000000 +1000 @@ -13,50 +13,62 @@ # # Defines following target: # pack_remove_old: Remove old source package files. +# +# Defines following function: +# SOURCE_ARCHIVE_CONTENTS_ADD(filename) +# - Add a file to source archive if the file is not in the archive. +# * Parameters: +# - filename: Filename to be added. +# +# SOURCE_ARCHIVE_CONTENTS_ADD_NO_CHECK(filename) +# - Add a file to source archive without check. +# * Parameters: +# - filename: Filename to be added. +# # Defines following macro: # PACK_SOURCE_CPACK(var [GENERATOR cpackGenerator] # [GITIGNORE gitignoreFile] [INCLUDE fileList] # ) # - Pack with CPack. Thus cpack related targets # such as 'package_source' will be added. -# Arguments: -# + var: Variable that hold cpack filename (without directory). -# + GENERATOR cpackGenerator: Specify CPack Generator to be used. -# Default: TGZ -# + GITIGNORE gitignoreFile: Use gitignore -# file as bases of ignore_file list -# + INCLUDE fileList: List of files that to be packed disregarding -# the ignore file. This is useful for packing the generated file -# such as .pot or Changelog. -# Read and Write to following variable: -# Define following variables: -# + PROJECT_NAME: Project name -# + PRJ_VER: Project version -# + PRJ_SUMMARY: (Optional) Project summary -# + VENDOR: Organization that issue this project. -# + SOURCE_ARCHIVE_CONTENTS: List of files to be packed to archive. -# + SOURCE_ARCHIVE_FILE_EXTENSION: File extension of -# the source package -# + SOURCE_ARCHIVE_IGNORE_FILES: List of files to be -# ignored to archive. -# + SOURCE_ARCHIVE_NAME: Name of source archive (without path) +# * Parameters: +# + var: Variable that hold cpack filename (without directory). +# + GENERATOR cpackGenerator: Specify CPack Generator to be used. +# Default: TGZ +# + GITIGNORE gitignoreFile: Use gitignore +# file as bases of ignore_file list +# + INCLUDE fileList: List of files that to be packed disregarding +# the ignore file. This is useful for packing the generated file +# such as .pot or Changelog. +# * Define following variables: +# + PROJECT_NAME: Project name +# + PRJ_VER: Project version +# + PRJ_SUMMARY: (Optional) Project summary +# + VENDOR: Organization that issue this project. +# + SOURCE_ARCHIVE_CONTENTS: List of files to be packed to archive. +# + SOURCE_ARCHIVE_FILE_EXTENSION: File extension of +# the source package +# + SOURCE_ARCHIVE_IGNORE_FILES: List of files to be +# ignored to archive. +# + SOURCE_ARCHIVE_NAME: Name of source archive (without path) # # PACK_SOURCE_ARCHIVE([outputDir | OUTPUT_FILE file] # [GENERATOR cpackGenerator] # [GITIGNORE gitignoreFile] [INCLUDE fileList])[generator] # ) # - Pack source archive, this provide an convenient wrapper -# of PACK_SOURCE_ARCHIVEfiles as --Source., -# Arguments: -# + outputDir: Directory to write source archive. -# + OUTPUT_FILE file: Output file with path. -# See PACK_SOURCE_CPACK for other parameters. -# Read following variables: -# + SOURCE_ARCHIVE_FILE: Path to source archive file -# Target: -# + pack_src: Pack source files like package_source. -# + clean_pack_src: Remove all source archives. -# + clean_old_pack_src: Remove all old source package. +# of PACK_SOURCE_CPACK. +# Default output name: --Source. +# * Parameters: +# + outputDir: Directory to write source archive. +# + OUTPUT_FILE file: Output file with path. +# See PACK_SOURCE_CPACK for other parameters. +# * Read following variables: +# + SOURCE_ARCHIVE_FILE: Path to source archive file +# * Target: +# + pack_src: Pack source files like package_source. +# + clean_pack_src: Remove all source archives. +# + clean_old_pack_src: Remove all old source package. # # IF(NOT DEFINED _MANAGE_ARCHIVE_CMAKE_) @@ -80,6 +92,27 @@ IF(NOT DEFINED _MANAGE_ARCHIVE_CMAKE_) INCLUDE(ManageVersion) INCLUDE(ManageFile) + FUNCTION(SOURCE_ARCHIVE_CONTENTS_ADD filename) + GET_FILENAME_COMPONENT(_file "${filename}" ABSOLUTE) + FILE(RELATIVE_PATH _f ${CMAKE_SOURCE_DIR} "${_file}") + LIST(FIND SOURCE_ARCHIVE_CONTENTS "${_f}" _index) + IF(_index LESS 0) + LIST(APPEND SOURCE_ARCHIVE_CONTENTS "${_f}") + SET(SOURCE_ARCHIVE_CONTENTS "${SOURCE_ARCHIVE_CONTENTS}" + CACHE INTERNAL "Source archive file list" + ) + ENDIF(_index LESS 0) + ENDFUNCTION(SOURCE_ARCHIVE_CONTENTS_ADD filename) + + FUNCTION(SOURCE_ARCHIVE_CONTENTS_ADD_NO_CHECK filename) + GET_FILENAME_COMPONENT(_file "${filename}" ABSOLUTE) + FILE(RELATIVE_PATH _f ${CMAKE_SOURCE_DIR} "${_file}") + LIST(APPEND SOURCE_ARCHIVE_CONTENTS "${_f}") + SET(SOURCE_ARCHIVE_CONTENTS "${SOURCE_ARCHIVE_CONTENTS}" + CACHE INTERNAL "Source archive file list" + ) + ENDFUNCTION(SOURCE_ARCHIVE_CONTENTS_ADD_NO_CHECK filename) + # Internal: SOURCE_ARCHIVE_GET_CONTENTS() # - Return all source file to be packed. # This is called by SOURCE_ARCHIVE(), @@ -88,6 +121,7 @@ IF(NOT DEFINED _MANAGE_ARCHIVE_CMAKE_) SET(_fileList "") FILE(GLOB_RECURSE _ls FOLLOW_SYMLINKS "*" ) STRING(REPLACE "\\\\" "\\" _ignore_files "${SOURCE_ARCHIVE_IGNORE_FILES}") + #SET(_ignore_files "${SOURCE_ARCHIVE_IGNORE_FILES}") FOREACH(_file ${_ls}) SET(_matched 0) FOREACH(filePattern ${_ignore_files}) @@ -99,11 +133,12 @@ IF(NOT DEFINED _MANAGE_ARCHIVE_CMAKE_) ENDIF(_file MATCHES "${filePattern}") ENDFOREACH(filePattern ${_ignore_files}) IF(NOT _matched) - FILE(RELATIVE_PATH _f ${CMAKE_SOURCE_DIR} "${_file}") - LIST(APPEND _fileList "${_f}") + SOURCE_ARCHIVE_CONTENTS_ADD_NO_CHECK("${_file}") ENDIF(NOT _matched) ENDFOREACH(_file ${_ls}) - SET(SOURCE_ARCHIVE_CONTENTS ${_fileList} CACHE INTERNAL "Source archive file list") + SET(SOURCE_ARCHIVE_CONTENTS "${SOURCE_ARCHIVE_CONTENTS}" + CACHE INTERNAL "Source archive file list" + ) M_MSG(${M_INFO2} "SOURCE_ARCHIVE_CONTENTS=${SOURCE_ARCHIVE_CONTENTS}") ENDFUNCTION(SOURCE_ARCHIVE_GET_CONTENTS) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageDependency.cmake ibus-chewing-1.4.8-Source/Modules/ManageDependency.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageDependency.cmake 2013-12-18 02:09:05.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageDependency.cmake 2014-01-13 02:34:37.000000000 +1000 @@ -116,11 +116,17 @@ IF(NOT DEFINED _MANAGE_DEPENDENCY_CMAKE_ SET(_name "${_name}-devel") ENDIF(DEFINED ${var}_DEVEL) IF("${_ver}" STREQUAL "") - LIST(APPEND ${listVar} "${_name}") + SET(_newDep "${_name}") ELSE("${_ver}" STREQUAL "") - LIST(APPEND ${listVar} "${_name} ${_rel} ${_ver}") + SET(_newDep "${_name} ${_rel} ${_ver}") ENDIF("${_ver}" STREQUAL "") - SET(${listVar} "${${listVar}}" CACHE INTERNAL "${listVar}") + + ## Insert when it's not duplicated + LIST(FIND ${listVar} "${_newDep}" _index) + IF(_index EQUAL -1) + LIST(APPEND ${listVar} "${_newDep}") + SET(${listVar} "${${listVar}}" CACHE INTERNAL "${listVar}") + ENDIF(_index EQUAL -1) ENDMACRO(MANAGE_DEPENDENCY listVar var) ENDIF(NOT DEFINED _MANAGE_DEPENDENCY_CMAKE_) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageEnvironment.cmake ibus-chewing-1.4.8-Source/Modules/ManageEnvironment.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageEnvironment.cmake 2012-11-26 17:37:40.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageEnvironment.cmake 2014-01-13 02:43:09.000000000 +1000 @@ -70,7 +70,6 @@ IF(NOT DEFINED _MANAGE_ENVIRONMENT_CMAKE_) SET(_MANAGE_ENVIRONMENT_CMAKE_ "DEFINED") SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) - CMAKE_POLICY(VERSION 2.6.2) MACRO(SET_COMPILE_ENV var default_value) SET(_stage "") @@ -134,21 +133,6 @@ IF(NOT DEFINED _MANAGE_ENVIRONMENT_CMAKE ENDIF(POLICY ${policyName}) ENDMACRO(MANAGE_CMAKE_POLICY policyName defaultValue) - #################################################################### - # Recommended policy setting - # - # CMP0005: Preprocessor definition values are now escaped automatically. - # OLD:Preprocessor definition values are not escaped. - MANAGE_CMAKE_POLICY(CMP0005 NEW) - - # CMP0009: FILE GLOB_RECURSE calls should not follow symlinks by default. - # OLD: FILE GLOB_RECURSE calls follow symlinks - MANAGE_CMAKE_POLICY(CMP0009 NEW) - - # CMP0017: Prefer files from the CMake module directory when including from there. - # OLD: Prefer files from CMAKE_MODULE_PATH regardless - MANAGE_CMAKE_POLICY(CMP0017 NEW) - # Include should be put after the cmake policy INCLUDE(ManageMessage) M_MSG(${M_INFO1} "CMAKE_HOST_SYSTEM=${CMAKE_HOST_SYSTEM}") diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageGConf.cmake ibus-chewing-1.4.8-Source/Modules/ManageGConf.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageGConf.cmake 2013-12-17 19:08:18.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageGConf.cmake 2014-01-13 02:43:09.000000000 +1000 @@ -20,6 +20,7 @@ IF(NOT DEFINED _MANAGE_GCONF_CMAKE_) SET(_MANAGE_GCONF_CMAKE_ DEFINED) INCLUDE(ManageDependency) + MANAGE_DEPENDENCY(REQUIRES GCONF2 REQUIRED FEDORA_NAME "GConf2") MANAGE_DEPENDENCY(BUILD_REQUIRES GCONF2 REQUIRED PKG_CONFIG "gconf-2.0" FEDORA_NAME "GConf2" DEVEL ) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageRelease.cmake ibus-chewing-1.4.8-Source/Modules/ManageRelease.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageRelease.cmake 2012-11-26 17:37:40.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageRelease.cmake 2014-01-13 02:34:37.000000000 +1000 @@ -3,7 +3,7 @@ # # Defines following macros: # MANAGE_RELEASE(releaseTargets) -# - Run release targets and the target "after_release_commit". +# - Run release targets. # This macro skips the missing targets so distro package maintainers # do not have to get the irrelevant dependencies. # For the "hard" requirement, please use cmake command @@ -31,7 +31,7 @@ IF(NOT DEFINED _MANAGE_RELEASE_CMAKE_) COMMENT "Releasing ${PROJECT_NAME}-${PRJ_VER}" ) - ## Remove the missing targets + ## Add dependent targets that actually exists SET(_releaseTargets "") FOREACH(_target ${ARGN}) IF(TARGET ${_target}) @@ -45,13 +45,6 @@ IF(NOT DEFINED _MANAGE_RELEASE_CMAKE_) ADD_DEPENDENCIES(release ${_releaseTargets}) ENDIF(_releaseTargets) - ## Run after release - #ADD_CUSTOM_COMMAND(TARGET release - # POST_BUILD - # COMMAND make after_release_commit - # COMMENT "After released ${PROJECT_NAME}-${PRJ_VER}" - # ) - ENDMACRO(MANAGE_RELEASE) ENDIF(NOT DEFINED _MANAGE_RELEASE_CMAKE_) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageReleaseFedora.cmake ibus-chewing-1.4.8-Source/Modules/ManageReleaseFedora.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageReleaseFedora.cmake 2013-12-06 19:08:55.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageReleaseFedora.cmake 2014-01-13 02:43:09.000000000 +1000 @@ -149,21 +149,22 @@ IF(NOT DEFINED _MANAGE_RELEASE_FEDORA_) ENDIF(NOT DEFINED MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE) M_MSG(${M_INFO2} "MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE=${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}") - IF (DEFINED CHANGE_SUMMARY) - ADD_CUSTOM_TARGET(fedpkg_build - COMMAND ${CMAKE_FEDORA_FEDPKG_CMD} -d "${FEDPKG_DIR}" - -m "${CHANGE_SUMMARY}" "${PRJ_SRPM_FILE}" ${ARGN} - DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" - VERBATIM - ) - ELSE(DEFINED CHANGE_SUMMARY) - ADD_CUSTOM_TARGET(fedpkg_build - COMMAND ${CMAKE_FEDORA_FEDPKG_CMD} -d "${FEDPKG_DIR}" - "${PRJ_SRPM_FILE}" ${ARGN} - DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" - VERBATIM - ) - ENDIF(DEFINED CHANGE_SUMMARY) + SET(_cmdOpts "") + IF (NOT CHANGE_SUMMARY STREQUAL "") + LIST(APPEND _cmdOpts "-m" "${CHANGE_SUMMARY}") + ENDIF(NOT CHANGE_SUMMARY STREQUAL "") + + IF (NOT REDHAT_BUGZILLA STREQUAL "") + LIST(APPEND _cmdOpts "-b" "${REDHAT_BUGZILLA}") + ENDIF(NOT REDHAT_BUGZILLA STREQUAL "") + + ADD_CUSTOM_TARGET(fedpkg_build + COMMAND ${CMAKE_FEDORA_FEDPKG_CMD} -d "${FEDPKG_DIR}" + "${_cmdOpts}" "${PRJ_SRPM_FILE}" ${ARGN} + DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" + VERBATIM + ) + ENDIF(NOT _manage_release_fedora_dependencies_missing) ENDFUNCTION(RELEASE_FEDORA_FEDPKG) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageRPM.cmake ibus-chewing-1.4.8-Source/Modules/ManageRPM.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageRPM.cmake 2013-12-18 00:57:44.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageRPM.cmake 2014-01-17 12:10:04.000000000 +1000 @@ -6,11 +6,10 @@ # before this module. # # Includes: -# ManageMessage +# ManageFile # ManageTarget # # Reads and defines following variables if dependencies are satisfied: -# PRJ_RPM_SPEC_IN_FILE: spec.in that generate spec # PRJ_RPM_SPEC_FILE: spec file for rpmbuild. # RPM_SPEC_BUILD_ARCH: (optional) Set "BuildArch:" # RPM_BUILD_ARCH: (optional) Arch that will be built." @@ -52,8 +51,46 @@ # RPM_FILES_SECTION_CONTENT: A list of string # # Defines following Macros: -# PACK_RPM() +# RPM_SPEC_STRING_ADD(var str [position]) +# - Add a string to SPEC string. +# * Parameters: +# + var: Variable that hold results in string format. +# + str: String to be added. +# + position: (Optional) position to put the tag. +# Valid value: FRONT for inserting in the beginning. +# Default: Append in the end of string. +# of string. +# +# RPM_SPEC_STRING_ADD_DIRECTIVE var directive attribute content) +# - Add a SPEC directive (e.g. %description -l zh_TW) to SPEC string. +# Parameters: +# + var: Variable that hold results in string format. +# + directive: Directive to be added. +# + attribute: Attribute of tag. That is, string between '()' +# + value: Value fot the tag. +# + position: (Optional) position to put the tag. +# Valid value: FRONT for inserting in the beginning. +# Default: Append in the end of string. +# of string. +# +# RPM_SPEC_STRING_ADD_TAG(var tag attribute value [position]) +# - Add a SPEC tag (e.g. BuildArch: noarch) to SPEC string. +# Parameters: +# + var: Variable that hold results in string format. +# + tag: Tag to be added. +# + attribute: Attribute of tag. That is, string between '()' +# + value: Value fot the tag. +# + position: (Optional) position to put the tag. +# Valid value: FRONT for inserting in the beginning. +# Default: Append in the end of string. +# of string. +# +# PACK_RPM([SPEC_IN specInFile] [SPEC specFile]) # - Generate spec and pack rpm according to the spec file. +# Parameters: +# + SPEC_IN specInFile: RPM SPEC template file as .spec.in +# + SPEC specFile: Output RPM SPEC file +# Default: ${RPM_BUILD_SPEC}/${PROJECT_NAME}.spec # Targets: # + srpm: Build srpm (rpmbuild -bs). # + rpm: Build rpm and srpm (rpmbuild -bb) @@ -84,10 +121,11 @@ IF(NOT DEFINED _MANAGE_RPM_CMAKE_) SET (_MANAGE_RPM_CMAKE_ "DEFINED") - INCLUDE(ManageMessage) INCLUDE(ManageFile) INCLUDE(ManageTarget) SET(_manage_rpm_dependency_missing 0) + SET(_cmake_fedora_dependency_missing 0) + SET(RPM_SPEC_TAG_PADDING 16 CACHE STRING "RPM SPEC Tag padding") FIND_PROGRAM_ERROR_HANDLING(RPM_CMD ERROR_MSG " rpm build support is disabled." @@ -103,36 +141,41 @@ IF(NOT DEFINED _MANAGE_RPM_CMAKE_) NAMES "rpmbuild-md5" "rpmbuild" ) - FIND_FILE_ERROR_HANDLING(PRJ_RPM_SPEC_IN_FILE - ERROR_MSG " rpm build support is disabled." - ERROR_VAR _manage_rpm_dependency_missing + FIND_PROGRAM_ERROR_HANDLING(CMAKE_FEDORA_KOJI_CMD + ERROR_MSG " cmake-fedora support is disabled." + ERROR_VAR _cmake_fedora_dependency_missing VERBOSE_LEVEL ${M_OFF} - NAMES "${PROJECT_NAME}.spec.in" "project.spec.in" - PATHS "${CMAKE_CURRENT_SOURCE_DIR}/SPECS" - "${CMAKE_SOURCE_DIR}/SPECS" "SPECS" "rpm" "." - "${CMAKE_SOURCE_DIR}/Templates/fedora" - "${CMAKE_ROOT}/Templates/fedora" - ) - - FIND_FILE_ERROR_HANDLING(RPM_CHANGELOG_PREV_FILE - ERROR_MSG " rpm build support is disabled." - ERROR_VAR _manage_rpm_dependency_missing - VERBOSE_LEVEL ${M_OFF} - NAMES RPM-ChangeLog.prev - PATHS "${CMAKE_CURRENT_SOURCE_DIR}/SPECS" - "${CMAKE_SOURCE_DIR}/SPECS" "SPECS" "rpm" "." + "cmake-fedora-koji" + PATHS ${CMAKE_SOURCE_DIR}/scripts ) IF(NOT _manage_rpm_dependency_missing) INCLUDE(ManageVariable) - SET (SPEC_FILE_WARNING "This file is generated, please modified the .spec.in file instead!") + SET(RPM_SPEC_CMAKE_FLAGS "-DCMAKE_FEDORA_ENABLE_FEDORA_BUILD=1" + CACHE STRING "CMake flags in RPM SPEC" + ) + SET(RPM_SPEC_MAKE_FLAGS "VERBOSE=1 %{?_smp_mflags}" + CACHE STRING "Make flags in RPM SPEC" + ) + SET(RPM_SPEC_BUILD_OUTPUT + "%cmake ${RPM_SPEC_CMAKE_FLAGS} . +make ${RPM_SPEC_MAKE_FLAGS}" + ) + + SET(RPM_SPEC_INSTALL_OUTPUT + "%__rm -rf %{buildroot} +make install DESTDIR=%{buildroot}" + ) + + SET(RPM_SPEC_FILES_SECTION_OUTPUT "%defattr(-,root,root,-)") # %{dist} EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{dist}" COMMAND sed -e "s/^\\.//" OUTPUT_VARIABLE _RPM_DIST_TAG - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_STRIP_TRAILING_WHITESPACE + ) SET(RPM_DIST_TAG "${_RPM_DIST_TAG}" CACHE STRING "RPM Dist Tag") SET(RPM_RELEASE_NO "1" CACHE STRING "RPM Release Number") @@ -152,234 +195,258 @@ IF(NOT DEFINED _MANAGE_RPM_CMAKE_) FILE(MAKE_DIRECTORY "${RPM_BUILD_${_dir}}") ENDIF(NOT RPM_BUILD_${_dir}) ENDFOREACH(_dir "SPECS" "SOURCES" "SRPMS" "RPMS" "BUILD" "BUILDROOT") - - ## RPM spec.in and RPM-ChangeLog.prev - SET(PRJ_RPM_SPEC_FILE "${RPM_BUILD_SPECS}/${PROJECT_NAME}.spec" CACHE FILEPATH "spec") - - SET(RPM_CHANGELOG_FILE "${RPM_BUILD_SPECS}/RPM-ChangeLog" CACHE FILEPATH "ChangeLog for RPM") - + # Add RPM build directories in ignore file list. LIST(APPEND SOURCE_ARCHIVE_IGNORE_FILES ${RPM_IGNORE_FILES}) ENDIF(NOT _manage_rpm_dependency_missing) - MACRO(PRJ_RPM_SPEC_DATA_PREPARE) - SET(RPM_SPEC_CMAKE_FLAGS "-DCMAKE_FEDORA_ENABLE_FEDORA_BUILD=1" - CACHE STRING "CMake flags in RPM SPEC" + MACRO(MANAGE_RPM_CHANGELOG) + EXECUTE_PROCESS(COMMAND cat "${CHANGELOG_ITEM_FILE}" + OUTPUT_VARIABLE CHANGELOG_ITEMS + OUTPUT_STRIP_TRAILING_WHITESPACE ) - - SET(RPM_SPEC_MAKE_FLAGS "VERBOSE=1 %{?_smp_mflags}" - CACHE STRING "Make flags in RPM SPEC" + SET(RPM_CHANGELOG_FILE "${RPM_BUILD_SPECS}/RPM-ChangeLog") + SET(RPM_CHANGELOG_PREV_FILE "${RPM_CHANGELOG_FILE}.prev") + IF(NOT _cmake_fedora_dependency_missing) + IF(EXISTS "${RPM_CHANGELOG_PREV_FILE}") + IF("${RELEASE_NOTES_FILE}" IS_NEWER_THAN "${RPM_CHANGELOG_PREV_FILE}") + M_MSG(${M_INFO1} "Updating RPM-ChangeLog.prev from koji") + EXECUTE_PROCESS( + COMMAND ${CMAKE_FEDORA_KOJI_CMD} newest-changelog "${PROJECT_NAME}" + OUTPUT_FILE ${RPM_CHANGELOG_PREV_FILE} + ) + ELSE("${RELEASE_NOTES_FILE}" IS_NEWER_THAN "${RPM_CHANGELOG_PREV_FILE}") + M_MSG(${M_INFO1} "RPM-ChangeLog.prev is newer than RELEASE-NOTES, no need to update") + ENDIF("${RELEASE_NOTES_FILE}" IS_NEWER_THAN "${RPM_CHANGELOG_PREV_FILE}") + ELSE(EXISTS "${RPM_CHANGELOG_PREV_FILE}") + M_MSG(${M_INFO1} "Create newest RPM-ChangeLog.prev from koji") + EXECUTE_PROCESS( + COMMAND ${CMAKE_FEDORA_KOJI_CMD} newest-changelog "${PROJECT_NAME}" + OUTPUT_FILE ${RPM_CHANGELOG_PREV_FILE} + ) + ENDIF(EXISTS "${RPM_CHANGELOG_PREV_FILE}") + ENDIF(NOT _cmake_fedora_dependency_missing) + IF(EXISTS ${RPM_CHANGELOG_PREV_FILE}) + # Update RPM_ChangeLog + # Use this instead of FILE(READ is to avoid error when reading '\' + # character. + EXECUTE_PROCESS(COMMAND cat "${RPM_CHANGELOG_PREV_FILE}" + OUTPUT_VARIABLE RPM_CHANGELOG_PREV + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + ELSE(EXISTS ${RPM_CHANGELOG_PREV_FILE}) + SET(RPM_CHNAGELOG_PREV "") + ENDIF(EXISTS ${RPM_CHANGELOG_PREV_FILE}) + ENDMACRO(MANAGE_RPM_CHANGELOG) + + FUNCTION(RPM_SPEC_STRING_ADD var str) + IF("${ARGN}" STREQUAL "FRONT") + STRING_PREPEND(${var} "${str}" "\n") + SET(pos "${ARGN}") + ELSE("${ARGN}" STREQUAL "FRONT") + STRING_APPEND(${var} "${str}" "\n") + ENDIF("${ARGN}" STREQUAL "FRONT") + SET(${var} "${${var}}" PARENT_SCOPE) + ENDFUNCTION(RPM_SPEC_STRING_ADD var str) + + FUNCTION(RPM_SPEC_STRING_ADD_DIRECTIVE var directive attribute content) + SET(_str "%${directive}") + IF(NOT attribute STREQUAL "") + STRING_APPEND(_str " ${attribute}") + ENDIF(NOT attribute STREQUAL "") + + IF(NOT content STREQUAL "") + STRING_APPEND(_str "\n${content}") + ENDIF(NOT content STREQUAL "") + STRING_APPEND(_str "\n") + RPM_SPEC_STRING_ADD(${var} "${_str}" ${ARGN}) + SET(${var} "${${var}}" PARENT_SCOPE) + ENDFUNCTION(RPM_SPEC_STRING_ADD_DIRECTIVE var directive attribute content) + + FUNCTION(RPM_SPEC_STRING_ADD_TAG var tag attribute value) + IF("${attribute}" STREQUAL "") + SET(_str "${tag}:") + ELSE("${attribute}" STREQUAL "") + SET(_str "${tag}(${attribute}):") + ENDIF("${attribute}" STREQUAL "") + STRING_PADDING(_str "${_str}" ${RPM_SPEC_TAG_PADDING}) + STRING_APPEND(_str "${value}") + RPM_SPEC_STRING_ADD(${var} "${_str}" ${ARGN}) + SET(${var} "${${var}}" PARENT_SCOPE) + ENDFUNCTION(RPM_SPEC_STRING_ADD_TAG var tag attribute value) + + MACRO(PRJ_RPM_SPEC_PREPARE_FILES fileType pathPrefix) + FOREACH(_f ${FILE_INSTALL_${fileType}_LIST}) + RPM_SPEC_STRING_ADD(RPM_SPEC_FILES_SECTION_OUTPUT + "${pathPrefix}${_f}" "\n" ) - # %{_build_arch} - IF("${RPM_SPEC_BUILD_ARCH}" STREQUAL "") - EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{_build_arch}" - OUTPUT_VARIABLE _RPM_BUILD_ARCH - OUTPUT_STRIP_TRAILING_WHITESPACE) - - SET(RPM_BUILD_ARCH "${_RPM_BUILD_ARCH}" - CACHE STRING "RPM Arch") - SET(RPM_SPEC_BUILD_ARCH_OUTPUT "") - ELSE("${RPM_SPEC_BUILD_ARCH}" STREQUAL "") - SET(RPM_BUILD_ARCH "${RPM_SPEC_BUILD_ARCH}" - CACHE STRING "RPM Arch") - SET(RPM_SPEC_BUILD_ARCH_OUTPUT - "BuildArch: ${RPM_SPEC_BUILD_ARCH}") - ENDIF("${RPM_SPEC_BUILD_ARCH}" STREQUAL "") + ENDFOREACH(_f ${FILE_INSTALL_${fileType}_LIST}) + ENDMACRO(PRJ_RPM_SPEC_PREPARE_FILES) - SET(RPM_SPEC_SUMMARY_TRANSLATION_OUTPUT "") + MACRO(PRJ_RPM_SPEC_PREPARE) + ## Summary + RPM_SPEC_STRING_ADD_TAG(RPM_SPEC_SUMMARY_OUTPUT + "Summary" "" "${PRJ_SUMMARY}" + ) SET(_lang "") FOREACH(_sT ${SUMMARY_TRANSLATIONS}) IF(_lang STREQUAL "") SET(_lang "${_sT}") ELSE(_lang STREQUAL "") - STRING_APPEND(RPM_SPEC_SUMMARY_TRANSLATION_OUTPUT - "Summary(${_lang}): ${_sT}" "\n" - ) + RPM_SPEC_STRING_ADD_TAG(RPM_SPEC_SUMMARY_OUTPUT + "Summary" "${lang}" "${PRJ_SUMMARY}" + ) SET(_lang "") ENDIF(_lang STREQUAL "") ENDFOREACH(_sT ${SUMMARY_TRANSLATIONS}) - SET(RPM_SPEC_URL_OUTPUT ${URL_TEMPLATE}) - SET(RPM_SPEC_SOURCE0_OUTPUT ${SOURCE_DOWNLOAD_URL_TEMPLATE}) - - SET(RPM_SPEC_BUILD_REQUIRES_OUTPUT "") - FOREACH(_d ${BUILD_REQUIRES}) - STRING_APPEND(RPM_SPEC_BUILD_REQUIRES_OUTPUT - "BuildRequires: ${_d}" "\n" - ) - ENDFOREACH(_d ${BUILD_REQUIRES}) - SET(RPM_SPEC_REQUIRES_OUTPUT "") - FOREACH(_d ${REQUIRES}) - STRING_APPEND(RPM_SPEC_REQUIRES_OUTPUT "Requires: ${_d}" "\n") - ENDFOREACH(_d ${REQUIRES}) - FOREACH(_d ${REQUIRES_PRE}) - STRING_APPEND(RPM_SPEC_REQUIRES_PRE_OUTPUT - "Requires(pre): ${_d}" "\n" - ) - ENDFOREACH(_d ${REQUIRES_PRE}) - FOREACH(_d ${REQUIRES_PREUN}) - STRING_APPEND(RPM_SPEC_REQUIRES_PREUN_OUTPUT - "Requires(preun): ${_d}" "\n" - ) - ENDFOREACH(_d ${REQUIRES_PREUN}) - FOREACH(_d ${REQUIRES_POST}) - STRING_APPEND(RPM_SPEC_REQUIRES_POST_OUTPUT - "Requires(preun): ${_d}" "\n" - ) - ENDFOREACH(_d ${REQUIRES_POST}) + ## Url + SET(RPM_SPEC_URL_OUTPUT "${RPM_SPEC_URL}") - SET(RPM_SPEC_DESCRIPTION_TRANSLATION_OUTPUT "") + ## Source + SET(_buf "") + SET(_i 0) + FOREACH(_s ${RPM_SPEC_SOURCES}) + RPM_SPEC_STRING_ADD_TAG(_buf "Source${_i}" "" "${_s}") + MATH(EXPR _i ${_i}+1) + ENDFOREACH(_s ${RPM_SPEC_SOURCES}) + RPM_SPEC_STRING_ADD(RPM_SPEC_SOURCE_OUTPUT "${_buf}" FRONT) + + ## Requires (and BuildRequires) + SET(_buf "") + FOREACH(_s ${BUILD_REQUIRES}) + RPM_SPEC_STRING_ADD_TAG(_buf "BuildRequires" "" "${_s}") + ENDFOREACH(_s ${RPM_SPEC_SOURCES}) + + FOREACH(_s ${REQUIRES}) + RPM_SPEC_STRING_ADD_TAG(_buf "Requires" "" "${_s}") + ENDFOREACH(_s ${RPM_SPEC_SOURCES}) + RPM_SPEC_STRING_ADD(RPM_SPEC_REQUIRES_OUTPUT "${_buf}" FRONT) + + ## Description + RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_DESCRIPTION_OUTPUT + "description" "" "${PRJ_DESCRIPTION}" + ) SET(_lang "") - FOREACH(_dT ${DESCRIPTION_TRANSLATIONS}) + FOREACH(_sT ${DESCRIPTION_TRANSLATIONS}) IF(_lang STREQUAL "") - SET(_lang "${_dT}") + SET(_lang "${_sT}") ELSE(_lang STREQUAL "") - STRING_APPEND(RPM_SPEC_DESCRIPTION_TRANSLATION_OUTPUT - "%description -l ${_lang}" "\n" - ) - STRING_APPEND(RPM_SPEC_DESCRIPTION_TRANSLATION_OUTPUT - "${_dT}\n" "\n" - ) + RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_DESCRIPTION_OUTPUT + "description" "-l ${_lang}" "${_sT}" "\n" + ) SET(_lang "") ENDIF(_lang STREQUAL "") - ENDFOREACH(_dT ${DESCRIPTION_TRANSLATIONS}) + ENDFOREACH(_sT ${DESCRIPTION_TRANSLATIONS}) - IF(HAS_TRANSLATION) - SET(RPM_SPEC_FIND_LANG_SECTION_OUTPUT "%find_lang %{name}") - SET(RPM_SPEC_FILES_SECTION_OUTPUT "%files -f %{name}.lang") - ELSE(HAS_TRANSLATION) - SET(RPM_SPEC_FILES_SECTION_OUTPUT "%files") - ENDIF(HAS_TRANSLATION) + ## Header + ## %{_build_arch} + IF("${BUILD_ARCH}" STREQUAL "") + EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{_build_arch}" + OUTPUT_VARIABLE _RPM_BUILD_ARCH + OUTPUT_STRIP_TRAILING_WHITESPACE) + SET(RPM_BUILD_ARCH "${_RPM_BUILD_ARCH}" + CACHE STRING "RPM Arch") + ELSE("${BUILD_ARCH}" STREQUAL "") + SET(RPM_BUILD_ARCH "${BUILD_ARCH}" + CACHE STRING "RPM Arch") + RPM_SPEC_STRING_ADD_TAG(RPM_SPEC_HEADER_OUTPUT + "BuildArch" "" "${BUILD_ARCH}" + ) + ENDIF("${BUILD_ARCH}" STREQUAL "") + + ## Build + IF(NOT RPM_SPEC_BUILD_OUTPUT) + SET(RPM_SPEC_BUILD_OUTPUT + "%cmake ${RPM_SPEC_CMAKE_FLAGS} . +make ${RPM_SPEC_MAKE_FLAGS}" + ) + ENDIF(NOT RPM_SPEC_BUILD_OUTPUT) + + ## Install STRING_JOIN(PRJ_DOC_LIST " " ${FILE_INSTALL_PRJ_DOC_LIST}) IF(NOT PRJ_DOC_LIST STREQUAL "") SET(RPM_SPEC_PRJ_DOC_REMOVAL_OUTPUT - "# We install document using doc -(cd \$RPM_BUILD_ROOT${PRJ_DOC_DIR} - rm -fr * + "# We install document using doc +(cd %{buildroot}${DOC_DIR}/%{name}-%{version} + rm -fr * )" - ) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%doc ${PRJ_DOC_LIST}" "\n" - ) + ) + RPM_SPEC_STRING_ADD(RPM_SPEC_FILES_SECTION_OUTPUT + "%doc ${PRJ_DOC_LIST}" + ) ENDIF(NOT PRJ_DOC_LIST STREQUAL "") - FOREACH(_f ${FILE_INSTALL_BIN_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_bindir}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_BIN_LIST}) - - FOREACH(_f ${FILE_INSTALL_LIB_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_libdir}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_LIB_LIST}) - - FOREACH(_f ${FILE_INSTALL_PRJ_LIB_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_libdir}/%{name}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_PRJ_LIB_LIST}) - - FOREACH(_f ${FILE_INSTALL_LIBEXEC_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_libexecdir}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_LIBEXEC_LIST}) - - FOREACH(_f ${FILE_INSTALL_PRJ_LIBEXEC_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_libexecdir}/%{name}${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_PRJ_LIBEXEC_LIST}) - - FOREACH(_f ${FILE_INSTALL_SYSCONF_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%config %{_sysconfdir}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_SYSCONF_LIST}) - - FOREACH(_f ${FILE_INSTALL_PRJ_SYSCONF_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%config %{_sysconfdir}/%{name}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_PRJ_SYSCONF_LIST}) - - FOREACH(_f ${FILE_INSTALL_SYSCONF_NO_REPLACE_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%config(noreplce) %{_sysconfdir}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_SYSCONF_NO_REPLACE_LIST}) - - FOREACH(_f ${FILE_INSTALL_PRJ_SYSCONF_NO_REPLACE_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%config(noreplce) %{_sysconfdir}/%{name}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_PRJ_SYSCONF_NO_REPLACE_LIST}) - - FOREACH(_f ${FILE_INSTALL_DATA_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_datadir}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_DATA_LIST}) - - FOREACH(_f ${FILE_INSTALL_PRJ_DATA_LIST}) - STRING_APPEND(RPM_SPEC_FILES_SECTION_OUTPUT - "%{_datadir}/%{name}/${_f}" "\n" - ) - ENDFOREACH(_f ${FILE_INSTALL_PRJ_DATA_LIST}) - ENDMACRO(PRJ_RPM_SPEC_DATA_PREPARE) - - MACRO(RPM_CHANGELOG_WRITE_FILE) - INCLUDE(DateTimeFormat) - - FILE(WRITE ${RPM_CHANGELOG_FILE} "* ${TODAY_CHANGELOG} ${MAINTAINER} - ${PRJ_VER}-${RPM_RELEASE_NO}\n") - FILE(READ "${CMAKE_FEDORA_TMP_DIR}/ChangeLog.this" CHANGELOG_ITEMS) - - FILE(APPEND ${RPM_CHANGELOG_FILE} "${CHANGELOG_ITEMS}\n\n") - - # Update RPM_ChangeLog - # Use this instead of FILE(READ is to avoid error when reading '\' - # character. - EXECUTE_PROCESS(COMMAND cat "${RPM_CHANGELOG_PREV_FILE}" - OUTPUT_VARIABLE RPM_CHANGELOG_PREV - OUTPUT_STRIP_TRAILING_WHITESPACE) - - FILE(APPEND ${RPM_CHANGELOG_FILE} "${RPM_CHANGELOG_PREV}") - - ADD_CUSTOM_COMMAND(OUTPUT ${RPM_CHANGELOG_FILE} - COMMAND ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} - DEPENDS ${CHANGELOG_FILE} ${RPM_CHANGELOG_PREV_FILE} - COMMENT "Write ${RPM_CHANGELOG_FILE}" - VERBATIM + IF(HAS_TRANSLATION) + RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_SCRIPT_OUTPUT + "find_lang" "%{name}" "" FRONT ) - - ADD_CUSTOM_TARGET(rpm_changelog_prev_update - COMMAND ${CMAKE_COMMAND} -E copy ${RPM_CHANGELOG_FILE} ${RPM_CHANGELOG_PREV_FILE} - DEPENDS ${RPM_CHANGELOG_FILE} - COMMENT "${RPM_CHANGELOG_FILE} are saving as ${RPM_CHANGELOG_PREV_FILE}" + RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_FILES_SECTION_OUTPUT + "files" "-f %{name}.lang" "" FRONT ) + ELSE(HAS_TRANSLATION) + RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_FILES_SECTION_OUTPUT + "files" "" "" FRONT + ) + ENDIF(HAS_TRANSLATION) - IF(TARGET after_release_commit_pre) - ADD_DEPENDENCIES(after_release_commit_pre rpm_changelog_prev_update) - ENDIF(TARGET after_release_commit_pre) - ENDMACRO(RPM_CHANGELOG_WRITE_FILE) + PRJ_RPM_SPEC_PREPARE_FILES("BIN" "%{_bindir}/") + PRJ_RPM_SPEC_PREPARE_FILES("LIB" "%{_libdir}/") + PRJ_RPM_SPEC_PREPARE_FILES("PRJ_LIB" "%{_libdir}/%{name}/") + PRJ_RPM_SPEC_PREPARE_FILES("LIBEXEC" "%{_libexecdir}/") + PRJ_RPM_SPEC_PREPARE_FILES("PRJ_LIBEXEC" "%{_libexecdir}/%{name}/") + PRJ_RPM_SPEC_PREPARE_FILES("SYSCONF" "%config %{_sysconfdir}/") + PRJ_RPM_SPEC_PREPARE_FILES("PRJ_SYSCONF" "%config %{_sysconfdir}/%{name}/") + PRJ_RPM_SPEC_PREPARE_FILES("SYSCONF_NO_REPLACE" "%config(noreplace) %{_sysconfdir}/") + PRJ_RPM_SPEC_PREPARE_FILES("PRJ_SYSCONF_NO_REPLACE" "%config(noreplace) %{_sysconfdir}/%{name}/") + PRJ_RPM_SPEC_PREPARE_FILES("DATA" "%{_datadir}/") + PRJ_RPM_SPEC_PREPARE_FILES("PRJ_DATA" "%{_datadir}/%{name}/") + ENDMACRO(PRJ_RPM_SPEC_PREPARE) MACRO(PACK_RPM) IF(NOT _manage_rpm_dependency_missing ) + SET(_validOptions "SPEC_IN" "SPEC") + VARIABLE_PARSE_ARGN(_opt _validOptions ${ARGN}) + + IF(NOT _opt_SPEC_IN) + FIND_FILE_ERROR_HANDLING(_opt_SPEC_IN + ERROR_MSG " spec.in is not found" + VERBOSE_LEVEL ${M_ERROR} + NAMES "project.spec.in" "${PROJECT_NAME}.spec.in" + PATHS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/SPECS + ${CMAKE_SOURCE_DIR}/SPECS + ${CMAKE_CURRENT_SOURCE_DIR}/rpm + ${CMAKE_SOURCE_DIR}/rpm + ${RPM_BUILD_SPECS} + ${CMAKE_ROOT_DIR}/Templates/fedora + ) + SET(_opt_SPEC "${RPM_BUILD_SPECS}/${PROJECT_NAME}.spec") + ENDIF(NOT _opt_SPEC_IN) + + IF(NOT _opt_SPEC) + SET(_opt_SPEC "${RPM_BUILD_SPECS}/${PROJECT_NAME}.spec") + ENDIF(NOT _opt_SPEC) + ## RPM spec.in and RPM-ChangeLog.prev + + PRJ_RPM_SPEC_PREPARE() + SET(PRJ_RPM_SPEC_FILE "${_opt_SPEC}" CACHE FILEPATH "spec") + SET(PRJ_SRPM_FILE "${RPM_BUILD_SRPMS}/${PROJECT_NAME}-${PRJ_VER}-${RPM_RELEASE_NO}.${RPM_DIST_TAG}.src.rpm" CACHE STRING "RPM files" FORCE) SET(PRJ_RPM_FILES "${RPM_BUILD_RPMS}/${RPM_BUILD_ARCH}/${PROJECT_NAME}-${PRJ_VER}-${RPM_RELEASE_NO}.${RPM_DIST_TAG}.${RPM_BUILD_ARCH}.rpm" CACHE STRING "RPM files" FORCE) - PRJ_RPM_SPEC_DATA_PREPARE() - RPM_CHANGELOG_WRITE_FILE() + INCLUDE(DateTimeFormat) + MANAGE_RPM_CHANGELOG() # Generate spec - CONFIGURE_FILE(${PRJ_RPM_SPEC_IN_FILE} ${PRJ_RPM_SPEC_FILE}) + IF(NOT "${_opt_SPEC_IN}" STREQUAL "") + CONFIGURE_FILE(${_opt_SPEC_IN} ${_opt_SPEC}) + ENDIF(NOT "${_opt_SPEC_IN}" STREQUAL "") #------------------------------------------------------------------- # RPM build commands and targets @@ -421,7 +488,7 @@ IF(NOT DEFINED _MANAGE_RPM_CMAKE_) ADD_CUSTOM_TARGET(rpmlint COMMAND find . -name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.rpm' - -print -exec rpmlint '{}' '\\;' + -print -exec rpmlint -I '{}' '\\;' DEPENDS ${PRJ_SRPM_FILE} ${PRJ_RPM_FILES} ) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageSourceVersionControl.cmake ibus-chewing-1.4.8-Source/Modules/ManageSourceVersionControl.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageSourceVersionControl.cmake 2012-11-26 17:41:07.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageSourceVersionControl.cmake 2014-01-13 02:43:09.000000000 +1000 @@ -10,9 +10,6 @@ # 2. Push the commits and tags to server # - tag_pre: Targets that 'tag' depends on. # So you can push some check before the tag. -# - after_release_commit: -# This target does some post release chores, such as -# updating ChangeLog.prev and RPM-ChangeLog.prev, then push them to server. # # Following variables are defined for each source version control: # - MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE: @@ -22,7 +19,6 @@ IF(NOT DEFINED _MANAGE_SOURCE_VERSION_CONTROL_CMAKE_) SET(_MANAGE_SOURCE_VERSION_CONTROL_CMAKE_ "DEFINED") - SET(_after_release_message "After released ${PRJ_VER}") INCLUDE(ManageTarget) MACRO(MANAGE_SOURCE_VERSION_CONTROL_COMMON) @@ -30,18 +26,6 @@ IF(NOT DEFINED _MANAGE_SOURCE_VERSION_CO COMMENT "Pre-tagging check" ) - - ADD_CUSTOM_TARGET(after_release_commit_pre - COMMENT "Before 'after_release_commit'" - ) - - IF(TARGET changelog_prev_update) - ADD_DEPENDENCIES(after_release_commit_pre changelog_prev_update) - ENDIF(TARGET changelog_prev_update) - - IF(TARGET rpm_changelog_prev_update) - ADD_DEPENDENCIES(after_release_commit_pre rpm_changelog_prev_update) - ENDIF(TARGET rpm_changelog_prev_update) ENDMACRO(MANAGE_SOURCE_VERSION_CONTROL_COMMON) MACRO(MANAGE_SOURCE_VERSION_CONTROL_GIT) @@ -49,23 +33,22 @@ IF(NOT DEFINED _MANAGE_SOURCE_VERSION_CO ${CMAKE_SOURCE_DIR}/.git/refs/tags/${PRJ_VER} CACHE PATH "Source Version Control Tag File" FORCE) - ADD_CUSTOM_TARGET(after_release_commit - COMMAND make after_release_commit_pre - COMMAND git commit -a -m "${_after_release_message}" - COMMAND git push - COMMENT "After released ${PRJ_VER}" + + ADD_CUSTOM_TARGET(commit_clean + COMMAND git diff --exit-code + COMMENT "Is git commit clean?" VERBATIM ) - # Can't use ADD_CUSTOM_TARGET here, as the COMMIT_SUMMARY may have semi-colon ':' ADD_CUSTOM_TARGET(tag DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" ) - ADD_CUSTOM_TARGET(commit_clean - COMMAND git diff --exit-code - COMMENT "Is git commit clean?" - VERBATIM + ADD_CUSTOM_TARGET(tag_push + COMMAND git push + COMMAND git push --tags + DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" + COMMENT "Push to git" ) ADD_CUSTOM_COMMAND(OUTPUT ${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE} @@ -83,14 +66,6 @@ IF(NOT DEFINED _MANAGE_SOURCE_VERSION_CO ${CMAKE_FEDORA_TEMP_DIR}/${PRJ_VER} CACHE PATH "Source Version Control Tag File" FORCE) - ADD_CUSTOM_TARGET(after_release_commit - COMMAND make after_release_commit_pre - COMMAND hg commit -m "${_after_release_message}" - COMMAND hg push - COMMENT "After released ${PRJ_VER}" - VERBATIM - ) - ADD_CUSTOM_TARGET(tag DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" ) @@ -102,7 +77,6 @@ IF(NOT DEFINED _MANAGE_SOURCE_VERSION_CO COMMENT "Tagging the source as ver ${PRJ_VER}" VERBATIM ) - MANAGE_SOURCE_VERSION_CONTROL_COMMON() ENDMACRO(MANAGE_SOURCE_VERSION_CONTROL_HG) @@ -111,13 +85,6 @@ IF(NOT DEFINED _MANAGE_SOURCE_VERSION_CO ${CMAKE_FEDORA_TEMP_DIR}/${PRJ_VER} CACHE PATH "Source Version Control Tag File" FORCE) - ADD_CUSTOM_TARGET(after_release_commit - COMMAND make after_release_commit_pre - COMMAND svn commit -m "${_after_release_message}" - COMMENT "After released ${PRJ_VER}" - VERBATIM - ) - ADD_CUSTOM_TARGET(tag DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}" ) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageString.cmake ibus-chewing-1.4.8-Source/Modules/ManageString.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageString.cmake 2013-12-16 16:33:20.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageString.cmake 2014-01-13 02:34:37.000000000 +1000 @@ -3,7 +3,7 @@ # Included by: # ManageVarible # -# Defines the following macros: +# Defines the following functions: # STRING_APPEND(var str [separator]) # - Append a string to a variable # * Parameters: @@ -11,6 +11,32 @@ # + str: A string to be appended to end of line. # + separator: Separator to separate between strings. # +# STRING_PADDING(var str length [padStr]) +# - Padding the string to specified length +# * Parameters: +# + var: A variable that stores the result. +# + str: A string. +# + length: Required length. +# + padStr: String that used in padding. Default: " " +# +# STRING_PREPEND(var str [separator]) +# - Prepend a string to a variable +# * Parameters: +# + var: A variable that stores the result. +# + str: A string to be appended to end of line. +# + separator: Separator to separate between strings. +# +# STRING_SPLIT(var delimiter str [NOESCAPE_SEMICOLON] [ESCAPE_VARIABLE] [ALLOW_EMPTY]) +# - Split a string into a list using a delimiter, +# which can be in 1 or more characters long. +# * Parameters: +# + var: A variable that stores the result. +# + delimiter: To separate a string. +# + str: A string. +# + NOESCAPE_SEMICOLON: (Optional) Do not escape semicolons. +# + ESCAPE_VARIABLE: (Optional) Escape variables. +# + ALLOW_EMPTY: (Optional) Allow empty element exist in the array. +# # STRING_TRIM(var str [NOUNQUOTE]) # - Trim a string by removing the leading and trailing spaces, # just like STRING(STRIP ...) in CMake 2.6 and later. @@ -23,6 +49,7 @@ # + NOUNQUOTE: (Optional) do not remove the double quote mark # around the string. # +# Defines the following macros: # STRING_ESCAPE_SEMICOLON(var str) # - Escape the semicolon # * Parameters: @@ -43,32 +70,53 @@ # + str_list: A list of string. # + str: (Optional) more string to be join. # -# STRING_SPLIT(var delimiter str [NOESCAPE_SEMICOLON]) -# - Split a string into a list using a delimiter, -# which can be in 1 or more characters long. -# * Parameters: -# + var: A variable that stores the result. -# + delimiter: To separate a string. -# + str: A string. -# + NOESCAPE_SEMICOLON: (Optional) Do not escape semicolons. # IF(NOT DEFINED _MANAGE_STRING_CMAKE_) SET(_MANAGE_STRING_CMAKE_ "DEFINED") FUNCTION(STRING_APPEND var str) - IF(NOT "${ARGV2}" STREQUAL "") + IF(${ARGC} GREATER 2) SET(_sep "${ARGV2}") - ELSE(NOT "${ARGV2}" STREQUAL "") - SET(_sep " ") - ENDIF(NOT "${ARGV2}" STREQUAL "") - IF(${var} STREQUAL "") + ELSE(${ARGC} GREATER 2) + SET(_sep "") + ENDIF(${ARGC} GREATER 2) + IF("${${var}}" STREQUAL "") SET(${var} "${str}" PARENT_SCOPE) - ELSE(${var} STREQUAL "") + ELSE("${${var}}" STREQUAL "") SET(${var} "${${var}}${_sep}${str}" PARENT_SCOPE) - ENDIF(${var} STREQUAL "") + ENDIF("${${var}}" STREQUAL "") ENDFUNCTION(STRING_APPEND var str) + FUNCTION(STRING_PADDING var str length) + SET(_ret "${str}") + IF(${ARGN}) + SET(_padStr ${ARGN}) + ELSE(${ARGN}) + SET(_padStr " ") + ENDIF(${ARGN}) + STRING(LENGTH "${str}" _strLen) + STRING(LENGTH "${_padStr}" _padLen) + WHILE( _strLen LESS length) + SET(_ret "${_ret}${_padStr}") + MATH(EXPR _strLen ${_strLen}+${_padLen}) + ENDWHILE( _strLen LESS length) + SET(${var} "${_ret}" PARENT_SCOPE) + ENDFUNCTION(STRING_PADDING var str length) + + FUNCTION(STRING_PREPEND var str) + IF(${ARGC} GREATER 2) + SET(_sep "${ARGV2}") + ELSE(${ARGC} GREATER 2) + SET(_sep "") + ENDIF(${ARGC} GREATER 2) + IF("${${var}}" STREQUAL "") + SET(${var} "${str}" PARENT_SCOPE) + ELSE("${${var}}" STREQUAL "") + SET(${var} "${str}${_sep}${${var}}" PARENT_SCOPE) + ENDIF("${${var}}" STREQUAL "") + ENDFUNCTION(STRING_PREPEND var str) + # Return (index of lefttmost non match character) # Return _strLen if all characters matches regex FUNCTION(STRING_LEFTMOST_NOTMATCH_INDEX var str regex) @@ -145,40 +193,42 @@ IF(NOT DEFINED _MANAGE_STRING_CMAKE_) STRING(REGEX REPLACE ";" "\\\\;" ${var} "${str}") ENDMACRO(STRING_ESCAPE_SEMICOLON var str) - # Internal macro + # Internal function # Nested Variable cannot be escaped here, as variable is already substituted # at the time it passes to this macro. - MACRO(_STRING_ESCAPE var str) + FUNCTION(_STRING_ESCAPE var str) # ';' and '\' are tricky, need to be encoded. # '#' => '#H' # '\' => '#B' # ';' => '#S' + # '$' => '#D' SET(_NOESCAPE_SEMICOLON "") - SET(_NOESCAPE_HASH "") + SET(_ESCAPE_VARIABLE "") FOREACH(_arg ${ARGN}) IF(${_arg} STREQUAL "NOESCAPE_SEMICOLON") SET(_NOESCAPE_SEMICOLON "NOESCAPE_SEMICOLON") - ELSEIF(${_arg} STREQUAL "NOESCAPE_HASH") - SET(_NOESCAPE_HASH "NOESCAPE_HASH") + ELSEIF(${_arg} STREQUAL "ESCAPE_VARIABLE") + SET(_ESCAPE_VARIABLE "ESCAPE_VARIABLE") ENDIF(${_arg} STREQUAL "NOESCAPE_SEMICOLON") ENDFOREACH(_arg ${ARGN}) - IF(_NOESCAPE_HASH STREQUAL "") - STRING(REGEX REPLACE "#" "#H" _ret "${str}") - ELSE(_NOESCAPE_HASH STREQUAL "") - SET(_ret "${str}") - ENDIF(_NOESCAPE_HASH STREQUAL "") + STRING(REGEX REPLACE "#" "#H" _ret "${str}") STRING(REGEX REPLACE "\\\\" "#B" _ret "${_ret}") + + IF(NOT _ESCAPE_VARIABLE STREQUAL "") + STRING(REGEX REPLACE "$" "#D" _ret "${_ret}") + ENDIF(NOT _ESCAPE_VARIABLE STREQUAL "") + IF(_NOESCAPE_SEMICOLON STREQUAL "") STRING(REGEX REPLACE ";" "#S" _ret "${_ret}") ENDIF(_NOESCAPE_SEMICOLON STREQUAL "") #MESSAGE("_STRING_ESCAPE:_ret=${_ret}") - SET(${var} "${_ret}") - ENDMACRO(_STRING_ESCAPE var str) + SET(${var} "${_ret}" PARENT_SCOPE) + ENDFUNCTION(_STRING_ESCAPE var str) - MACRO(_STRING_UNESCAPE var str) + FUNCTION(_STRING_UNESCAPE var str) # '#B' => '\' # '#H' => '#' # '#D' => '$' @@ -210,9 +260,9 @@ IF(NOT DEFINED _MANAGE_STRING_CMAKE_) STRING(REGEX REPLACE "#D" "$" _ret "${_ret}") ENDIF(NOT _ESCAPE_VARIABLE STREQUAL "") STRING(REGEX REPLACE "#H" "#" _ret "${_ret}") - SET(${var} "${_ret}") + SET(${var} "${_ret}" PARENT_SCOPE) #MESSAGE("*** _STRING_UNESCAPE: ${var}=${${var}}") - ENDMACRO(_STRING_UNESCAPE var str) + ENDFUNCTION(_STRING_UNESCAPE var str) MACRO(STRING_UNQUOTE var str) SET(_ret "${str}") @@ -242,11 +292,7 @@ IF(NOT DEFINED _MANAGE_STRING_CMAKE_) MACRO(STRING_JOIN var delimiter) SET(_ret "") FOREACH(_str ${ARGN}) - IF(_ret STREQUAL "") - SET(_ret "${_str}") - ELSE(_ret STREQUAL "") - SET(_ret "${_ret}${delimiter}${_str}") - ENDIF(_ret STREQUAL "") + STRING_APPEND(_ret "${_str}" "${delimiter}") ENDFOREACH(_str ${ARGN}) SET(${var} "${_ret}") ENDMACRO(STRING_JOIN var delimiter) @@ -261,22 +307,24 @@ IF(NOT DEFINED _MANAGE_STRING_CMAKE_) SET(_result -1) WHILE(_index LESS _str_end) STRING(SUBSTRING "${str}" ${_index} ${_search_len} _str_window) - IF("${_str_window}" STREQUAL "${search_str}") + IF(_str_window STREQUAL search_str) SET(_result ${_index}) BREAK() - ELSE("${_str_window}" STREQUAL "${search_str}") + ELSE(_str_window STREQUAL search_str) MATH(EXPR _index ${_index}+1) - ENDIF("${_str_window}" STREQUAL "${search_str}") + ENDIF(_str_window STREQUAL search_str) ENDWHILE(_index LESS _str_end) SET(${var} ${_result} PARENT_SCOPE) ENDFUNCTION(STRING_FIND var str search) - FUNCTION(STRING_SPLIT_2 var str_remain delimiter str) + FUNCTION(STRING_SPLIT_2 var str_remain has_delimiter delimiter str) STRING_FIND(_index "${str}" "${delimiter}") IF(_index EQUAL -1) + SET(${has_delimiter} "0" PARENT_SCOPE) SET(${var} "${str}" PARENT_SCOPE) SET(${str_remain} "" PARENT_SCOPE) ELSE(_index EQUAL -1) + SET(${has_delimiter} "1" PARENT_SCOPE) STRING(SUBSTRING "${str}" 0 ${_index} _var) SET(${var} "${_var}" PARENT_SCOPE) @@ -287,18 +335,21 @@ IF(NOT DEFINED _MANAGE_STRING_CMAKE_) STRING(SUBSTRING "${str}" ${_str_2_start} ${_str_2_len} _str_remain) SET(${str_remain} "${_str_remain}" PARENT_SCOPE) ENDIF(_index EQUAL -1) - ENDFUNCTION(STRING_SPLIT_2 var str_remain delimiter str) + ENDFUNCTION(STRING_SPLIT_2 var str_remain has_delimiter delimiter str) - MACRO(STRING_SPLIT var delimiter str) + FUNCTION(STRING_SPLIT var delimiter str) #MESSAGE("***STRING_SPLIT: var=${var} str=${str}") SET(_max_tokens "") SET(_NOESCAPE_SEMICOLON "") SET(_ESCAPE_VARIABLE "") + SET(_ALLOW_EMPTY "") FOREACH(_arg ${ARGN}) IF(${_arg} STREQUAL "NOESCAPE_SEMICOLON") SET(_NOESCAPE_SEMICOLON "NOESCAPE_SEMICOLON") ELSEIF(${_arg} STREQUAL "ESCAPE_VARIABLE") SET(_ESCAPE_VARIABLE "ESCAPE_VARIABLE") + ELSEIF(${_arg} STREQUAL "ALLOW_EMPTY") + SET(_ALLOW_EMPTY "ALLOW_EMPTY") ELSE(${_arg} STREQUAL "NOESCAPE_SEMICOLON") SET(_max_tokens ${_arg}) ENDIF(${_arg} STREQUAL "NOESCAPE_SEMICOLON") @@ -314,25 +365,27 @@ IF(NOT DEFINED _MANAGE_STRING_CMAKE_) SET(_token_count 1) WHILE(NOT _token_count EQUAL _max_tokens) - STRING_SPLIT_2(_token _str "${_delimiter}" "${_str}") - #MESSAGE("_token_count=${_token_count} _max_tokens=${_max_tokens} _token=${_token} _str=${_str}") + STRING_SPLIT_2(_token _str _has_delimiter "${_delimiter}" "${_str}") + #MESSAGE("_token_count=${_token_count} _max_tokens=${_max_tokens} _token=|${_token}| _str=${_str}") MATH(EXPR _token_count ${_token_count}+1) - LIST(APPEND _str_list "${_token}") - IF("${_str}" STREQUAL "") + IF(NOT "${_token}" STREQUAL "" OR _ALLOW_EMPTY) + LIST(APPEND _str_list "${_token}") + ENDIF(NOT "${_token}" STREQUAL "" OR _ALLOW_EMPTY) + IF(_has_delimiter EQUAL 0) ## No more tokens BREAK() - ENDIF("${_str}" STREQUAL "") + ENDIF(_has_delimiter EQUAL 0) ENDWHILE(NOT _token_count EQUAL _max_tokens) - IF(NOT "x${_str}" STREQUAL "x") - ## Append last part + IF(_has_delimiter EQUAL 1) LIST(APPEND _str_list "${_str}") - ENDIF(NOT "x${_str}" STREQUAL "x") + ENDIF(_has_delimiter EQUAL 1) # Unencoding - _STRING_UNESCAPE(${var} "${_str_list}" ${_NOESCAPE_SEMICOLON} ${_ESCAPE_VARIABLE}) + _STRING_UNESCAPE(_var "${_str_list}" ${_NOESCAPE_SEMICOLON} ${_ESCAPE_VARIABLE}) #MESSAGE("***STRING_SPLIT: tokens=${${var}}") - ENDMACRO(STRING_SPLIT var delimiter str) + SET(${var} "${_var}" PARENT_SCOPE) + ENDFUNCTION(STRING_SPLIT var delimiter str) ENDIF(NOT DEFINED _MANAGE_STRING_CMAKE_) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageTarget.cmake ibus-chewing-1.4.8-Source/Modules/ManageTarget.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageTarget.cmake 2013-12-17 18:15:45.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageTarget.cmake 2014-01-16 15:47:41.000000000 +1000 @@ -3,24 +3,34 @@ # Includes: # ManageVariable # -# Defines following macros: +# Defines following functions: # ADD_CUSTOM_TARGET_COMMAND(target OUTPUT file1 [file2 ..] -# [ALL] COMMAND -# command1 ...) +# [ALL] [NO_FORCE] COMMAND command1 ... +# ) # - Combine ADD_CUSTOM_TARGET and ADD_CUSTOM_COMMAND. -# Always build when making the target, also specify the output files -# Arguments: -# + target: target for this command -# + file1, file2 ... : Files to be outputted by this command -# + command1 ... : Command to be run. The rest arguments are same with -# ADD_CUSTOM_TARGET. +# This command is handy if you want a target that always refresh +# the output files without writing the same build recipes +# in separate ADD_CUSTOM_TARGET and ADD_CUSTOM_COMMAND. +# +# If you also want a target that run only if output files +# do not exist or outdated. Specify "NO_FORCE". +# The target for that will be "_no_force". +# +# * Parameters: +# + target: target for this command +# + OUTPUT file1, file2 ... : Files to be outputted by this command +# + ALL: (Optional) The target is built with target 'all' +# + NO_FORCE: (Optional) Produce a target that run only if +# output files do not exist or outdated. +# + command1 ... : Command to be run. +# The rest arguments are same with ADD_CUSTOM_TARGET. # IF(NOT DEFINED _MANAGE_TARGET_CMAKE_) SET(_MANAGE_TARGET_CMAKE_ "DEFINED") INCLUDE(ManageVariable) - MACRO(ADD_CUSTOM_TARGET_COMMAND target OUTPUT) - SET(_validOptions "OUTPUT" "ALL" "COMMAND") + FUNCTION(ADD_CUSTOM_TARGET_COMMAND target) + SET(_validOptions "OUTPUT" "ALL" "NO_FORCE" "COMMAND") VARIABLE_PARSE_ARGN(_opt _validOptions ${ARGN}) IF(DEFINED _opt_ALL) SET(_all "ALL") @@ -32,10 +42,16 @@ IF(NOT DEFINED _MANAGE_TARGET_CMAKE_) COMMAND ${_opt_COMMAND} ) - ADD_CUSTOM_COMMAND(OUTPUT ${_opt} + ADD_CUSTOM_COMMAND(OUTPUT ${_opt_OUTPUT} COMMAND ${_opt_COMMAND} ) - ENDMACRO(ADD_CUSTOM_TARGET_COMMAND) + + IF(DEFINED _opt_NO_FORCE) + ADD_CUSTOM_TARGET(${target}_no_force + DEPENDS ${_opt_OUTPUT} + ) + ENDIF(DEFINED _opt_NO_FORCE) + ENDFUNCTION(ADD_CUSTOM_TARGET_COMMAND) ENDIF(NOT DEFINED _MANAGE_TARGET_CMAKE_) diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageTranslation.cmake ibus-chewing-1.4.8-Source/Modules/ManageTranslation.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageTranslation.cmake 2013-12-18 01:57:40.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageTranslation.cmake 2014-01-16 15:12:27.000000000 +1000 @@ -79,7 +79,7 @@ IF(NOT DEFINED _MANAGE_TRANSLATION_CMAKE SET(_MANAGE_TRANSLATION_CMAKE_ "DEFINED") SET(XGETTEXT_OPTIONS_C --language=C --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 -s - --package-name=${PROJECT_NAME} --package-version=${PRJ_VER} + ) SET(MANAGE_TRANSLATION_MSGFMT_OPTIONS @@ -92,8 +92,9 @@ IF(NOT DEFINED _MANAGE_TRANSLATION_CMAKE ${XGETTEXT_OPTIONS_C} CACHE STRING "xgettext options" ) - # SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM "1") + SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM "1") + INCLUDE(ManageArchive) INCLUDE(ManageMessage) INCLUDE(ManageFile) INCLUDE(ManageDependency) @@ -137,13 +138,12 @@ IF(NOT DEFINED _MANAGE_TRANSLATION_CMAKE # Default values IF(_opt_POTFILE) GET_FILENAME_COMPONENT(_opt_POTFILE "${_opt_POTFILE}" ABSOLUTE) - SET(_opt_POTFILE - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pot") ELSE(_opt_POTFILE) SET(_opt_POTFILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pot") ENDIF(_opt_POTFILE) GET_FILENAME_COMPONENT(_opt_POTFILE_NAME "${_opt_POTFILE}" NAME_WE) + SOURCE_ARCHIVE_CONTENTS_ADD("${_opt_POTFILE}") IF(NOT _opt_LOCALES) FILE(GLOB _poFiles "*.po") @@ -171,11 +171,13 @@ IF(NOT DEFINED _MANAGE_TRANSLATION_CMAKE LIST(APPEND _srcList_abs ${_absPoFile}) ENDFOREACH(_sF ${_opt_SRCS}) - M_MSG(${M_INFO2} "XGETTEXT=${XGETTEXT_CMD} ${_opt_XGETTEXT_OPTIONS} -o ${_opt_POTFILE} ${_srcList}") - ADD_CUSTOM_TARGET_COMMAND(pot_file - OUTPUT ${_opt_POTFILE} ${_all} + ### Generating pot files + ADD_CUSTOM_TARGET_COMMAND(pot_file + NO_FORCE OUTPUT ${_opt_POTFILE} ${_all} COMMAND ${XGETTEXT_CMD} ${_opt_XGETTEXT_OPTIONS} - -o ${_opt_POTFILE} ${_srcList} + -o ${_opt_POTFILE} + --package-name=${PROJECT_NAME} + --package-version=${PRJ_VER} ${_srcList} DEPENDS ${_srcList_abs} COMMENT "Extract translatable messages to ${_potFile}" ) @@ -186,15 +188,21 @@ IF(NOT DEFINED _MANAGE_TRANSLATION_CMAKE FOREACH(_locale ${_opt_LOCALES}) SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_locale}.gmo) SET(_poFile ${CMAKE_CURRENT_SOURCE_DIR}/${_locale}.po) - - ADD_CUSTOM_COMMAND(OUTPUT ${_gmoFile} + SOURCE_ARCHIVE_CONTENTS_ADD("${_poFile}") + ADD_CUSTOM_COMMAND(OUTPUT ${_poFile} COMMAND ${MSGMERGE_CMD} ${_opt_MSGMERGE_OPTIONS} ${_poFile} ${_opt_POTFILE} + DEPENDS ${_opt_POTFILE} + COMMENT "Running ${MSGMERGE_CMD}" + ) + + ADD_CUSTOM_COMMAND(OUTPUT ${_gmoFile} COMMAND ${MSGFMT_CMD} ${_opt_MSGFMT_OPTIONS} -o ${_gmoFile} ${_poFile} - DEPENDS ${_opt_POTFILE} ${_poFile} - COMMENT "Running ${MSGMERGE_CMD} and ${MSGFMT_CMD}" + DEPENDS ${_poFile} + COMMENT "Running ${MSGFMT_CMD}" ) + LIST(APPEND _gmoList "${_gmoFile}") ## No need to use MANAGE_FILE_INSTALL ## As this will handle by rpmbuild @@ -205,8 +213,6 @@ IF(NOT DEFINED _MANAGE_TRANSLATION_CMAKE ENDFOREACH(_locale ${_opt_LOCALES}) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${_potFile}" ) - # SET(MANAGE_TRANSLATION_GETTEXT_PO_FILES ${_poList} CACHE STRING "PO files") - ADD_CUSTOM_TARGET(gmo_files ${_all} DEPENDS ${_gmoList} COMMENT "Generate gmo files for translation" diff -rupN ibus-chewing-1.4.4-Source/Modules/ManageVersion.cmake ibus-chewing-1.4.8-Source/Modules/ManageVersion.cmake --- ibus-chewing-1.4.4-Source/Modules/ManageVersion.cmake 2013-12-06 19:08:55.000000000 +1000 +++ ibus-chewing-1.4.8-Source/Modules/ManageVersion.cmake 2014-01-13 02:43:09.000000000 +1000 @@ -1,4 +1,4 @@ -# - Modules for manipulate version and ChangeLogs +# - Modules for manipulate version and ChangeLog # # Includes: # ManageVariable @@ -8,18 +8,25 @@ # PackSource # # Defines following functions: +# MANAGE_CHANGELOG_SPLIT(changeLogItemVar prevVar changeLogFile ver) +# - Split the changeLog into two parts: +# 1. changeLogItemVar: Current version, that is, +# ChangeLog under the version specified by "ver". +# 2. prev: Previous version. +# Note that version info are returned. +# Arguments: +# + changeLogItemVar: Variable hold th +# # RELEASE_NOTES_READ_FILE([releaseFile]) # - Load release file information. # Arguments: # + releaseFile: (Optional) release file to be read. # This file should contain following definition: -# + PRJ_VER: Release version. -# + SUMMARY: Summary of the release. Will be output as CHANGE_SUMMARY. -# and a [Changes] section tag, below which listed the change in the -# release. +# - PRJ_VER: Release version. +# - SUMMARY: Summary of the release. Will be output as CHANGE_SUMMARY. +# - Section [Changes]: +# Changes of this release list below the section tag. # Default:RELEASE-NOTES.txt -# This macro reads or define following variables: -# + RELEASE_TARGETS: Sequence of release targets. # This macro outputs following files: # + ChangeLog: Log of changes. # Depends on ChangeLog.prev and releaseFile. @@ -31,14 +38,13 @@ # + PRJ_DOC_DIR: Documentation for the project. # Default: ${DOC_DIR}/${PROJECT_NAME}-${PRJ_VER} # -# IF(NOT DEFINED _MANAGE_VERSION_CMAKE_) SET(_MANAGE_VERSION_CMAKE_ "DEFINED") INCLUDE(ManageMessage) INCLUDE(ManageVariable) - SET(CHANGELOG_FILE "${CMAKE_BINARY_DIR}/ChangeLog" CACHE FILEPATH + SET(CHANGELOG_FILE "${CMAKE_SOURCE_DIR}/ChangeLog" CACHE FILEPATH "ChangeLog") SET(CHANGELOG_PREV_FILE "${CMAKE_SOURCE_DIR}/ChangeLog.prev" CACHE FILEPATH "ChangeLog.prev") @@ -49,7 +55,77 @@ IF(NOT DEFINED _MANAGE_VERSION_CMAKE_) COMMENT "${CHANGELOG_FILE} are saving as ${CHANGELOG_PREV_FILE}" ) + FUNCTION(MANAGE_CHANGELOG_SPLIT changeLogItemVar prevVar changeLogFile ver) + SET(_changeLogFileBuf "") + SET(_this "") + SET(_prev "") + IF(EXISTS "${changeLogFile}") + SET(_isThis 0) + SET(_isPrev 0) + # Use this instead of FILE(READ is to avoid error when reading '\' + # character. + EXECUTE_PROCESS(COMMAND cat "${changeLogFile}" + OUTPUT_VARIABLE _changeLogFileBuf + OUTPUT_STRIP_TRAILING_WHITESPACE) + + #MESSAGE("# _changeLogFileBuf=|${_changeLogFileBuf}|") + STRING_SPLIT(_lines "\n" "${_changeLogFileBuf}" ALLOW_EMPTY) + #MESSAGE("# _lines=|${_lines}|") + + LIST(LENGTH _lines _lineCount) + MATH(EXPR _lineCount ${_lineCount}-1) + FOREACH(_i RANGE ${_lineCount}) + LIST(GET _lines ${_i} _line) + #MESSAGE("# _i=${_i} _line=${_line}") + STRING(REGEX MATCH "^\\* [A-Za-z]+ [A-Za-z]+ [0-9]+ [0-9]+ .+ <.+> - (.*)$" _match "${_line}") + IF("${_match}" STREQUAL "") + # Not a version line + IF(_isThis) + STRING_APPEND(_this "${_line}" "\n") + ELSEIF(_isPrev) + STRING_APPEND(_prev "${_line}" "\n") + ELSE(_isThis) + M_MSG(${M_ERROR} "ChangeLog: Cannot distinguish version for line :${_line}") + ENDIF(_isThis) + ELSE("${_match}" STREQUAL "") + # Is a version line + SET(_cV "${CMAKE_MATCH_1}") + IF("${_cV}" STREQUAL "${ver}") + SET(_isThis 1) + SET(_isPrev 0) + ELSE("${_cV}" STREQUAL "${ver}") + SET(_isThis 0) + SET(_isPrev 1) + STRING_APPEND(_prev "${_line}" "\n") + ENDIF("${_cV}" STREQUAL "${ver}") + ENDIF("${_match}" STREQUAL "") + ENDFOREACH(_i RANGE _lineCount) + ENDIF(EXISTS "${changeLogFile}") + SET(${changeLogItemVar} "${_this}" PARENT_SCOPE) + SET(${prevVar} "${_prev}" PARENT_SCOPE) + ENDFUNCTION(MANAGE_CHANGELOG_SPLIT changeLogItemVar prevVar changeLogFile ver) + + FUNCTION(MANAGE_CHANGELOG_UPDATE changeLogFile ver newChangeStr) + SET(CHANGELOG_ITEM_FILE "${CMAKE_FEDORA_TMP_DIR}/ChangeLog.Item" + CACHE INTERNAL "ChangeLog Item file") + MANAGE_CHANGELOG_SPLIT(changeLogItemVar prevVar "${changeLogFile}" "${ver}") + + INCLUDE(DateTimeFormat) + + FILE(WRITE ${CHANGELOG_FILE} "* ${TODAY_CHANGELOG} ${MAINTAINER} - ${PRJ_VER}\n") + IF (newChangeStr) + FILE(WRITE ${CHANGELOG_ITEM_FILE} "${newChangeStr}") + FILE(APPEND ${CHANGELOG_FILE} "${newChangeStr}\n\n") + ELSE(newChangeStr) + FILE(WRITE ${CHANGELOG_ITEM_FILE} "${changeLogItemVar}") + FILE(APPEND ${CHANGELOG_FILE} "${changeLogItemVar}\n\n") + ENDIF(newChangeStr) + FILE(APPEND ${CHANGELOG_FILE} "${prevVar}") + ENDFUNCTION(MANAGE_CHANGELOG_UPDATE changeLogFile ver newChangeStr) + FUNCTION(RELEASE_NOTES_READ_FILE) + INCLUDE(ManageString) + SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM "1") FOREACH(_arg ${ARGN}) IF(EXISTS ${_arg}) SET(RELEASE_NOTES_FILE ${_arg} CACHE FILEPATH "Release File") @@ -63,16 +139,12 @@ IF(NOT DEFINED _MANAGE_VERSION_CMAKE_) FILE(STRINGS "${RELEASE_NOTES_FILE}" _release_lines) SET(_changeItemSection 0) - SET(_changeItems "") + SET(CHANGELOG_ITEMS "") ## Parse release file FOREACH(_line ${_release_lines}) IF(_changeItemSection) ### Append lines in change section - IF(_changeItems) - SET(_changeItems "${_changeItems}\n${_line}") - ELSE(_changeItems) - SET(_changeItems "${_line}") - ENDIF(_changeItems) + STRING_APPEND(CHANGELOG_ITEMS "${_line}" "\n") ELSEIF("${_line}" MATCHES "^[[]Changes[]]") ### Start the change section SET(_changeItemSection 1) @@ -92,34 +164,22 @@ IF(NOT DEFINED _MANAGE_VERSION_CMAKE_) ENDIF(_changeItemSection) ENDFOREACH(_line ${_release_line}) - IF(_changeSection EQUAL 0) - MESSAGE(FATAL_ERROR "${RELEASE_NOTES_FILE} does not have a [Changes] tag!") - ELSEIF("${_changeItems}" STREQUAL "") - MESSAGE(FATAL_ERROR "${RELEASE_NOTES_FILE} does not have ChangeLog items!") - ENDIF(_changeSection EQUAL 0) - - FILE(WRITE "${CMAKE_FEDORA_TMP_DIR}/ChangeLog.this" "${_changeItems}") SET_COMPILE_ENV(PRJ_DOC_DIR "${DOC_DIR}/${PROJECT_NAME}-${PRJ_VER}" - CACHE PATH "Project docdir prefix" FORCE) - - CHANGELOG_WRITE_FILE() - ENDFUNCTION(RELEASE_NOTES_READ_FILE) - - FUNCTION(CHANGELOG_WRITE_FILE) - INCLUDE(DateTimeFormat) - - FILE(WRITE ${CHANGELOG_FILE} "* ${TODAY_CHANGELOG} ${MAINTAINER} - ${PRJ_VER}\n") - FILE(READ "${CMAKE_FEDORA_TMP_DIR}/ChangeLog.this" _changeLog_items) + CACHE PATH "Project docdir prefix" FORCE + ) - FILE(APPEND ${CHANGELOG_FILE} "${_changeLog_items}\n\n") - FILE(READ ${CHANGELOG_PREV_FILE} CHANGELOG_PREV) - FILE(APPEND ${CHANGELOG_FILE} "${CHANGELOG_PREV}") - SET(CMAKE_CACHE_TXT "${CMAKE_BINARY_DIR}/CMakeCache.txt") + MANAGE_CHANGELOG_UPDATE(${CHANGELOG_FILE} ${PRJ_VER} "${CHANGELOG_ITEMS}") + ADD_CUSTOM_COMMAND(OUTPUT ${CHANGELOG_ITEM_FILE} + COMMAND ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} + DEPENDS ${RELEASE_NOTE_FILE} + VERBATIM + ) + ADD_CUSTOM_COMMAND(OUTPUT ${CHANGELOG_FILE} COMMAND ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} - DEPENDS ${RELEASE_NOTES_FILE} ${CHANGELOG_PREV_FILE} + DEPENDS ${RELEASE_NOTES_FILE} COMMENT "Building ${CHANGELOG_FILE}" VERBATIM ) @@ -129,7 +189,6 @@ IF(NOT DEFINED _MANAGE_VERSION_CMAKE_) VERBATIM ) - ENDFUNCTION(CHANGELOG_WRITE_FILE) - + ENDFUNCTION(RELEASE_NOTES_READ_FILE) ENDIF(NOT DEFINED _MANAGE_VERSION_CMAKE_) diff -rupN ibus-chewing-1.4.4-Source/po/CMakeLists.txt ibus-chewing-1.4.8-Source/po/CMakeLists.txt --- ibus-chewing-1.4.4-Source/po/CMakeLists.txt 2013-12-17 02:06:02.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/CMakeLists.txt 2014-01-16 19:12:37.000000000 +1000 @@ -7,7 +7,7 @@ SET(SOURCES_I18N ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/IBusChewingEngine-def.c ${CMAKE_SOURCE_DIR}/src/main.c) -MANAGE_GETTEXT(ALL SRCS ${SOURCES_I18N}) +MANAGE_GETTEXT(SRCS ${SOURCES_I18N}) SET(ZANATA_SERVER "https://translate.zanata.org/zanata/") CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/zanata.xml.in ${CMAKE_CURRENT_BINARY_DIR}/zanata.xml @ONLY) diff -rupN ibus-chewing-1.4.4-Source/po/de_DE.po ibus-chewing-1.4.8-Source/po/de_DE.po --- ibus-chewing-1.4.4-Source/po/de_DE.po 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/de_DE.po 2014-01-15 21:09:51.000000000 +1000 @@ -0,0 +1,352 @@ +# hedda , 2012. #zanata +msgid "" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" + "PO-Revision-Date: 2012-11-28 08:19-0500\n" + "Last-Translator: hedda \n" + "Language-Team: German (Germany)\n" + "Language: de-DE\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "X-Generator: Zanata 3.0.3\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:367 +msgid " No default value, skipped." +msgstr " Kein Standardwert, überspringen." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:367 +msgid " Use default value:" +msgstr " Standardwert verwenden:" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:264 +msgid "Add phrases in front" +msgstr "Ausdrücke am Anfang einfügen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:268 +msgid "Add phrases in the front." +msgstr "Ausdrücke am Anfang einfügen." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:314 +msgid "Always input numbers when number keys from key pad is inputted." +msgstr "Immer Zahlen eingeben, wenn Zahlentasten vom Nummernblock verwendet " + "werden." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:68 +msgid "Auto" +msgstr "Auto" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:258 +msgid "Auto move cursor" +msgstr "Auto-Cursor" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:262 +msgid "Automatically move cursor to next character." +msgstr "Cursor automatisch zum nächsten Zeichen bewegen." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:69 +msgid "Big5" +msgstr "Big5" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:322 +msgid "Candidate per page" +msgstr "Kandidaten pro Seite" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/main.c:91 +msgid "Chewing" +msgstr "Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/main.c:84 +msgid "Chewing component" +msgstr "Chewing-Komponente" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:255 +msgid "Chi" +msgstr "Chi" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:328 +msgid "Choose phrases from backward" +msgstr "Ausdrücke von hinten wählen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:332 +msgid "Choose phrases from the back, without moving cursor." +msgstr "Ausdrücke von hinten wählen, ohne den Cursor zu bewegen." + +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:270 +msgid "Easy symbol input" +msgstr "Einfache Symboleingabe" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:274 +msgid "Easy symbol input." +msgstr "Einfache Symboleingabe." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:2 +msgid "Editing" +msgstr "Bearbeiten" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:257 +msgid "Eng" +msgstr "Eng" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:276 +msgid "Esc clean all buffer" +msgstr "Esc löscht Puffer" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:280 +msgid "Escape key cleans the text in pre-edit-buffer." +msgstr "Escape-Taste löscht Text im Puffer." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:288 +msgid "Force lowercase in En mode" +msgstr "Kleinschreibung in En-Modus erzwingen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:263 +msgid "Full" +msgstr "Voll" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:265 +msgid "Half" +msgstr "Halb" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:255 +msgid "Hsu's keyboard selection keys, 1 for asdfjkl789, 2 for asdfzxcv89 ." +msgstr "Hsu's Tastaturauswahl-Tasten, 1 für asdfjkl789, 2 für asdfzxcv89 ." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:251 +msgid "Hsu's selection key" +msgstr "Hsu's Auswahltaste" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:292 +msgid "Ignore CapsLock status and input lowercase by default.\n" + "It is handy if you wish to enter lowercase by default. Uppercase can " + "still be inputted with Shift." +msgstr "CapsLock-Status ignorieren und standardmäßig Kleinschreibung " + "verwenden.\n" + "Praktisch für die standardmäßige Eingabe in Kleinschreibung. " + "Großschreibung kann per Umschalttaste aktiviert werden." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:320 +msgid "In plain Zhuyin mode, automatic candidate selection and related " + "options are disabled or ignored." +msgstr "In einfachem Zhuyin-Modus werden automatische Kandidatenauswahl und " + "zugehörige Optionen deaktiviert oder ignoriert." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:4 +msgid "Keyboard" +msgstr "Tastatur" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:239 +msgid "Keyboard Type" +msgstr "Tastaturtyp" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:249 +msgid "Keys used to select candidate. For example \"asdfghjkl;\", press 'a' " + "to select the 1st candidate, 's' for 2nd, and so on." +msgstr "Tasten zur Kandidatenauswahl. Zum Beispiel \"asdfghjkl;\", drücken " + "Sie 'a', um den 1. Kandidaten zu wählen, 's' für den 2., etc." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:282 +msgid "Maximum Chinese characters" +msgstr "Maximale Chinesische Zeichen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:286 +msgid "Maximum Chinese characters in pre-edit buffer, including inputing " + "Zhuyin symbols" +msgstr "Maximale Chinesische Zeichen im Puffer, einschließlich Zhuyin-Symbole" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:326 +msgid "Number of candidate per page." +msgstr "Anzahl der Kandidaten pro Seite." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:310 +msgid "Number pad always input number" +msgstr "Nummernblock gibt immer Zahlen ein" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:303 +msgid "Occasionally, the CapsLock status does not match the IM, this option " + "determines how these status be synchronized. Valid values:\n" + "\"disable\": Do nothing.\n" + "\"keyboard\": IM status follows keyboard status.\n" + "\"IM\": Keyboard status follows IM status." +msgstr "Gelegentlich stimmt der CapsLock-Status nicht mit der IM überein, " + "diese Option legt fest, wie diese Status synchronisiert werden. " + "Gültige Werte:\n" + "\"Deaktivieren\": Nichts tun.\n" + "\"Tastatur\": IM-Status folgt dem Tastaturstatus.\n" + "\"IM\": Tastaturstatus folgt dem IM-Status." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/main.c:85 ../src/main.c:93 +msgid "Peng Huang, Ding-Yi Chen" +msgstr "Peng Huang, Ding-Yi Chen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:316 +msgid "Plain Zhuyin mode" +msgstr "Einfacher Zhuyin-Modus" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:243 +msgid "Select Zhuyin keyboard layout." +msgstr "Zhuyin-Tastaturbelegung wählen." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:3 +msgid "Selecting" +msgstr "Wählen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:245 +msgid "Selection keys" +msgstr "Auswahltasten" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:187 +msgid "Setting" +msgstr "Einstellung" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:268 +msgid "Settings" +msgstr "Einstellungen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:334 +msgid "Space to select" +msgstr "Leertaste zum Auswählen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:297 +msgid "Sync between CapsLock and IM" +msgstr "Sync zwischen CapsLock und IM" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:70 +msgid "UTF8" +msgstr "UTF8" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine.gob:365 +msgid "Warning: cannot load configure key" +msgstr "Warnung: Konfigurationsschlüssel konnte nicht geladen werden" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:41 +msgid "dachen_26" +msgstr "dachen_26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:33 +msgid "default" +msgstr "Standard" + +#: ../src/IBusChewingEngine-def.c:61 +msgctxt "Sync" +msgid "disable" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:39 +msgid "dvorak" +msgstr "dvorak" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:40 +msgid "dvorak_hsu" +msgstr "dvorak_hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:37 +msgid "eten" +msgstr "eten" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:38 +msgid "eten26" +msgstr "eten26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:36 +msgid "gin_yieh" +msgstr "gin_yieh" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:42 +msgid "hanyu" +msgstr "hanyu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:34 +msgid "hsu" +msgstr "hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:35 +msgid "ibm" +msgstr "ibm" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:75 +msgid "in application window" +msgstr "in Applikationsfenster" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author hedda +#: ../src/IBusChewingEngine-def.c:76 +msgid "in candidate window" +msgstr "in Kandidatenfenster" + +#: ../src/IBusChewingEngine-def.c:63 +msgctxt "Sync" +msgid "input method" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:62 +msgctxt "Sync" +msgid "keyboard" +msgstr "" diff -rupN ibus-chewing-1.4.4-Source/po/es_ES.po ibus-chewing-1.4.8-Source/po/es_ES.po --- ibus-chewing-1.4.4-Source/po/es_ES.po 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/es_ES.po 2014-01-15 21:09:51.000000000 +1000 @@ -0,0 +1,354 @@ +# gguerrer , 2012. #zanata +msgid "" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" + "PO-Revision-Date: 2012-11-28 08:19-0500\n" + "Last-Translator: gguerrer \n" + "Language-Team: Spanish (Spain)\n" + "Language: es-ES\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "X-Generator: Zanata 3.0.3\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:367 +msgid " No default value, skipped." +msgstr "No hay valor predeterminado, se omite." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:367 +msgid " Use default value:" +msgstr "Usar valor predeterminado:" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:264 +msgid "Add phrases in front" +msgstr "Añadir frases al frente" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:268 +msgid "Add phrases in the front." +msgstr "Añadir frases al frente." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:314 +msgid "Always input numbers when number keys from key pad is inputted." +msgstr "Siempre introduzca números al ingresar teclas numéricas desde el " + "teclado." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:68 +msgid "Auto" +msgstr "Auto" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:258 +msgid "Auto move cursor" +msgstr "Desplace el cursor de forma automática" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:262 +msgid "Automatically move cursor to next character." +msgstr "Desplace el cursor de forma automática al siguiente caracter." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:69 +msgid "Big5" +msgstr "Big5" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:322 +msgid "Candidate per page" +msgstr "Candidato por página" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/main.c:91 +msgid "Chewing" +msgstr "Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/main.c:84 +msgid "Chewing component" +msgstr "Componente de Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:255 +msgid "Chi" +msgstr "Chi (Chino)" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:328 +msgid "Choose phrases from backward" +msgstr "Elija frases desde atrás" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:332 +msgid "Choose phrases from the back, without moving cursor." +msgstr "Elija frases desde atrás, sin desplazar el cursor." + +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:270 +msgid "Easy symbol input" +msgstr "Fácil entrada de símbolo" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:274 +msgid "Easy symbol input." +msgstr "Fácil entrada de símbolo" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:2 +msgid "Editing" +msgstr "Modificar rol:" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:257 +msgid "Eng" +msgstr "Eng (Inglés)" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:276 +msgid "Esc clean all buffer" +msgstr "ESC limpieza de todo el buffer" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:280 +msgid "Escape key cleans the text in pre-edit-buffer." +msgstr "La tecla de escape limpia el texto en el buffer de pre-edición" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:288 +msgid "Force lowercase in En mode" +msgstr "Fuerza el modo En minúsculas" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:263 +msgid "Full" +msgstr "Total" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:265 +msgid "Half" +msgstr "Medio" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:255 +msgid "Hsu's keyboard selection keys, 1 for asdfjkl789, 2 for asdfzxcv89 ." +msgstr "Selección de teclas del teclado de Hsu, 1 para asdfjkl789, 2 para " + "asdfzxcv89 ." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:251 +msgid "Hsu's selection key" +msgstr "Teclas de Selección de Hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:292 +msgid "Ignore CapsLock status and input lowercase by default.\n" + "It is handy if you wish to enter lowercase by default. Uppercase can " + "still be inputted with Shift." +msgstr "Ignore el estatus de MAYÚS e ingrese minúsculas de forma " + "predeterminada. \n" + "Es útil si desea ingresar minúsculas de forma predeterminada. La " + "mayúscula puede ingresarse aún con Shift. " + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:320 +msgid "In plain Zhuyin mode, automatic candidate selection and related " + "options are disabled or ignored." +msgstr "En modo plano Zhuyin, la selección automática de candidatos y las " + "opciones relacionadas se inhabilitan o ignoran. " + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:4 +msgid "Keyboard" +msgstr "Teclado" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:239 +msgid "Keyboard Type" +msgstr "Tipo de teclado" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:249 +msgid "Keys used to select candidate. For example \"asdfghjkl;\", press 'a' " + "to select the 1st candidate, 's' for 2nd, and so on." +msgstr "Las teclas utilizadas para seleccionar candidatos. Por ejemplo " + "\"asdfghjkl;\", presione 'a' para seleccionar el 1er candidato, 's' " + "para segundo y así sucesivamente. " + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:282 +msgid "Maximum Chinese characters" +msgstr "Número máximo de caracteres chinos" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:286 +msgid "Maximum Chinese characters in pre-edit buffer, including inputing " + "Zhuyin symbols" +msgstr "Máximos caracteres chinos en buffer de pre-edición, incluyendo " + "ingreso de símbolos de entrada" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:326 +msgid "Number of candidate per page." +msgstr "Número de candidato por página." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:310 +msgid "Number pad always input number" +msgstr "Almohadilla numérica siempre ingrese número" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:303 +msgid "Occasionally, the CapsLock status does not match the IM, this option " + "determines how these status be synchronized. Valid values:\n" + "\"disable\": Do nothing.\n" + "\"keyboard\": IM status follows keyboard status.\n" + "\"IM\": Keyboard status follows IM status." +msgstr "En ocasiones, el estatus de MAYÚS no coincide con IM, esta opción " + "determina cómo estos estatus se sincronizan. Valores válidos:\n" + "\"disable\": No hace nada.\n" + "\"keyboard\": estatus IM sigue el estatus de teclado\n" + "\"IM\": Estatus de teclado sigue el estatus IM." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/main.c:85 ../src/main.c:93 +msgid "Peng Huang, Ding-Yi Chen" +msgstr "Peng Huang, Ding-Yi Chen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:316 +msgid "Plain Zhuyin mode" +msgstr "Modo plano Zhuyin" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:243 +msgid "Select Zhuyin keyboard layout." +msgstr "Seleccione la presentación de teclado Zhuyin." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:3 +msgid "Selecting" +msgstr "Selección" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:245 +msgid "Selection keys" +msgstr "Teclas de selección" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:187 +msgid "Setting" +msgstr "Configuración" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:268 +msgid "Settings" +msgstr "Configuración" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:334 +msgid "Space to select" +msgstr "Espacio para seleccionar" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:297 +msgid "Sync between CapsLock and IM" +msgstr "Sincronización entre MAYÚS e IM" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:70 +msgid "UTF8" +msgstr "UTF8" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine.gob:365 +msgid "Warning: cannot load configure key" +msgstr "Advertencia: no se puede cargar la tecla de configuración" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:41 +msgid "dachen_26" +msgstr "dachen_26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:33 +msgid "default" +msgstr "Predeterminado" + +#: ../src/IBusChewingEngine-def.c:61 +msgctxt "Sync" +msgid "disable" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:39 +msgid "dvorak" +msgstr "dvorak" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:40 +msgid "dvorak_hsu" +msgstr "dvorak_hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:37 +msgid "eten" +msgstr "eten" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:38 +msgid "eten26" +msgstr "eten26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:36 +msgid "gin_yieh" +msgstr "gin_yieh" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:42 +msgid "hanyu" +msgstr "hanyu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:34 +msgid "hsu" +msgstr "hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:35 +msgid "ibm" +msgstr "ibm" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:75 +msgid "in application window" +msgstr "En ventana de aplicaciones" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gguerrer +#: ../src/IBusChewingEngine-def.c:76 +msgid "in candidate window" +msgstr "En ventana de candidatos" + +#: ../src/IBusChewingEngine-def.c:63 +msgctxt "Sync" +msgid "input method" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:62 +msgctxt "Sync" +msgid "keyboard" +msgstr "" diff -rupN ibus-chewing-1.4.4-Source/po/fr_FR.po ibus-chewing-1.4.8-Source/po/fr_FR.po --- ibus-chewing-1.4.4-Source/po/fr_FR.po 2013-12-17 02:31:12.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/fr_FR.po 2014-01-15 21:09:52.000000000 +1000 @@ -1,8 +1,8 @@ # samfreemanz , 2012. #zanata msgid "" -msgstr "Project-Id-Version: ibus-chewing 1.4.3\n" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2013-12-17 02:25+1000\n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" "PO-Revision-Date: 2012-11-28 08:19-0500\n" "Last-Translator: samfreemanz \n" "Language-Team: French\n" @@ -14,12 +14,12 @@ msgstr "Project-Id-Version: ibus-chewin "Plural-Forms: nplurals=2; plural=(n > 1)\n" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " No default value, skipped." msgstr "Aucune valeur par défaut, ignoré." # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " Use default value:" msgstr "Utiliser la valeur par défaut :" @@ -75,7 +75,7 @@ msgid "Chewing component" msgstr "Composant Chewing" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:235 +#: ../src/IBusChewingEngine.gob:255 msgid "Chi" msgstr "Chi" @@ -89,6 +89,14 @@ msgstr "Choisir des phrases depuis l'ar msgid "Choose phrases from the back, without moving cursor." msgstr "Choisir des phrases depuis l'arrière, sans déplacer le curseur." +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz #: ../src/IBusChewingEngine-def.c:270 msgid "Easy symbol input" @@ -105,7 +113,7 @@ msgid "Editing" msgstr "Modifier" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:236 +#: ../src/IBusChewingEngine.gob:257 msgid "Eng" msgstr "Eng" @@ -126,12 +134,12 @@ msgid "Force lowercase in En mode" msgstr "Force les minuscules en mode En" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:237 +#: ../src/IBusChewingEngine.gob:263 msgid "Full" msgstr "Plein" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:238 +#: ../src/IBusChewingEngine.gob:265 msgid "Half" msgstr "Moitié" @@ -244,12 +252,12 @@ msgid "Selection keys" msgstr "Touches de sélection" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:173 +#: ../src/IBusChewingEngine.gob:187 msgid "Setting" msgstr "Paramétrer" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:240 +#: ../src/IBusChewingEngine.gob:268 msgid "Settings" msgstr "Paramètres" @@ -269,7 +277,7 @@ msgid "UTF8" msgstr "UTF8" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author samfreemanz -#: ../src/IBusChewingEngine.gob:320 +#: ../src/IBusChewingEngine.gob:365 msgid "Warning: cannot load configure key" msgstr "Avertissement : chargement de la touche de configuration impossible" diff -rupN ibus-chewing-1.4.4-Source/po/ibus-chewing.pot ibus-chewing-1.4.8-Source/po/ibus-chewing.pot --- ibus-chewing-1.4.4-Source/po/ibus-chewing.pot 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/ibus-chewing.pot 2014-01-17 12:39:51.000000000 +1000 @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ibus-chewing 1.4.8\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-01-17 12:39+1000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/IBusChewingEngine.gob:367 +msgid " No default value, skipped." +msgstr "" + +#: ../src/IBusChewingEngine.gob:367 +msgid " Use default value:" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:264 +msgid "Add phrases in front" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:268 +msgid "Add phrases in the front." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:314 +msgid "Always input numbers when number keys from key pad is inputted." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:68 +msgid "Auto" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:258 +msgid "Auto move cursor" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:262 +msgid "Automatically move cursor to next character." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:69 +msgid "Big5" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:322 +msgid "Candidate per page" +msgstr "" + +#: ../src/main.c:91 +msgid "Chewing" +msgstr "" + +#: ../src/main.c:84 +msgid "Chewing component" +msgstr "" + +#: ../src/IBusChewingEngine.gob:255 +msgid "Chi" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:328 +msgid "Choose phrases from backward" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:332 +msgid "Choose phrases from the back, without moving cursor." +msgstr "" + +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:270 +msgid "Easy symbol input" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:274 +msgid "Easy symbol input." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:2 +msgid "Editing" +msgstr "" + +#: ../src/IBusChewingEngine.gob:257 +msgid "Eng" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:276 +msgid "Esc clean all buffer" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:280 +msgid "Escape key cleans the text in pre-edit-buffer." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:288 +msgid "Force lowercase in En mode" +msgstr "" + +#: ../src/IBusChewingEngine.gob:263 +msgid "Full" +msgstr "" + +#: ../src/IBusChewingEngine.gob:265 +msgid "Half" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:255 +msgid "Hsu's keyboard selection keys, 1 for asdfjkl789, 2 for asdfzxcv89 ." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:251 +msgid "Hsu's selection key" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:292 +msgid "" +"Ignore CapsLock status and input lowercase by default.\n" +"It is handy if you wish to enter lowercase by default. Uppercase can still " +"be inputted with Shift." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:320 +msgid "" +"In plain Zhuyin mode, automatic candidate selection and related options are " +"disabled or ignored." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:4 +msgid "Keyboard" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:239 +msgid "Keyboard Type" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:249 +msgid "" +"Keys used to select candidate. For example \"asdfghjkl;\", press 'a' to " +"select the 1st candidate, 's' for 2nd, and so on." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:282 +msgid "Maximum Chinese characters" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:286 +msgid "" +"Maximum Chinese characters in pre-edit buffer, including inputing Zhuyin " +"symbols" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:326 +msgid "Number of candidate per page." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:310 +msgid "Number pad always input number" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:303 +msgid "" +"Occasionally, the CapsLock status does not match the IM, this option " +"determines how these status be synchronized. Valid values:\n" +"\"disable\": Do nothing.\n" +"\"keyboard\": IM status follows keyboard status.\n" +"\"IM\": Keyboard status follows IM status." +msgstr "" + +#: ../src/main.c:85 ../src/main.c:93 +msgid "Peng Huang, Ding-Yi Chen" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:316 +msgid "Plain Zhuyin mode" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:243 +msgid "Select Zhuyin keyboard layout." +msgstr "" + +#: ../src/IBusChewingEngine-def.c:3 +msgid "Selecting" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:245 +msgid "Selection keys" +msgstr "" + +#: ../src/IBusChewingEngine.gob:187 +msgid "Setting" +msgstr "" + +#: ../src/IBusChewingEngine.gob:268 +msgid "Settings" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:334 +msgid "Space to select" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:297 +msgid "Sync between CapsLock and IM" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:70 +msgid "UTF8" +msgstr "" + +#: ../src/IBusChewingEngine.gob:365 +msgid "Warning: cannot load configure key" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:41 +msgid "dachen_26" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:33 +msgid "default" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:61 +msgctxt "Sync" +msgid "disable" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:39 +msgid "dvorak" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:40 +msgid "dvorak_hsu" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:37 +msgid "eten" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:38 +msgid "eten26" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:36 +msgid "gin_yieh" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:42 +msgid "hanyu" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:34 +msgid "hsu" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:35 +msgid "ibm" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:75 +msgid "in application window" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:76 +msgid "in candidate window" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:63 +msgctxt "Sync" +msgid "input method" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:62 +msgctxt "Sync" +msgid "keyboard" +msgstr "" diff -rupN ibus-chewing-1.4.4-Source/po/it_IT.po ibus-chewing-1.4.8-Source/po/it_IT.po --- ibus-chewing-1.4.4-Source/po/it_IT.po 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/it_IT.po 2014-01-15 21:09:51.000000000 +1000 @@ -0,0 +1,353 @@ +# fvalen , 2012. #zanata +msgid "" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" + "PO-Revision-Date: 2012-11-28 08:19-0500\n" + "Last-Translator: fvalen \n" + "Language-Team: Italian\n" + "Language: it\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "X-Generator: Zanata 3.0.3\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:367 +msgid " No default value, skipped." +msgstr "Nessun valore predefinito, operazione saltata." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:367 +msgid " Use default value:" +msgstr "Usa il valore predefinito:" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:264 +msgid "Add phrases in front" +msgstr "Aggiungi espressioni davanti" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:268 +msgid "Add phrases in the front." +msgstr "Aggiungi espressioni davanti." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:314 +msgid "Always input numbers when number keys from key pad is inputted." +msgstr "Inserisci sempre i numeri quando i tasti numerici della tastiera " + "sono inseriti." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:68 +msgid "Auto" +msgstr "Auto" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:258 +msgid "Auto move cursor" +msgstr "Sposta automaticamente il cursore" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:262 +msgid "Automatically move cursor to next character." +msgstr "Sposta automaticamente il cursore al carattere successivo." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:69 +msgid "Big5" +msgstr "Big5" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:322 +msgid "Candidate per page" +msgstr "Candidato per pagina" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/main.c:91 +msgid "Chewing" +msgstr "Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/main.c:84 +msgid "Chewing component" +msgstr "Componente Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:255 +msgid "Chi" +msgstr "Chi" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:328 +msgid "Choose phrases from backward" +msgstr "Seleziona espressioni all'indietro" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:332 +msgid "Choose phrases from the back, without moving cursor." +msgstr "Seleziona espressioni all'indietro senza spostare il cursore." + +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:270 +msgid "Easy symbol input" +msgstr "Input simbolo semplice" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:274 +msgid "Easy symbol input." +msgstr "Input simbolo semplice." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:2 +msgid "Editing" +msgstr "Modifica" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:257 +msgid "Eng" +msgstr "Eng" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:276 +msgid "Esc clean all buffer" +msgstr "Pulisci con Esc tutto il buffer" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:280 +msgid "Escape key cleans the text in pre-edit-buffer." +msgstr "Il tasto Escape rimuove il testo in pre-edit-buffer." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:288 +msgid "Force lowercase in En mode" +msgstr "Forza minuscolo in modalità En" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:263 +msgid "Full" +msgstr "Completo" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:265 +msgid "Half" +msgstr "Metà" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:255 +msgid "Hsu's keyboard selection keys, 1 for asdfjkl789, 2 for asdfzxcv89 ." +msgstr "Tasti di selezione della tastiera di Hsu, 1 per asdfjkl789, 2 per " + "asdfzxcv89 ." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:251 +msgid "Hsu's selection key" +msgstr "Tasto di selezione di Hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:292 +msgid "Ignore CapsLock status and input lowercase by default.\n" + "It is handy if you wish to enter lowercase by default. Uppercase can " + "still be inputted with Shift." +msgstr "Ignora CapsLock ed input minuscolo per impostazione predefinita. ¶ È " + "utile se inserisci il minuscolo per impostazione predefinita. Il " + "maiuscolo può ancora essere inserito con il tasto Maiusc \"Shift\"." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:320 +msgid "In plain Zhuyin mode, automatic candidate selection and related " + "options are disabled or ignored." +msgstr "In modalità semplice Zhuyin, la selezione del candidato automatica e " + "le opzioni relative sono disabilitate o ignorate." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:4 +msgid "Keyboard" +msgstr "Tastiera" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:239 +msgid "Keyboard Type" +msgstr "Tipo di tastiera" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:249 +msgid "Keys used to select candidate. For example \"asdfghjkl;\", press 'a' " + "to select the 1st candidate, 's' for 2nd, and so on." +msgstr "Tasti usati per selezionare il candidato. Per esempio \"asdfghjkl;" + "\", premere 'a' per selezionare il primo candidato, 's' per " + "selezionare il secondo e così via." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:282 +msgid "Maximum Chinese characters" +msgstr "Numero massimo di caratteri cinesi" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:286 +msgid "Maximum Chinese characters in pre-edit buffer, including inputing " + "Zhuyin symbols" +msgstr "Numero massimo di caratteri cinesi in pre-edit buffer, incluso " + "l'input dei simboli Zhuyin" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:326 +msgid "Number of candidate per page." +msgstr "Numero di candicati per pagina." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:310 +msgid "Number pad always input number" +msgstr "Il tastierino numerico inserisce sempre il numero" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:303 +msgid "Occasionally, the CapsLock status does not match the IM, this option " + "determines how these status be synchronized. Valid values:\n" + "\"disable\": Do nothing.\n" + "\"keyboard\": IM status follows keyboard status.\n" + "\"IM\": Keyboard status follows IM status." +msgstr "Talvolta lo stato di Capslock non corrisponde all'IM, questa opzione " + "determina come sincronizzare lo stato. I valori validi sono:¶\n" + "\"disable\": Non fare niente.¶\n" + "\"keyboard\": lo stato IM segue lo stato della tastiera.¶\n" + "\"IM\": lo stato della tastiera segue lo stato IM." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/main.c:85 ../src/main.c:93 +msgid "Peng Huang, Ding-Yi Chen" +msgstr "Peng Huang, Ding-Yi Chen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:316 +msgid "Plain Zhuyin mode" +msgstr "Modalità Zhuyin semplice" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:243 +msgid "Select Zhuyin keyboard layout." +msgstr "Seleziona il layout della tastiera Zhuyin" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:3 +msgid "Selecting" +msgstr "Selezione" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:245 +msgid "Selection keys" +msgstr "Tasti di selezione" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:187 +msgid "Setting" +msgstr "Impostazione" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:268 +msgid "Settings" +msgstr "Impostazioni" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:334 +msgid "Space to select" +msgstr "Spazio da selezionare" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:297 +msgid "Sync between CapsLock and IM" +msgstr "Sincronizza tra CapsLock e IM" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:70 +msgid "UTF8" +msgstr "UTF8" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine.gob:365 +msgid "Warning: cannot load configure key" +msgstr "Attenzione: impossibile caricare la chiave di configurazione" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:41 +msgid "dachen_26" +msgstr "dachen_26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:33 +msgid "default" +msgstr "default" + +#: ../src/IBusChewingEngine-def.c:61 +msgctxt "Sync" +msgid "disable" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:39 +msgid "dvorak" +msgstr "dvorak" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:40 +msgid "dvorak_hsu" +msgstr "dvorak_hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:37 +msgid "eten" +msgstr "eten" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:38 +msgid "eten26" +msgstr "eten26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:36 +msgid "gin_yieh" +msgstr "gin_yieh" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:42 +msgid "hanyu" +msgstr "hanyu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:34 +msgid "hsu" +msgstr "hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:35 +msgid "ibm" +msgstr "ibm" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:75 +msgid "in application window" +msgstr "nella finestra dell'applicazione" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author fvalen +#: ../src/IBusChewingEngine-def.c:76 +msgid "in candidate window" +msgstr "nella finestra del candidato" + +#: ../src/IBusChewingEngine-def.c:63 +msgctxt "Sync" +msgid "input method" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:62 +msgctxt "Sync" +msgid "keyboard" +msgstr "" diff -rupN ibus-chewing-1.4.4-Source/po/ja_JP.po ibus-chewing-1.4.8-Source/po/ja_JP.po --- ibus-chewing-1.4.4-Source/po/ja_JP.po 2013-12-17 02:31:12.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/ja_JP.po 2014-01-15 21:09:52.000000000 +1000 @@ -1,8 +1,8 @@ # noriko , 2012. #zanata msgid "" -msgstr "Project-Id-Version: ibus-chewing 1.4.3\n" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2013-12-17 02:25+1000\n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" "PO-Revision-Date: 2012-11-28 08:19-0500\n" "Last-Translator: noriko \n" "Language-Team: Japanese\n" @@ -14,12 +14,12 @@ msgstr "Project-Id-Version: ibus-chewin "Plural-Forms: nplurals=1; plural=0\n" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " No default value, skipped." msgstr "デフォルト値がありません、 省略しました。" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " Use default value:" msgstr "デフォルト値を使用:" @@ -74,7 +74,7 @@ msgid "Chewing component" msgstr "Chewing コンポーネント" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:235 +#: ../src/IBusChewingEngine.gob:255 msgid "Chi" msgstr "Chi" @@ -88,6 +88,14 @@ msgstr "後方から語句を選択" msgid "Choose phrases from the back, without moving cursor." msgstr "カーソル移動せずに後ろから語句を選択します。" +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko #: ../src/IBusChewingEngine-def.c:270 msgid "Easy symbol input" @@ -104,7 +112,7 @@ msgid "Editing" msgstr "編集" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:236 +#: ../src/IBusChewingEngine.gob:257 msgid "Eng" msgstr "Eng" @@ -124,12 +132,12 @@ msgid "Force lowercase in En mode" msgstr "英語モードでは小文字を強制" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:237 +#: ../src/IBusChewingEngine.gob:263 msgid "Full" msgstr "全" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:238 +#: ../src/IBusChewingEngine.gob:265 msgid "Half" msgstr "半" @@ -239,12 +247,12 @@ msgid "Selection keys" msgstr "選択キー" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:173 +#: ../src/IBusChewingEngine.gob:187 msgid "Setting" msgstr "設定" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:240 +#: ../src/IBusChewingEngine.gob:268 msgid "Settings" msgstr "設定" @@ -264,7 +272,7 @@ msgid "UTF8" msgstr "UTF8" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author noriko -#: ../src/IBusChewingEngine.gob:320 +#: ../src/IBusChewingEngine.gob:365 msgid "Warning: cannot load configure key" msgstr "警告: 設定キーをロードできません" diff -rupN ibus-chewing-1.4.4-Source/po/ko_KR.po ibus-chewing-1.4.8-Source/po/ko_KR.po --- ibus-chewing-1.4.4-Source/po/ko_KR.po 2013-12-17 02:31:12.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/ko_KR.po 2014-01-15 21:09:52.000000000 +1000 @@ -1,9 +1,9 @@ # eukim , 2012. #zanata # mkim , 2012. #zanata msgid "" -msgstr "Project-Id-Version: ibus-chewing 1.4.3\n" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2013-12-17 02:25+1000\n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" "PO-Revision-Date: 2012-12-04 10:53-0500\n" "Last-Translator: mkim \n" "Language-Team: Korean\n" @@ -15,12 +15,12 @@ msgstr "Project-Id-Version: ibus-chewin "Plural-Forms: nplurals=1; plural=0\n" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " No default value, skipped." msgstr "디폴트 값이 없음, 생략함. " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " Use default value:" msgstr "디폴트 값 사용: " @@ -75,7 +75,7 @@ msgid "Chewing component" msgstr "Chewing 구성 요소 " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:235 +#: ../src/IBusChewingEngine.gob:255 msgid "Chi" msgstr "Chi" @@ -89,6 +89,14 @@ msgstr "뒤에서 단어 선택 " msgid "Choose phrases from the back, without moving cursor." msgstr "커서를 이동하지 않고 뒤에서 단어를 선택합니다. " +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim #: ../src/IBusChewingEngine-def.c:270 msgid "Easy symbol input" @@ -105,7 +113,7 @@ msgid "Editing" msgstr "편집 " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:236 +#: ../src/IBusChewingEngine.gob:257 msgid "Eng" msgstr "Eng" @@ -125,12 +133,12 @@ msgid "Force lowercase in En mode" msgstr "En 모드에서 소문자를 강제 " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:237 +#: ../src/IBusChewingEngine.gob:263 msgid "Full" msgstr "전체 " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:238 +#: ../src/IBusChewingEngine.gob:265 msgid "Half" msgstr "반 " @@ -239,12 +247,12 @@ msgid "Selection keys" msgstr "선택 키 " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:173 +#: ../src/IBusChewingEngine.gob:187 msgid "Setting" msgstr "설정 " # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:240 +#: ../src/IBusChewingEngine.gob:268 msgid "Settings" msgstr "설정 " @@ -264,7 +272,7 @@ msgid "UTF8" msgstr "UTF8" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author eukim -#: ../src/IBusChewingEngine.gob:320 +#: ../src/IBusChewingEngine.gob:365 msgid "Warning: cannot load configure key" msgstr "경고: 설정 키를 불러올 수 없음 " diff -rupN ibus-chewing-1.4.4-Source/po/pt_BR.po ibus-chewing-1.4.8-Source/po/pt_BR.po --- ibus-chewing-1.4.4-Source/po/pt_BR.po 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/pt_BR.po 2014-01-15 21:09:51.000000000 +1000 @@ -0,0 +1,353 @@ +# gcintra , 2012. #zanata +msgid "" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" + "PO-Revision-Date: 2012-11-28 08:19-0500\n" + "Last-Translator: gcintra \n" + "Language-Team: Portuguese (Brazil)\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: Zanata 3.0.3\n" + "Plural-Forms: nplurals=2; plural=(n != 1)\n" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:367 +msgid " No default value, skipped." +msgstr "Nenhum valor padrão, pulado." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:367 +msgid " Use default value:" +msgstr "Usar valor padrão:" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:264 +msgid "Add phrases in front" +msgstr "Adicionar frases na frente" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:268 +msgid "Add phrases in the front." +msgstr "Adicionar frases na frente" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:314 +msgid "Always input numbers when number keys from key pad is inputted." +msgstr "Sempre inserir números quando as chaves de números a partir do pad é " + "inserida" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:68 +msgid "Auto" +msgstr "Auto" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:258 +msgid "Auto move cursor" +msgstr "Auto mover o cursor" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:262 +msgid "Automatically move cursor to next character." +msgstr "Mover automaticamente o cursor para o próximo carácter" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:69 +msgid "Big5" +msgstr "Big5" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:322 +msgid "Candidate per page" +msgstr "Candidato por página" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/main.c:91 +msgid "Chewing" +msgstr "Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/main.c:84 +msgid "Chewing component" +msgstr "Componente Chewing" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:255 +msgid "Chi" +msgstr "Chi" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:328 +msgid "Choose phrases from backward" +msgstr "Escolher frases de tras para frente" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:332 +msgid "Choose phrases from the back, without moving cursor." +msgstr "Escolehr frases a partir do final, sem mover o cursor" + +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:270 +msgid "Easy symbol input" +msgstr "Entrada de símbolo fácil" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:274 +msgid "Easy symbol input." +msgstr "Entrada de símbolo fácil." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:2 +msgid "Editing" +msgstr "Editando" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:257 +msgid "Eng" +msgstr "Eng" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:276 +msgid "Esc clean all buffer" +msgstr "Esc limpar todo o buffer" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:280 +msgid "Escape key cleans the text in pre-edit-buffer." +msgstr "Tecla Escape limpa o texto no buffer de pré-edição" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:288 +msgid "Force lowercase in En mode" +msgstr "Forçar letra minúscula no modo En" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:263 +msgid "Full" +msgstr "Cheio" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:265 +msgid "Half" +msgstr "Meio" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:255 +msgid "Hsu's keyboard selection keys, 1 for asdfjkl789, 2 for asdfzxcv89 ." +msgstr "teclas de seleção do teclado de Hsu , 1 para asdfjkl789, 2 para " + "asdfzxcv89 ." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:251 +msgid "Hsu's selection key" +msgstr "tela de seleção do Hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:292 +msgid "Ignore CapsLock status and input lowercase by default.\n" + "It is handy if you wish to enter lowercase by default. Uppercase can " + "still be inputted with Shift." +msgstr "Ignorar o estado CapsLock e inserir letra minúscula por padrão.\n" + "É fácil se você deseja inserir letras minúsculas por padrão. A letra " + "maiúscula pode ainda ser inserida com o Shift." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:320 +msgid "In plain Zhuyin mode, automatic candidate selection and related " + "options are disabled or ignored." +msgstr "Em modo simples de Zhuyin, a seleção de candidato automática e " + "opções relacionadas são desabilitadas ou ignoradas." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:4 +msgid "Keyboard" +msgstr "Teclado" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:239 +msgid "Keyboard Type" +msgstr "Tipo de Teclado" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:249 +msgid "Keys used to select candidate. For example \"asdfghjkl;\", press 'a' " + "to select the 1st candidate, 's' for 2nd, and so on." +msgstr "Teclas usadas para selecionar candidato. Por exemplo \"asdfghjkl;\", " + "pressione 'a' para selecionar o 1o. candidato, 's' para o 2o. e " + "assim por diante." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:282 +msgid "Maximum Chinese characters" +msgstr "Máximo de Caracteres chineses" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:286 +msgid "Maximum Chinese characters in pre-edit buffer, including inputing " + "Zhuyin symbols" +msgstr "Máximo de caracteres chineses no buffer de pré-edição, incluindo os " + "simbolos Zhuyin de inserção." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:326 +msgid "Number of candidate per page." +msgstr "Número de candidato por página" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:310 +msgid "Number pad always input number" +msgstr "Pad de números sempre insere números" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:303 +msgid "Occasionally, the CapsLock status does not match the IM, this option " + "determines how these status be synchronized. Valid values:\n" + "\"disable\": Do nothing.\n" + "\"keyboard\": IM status follows keyboard status.\n" + "\"IM\": Keyboard status follows IM status." +msgstr "Geralmente o status do CapsLock não coincide com o IM, esta opção " + "determina como estes status são sincronizados. Valores válidos:\n" + "\"disable\": Não faz nada.¶\n" + "\"keyboard\": status do IM segue o status do teclado.¶\n" + "\"IM\": Status do Teclado segue o status do IM." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/main.c:85 ../src/main.c:93 +msgid "Peng Huang, Ding-Yi Chen" +msgstr "Peng Huang, Ding-Yi Chen" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:316 +msgid "Plain Zhuyin mode" +msgstr "Modo Simples Zhuyin" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:243 +msgid "Select Zhuyin keyboard layout." +msgstr "Selecionar layout do teclado Zhuyin." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:3 +msgid "Selecting" +msgstr "Selecionando" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:245 +msgid "Selection keys" +msgstr "Teclas de seleção" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:187 +msgid "Setting" +msgstr "Configuração" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:268 +msgid "Settings" +msgstr "Configurações" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:334 +msgid "Space to select" +msgstr "Espaço para selecionar" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:297 +msgid "Sync between CapsLock and IM" +msgstr "Sinc entre o CapsLock e IM" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:70 +msgid "UTF8" +msgstr "UTF8" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine.gob:365 +msgid "Warning: cannot load configure key" +msgstr "Aviso: não foi possível carregar a tecla de configuração" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:41 +msgid "dachen_26" +msgstr "dachen_26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:33 +msgid "default" +msgstr "padrão" + +#: ../src/IBusChewingEngine-def.c:61 +msgctxt "Sync" +msgid "disable" +msgstr "" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:39 +msgid "dvorak" +msgstr "dvorak" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:40 +msgid "dvorak_hsu" +msgstr "dvorak_hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:37 +msgid "eten" +msgstr "eten" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:38 +msgid "eten26" +msgstr "eten26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:36 +msgid "gin_yieh" +msgstr "gin_yieh" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:42 +msgid "hanyu" +msgstr "hanyu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:34 +msgid "hsu" +msgstr "hsu" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:35 +msgid "ibm" +msgstr "ibm" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:75 +msgid "in application window" +msgstr "na janela do aplicativo" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author gcintra +#: ../src/IBusChewingEngine-def.c:76 +msgid "in candidate window" +msgstr "na janela do candidato" + +#: ../src/IBusChewingEngine-def.c:63 +msgctxt "Sync" +msgid "input method" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:62 +msgctxt "Sync" +msgid "keyboard" +msgstr "" diff -rupN ibus-chewing-1.4.4-Source/po/uk_UA.po ibus-chewing-1.4.8-Source/po/uk_UA.po --- ibus-chewing-1.4.4-Source/po/uk_UA.po 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/uk_UA.po 2014-01-15 21:09:52.000000000 +1000 @@ -0,0 +1,316 @@ +# yurchor , 2012. #zanata +msgid "" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" + "PO-Revision-Date: 2012-12-06 02:12-0500\n" + "Last-Translator: Yuri Chornoivan \n" + "Language-Team: Ukrainian \n" + "Language: uk\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "X-Generator: Zanata 3.0.3\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" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine.gob:367 +msgid " No default value, skipped." +msgstr "Немає типового значення, пропущено." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine.gob:367 +msgid " Use default value:" +msgstr "Використовувати типове значення:" + +#: ../src/IBusChewingEngine-def.c:264 +msgid "Add phrases in front" +msgstr "Додавати фрази на початку" + +#: ../src/IBusChewingEngine-def.c:268 +msgid "Add phrases in the front." +msgstr "Додавати фрази на початку." + +#: ../src/IBusChewingEngine-def.c:314 +msgid "Always input numbers when number keys from key pad is inputted." +msgstr "Завжди вводити цифри, якщо натискаються клавіші цифр на цифровій " + "панелі." + +#: ../src/IBusChewingEngine-def.c:68 +msgid "Auto" +msgstr "Автоматично" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:258 +msgid "Auto move cursor" +msgstr "Автоматичне пересування курсора" + +#: ../src/IBusChewingEngine-def.c:262 +msgid "Automatically move cursor to next character." +msgstr "Автоматично пересувати курсор до наступного символу." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:69 +msgid "Big5" +msgstr "Big5" + +#: ../src/IBusChewingEngine-def.c:322 +msgid "Candidate per page" +msgstr "Варіант на сторінку" + +#: ../src/main.c:91 +msgid "Chewing" +msgstr "Чжуінь" + +#: ../src/main.c:84 +msgid "Chewing component" +msgstr "Компонент чжуінь" + +#: ../src/IBusChewingEngine.gob:255 +msgid "Chi" +msgstr "Чі" + +#: ../src/IBusChewingEngine-def.c:328 +msgid "Choose phrases from backward" +msgstr "Вибирати фрази з кінця" + +#: ../src/IBusChewingEngine-def.c:332 +msgid "Choose phrases from the back, without moving cursor." +msgstr "Вибирати фрази з кінця без пересування курсора." + +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + +#: ../src/IBusChewingEngine-def.c:270 +msgid "Easy symbol input" +msgstr "Просте введення символів" + +#: ../src/IBusChewingEngine-def.c:274 +msgid "Easy symbol input." +msgstr "Просте введення символів." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:2 +msgid "Editing" +msgstr "Редагування" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine.gob:257 +msgid "Eng" +msgstr "Eng" + +#: ../src/IBusChewingEngine-def.c:276 +msgid "Esc clean all buffer" +msgstr "Esc спрожнює весь буфер" + +#: ../src/IBusChewingEngine-def.c:280 +msgid "Escape key cleans the text in pre-edit-buffer." +msgstr "Клавіша Escape спорожнює вміст буфера попереднього редагування." + +#: ../src/IBusChewingEngine-def.c:288 +msgid "Force lowercase in En mode" +msgstr "Примусовий нижній регістр у режимі англійської" + +#: ../src/IBusChewingEngine.gob:263 +msgid "Full" +msgstr "Повні" + +#: ../src/IBusChewingEngine.gob:265 +msgid "Half" +msgstr "Половинні" + +#: ../src/IBusChewingEngine-def.c:255 +msgid "Hsu's keyboard selection keys, 1 for asdfjkl789, 2 for asdfzxcv89 ." +msgstr "Клавіші вибору клавіатури Сюя, 1 для asdfjkl789, 2 для asdfzxcv89 ." + +#: ../src/IBusChewingEngine-def.c:251 +msgid "Hsu's selection key" +msgstr "Клавіша вибору Сюя" + +#: ../src/IBusChewingEngine-def.c:292 +msgid "Ignore CapsLock status and input lowercase by default.\n" + "It is handy if you wish to enter lowercase by default. Uppercase can " + "still be inputted with Shift." +msgstr "Ігнорувати стан CapsLock і типово вводити символи нижнього " + "регістру.\n" + "Зручно, якщо ви маєте намір типово вводити символи у нижньому " + "регістрі. Символи верхнього регістру можна вводити за допомогою " + "клавіші Shift." + +#: ../src/IBusChewingEngine-def.c:320 +msgid "In plain Zhuyin mode, automatic candidate selection and related " + "options are disabled or ignored." +msgstr "У режимі звичайного введення чжуїн автоматичний вибір варіантів та " + "пов’язані з ним параметри буде вимкнено або проігноровано." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:4 +msgid "Keyboard" +msgstr "Клавіатура" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:239 +msgid "Keyboard Type" +msgstr "Тип клавіатури" + +#: ../src/IBusChewingEngine-def.c:249 +msgid "Keys used to select candidate. For example \"asdfghjkl;\", press 'a' " + "to select the 1st candidate, 's' for 2nd, and so on." +msgstr "Клавіші, які використовуватимуться для вибору варіантів. Наприклад, " + "якщо це «asdfghjkl;», натискання «a» вибиратиме перший кандидат, «s» " + "— другий тощо." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:282 +msgid "Maximum Chinese characters" +msgstr "Максимальна кількість символів китайською" + +#: ../src/IBusChewingEngine-def.c:286 +msgid "Maximum Chinese characters in pre-edit buffer, including inputing " + "Zhuyin symbols" +msgstr "Максимальна кількість символів китайської у буфері попереднього " + "редагування, зокрема під час введення символів чжуїн" + +#: ../src/IBusChewingEngine-def.c:326 +msgid "Number of candidate per page." +msgstr "Кількість варіантів на сторінку." + +#: ../src/IBusChewingEngine-def.c:310 +msgid "Number pad always input number" +msgstr "Завжди вводити цифри з цифрової панелі" + +#: ../src/IBusChewingEngine-def.c:303 +msgid "Occasionally, the CapsLock status does not match the IM, this option " + "determines how these status be synchronized. Valid values:\n" + "\"disable\": Do nothing.\n" + "\"keyboard\": IM status follows keyboard status.\n" + "\"IM\": Keyboard status follows IM status." +msgstr "Якщо раптом стан CapsLock не відповідає стану способу введення, за " + "допомогою цього пункту можна визначити спосіб синхронізації станів. " + "Можливі значення:\n" + "«вимкнути»: не виконувати синхронізації.\n" + "«клавіатура»: змінювати стан способу введення за станом на " + "клавіатурі.\n" + "«спосіб введення»: змінювати стан на клавіатурі за станом у способі " + "введення." + +#: ../src/main.c:85 ../src/main.c:93 +msgid "Peng Huang, Ding-Yi Chen" +msgstr "Пень Юань, Дінь-Ї Чен" + +#: ../src/IBusChewingEngine-def.c:316 +msgid "Plain Zhuyin mode" +msgstr "Звичайний режим чжуїн" + +#: ../src/IBusChewingEngine-def.c:243 +msgid "Select Zhuyin keyboard layout." +msgstr "Виберіть розкладку клавіатури чжуїн." + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:3 +msgid "Selecting" +msgstr "Позначення" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:245 +msgid "Selection keys" +msgstr "Клавіші для позначення" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine.gob:187 +msgid "Setting" +msgstr "Параметри" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine.gob:268 +msgid "Settings" +msgstr "Параметри" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:334 +msgid "Space to select" +msgstr "Пробіл для позначення" + +#: ../src/IBusChewingEngine-def.c:297 +msgid "Sync between CapsLock and IM" +msgstr "Синхронізація CapsLock зі способом введення" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:70 +msgid "UTF8" +msgstr "UTF8" + +#: ../src/IBusChewingEngine.gob:365 +msgid "Warning: cannot load configure key" +msgstr "Попередження: не вдалося завантажити налаштування" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:41 +msgid "dachen_26" +msgstr "dachen_26" + +# translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author yurchor +#: ../src/IBusChewingEngine-def.c:33 +msgid "default" +msgstr "типове" + +#: ../src/IBusChewingEngine-def.c:61 +msgctxt "Sync" +msgid "disable" +msgstr "вимкнути" + +#: ../src/IBusChewingEngine-def.c:39 +msgid "dvorak" +msgstr "дворак" + +#: ../src/IBusChewingEngine-def.c:40 +msgid "dvorak_hsu" +msgstr "дворак_сюй" + +#: ../src/IBusChewingEngine-def.c:37 +msgid "eten" +msgstr "етен" + +#: ../src/IBusChewingEngine-def.c:38 +msgid "eten26" +msgstr "етен26" + +#: ../src/IBusChewingEngine-def.c:36 +msgid "gin_yieh" +msgstr "жін_є" + +#: ../src/IBusChewingEngine-def.c:42 +msgid "hanyu" +msgstr "ханю" + +#: ../src/IBusChewingEngine-def.c:34 +msgid "hsu" +msgstr "сюй" + +#: ../src/IBusChewingEngine-def.c:35 +msgid "ibm" +msgstr "ibm" + +#: ../src/IBusChewingEngine-def.c:75 +msgid "in application window" +msgstr "вікно програми" + +#: ../src/IBusChewingEngine-def.c:76 +msgid "in candidate window" +msgstr "вікно варіантів" + +#: ../src/IBusChewingEngine-def.c:63 +msgctxt "Sync" +msgid "input method" +msgstr "спосіб введення" + +#: ../src/IBusChewingEngine-def.c:62 +msgctxt "Sync" +msgid "keyboard" +msgstr "клавіатура" diff -rupN ibus-chewing-1.4.4-Source/po/zanata.xml.in ibus-chewing-1.4.8-Source/po/zanata.xml.in --- ibus-chewing-1.4.4-Source/po/zanata.xml.in 2013-12-17 02:30:57.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/zanata.xml.in 2014-01-15 20:30:21.000000000 +1000 @@ -5,9 +5,14 @@ master gettext + de-DE + es-ES fr + it ja ko + pt-BR + uk zh-CN zh-TW diff -rupN ibus-chewing-1.4.4-Source/po/zh_CN.po ibus-chewing-1.4.8-Source/po/zh_CN.po --- ibus-chewing-1.4.4-Source/po/zh_CN.po 2013-12-17 02:31:12.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/zh_CN.po 2014-01-15 21:09:51.000000000 +1000 @@ -2,26 +2,25 @@ # Copyright (C) YEAR Huang Peng # This file is distributed under the same license as the PACKAGE package. # Peng Huang , 2008. -# leahliu , 2012. #zanata msgid "" -msgstr "Project-Id-Version: PACKAGE VERSION\n" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2013-12-17 02:25+1000\n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" "PO-Revision-Date: 2012-11-28 08:19-0500\n" "Last-Translator: leahliu \n" "Language-Team: LANGUAGE \n" - "Language: zh-Hans-CN\n" + "Language: zh-CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Zanata 3.0.3\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " No default value, skipped." msgstr " 无缺省值,略去。" -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " Use default value:" msgstr " 使用缺省值:" @@ -73,7 +72,7 @@ msgstr "酷音(Chewing)" msgid "Chewing component" msgstr "酷音组件" -#: ../src/IBusChewingEngine.gob:235 +#: ../src/IBusChewingEngine.gob:255 msgid "Chi" msgstr "中" @@ -87,6 +86,14 @@ msgstr "反向取词" msgid "Choose phrases from the back, without moving cursor." msgstr "在不移动光标的情况下反向取词。" +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "" + # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author leahliu #: ../src/IBusChewingEngine-def.c:270 msgid "Easy symbol input" @@ -102,7 +109,7 @@ msgstr "轻松输入符号" msgid "Editing" msgstr "编辑中" -#: ../src/IBusChewingEngine.gob:236 +#: ../src/IBusChewingEngine.gob:257 msgid "Eng" msgstr "英" @@ -121,11 +128,11 @@ msgstr "按 Esc 键可清除所有预 msgid "Force lowercase in En mode" msgstr "在 En 模式中强制使用小写" -#: ../src/IBusChewingEngine.gob:237 +#: ../src/IBusChewingEngine.gob:263 msgid "Full" msgstr "全" -#: ../src/IBusChewingEngine.gob:238 +#: ../src/IBusChewingEngine.gob:265 msgid "Half" msgstr "半" @@ -230,12 +237,12 @@ msgid "Selection keys" msgstr "选择键" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author leahliu -#: ../src/IBusChewingEngine.gob:173 +#: ../src/IBusChewingEngine.gob:187 msgid "Setting" msgstr "设置" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author leahliu -#: ../src/IBusChewingEngine.gob:240 +#: ../src/IBusChewingEngine.gob:268 msgid "Settings" msgstr "设置" @@ -255,7 +262,7 @@ msgid "UTF8" msgstr "UTF8" # translation auto-copied from project ibus-chewing, version 1.3.10, document ibus-chewing, author leahliu -#: ../src/IBusChewingEngine.gob:320 +#: ../src/IBusChewingEngine.gob:365 msgid "Warning: cannot load configure key" msgstr "警告:无法载入配置键" diff -rupN ibus-chewing-1.4.4-Source/po/zh_TW.po ibus-chewing-1.4.8-Source/po/zh_TW.po --- ibus-chewing-1.4.4-Source/po/zh_TW.po 2013-12-17 02:31:12.000000000 +1000 +++ ibus-chewing-1.4.8-Source/po/zh_TW.po 2014-01-15 21:09:51.000000000 +1000 @@ -3,26 +3,26 @@ # Huang Peng . Ding-Yi Chen # swyear # This file is distributed under the same license as the ibus-chewing package. -# dchen , 2012. #zanata +# dchen , 2014. #zanata msgid "" -msgstr "Project-Id-Version: ibus-chewing 1.2.99.20100317\n" +msgstr "Project-Id-Version: ibus-chewing 1.4.5\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2013-12-17 02:25+1000\n" - "PO-Revision-Date: 2012-11-28 08:19-0500\n" + "POT-Creation-Date: 2014-01-15 21:09+1000\n" + "PO-Revision-Date: 2014-01-15 05:25-0500\n" "Last-Translator: dchen \n" "Language-Team: Chinese (Traditional Han, Taiwan)\n" - "Language: zh-Hant-TW\n" + "Language: zh-TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Zanata 3.0.3\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " No default value, skipped." msgstr " 無預設值,略去。" -#: ../src/IBusChewingEngine.gob:322 +#: ../src/IBusChewingEngine.gob:367 msgid " Use default value:" msgstr " 使用預設值:" @@ -68,7 +68,7 @@ msgstr "新酷音" msgid "Chewing component" msgstr "酷音元件" -#: ../src/IBusChewingEngine.gob:235 +#: ../src/IBusChewingEngine.gob:255 msgid "Chi" msgstr "中" @@ -81,6 +81,14 @@ msgstr "後方選詞" msgid "Choose phrases from the back, without moving cursor." msgstr "直接由後方選詞,不必把游標移到候選詞前。" +#: ../src/IBusChewingEngine.gob:261 +msgid "Click to switch to Chinese" +msgstr "點擊以切換至中文" + +#: ../src/IBusChewingEngine.gob:259 +msgid "Click to switch to English" +msgstr "點擊以切換至英文" + #: ../src/IBusChewingEngine-def.c:270 msgid "Easy symbol input" msgstr "簡易符號輸入" @@ -93,7 +101,7 @@ msgstr "簡易符號輸入。" msgid "Editing" msgstr "編輯" -#: ../src/IBusChewingEngine.gob:236 +#: ../src/IBusChewingEngine.gob:257 msgid "Eng" msgstr "英" @@ -109,11 +117,11 @@ msgstr "Esc 鍵清預編區。" msgid "Force lowercase in En mode" msgstr "CapsLock時英數仍用小寫" -#: ../src/IBusChewingEngine.gob:237 +#: ../src/IBusChewingEngine.gob:263 msgid "Full" msgstr "全" -#: ../src/IBusChewingEngine.gob:238 +#: ../src/IBusChewingEngine.gob:265 msgid "Half" msgstr "半" @@ -200,11 +208,11 @@ msgstr "選字" msgid "Selection keys" msgstr "選字按鍵" -#: ../src/IBusChewingEngine.gob:173 +#: ../src/IBusChewingEngine.gob:187 msgid "Setting" msgstr "設定" -#: ../src/IBusChewingEngine.gob:240 +#: ../src/IBusChewingEngine.gob:268 msgid "Settings" msgstr "設定" @@ -221,7 +229,7 @@ msgstr "CapsLock與輸入法狀態同 msgid "UTF8" msgstr "UTF8" -#: ../src/IBusChewingEngine.gob:320 +#: ../src/IBusChewingEngine.gob:365 msgid "Warning: cannot load configure key" msgstr "警告:無法載入設定鍵" diff -rupN ibus-chewing-1.4.4-Source/RELEASE-NOTES.txt ibus-chewing-1.4.8-Source/RELEASE-NOTES.txt --- ibus-chewing-1.4.4-Source/RELEASE-NOTES.txt 2013-12-18 14:45:43.000000000 +1000 +++ ibus-chewing-1.4.8-Source/RELEASE-NOTES.txt 2014-01-17 13:02:13.209606045 +1000 @@ -1,10 +1,26 @@ PRJ_VER=1.4.4 -SUMMARY=Fixed RHBZ 842856, 1027030; Added translations:fr_FR, ja_JP, ko_KR -REDHAT_BUGZILLA=842856, 1027030 +SUMMARY=Backport 1.4.7 ot 1.4.4 +REDHAT_BUGZILLA= [Changes] +- Target "translation" is built separately with all, + in order to tame multiple job make. +- Fixed Build for RHEL7 +- Resolves Bug 1013977 - ibus-chewing needs to have ibus write-cache --system in %post and %postun +- Resolves Bug 1027031 - CVE-2013-4509 ibus-chewing: ibus: visible password entry flaw [rhel-7.0] +- Resolves Bug 1028911 - [zh_TW]'Chinese<->English' switch does not work when clicking on the Chewing menu list. +- Resolves Bug 1045868 - ibus-chewing *again* not built with $RPM_OPT_FLAGS +- Option "Sync between caps lock and IM": + + Default of is changed to "disable", because the previous default + "keyboard" cause bug 1028911 for GNOME Shell. + + Now Sync from "input method" can control Caps LED in GNOME shell. +- Translation added: de_DE, es_ES, it_IT, pt_BR, uk_UA +- Set environment IBUS_CHEWING_LOGFILE for ibus-chewing log. - Resolves Bug 842856 - ibus-chewing 1.4.3-1 not built with $RPM_OPT_FLAGS - Resolves Bug 1027030 - CVE-2013-4509 ibus-chewing: ibus: visible password entry flaw [fedora-all] Thanks czchen for the GitHub pull request 39. - Added translations: fr_FR, ja_JP, ko_KR - Adopt cmake-fedora-1.2.0 + + + diff -rupN ibus-chewing-1.4.4-Source/RELEASE-NOTES.txt~ ibus-chewing-1.4.8-Source/RELEASE-NOTES.txt~ --- ibus-chewing-1.4.4-Source/RELEASE-NOTES.txt~ 1970-01-01 10:00:00.000000000 +1000 +++ ibus-chewing-1.4.8-Source/RELEASE-NOTES.txt~ 2014-01-17 12:38:18.000000000 +1000 @@ -0,0 +1,6 @@ +PRJ_VER=1.4.8 +SUMMARY= +REDHAT_BUGZILLA= +[Changes] + + diff -rupN ibus-chewing-1.4.4-Source/rpm/CMakeLists.txt ibus-chewing-1.4.8-Source/rpm/CMakeLists.txt --- ibus-chewing-1.4.4-Source/rpm/CMakeLists.txt 2013-12-17 18:20:23.000000000 +1000 +++ ibus-chewing-1.4.8-Source/rpm/CMakeLists.txt 2014-01-16 22:52:05.000000000 +1000 @@ -3,9 +3,22 @@ SET(RPM_BUILD_SOURCES ${CMAKE_BINARY_DIR INCLUDE(ManageRPM) INCLUDE(ManageReleaseFedora) -SET(RPM_SPEC_PRE_SECTION_OUTPUT -"%pre -if [ \"$1\" -gt 1 ] \; then +RPM_SPEC_STRING_ADD_TAG(RPM_SPEC_REQUIRES_OUTPUT + Requires pre "GConf2" + ) + +RPM_SPEC_STRING_ADD_TAG(RPM_SPEC_REQUIRES_OUTPUT + Requires post "GConf2" + ) + +RPM_SPEC_STRING_ADD_TAG(RPM_SPEC_REQUIRES_OUTPUT + Requires preun "GConf2" + ) + +RPM_SPEC_STRING_ADD(RPM_SPEC_BUILD_OUTPUT "make VERBOSE=1 translations") + +RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_SCRIPT_OUTPUT pre "" +"if [ \"$1\" -gt 1 ] ; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` [ -r %{_sysconfdir}/gconf/schemas/%{name}.schemas ] && gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/%{name}.schemas\\ @@ -15,21 +28,40 @@ if [ \"$1\" -gt 1 ] \; then [ -r %{_sysconfdir}/gconf/schemas/%{name}.schema ] && gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/%{name}.schema\\ >/dev/null || : -fi" -) - -SET(RPM_SPEC_POST_SECTION_OUTPUT -"%post -export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` -gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null || :" +fi +" ) -SET(RPM_SPEC_PREUN_SECTION_OUTPUT -"%preun -if [ \"$1\" -eq 0 ] ; then +RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_SCRIPT_OUTPUT preun "" +"if [ \"$1\" -eq 0 ] ; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null || : -fi" +fi +" + ) + +RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_SCRIPT_OUTPUT post "" +"export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` +gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/%{name}.schemas > /dev/null || : +[ -x %{_bindir}/ibus ] && \\ + %{_bindir}/ibus write-cache --system &>/dev/null || : +" +) + +RPM_SPEC_STRING_ADD_DIRECTIVE(RPM_SPEC_SCRIPT_OUTPUT postun "" +"[ -x %{_bindir}/ibus ] && \\ + %{_bindir}/ibus write-cache --system &>/dev/null || : +" ) +ADD_CUSTOM_COMMAND(OUTPUT ${SOURCE_ARCHIVE_FILE} + COMMAND make pack_src + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) + +PACK_RPM() +RELEASE_FEDORA(fedora) +# "Off" Warning is displayed if mock is not installed. +RPM_MOCK_BUILD() +MANAGE_RELEASE(tag_push release_fedora) diff -rupN ibus-chewing-1.4.4-Source/rpm/project.spec.in ibus-chewing-1.4.8-Source/rpm/project.spec.in --- ibus-chewing-1.4.4-Source/rpm/project.spec.in 2013-12-18 02:23:48.000000000 +1000 +++ ibus-chewing-1.4.8-Source/rpm/project.spec.in 2014-01-08 18:04:21.000000000 +1000 @@ -1,27 +1,18 @@ -Name: @PROJECT_NAME@ -Version: @PRJ_VER@ -Release: @RPM_RELEASE_NO@%{?dist} -Summary: @PRJ_SUMMARY@ -@RPM_SPEC_SUMMARY_TRANSLATION_OUTPUT@ -License: @LICENSE@ -Group: @PRJ_GROUP@ -URL: @RPM_SPEC_URL_OUTPUT@ -Source0: @RPM_SPEC_SOURCE0_OUTPUT@ -@RPM_SPEC_SOURCES_OUTPUT@ - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -@RPM_SPEC_BUILD_ARCH_OUTPUT@ - -@RPM_SPEC_BUILD_REQUIRES_OUTPUT@ +Name: @PROJECT_NAME@ +Version: @PRJ_VER@ +Release: @RPM_RELEASE_NO@%{?dist} +@RPM_SPEC_SUMMARY_OUTPUT@ +License: @LICENSE@ +Group: @PRJ_GROUP@ +URL: @RPM_SPEC_URL_OUTPUT@ +@RPM_SPEC_SOURCE_OUTPUT@ @RPM_SPEC_REQUIRES_OUTPUT@ -%description -@PRJ_DESCRIPTION@ - -@RPM_SPEC_DESCRIPTION_TRANSLATION_OUTPUT@ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +@RPM_SPEC_HEADER_OUTPUT@ +@RPM_SPEC_DESCRIPTION_OUTPUT@ @RPM_SPEC_SUB_PACKAGE_OUTPUT@ %prep @@ -29,22 +20,14 @@ BuildRoot: %{_tmppath}/%{name}-%{versio %build # $RPM_OPT_FLAGS should be loaded from cmake macro. - -%cmake @RPM_SPEC_CMAKE_FLAGS@ . -make @RPM_SPEC_MAKE_FLAGS@ -@RPM_SPEC_POST_BUILD_SECTION_OUTPUT@ +@RPM_SPEC_BUILD_OUTPUT@ %install -%__rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT -@RPM_SPEC_POST_INSTALL_SECTION_OUTPUT@ +@RPM_SPEC_INSTALL_OUTPUT@ + @RPM_SPEC_PRJ_DOC_REMOVAL_OUTPUT@ -@RPM_SPEC_FIND_LANG_SECTION_OUTPUT@ -@RPM_SPEC_PRE_SECTION_OUTPUT@ -@RPM_SPEC_PREUN_SECTION_OUTPUT@ -@RPM_SPEC_POST_SECTION_OUTPUT@ -@RPM_SPEC_POSTUN_SECTION_OUTPUT@ +@RPM_SPEC_SCRIPT_OUTPUT@ %clean @RPM_SPEC_FILES_SECTION_OUTPUT@ diff -rupN ibus-chewing-1.4.4-Source/rpm/RPM-ChangeLog.prev ibus-chewing-1.4.8-Source/rpm/RPM-ChangeLog.prev --- ibus-chewing-1.4.4-Source/rpm/RPM-ChangeLog.prev 2013-12-16 18:36:12.000000000 +1000 +++ ibus-chewing-1.4.8-Source/rpm/RPM-ChangeLog.prev 2014-01-16 22:28:29.000000000 +1000 @@ -1,3 +1,38 @@ +* Thu Jan 16 2014 Ding-Yi Chen - 1.4.6-5 +- Target "translation" is built separately with all, in order to tame multiple job make. + +* Thu Jan 16 2014 Ding-Yi Chen - 1.4.6-1 +- Fix Build for RHEL7 + +* Wed Jan 15 2014 Ding-Yi Chen - 1.4.5-1 +- Resolves Bug 1013977 - ibus-chewing needs to have ibus write-cache --system in %post and %postun +- Resolves Bug 1027031 - CVE-2013-4509 ibus-chewing: ibus: visible password entry flaw [rhel-7.0] +- Resolves Bug 1028911 - [zh_TW]'Chinese<->English' switch does not work when clicking on the Chewing menu list. +- Resolves Bug 1045868 - ibus-chewing *again* not built with $RPM_OPT_FLAGS +- Option "Sync between caps lock and IM": + + Default of is changed to "disable", because the previous default + "keyboard" cause bug 1028911 for GNOME Shell. + + Now Sync from "input method" can control Caps LED in GNOME shell. +- Translation added: de_DE, es_ES, it_IT, pt_BR, uk_UA +- Set environment IBUS_CHEWING_LOGFILE for ibus-chewing log. + +* Mon Dec 23 2013 Ding-Yi Chen - 1.4.4-1 +- Resolves Bug 842856 - ibus-chewing 1.4.3-1 not built with $RPM_OPT_FLAGS +- Resolves Bug 1027030 - CVE-2013-4509 ibus-chewing: ibus: visible + password entry flaw [fedora-all] + Thanks czchen for the GitHub pull request 39. +- Added translations: fr_FR, ja_JP, ko_KR +- Adopt cmake-fedora-1.2.0 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.4.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 20 2013 Ville Skyttä - 1.4.3-3 +- Build with $RPM_OPT_FLAGS (#842856). + +* Thu Feb 14 2013 Fedora Release Engineering - 1.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Mon Nov 26 2012 Ding-Yi Chen - 1.4.3-1 - Fixed GitHub issue #30: Rework decorate_preedit by merging pull request #30 from buganini @@ -234,7 +269,7 @@ behind when toggling ibus off- Use WM's - Hide ibus-chewing-panel when ibus-chewing is focus-out * Mon May 11 2009 Ding-Yi Chen - 1.0.9.20090508-1 - Now commit is forced when switch of ibus-chewing or current application loses focus. +Now commit is forced when switch of ibus-chewing or current application loses focus. - New ibus-chewing.png is contribute by WM. - input-keyboard.png is no longer needed and removed. - ibus-engine-chewing -v option now need an integer as verbose level. @@ -310,3 +345,4 @@ Fix the errors which Funda Wang as point * Fri Aug 15 2008 Huang Peng - 0.1.1.20081023-1 - The first version. + diff -rupN ibus-chewing-1.4.4-Source/src/IBusChewingEngine-def.c ibus-chewing-1.4.8-Source/src/IBusChewingEngine-def.c --- ibus-chewing-1.4.4-Source/src/IBusChewingEngine-def.c 2013-12-18 14:48:41.000000000 +1000 +++ ibus-chewing-1.4.8-Source/src/IBusChewingEngine-def.c 2014-01-15 20:46:50.000000000 +1000 @@ -57,7 +57,7 @@ const gchar *selKeys_array[SELKEYS_ARRAY NULL }; -const gchar *syncCapsLockLocal_strs[]={ +const gchar *syncCapsLock_strs[]={ NC_("Sync","disable"), NC_("Sync","keyboard"), NC_("Sync","input method"), @@ -170,7 +170,7 @@ static void forceLowercaseEnglish_set_ca #endif } -static void syncCapsLockLocal_set_callback(PropertyContext *ctx, GValue *value){ +static void syncCapsLock_set_callback(PropertyContext *ctx, GValue *value){ #ifdef IBUS_CHEWING_MAIN IBusChewingEngine *engine=(IBusChewingEngine *) ctx->userData; const gchar *str=g_value_get_string(value); @@ -294,9 +294,9 @@ It is handy if you wish to enter lowerca }, /* Sync between CapsLock and IM */ - {G_TYPE_STRING, "syncCapsLockLocal", "Editing", N_("Sync between CapsLock and IM"), - "keyboard", syncCapsLockLocal_strs, "Sync", 0, 1, - NULL, syncCapsLockLocal_set_callback, + {G_TYPE_STRING, "syncCapsLock", "Editing", N_("Sync between CapsLock and IM"), + "disable", syncCapsLock_strs, "Sync", 0, 1, + NULL, syncCapsLock_set_callback, MAKER_DIALOG_PROPERTY_FLAG_INEDITABLE | MAKER_DIALOG_PROPERTY_FLAG_HAS_TRANSLATION | MAKER_DIALOG_PROPERTY_FLAG_TRANSLATION_WITH_CONTEXT, 0, 0, @@ -408,9 +408,38 @@ GVariant *g_value_to_g_variant(GValue *g } return gVar; } - #endif +static void ibus_chewing_log_handler(const gchar *log_domain, + GLogLevelFlags log_level, const gchar *message, gpointer user_data){ + GString *str=g_string_new(NULL); + IBusChewingEngine *engine=(IBusChewingEngine *) user_data; + if (log_level & G_LOG_LEVEL_ERROR){ + g_string_printf(str, "%s [EE] %s\n", log_domain, message); + }else if (log_level & G_LOG_LEVEL_CRITICAL){ + g_string_printf(str, "%s [CC] %s\n", log_domain, message); + }else if (log_level & G_LOG_LEVEL_WARNING){ + g_string_printf(str, "%s [WW] %s\n", log_domain, message); + }else if (log_level & G_LOG_LEVEL_MESSAGE){ + g_string_printf(str, "%s [MM] %s\n", log_domain, message); + }else if (log_level & G_LOG_LEVEL_INFO){ + g_string_printf(str, "%s [II] %s\n", log_domain, message); + }else if (log_level & G_LOG_LEVEL_DEBUG){ + g_string_printf(str, "%s [DD] %s\n", log_domain, message); + }else{ + g_string_printf(str, "%s [%d] %s\n", log_domain, log_level,message); + } + if (str->len){ + if (engine->logFile){ + fputs(str->str, engine->logFile); + }else{ + fputs(str->str, stderr); + } + } + g_string_free(str,TRUE); + return; +} + static gboolean ibus_chewing_config_get_value(IBusConfig *config, const gchar *section, const gchar *key, GValue *gValue){ #if IBUS_CHECK_VERSION(1, 4, 0) GVariant *gVar=ibus_config_get_value(config, section, key); @@ -424,7 +453,6 @@ static gboolean ibus_chewing_config_get_ #else return ibus_config_get_value(config, section, key, gValue); #endif - } static gboolean ibus_chewing_config_set_value(IBusConfig *config, const gchar *section, const gchar *key, GValue *gValue){ @@ -438,7 +466,14 @@ static gboolean ibus_chewing_config_set_ #else return ibus_config_set_value(config, section, key, gValue); #endif +} +static gboolean ibus_chewing_property_get_state(IBusProperty *prop){ +#if IBUS_CHECK_VERSION(1, 4, 0) + return ibus_property_get_state(prop); +#else + return prop->state; +#endif } static guint keysym_KP_to_normal(guint keysym){ @@ -495,6 +530,7 @@ static void add_tone(char *str, gint ton /*-------------------------------------------- * Key modifier functions */ +#if 0 static guint keyModifier_get(Display *pDisplay){ Window root_retrun, child_retrun; int root_x_return, root_y_return, win_x_return, win_y_return; @@ -503,6 +539,7 @@ static guint keyModifier_get(Display *pD &root_x_return, &root_y_return, &win_x_return, &win_y_return, &mask_return ); return mask_return; } +#endif const char numConst[]="0\0""1\0""2\0""3\0""4\0""5\0""6\0""7\0""8\0""9"; const char alphaConstL[]="a\0b\0c\0d\0e\0f\0g\0h\0i\0j\0k\0l\0m\0n\0o\0p\0q\0r\0s\0t\0u\0v\0w\0x\0y\0z"; @@ -597,39 +634,36 @@ const char *keyName_get(guint keyval){ return "Others"; } +#define CAPS_LOCK_MASK 2 +static gboolean is_caps_led_on(Display *pDisplay){ + XKeyboardState retState; + XGetKeyboardControl(pDisplay,&retState); + return (retState.led_mask & 1) ? TRUE : FALSE; +} + +static void set_caps_led(gboolean on,Display *pDisplay){ + XKeyboardControl control; + control.led_mode = (on)? LedModeOn: LedModeOff; + control.led = CAPS_LOCK_MASK; + guint flags=(on)? CAPS_LOCK_MASK: 0; + XChangeKeyboardControl(pDisplay, KBLedMode, &control); + XkbLockModifiers(pDisplay, XkbUseCoreKbd, control.led, flags); + XFlush(pDisplay); +} +#if 0 /* - * From http://www.thelinuxpimp.com/files/keylockx.c - */ -//static guint key_get_state(KeySym key, Display *pDisplay){ -// guint keyMask = 0; -// XModifierKeymap* map = XGetModifierMapping(pDisplay); -// KeyCode keyCode = XKeysymToKeycode(pDisplay,key); -// if(keyCode == NoSymbol) return 0; -// int i = 0; -// while(i < 8) { -// if( map->modifiermap[map->max_keypermod * i] == keyCode) { -// keyMask = 1 << i; -// } -// i++; -// } -// XFreeModifiermap(map); -// guint mask_return=keyModifier_get(pDisplay); - -// return (mask_return & keyMask) != 0; -//} - -/* - * From send_fake_key_eve() eve.c gcin + * From send_fake_key_event() event.c gcin */ static void key_send_fake_event(KeySym key, Display *pDisplay) { KeyCode keyCode = XKeysymToKeycode(pDisplay, key); - G_DEBUG_MSG(2,"key_sent_fake_event(%lx,-), keyCode=%x",key,keyCode); + IBUS_CHEWING_LOG(2,"key_sent_fake_event(%lx,-), keyCode=%x",key,keyCode); XTestFakeKeyEvent(pDisplay, keyCode, True, CurrentTime); XTestFakeKeyEvent(pDisplay, keyCode, False, CurrentTime); } +#endif #endif diff -rupN ibus-chewing-1.4.4-Source/src/IBusChewingEngine.gob ibus-chewing-1.4.8-Source/src/IBusChewingEngine.gob --- ibus-chewing-1.4.4-Source/src/IBusChewingEngine.gob 2013-12-18 14:47:07.000000000 +1000 +++ ibus-chewing-1.4.8-Source/src/IBusChewingEngine.gob 2014-01-15 21:11:54.000000000 +1000 @@ -32,6 +32,7 @@ requires 2.0.0 #include #include #include +#include #include #include "ibus-chewing-util.h" %} @@ -111,6 +112,7 @@ enum CHEWING_FLAG{ * @NEED_COMMIT: There's Something to commit. * @FORCE_COMMIT: The engine should commit * @IS_PASSWORD: Current input is password. + * @IS_ENGLISH: English mode * * Engine status show the current states of engine, * Thus this will change quite often. @@ -143,8 +145,17 @@ extern GtkResponseType button_responses[ #define ibus_chewing_engine_set_status_flag(cengine,f) cengine->_priv->statusFlags |= f #define ibus_chewing_engine_clear_status_flag(cengine,f) cengine->_priv->statusFlags &= ~f -#define G_DEBUG_MSG(level, msg, args...) if (level<=ibus_chewing_verbose) g_debug(msg, ##args) - +#define IBUS_CHEWING_LOG(level, msg, args...) \ +switch (level){\ + case 0:\ + g_warning(msg, ##args);break;\ + case 1:\ + g_message(msg, ##args);break;\ + case 2:\ + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, msg, ##args);break;\ + default:\ + g_debug(msg, ##args);break;\ +} %} %privateheader{ @@ -159,7 +170,7 @@ void ibus_chewing_engine_set_content_typ %} %{ -extern gboolean ibus_chewing_verbose; +extern gint ibus_chewing_verbose; //extern IBusConfig *iConfig; #define IBUS_CHEWING_MAIN @@ -170,7 +181,7 @@ class IBus:Chewing:Engine from IBus:Engi public ChewingContext *context=NULL destroywith chewing_delete; - public Chewing:Modifier:Sync syncCapsLock_local=CHEWING_MODIFIER_SYNC_FROM_KEYBOARD; + public Chewing:Modifier:Sync syncCapsLock_local=CHEWING_MODIFIER_SYNC_DISABLE; public GtkWidget *setting_dialog={ GTK_WIDGET(maker_dialog_new_full(_("Setting"),3,page_labels,1,button_labels,button_responses))}; @@ -182,6 +193,9 @@ class IBus:Chewing:Engine from IBus:Engi /* Controlling flags */ protected ChewingFlag chewingFlags=0; + /* Log file */ + protected FILE *logFile=NULL; + /* Indicate the string is commited to avoid update() set NEED_COMMIT status again when focus in event is triiger, because the last key is Return key and libchewing is still Commit state. */ @@ -199,7 +213,9 @@ class IBus:Chewing:Engine from IBus:Engi g_object_ref_sink ( ibus_property_new("chewing_chieng_prop",PROP_TYPE_NORMAL, SELF_GET_CLASS(self)->chieng_prop_label_chi, - NULL, NULL, TRUE, TRUE, + NULL, + SELF_GET_CLASS(self)->chieng_prop_tooltip_chi, + TRUE, TRUE, PROP_STATE_UNCHECKED, NULL)) } destroywith g_object_unref; @@ -235,27 +251,50 @@ class IBus:Chewing:Engine from IBus:Engi private guint key_last=0; private gchar zhuyin_latest[ZHUYIN_BUFFER_SIZE]; - classwide IBusText *chieng_prop_label_chi={g_object_ref_sink(ibus_text_new_from_static_string(_("Chi")))}; - classwide IBusText *chieng_prop_label_eng={g_object_ref_sink(ibus_text_new_from_static_string(_("Eng")))}; - classwide IBusText *alnumSize_prop_label_full={g_object_ref_sink(ibus_text_new_from_static_string(_("Full")))}; - classwide IBusText *alnumSize_prop_label_half={g_object_ref_sink(ibus_text_new_from_static_string(_("Half")))}; - - classwide IBusText *settings_prop_label={g_object_ref_sink(ibus_text_new_from_static_string(_("Settings")))}; - classwide IBusText *emptyText={g_object_ref_sink(ibus_text_new_from_static_string(""))}; + classwide IBusText *chieng_prop_label_chi={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Chi")))}; + classwide IBusText *chieng_prop_label_eng={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Eng")))}; + classwide IBusText *chieng_prop_tooltip_chi={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Click to switch to English")))}; + classwide IBusText *chieng_prop_tooltip_eng={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Click to switch to Chinese")))}; + classwide IBusText *alnumSize_prop_label_full={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Full")))}; + classwide IBusText *alnumSize_prop_label_half={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Half")))}; + + classwide IBusText *settings_prop_label={ + g_object_ref_sink(ibus_text_new_from_static_string(_("Settings")))}; + classwide IBusText *emptyText={ + g_object_ref_sink(ibus_text_new_from_static_string(""))}; init (self) { /* initialize the object here */ - G_DEBUG_MSG(1,"[I1] init() %sinitialized",(self->_priv->statusFlags & ENGINE_STATUS_INITIALIZED)? "": "un" ); + + gchar *logFilename=getenv ("IBUS_CHEWING_LOGFILE"); + if (logFilename!=NULL){ + self->logFile=fopen(logFilename, "w+"); + if (self->logFile==NULL){ + g_warning("Cannot write to logfile %s, ignored\n", + logFilename); + } + } + g_log_set_handler (NULL, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION, + ibus_chewing_log_handler, self); + + IBUS_CHEWING_LOG(1,"****[I1] init() %sinitialized",(self->_priv->statusFlags & ENGINE_STATUS_INITIALIZED)? "": "un" ); if (!(self->_priv->statusFlags & ENGINE_STATUS_INITIALIZED)){ maker_dialog_set_verbose_level(MAKER_DIALOG(self->setting_dialog),ibus_chewing_verbose); gchar buf[100]; g_snprintf(buf,100,"%s/.chewing",getenv("HOME")); - G_DEBUG_MSG(6,"[I6] init() CHEWING_DATADIR=%s", quote_me(CHEWING_DATADIR) ); + IBUS_CHEWING_LOG(6,"[I6] init() CHEWING_DATADIR=%s", quote_me(CHEWING_DATADIR) ); chewing_Init(quote_me(CHEWING_DATADIR), buf); self->context=chewing_new(); - chewing_set_ChiEngMode(self->context,CHINESE_MODE); + chewing_set_ChiEngMode(self->context, CHINESE_MODE); self->inputMode=CHEWING_INPUT_MODE_SELECTION_DONE; /* init properties */ @@ -278,7 +317,7 @@ class IBus:Chewing:Engine from IBus:Engi private void load_setting(self){ #define BUFFER_SIZE_LOCAL 200 - G_DEBUG_MSG(3,"[I3] load_setting()"); + IBUS_CHEWING_LOG(3,"[I3] load_setting()"); #if IBUS_CHECK_VERSION(1, 4, 0) GError *error=NULL; GDBusConnection *connection=ibus_service_get_connection(IBUS_SERVICE(self)); @@ -297,7 +336,7 @@ class IBus:Chewing:Engine from IBus:Engi for (i=0; propSpecs[i].valueType!=G_TYPE_INVALID;i++){ GValue gValue={0}; - G_DEBUG_MSG(4,"[I4] load_setting(), i=%d",i); + IBUS_CHEWING_LOG(4,"[I4] load_setting(), i=%d",i); if (ibus_chewing_config_get_value(self->config, "engine/Chewing", propSpecs[i].key, &gValue)){ switch(propSpecs[i].valueType){ case G_TYPE_BOOLEAN: @@ -349,6 +388,25 @@ class IBus:Chewing:Engine from IBus:Engi #undef BUFFER_SIZE_LOCAL } + protected void restore_mode(self){ + gint isCapsLockOff=(is_caps_led_on(self->_priv->pDisplay)) + ? 0: 1; + gint isChinese=chewing_get_ChiEngMode(self->context); + switch(self->syncCapsLock_local){ + case CHEWING_MODIFIER_SYNC_FROM_KEYBOARD: + chewing_set_ChiEngMode(self->context, isCapsLockOff); + break; + case CHEWING_MODIFIER_SYNC_FROM_IM: + if (isChinese!=isCapsLockOff){ + set_caps_led(!isChinese, self->_priv->pDisplay); + } + break; + case CHEWING_MODIFIER_SYNC_DISABLE: + break; + } + self_refresh_property(self,"chewing_chieng_prop"); + } + protected void set_lookup_table_label(self,const gchar *labels){ int i,len=strlen(labels); g_array_set_size(self->table->labels,0); @@ -358,9 +416,9 @@ class IBus:Chewing:Engine from IBus:Engi } } - private gchar *make_preedit_string(self, glong *zhuyin_item_written_ptr){ + private gchar *make_preedit_string(self, gint *zhuyin_item_written_ptr){ gchar *buff_str=chewing_buffer_String(self->context); - G_DEBUG_MSG(4, "[I4] make_preedit_string(): chewing_buffer_String=%s ", + IBUS_CHEWING_LOG(4, "[I4] make_preedit_string(): chewing_buffer_String=%s ", buff_str); int chiSymbolCursor = chewing_cursor_Current(self->context); @@ -368,8 +426,8 @@ class IBus:Chewing:Engine from IBus:Engi int zhuyin_tone=-1; gchar *zhuyin_str=chewing_zuin_String(self->context,&zhuyin_count); - *zhuyin_item_written_ptr= (glong) zhuyin_count; - G_DEBUG_MSG(5, "[I5] make_preedit_string(): chewing_zuin_String=%s count=%d inputMode=%d", + *zhuyin_item_written_ptr= zhuyin_count; + IBUS_CHEWING_LOG(5, "[I5] make_preedit_string(): chewing_zuin_String=%s count=%d inputMode=%d", zhuyin_str,zhuyin_count,self->inputMode); switch(self->inputMode){ @@ -406,7 +464,6 @@ class IBus:Chewing:Engine from IBus:Engi default: /* BYPASS */ break; - } gsize len=strlen(zhuyin_str)+strlen(buff_str); @@ -425,7 +482,7 @@ class IBus:Chewing:Engine from IBus:Engi g_free(buff_str); g_free(zhuyin_str); - G_DEBUG_MSG(4, "[I4] make_preedit_string(): return preedit=%s zhuyin_latest=%s zhuyin_tone=%d inputMode=%d", + IBUS_CHEWING_LOG(4, "[I4] make_preedit_string(): return preedit=%s zhuyin_latest=%s zhuyin_tone=%d inputMode=%d", preeditBuf, self->_priv->zhuyin_latest,zhuyin_tone,self->inputMode); return preeditBuf; @@ -448,7 +505,7 @@ class IBus:Chewing:Engine from IBus:Engi char *candidate=NULL; IBusText *iText=NULL; - G_DEBUG_MSG(4,"[I4] update_lookup_table() CurrentPage=%d", chewing_cand_CurrentPage(self->context)); + IBUS_CHEWING_LOG(4,"[I4] update_lookup_table() CurrentPage=%d", chewing_cand_CurrentPage(self->context)); if (self->inputMode==CHEWING_INPUT_MODE_SELECTING){ int choicePerPage=chewing_cand_ChoicePerPage(self->context); chewing_cand_Enumerate(self->context); @@ -473,7 +530,7 @@ class IBus:Chewing:Engine from IBus:Engi private IBusText *decorate_preedit(self, gchar *preeditBuf, gint *chiSymbolCursor, gint zhuyin_item_written){ IBusText *iText=g_object_ref_sink(ibus_text_new_from_string(preeditBuf)); *chiSymbolCursor = chewing_cursor_Current(self->context); - G_DEBUG_MSG(4,"[I4] decorate_preedit() chiSymbolCursor=%d preeditBuf=%s statusFlags=%x", + IBUS_CHEWING_LOG(4,"[I4] decorate_preedit() chiSymbolCursor=%d preeditBuf=%s statusFlags=%x", *chiSymbolCursor,preeditBuf, self->_priv->statusFlags); g_free(preeditBuf); @@ -482,7 +539,7 @@ class IBus:Chewing:Engine from IBus:Engi cursorRight=*chiSymbolCursor + zhuyin_item_written; - G_DEBUG_MSG(5,"[I5] decorate_preedit() charLen=%d cursorRight=%d", charLen, cursorRight); + IBUS_CHEWING_LOG(5,"[I5] decorate_preedit() charLen=%d cursorRight=%d", charLen, cursorRight); IntervalType it; chewing_interval_Enumerate(self->context); @@ -541,7 +598,7 @@ class IBus:Chewing:Engine from IBus:Engi } private void update_aux_string(self, IBusText *preeditIText){ - G_DEBUG_MSG(4,"[I4] update_aux_string() statusFlags=%x", self->_priv->statusFlags); + IBUS_CHEWING_LOG(4,"[I4] update_aux_string() statusFlags=%x", self->_priv->statusFlags); IBusText *iText=NULL; switch (self->_priv->inputStyle){ case CHEWING_INPUT_STYLE_IN_APPLICATION: @@ -568,7 +625,7 @@ class IBus:Chewing:Engine from IBus:Engi } private void update_preedit(self, IBusText *preeditIText,gint chiSymbolCursor){ - G_DEBUG_MSG(5,"[I5] update_preedit() text=%s statusFlags=%x", preeditIText->text, self->_priv->statusFlags); + IBUS_CHEWING_LOG(5,"[I5] update_preedit() text=%s statusFlags=%x", preeditIText->text, self->_priv->statusFlags); int mode; if(g_utf8_strlen(preeditIText->text, -1)>0) mode=IBUS_ENGINE_PREEDIT_COMMIT; @@ -584,14 +641,14 @@ class IBus:Chewing:Engine from IBus:Engi ibus_engine_update_preedit_text_with_mode (IBUS_ENGINE(self),SELF_GET_CLASS(self)->emptyText, 0, TRUE, mode); break; } - G_DEBUG_MSG(5,"[I5] update_preedit(): return"); + IBUS_CHEWING_LOG(5,"[I5] update_preedit(): return"); } protected gboolean update(self){ - G_DEBUG_MSG(3,"[I3] update() statusFlags=%x", self->_priv->statusFlags); + IBUS_CHEWING_LOG(3,"[I3] update() statusFlags=%x", self->_priv->statusFlags); self_determine_input_mode(self); gint chiSymbolCursor; - glong zhuyin_item_written; + gint zhuyin_item_written; self_check_commit(self); gchar *preeditBuf=self_make_preedit_string(self, &zhuyin_item_written); IBusText *iText=self_decorate_preedit(self, preeditBuf, &chiSymbolCursor, zhuyin_item_written); @@ -602,7 +659,7 @@ class IBus:Chewing:Engine from IBus:Engi self_update_aux_string(self, iText); self_update_preedit(self, iText, chiSymbolCursor); g_object_unref(iText); - G_DEBUG_MSG(4,"[I4] update() inputMode=%d nPhoneSeq=%d statusFlags=%x", + IBUS_CHEWING_LOG(4,"[I4] update() inputMode=%d nPhoneSeq=%d statusFlags=%x", self->inputMode, chewing_get_phoneSeqLen(self->context), self->_priv->statusFlags); @@ -612,19 +669,26 @@ class IBus:Chewing:Engine from IBus:Engi if (chewing_keystroke_CheckIgnore(self->context)){ ret=FALSE; } - G_DEBUG_MSG(4,"[I4] update() return %s",(ret)? "TRUE": "FALSE"); + IBUS_CHEWING_LOG(4,"[I4] update() return %s",(ret)? "TRUE": "FALSE"); return ret; } protected void refresh_property(self,const gchar *prop_name){ - G_DEBUG_MSG(5,"[I5] refresh_property(%s)",prop_name); + IBUS_CHEWING_LOG(5,"[I5] refresh_property(%s) status=%x",prop_name, self->_priv->statusFlags); if (strcmp(prop_name,"chewing_chieng_prop")==0){ if (chewing_get_ChiEngMode(self->context)){ /* Chinese */ ibus_property_set_label(self->chieng_prop,SELF_GET_CLASS(self)->chieng_prop_label_chi); + ibus_property_set_tooltip(self->chieng_prop,SELF_GET_CLASS(self)->chieng_prop_tooltip_chi); +#if IBUS_CHECK_VERSION(1, 5, 4) + ibus_property_set_symbol(self->chieng_prop,SELF_GET_CLASS(self)->chieng_prop_label_chi); +#endif }else{ - /* English */ ibus_property_set_label(self->chieng_prop,SELF_GET_CLASS(self)->chieng_prop_label_eng); + ibus_property_set_tooltip(self->chieng_prop,SELF_GET_CLASS(self)->chieng_prop_tooltip_eng); +#if IBUS_CHECK_VERSION(1, 5, 4) + ibus_property_set_symbol(self->chieng_prop,SELF_GET_CLASS(self)->chieng_prop_label_eng); +#endif } ibus_engine_update_property(IBUS_ENGINE(self),self->chieng_prop); }else if (strcmp(prop_name,"chewing_alnumSize_prop")==0){ @@ -640,7 +704,7 @@ class IBus:Chewing:Engine from IBus:Engi } protected gboolean is_password(self){ - G_DEBUG_MSG(5, "[I5] is_password = %d", self->chewingFlags & ENGINE_STATUS_IS_PASSWORD); + IBUS_CHEWING_LOG(5, "[I5] is_password = %d", self->chewingFlags & ENGINE_STATUS_IS_PASSWORD); return !!(self->_priv->statusFlags & ENGINE_STATUS_IS_PASSWORD); } @@ -685,7 +749,7 @@ class IBus:Chewing:Engine from IBus:Engi * Save the property value to disk. */ public gboolean save_config(self, const gchar *key_suffix){ - G_DEBUG_MSG(1,"[I1] save_config(%s,-)",key_suffix); + IBUS_CHEWING_LOG(1,"[I1] save_config(%s,-)",key_suffix); GValue gValue={0}; maker_dialog_get_widget_value(MAKER_DIALOG(self->setting_dialog),key_suffix,&gValue); return ibus_chewing_config_set_value (self->config, "engine/Chewing", key_suffix,&gValue); @@ -737,7 +801,7 @@ class IBus:Chewing:Engine from IBus:Engi }else if (strcmp(prop_name,"chewing_settings_prop")==0){ return self->settings_prop; } - G_DEBUG_MSG(2,"[I2] get_iBusProperty(%s): NULL is returned",prop_name); + IBUS_CHEWING_LOG(2,"[I2] get_iBusProperty(%s): NULL is returned",prop_name); return NULL; } @@ -749,12 +813,12 @@ class IBus:Chewing:Engine from IBus:Engi private void determine_input_mode(self){ gint zhuyin_count=-1; gchar *str_ptr=chewing_zuin_String(self->context,&zhuyin_count); - G_DEBUG_MSG(3, "[I3] determine_input_mode(): chewing_zuin_String=%s count=%d inputMode=%d keyLast=%s", + IBUS_CHEWING_LOG(3, "[I3] determine_input_mode(): chewing_zuin_String=%s count=%d inputMode=%d keyLast=%s", str_ptr,zhuyin_count,self->inputMode, keyName_get(self->_priv->key_last)); int zhuyin_tone=-1; gint totalChoice=chewing_cand_TotalChoice(self->context); - G_DEBUG_MSG(5, "[I5] determine_input_mode(): TotalChoice=%d", totalChoice); + IBUS_CHEWING_LOG(5, "[I5] determine_input_mode(): TotalChoice=%d", totalChoice); // if (chewing_commit_Check(self->context) // && (self->_priv->key_last==IBUS_Return || self->_priv->key_last==IBUS_KP_Enter)){ // if(!self->hasCommit) @@ -836,7 +900,7 @@ class IBus:Chewing:Engine from IBus:Engi self->_priv->zhuyin_latest[0]='\0'; } g_free(str_ptr); - G_DEBUG_MSG(2, "[I2] determine_input_mode() return: zhuyin_latest=%s zhuyin_tone=%d inputMode=%d", + IBUS_CHEWING_LOG(2, "[I2] determine_input_mode() return: zhuyin_latest=%s zhuyin_tone=%d inputMode=%d", self->_priv->zhuyin_latest,zhuyin_tone,self->inputMode); } @@ -854,7 +918,7 @@ class IBus:Chewing:Engine from IBus:Engi /* commit string */ protected gboolean commit(self){ gchar *commit_string=chewing_commit_String(self->context); - G_DEBUG_MSG(2,"[I2] commit() commit:%s", commit_string); + IBUS_CHEWING_LOG(2,"[I2] commit() commit:%s", commit_string); IBusText *iText=g_object_ref_sink(ibus_text_new_from_string(commit_string)); ibus_engine_commit_text(IBUS_ENGINE(self),iText); //self->hasCommit = 1; @@ -863,7 +927,7 @@ class IBus:Chewing:Engine from IBus:Engi if ((self->_priv->statusFlags & ENGINE_STATUS_FORCE_COMMIT)){ /* Force commit implies chewing buffer need to be cleaned. */ - G_DEBUG_MSG(3,"[I3] _commit() clean chewing buffer for force commit."); + IBUS_CHEWING_LOG(3,"[I3] _commit() clean chewing buffer for force commit."); self_clean_chewing_buffer(self); ibus_chewing_engine_clear_status_flag(self, ENGINE_STATUS_FORCE_COMMIT); } @@ -878,7 +942,7 @@ class IBus:Chewing:Engine from IBus:Engi protected gboolean check_commit(self){ gint isCommit=chewing_commit_Check(self->context); gint committed=FALSE; - G_DEBUG_MSG(2,"[I2] check_commit() %s statusFlags=%x", (isCommit) ? "TRUE": "FALSE", self->_priv->statusFlags); + IBUS_CHEWING_LOG(2,"[I2] check_commit() %s statusFlags=%x", (isCommit) ? "TRUE": "FALSE", self->_priv->statusFlags); if (isCommit && (self->_priv->statusFlags & ENGINE_STATUS_NEED_COMMIT)){ self_commit(self); committed =TRUE; @@ -903,7 +967,7 @@ class IBus:Chewing:Engine from IBus:Engi * */ protected void force_commit(self){ - G_DEBUG_MSG(2,"[I2] force_commit() buffer=%d, commit=%d statusFlags=%x", + IBUS_CHEWING_LOG(2,"[I2] force_commit() buffer=%d, commit=%d statusFlags=%x", chewing_buffer_Check(self->context), chewing_commit_Check(self->context), self->_priv->statusFlags); /* Close candidate window */ @@ -916,7 +980,7 @@ class IBus:Chewing:Engine from IBus:Engi chewing_handle_Esc(self->context); if (chewing_buffer_Check(self->context)){ chewing_handle_Enter(self->context); - G_DEBUG_MSG(3,"[I3] force_commit() buffer is not empty."); + IBUS_CHEWING_LOG(3,"[I3] force_commit() buffer is not empty."); // if (self->_priv->inputStyle==CHEWING_INPUT_STYLE_IN_CANDIDATE){ // /* But if in IN_CANDIDATE mode, still need to simulate enter. // */ @@ -928,7 +992,7 @@ class IBus:Chewing:Engine from IBus:Engi // self_update(self); } // if (chewing_commit_Check(self->context)){ -// G_DEBUG_MSG(3, +// IBUS_CHEWING_LOG(3, // "[I3] force_commit() has something to commit. buffer=%d, commit=%d", // chewing_buffer_Check(self->context),chewing_commit_Check(self->context)); // self_update(self); @@ -941,7 +1005,7 @@ class IBus:Chewing:Engine from IBus:Engi */ override (IBus:Engine) void reset(IBus:Engine *engine){ - G_DEBUG_MSG(1,"[I1] reset"); + IBUS_CHEWING_LOG(1,"[I1] reset"); Self *self=SELF(engine); /* Always clean buffer */ @@ -995,7 +1059,7 @@ class IBus:Chewing:Engine from IBus:Engi override (IBus:Engine) void enable(IBus:Engine *engine){ - G_DEBUG_MSG(2,"[I2] enable()"); + IBUS_CHEWING_LOG(2,"[I2] enable()"); Self *self=SELF(engine); if (!self->config){ @@ -1008,7 +1072,7 @@ class IBus:Chewing:Engine from IBus:Engi override (IBus:Engine) void disable(IBus:Engine *engine){ - G_DEBUG_MSG(2,"[I2] disable()"); + IBUS_CHEWING_LOG(2,"[I2] disable()"); Self *self=SELF(engine); ibus_chewing_engine_clear_status_flag(self,ENGINE_STATUS_ENABLED); self_hide_property_list(self); @@ -1022,30 +1086,7 @@ class IBus:Chewing:Engine from IBus:Engi self_load_setting(self); } ibus_chewing_engine_set_status_flag(self, ENGINE_STATUS_FOCUS_IN); - self_refresh_property_list(self); - - /* Sync Caps_Lock and ChiEngMode */ - guint modifiers=keyModifier_get(self->_priv->pDisplay); - gint caps_is_lock=(modifiers & IBUS_LOCK_MASK)!=0; - G_DEBUG_MSG(2,"[I2] focus_in(): statusFlags=%d ChiEng=%d IBUS_LOCK=%d", - self->_priv->statusFlags, - chewing_get_ChiEngMode(self->context),caps_is_lock); - if (chewing_get_ChiEngMode(self->context)==caps_is_lock){ - /* Caps_lock and ChiEngMode does not agree each other */ - switch(self->syncCapsLock_local){ - case CHEWING_MODIFIER_SYNC_FROM_KEYBOARD: - chewing_set_ChiEngMode(self->context,!caps_is_lock); - break; - case CHEWING_MODIFIER_SYNC_FROM_IM: - /* fake event won't go through process_key_event */ - key_send_fake_event(IBUS_Caps_Lock,self->_priv->pDisplay); - break; - default: - g_warning("Caps_lock and ChiEngMode does not agree each other!"); - break; - - } - } + self_restore_mode(self); self_refresh_property_list(self); /* Shouldn't have anything to commit when Focus-in */ @@ -1054,13 +1095,13 @@ class IBus:Chewing:Engine from IBus:Engi ENGINE_STATUS_FORCE_COMMIT | ENGINE_STATUS_NEED_COMMIT); // self_update(self); - G_DEBUG_MSG(4,"[I4] focus_in(): return"); + IBUS_CHEWING_LOG(4,"[I4] focus_in(): return"); } override (IBus:Engine) void focus_out(IBus:Engine *engine){ Self *self=SELF(engine); - G_DEBUG_MSG(2,"[I2] focus_out(): statusFlags=%x",self->_priv->statusFlags); + IBUS_CHEWING_LOG(2,"***[I2] focus_out(): statusFlags=%x",self->_priv->statusFlags); ibus_chewing_engine_clear_status_flag(self, ENGINE_STATUS_FOCUS_IN); /* @@ -1069,47 +1110,52 @@ class IBus:Chewing:Engine from IBus:Engi * IBUS_ENGINE_PREEDIT_COMMIT */ // self_force_commit(self); - G_DEBUG_MSG(5,"[I5] focus_out(): return"); + IBUS_CHEWING_LOG(5,"[I5] focus_out(): return"); } override (IBus:Engine) void set_capabilities(IBus:Engine *engine, guint caps){ Self *self=SELF(engine); - G_DEBUG_MSG(2,"[I2] set_capabilities(%x): statusFlags=%x",caps, self->_priv->statusFlags); + IBUS_CHEWING_LOG(2,"*** [I2] set_capabilities(%x): statusFlags=%x",caps, self->_priv->statusFlags); } override (IBus:Engine) void - property_activate(IBus:Engine *engine, const gchar *prop_name, guint prop_state){ - G_DEBUG_MSG(3,"[I3] property_activate(-, %s, %u)", prop_name, prop_state); + property_activate(IBus:Engine *engine, const gchar *prop_name, + guint prop_state){ + IBUS_CHEWING_LOG(2,"***[I2] property_activate(-, %s, %u)", prop_name, prop_state); Self *self=SELF(engine); gboolean needRefresh=TRUE; - if (strcmp(prop_name,"chewing_chieng_prop")==0){ + + if (strcmp(prop_name,"chewing_chieng_prop")==0){ /* Toggle Chinese <-> English */ - chewing_set_ChiEngMode(self->context, !chewing_get_ChiEngMode(self->context)); + gint isChinese=chewing_get_ChiEngMode(self->context); + gint setChinese = (isChinese) ? 0:1; + chewing_set_ChiEngMode(self->context, setChinese); + gint isCapsLockOff=(is_caps_led_on(self->_priv->pDisplay)) + ? 0: 1; + IBUS_CHEWING_LOG(3,"** [I3] property_activate setChinese=%d isCapsLockOff=%d", setChinese, isCapsLockOff); + if (self->syncCapsLock_local != CHEWING_MODIFIER_SYNC_DISABLE){ + if (setChinese != isCapsLockOff){ + set_caps_led(! setChinese, self->_priv->pDisplay); + IBUS_CHEWING_LOG(4,"* [I4] property_activate setChinese=%d isCapsLockOff=%d", setChinese, isCapsLockOff); + } + } }else if (strcmp(prop_name,"chewing_alnumSize_prop")==0){ - /* Toggle Full <-> Half */ - chewing_set_ShapeMode(self->context, !chewing_get_ShapeMode(self->context)); + /* Toggle Full <-> Half */ + chewing_set_ShapeMode(self->context, !chewing_get_ShapeMode(self->context)); }else if (strcmp(prop_name,"chewing_settings_prop")==0){ -#if IBUS_CHECK_VERSION(1, 4, 0) - if (ibus_property_get_state(self->settings_prop)==PROP_STATE_UNCHECKED) -#else - if (self->settings_prop->state==PROP_STATE_UNCHECKED) -#endif - { - - gtk_widget_show_all(self->setting_dialog); - if (gtk_dialog_run(GTK_DIALOG(self->setting_dialog))==GTK_RESPONSE_OK){ + if (ibus_chewing_property_get_state(self->settings_prop) + ==PROP_STATE_UNCHECKED){ + gtk_widget_show_all(self->setting_dialog); + if (gtk_dialog_run(GTK_DIALOG(self->setting_dialog)) + ==GTK_RESPONSE_OK){ self_save_config_all(self); } gtk_widget_hide(self->setting_dialog); -#if IBUS_CHECK_VERSION(1, 4, 0) - ibus_property_set_state(self->settings_prop,PROP_STATE_UNCHECKED); -#else - self->settings_prop->state=PROP_STATE_UNCHECKED; -#endif + ibus_property_set_state(self->settings_prop,PROP_STATE_UNCHECKED); } }else{ - G_DEBUG_MSG(3,"[I3] property_activate(-, %s, %u) not recognized",prop_name, prop_state); + IBUS_CHEWING_LOG(3,"[I3] property_activate(-, %s, %u) not recognized",prop_name, prop_state); needRefresh=FALSE; } if (needRefresh) @@ -1118,7 +1164,7 @@ class IBus:Chewing:Engine from IBus:Engi override (IBus:Engine) void property_show(IBus:Engine *engine, const gchar *prop_name){ - G_DEBUG_MSG(5,"[I5] property_show(-, %s)",prop_name); + IBUS_CHEWING_LOG(5,"[I5] property_show(-, %s)",prop_name); Self *self=SELF(engine); IBusProperty *prop=self_get_iBusProperty(self, prop_name); ibus_property_set_visible(prop,TRUE); @@ -1127,7 +1173,7 @@ class IBus:Chewing:Engine from IBus:Engi override (IBus:Engine) void property_hide(IBus:Engine *engine, const gchar *prop_name){ - G_DEBUG_MSG(5,"[I5] property_hide(-, %s)",prop_name); + IBUS_CHEWING_LOG(5,"[I5] property_hide(-, %s)",prop_name); Self *self=SELF(engine); IBusProperty *prop=self_get_iBusProperty(self, prop_name); ibus_property_set_visible(prop,FALSE); diff -rupN ibus-chewing-1.4.4-Source/src/IBusChewingEngine-input-events.c ibus-chewing-1.4.8-Source/src/IBusChewingEngine-input-events.c --- ibus-chewing-1.4.4-Source/src/IBusChewingEngine-input-events.c 2013-12-18 14:26:34.000000000 +1000 +++ ibus-chewing-1.4.8-Source/src/IBusChewingEngine-input-events.c 2014-01-15 20:46:50.000000000 +1000 @@ -33,28 +33,28 @@ gboolean ibus_chewing_engine_process_key guint kSym=ibus_chewing_engine_keycode_to_keysym(self,keysym, keycode, modifiers); if (modifiers & IBUS_RELEASE_MASK){ - if(!keysym_KP_to_normal(kSym) && (kSym==IBUS_Shift_L || kSym==IBUS_Shift_R) && self->_priv->key_last==kSym){ - /* When Chi->Eng with incomplete character */ - if (chewing_get_ChiEngMode(self->context) && !chewing_zuin_Check(self->context)){ - /* chewing_zuin_Check==0 means incomplete character */ - /* Send a space to finish the character */ - chewing_handle_Space(self->context); - } - chewing_set_ChiEngMode(self->context, !chewing_get_ChiEngMode(self->context)); - self_refresh_property(self,"chewing_chieng_prop"); - return self_update(self); + if (!keysym_KP_to_normal(kSym) && (kSym==IBUS_Shift_L || kSym==IBUS_Shift_R) && self->_priv->key_last==kSym){ + /* When Chi->Eng with incomplete character */ + if (chewing_get_ChiEngMode(self->context) && !chewing_zuin_Check(self->context)){ + /* chewing_zuin_Check==0 means incomplete character */ + /* Send a space to finish the character */ + chewing_handle_Space(self->context); + } + chewing_set_ChiEngMode(self->context, ! chewing_get_ChiEngMode(self->context)); + self_refresh_property(self,"chewing_chieng_prop"); + return self_update(self); } /* Skip release event */ return TRUE; } - G_DEBUG_MSG(2,"***[I2] process_key_event(-, %x(%s), %x, %x) orig keysym=%x... proceed.",kSym, keyName_get(kSym), keycode, modifiers,keysym); + IBUS_CHEWING_LOG(2,"***[I2] process_key_event(-, %x(%s), %x, %x) orig keysym=%x... proceed.",kSym, keyName_get(kSym), keycode, modifiers,keysym); guint state= modifiers & (IBUS_SHIFT_MASK | IBUS_CONTROL_MASK | IBUS_MOD1_MASK); self->_priv->key_last=kSym; if (state==0){ guint kSym_tmp=keysym_KP_to_normal(kSym); if (kSym_tmp){ - G_DEBUG_MSG(3,"***[I3] process_key_event(): %x is from keypad.", kSym_tmp); + IBUS_CHEWING_LOG(3,"***[I3] process_key_event(): %x is from keypad.", kSym_tmp); /* Is keypad key */ if ((self->chewingFlags & CHEWING_FLAG_NUMPAD_ALWAYS_NUMBER) && chewing_get_ChiEngMode(self->context)){ chewing_set_ChiEngMode(self->context, 0); @@ -249,7 +249,7 @@ gboolean ibus_chewing_engine_process_key } void ibus_chewing_engine_handle_Default(IBusChewingEngine *self, guint keyval, gboolean shiftPressed){ - G_DEBUG_MSG(2,"[I2] handle_Default(-,%u) plainZhuyin=%s inputMode=%d", + IBUS_CHEWING_LOG(2,"[I2] handle_Default(-,%u) plainZhuyin=%s inputMode=%d", keyval,(self->chewingFlags & CHEWING_FLAG_PLAIN_ZHUYIN)? "TRUE": "FALSE",self->inputMode); ibus_chewing_engine_set_status_flag(self, ENGINE_STATUS_NEED_COMMIT); #ifdef EASY_SYMBOL_INPUT_WORK_AROUND @@ -281,11 +281,11 @@ void ibus_chewing_engine_handle_Default( * Mouse events */ void ibus_chewing_engine_candidate_clicked(IBusEngine *engine, guint index, guint button, guint state){ - G_DEBUG_MSG(2,"***[I2] candidate_clicked(-, %u, %u, %u) ... proceed.", index, button, state); + IBUS_CHEWING_LOG(2,"***[I2] candidate_clicked(-, %u, %u, %u) ... proceed.", index, button, state); IBusChewingEngine *self=IBUS_CHEWING_ENGINE(engine); if (ibus_chewing_engine_is_password(self)) return; if (index >= chewing_get_candPerPage(self->context) || index <0) { - G_DEBUG_MSG(3,"[I3] candidate_clicked() index out of ranged"); + IBUS_CHEWING_LOG(3,"[I3] candidate_clicked() index out of ranged"); return; } if (self->inputMode==CHEWING_INPUT_MODE_SELECTING){ @@ -293,12 +293,12 @@ void ibus_chewing_engine_candidate_click ibus_chewing_engine_handle_Default(self, self->_priv->key_last, FALSE); self_update(self); } else { - G_DEBUG_MSG(3,"[I3] candidate_clicked() ... Wrong mode: %u", self->inputMode); + IBUS_CHEWING_LOG(3,"[I3] candidate_clicked() ... Wrong mode: %u", self->inputMode); } } void ibus_chewing_engine_property_activate(IBusEngine *engine, const gchar *prop_name, guint prop_state){ - G_DEBUG_MSG(3,"[I3] property_activate(-, %s, %u)", prop_name, prop_state); + IBUS_CHEWING_LOG(3,"[I3] property_activate(-, %s, %u)", prop_name, prop_state); Self *self=SELF(engine); gboolean needRefresh=TRUE; if (strcmp(prop_name,"chewing_chieng_prop")==0){ @@ -325,7 +325,7 @@ void ibus_chewing_engine_property_activa #endif } }else{ - G_DEBUG_MSG(3,"[I3] property_activate(-, %s, %u) not recognized",prop_name, prop_state); + IBUS_CHEWING_LOG(3,"[I3] property_activate(-, %s, %u) not recognized",prop_name, prop_state); needRefresh=FALSE; } if (needRefresh) @@ -334,7 +334,7 @@ void ibus_chewing_engine_property_activa #if IBUS_CHECK_VERSION(1, 5, 4) void ibus_chewing_engine_set_content_type(IBusEngine *engine, guint purpose, guint hints){ - G_DEBUG_MSG(5,"[I5] set_content_type(%d, %d)", purpose, hints); + IBUS_CHEWING_LOG(5,"[I5] set_content_type(%d, %d)", purpose, hints); Self *self=SELF(engine); if (purpose == IBUS_INPUT_PURPOSE_PASSWORD || diff -rupN ibus-chewing-1.4.4-Source/src/main.c ibus-chewing-1.4.8-Source/src/main.c --- ibus-chewing-1.4.4-Source/src/main.c 2013-12-16 11:55:58.000000000 +1000 +++ ibus-chewing-1.4.8-Source/src/main.c 2014-01-15 20:46:50.000000000 +1000 @@ -133,7 +133,7 @@ void determine_locale(){ g_strlcat(localeStr,".utf8",STRING_BUFFER_SIZE); #undef STRING_BUFFER_SIZE setlocale (LC_ALL, localeStr); - G_DEBUG_MSG(1,"[I1] determine_locale %s",localeStr); + IBUS_CHEWING_LOG(1,"[I1] determine_locale %s",localeStr); } diff -rupN ibus-chewing-1.4.4-Source/src/MakerDialog-def.c ibus-chewing-1.4.8-Source/src/MakerDialog-def.c --- ibus-chewing-1.4.4-Source/src/MakerDialog-def.c 2012-10-22 15:32:11.000000000 +1000 +++ ibus-chewing-1.4.8-Source/src/MakerDialog-def.c 2014-01-15 20:46:50.000000000 +1000 @@ -1,6 +1,6 @@ static gint verboseLevel=0; -void G_DEBUG_MSG(gint level, const char *format, ...){ +void IBUS_CHEWING_LOG(gint level, const char *format, ...){ va_list ap; if (levelspec->key,g_value_get_string(&value)); + IBUS_CHEWING_LOG(2,"on_comboBox_changed_wrap(), key=%s value=%s",ctx->spec->key,g_value_get_string(&value)); ctx->spec->setFunc(ctx,&value); } @@ -128,7 +128,7 @@ static void on_entry_activate_wrap (GtkE GValue value={0}; g_value_init(&value, ctx->spec->valueType); g_value_set_string(&value,gtk_entry_get_text(entry)); - G_DEBUG_MSG(2,"on_entry_activate_wrap(), key=%s value=%s",ctx->spec->key,g_value_get_string(&value)); + IBUS_CHEWING_LOG(2,"on_entry_activate_wrap(), key=%s value=%s",ctx->spec->key,g_value_get_string(&value)); ctx->spec->setFunc(ctx,&value); } @@ -140,17 +140,17 @@ static void on_spinButton_value_changed_ switch(ctx->spec->valueType){ case G_TYPE_INT: g_value_set_int(&value,(gint) gtk_spin_button_get_value(button)); - G_DEBUG_MSG(2,"on_spinButton_value_changed_wrap(), key=%s value=%d", + IBUS_CHEWING_LOG(2,"on_spinButton_value_changed_wrap(), key=%s value=%d", ctx->spec->key,g_value_get_int(&value)); break; case G_TYPE_UINT: g_value_set_uint(&value,(guint) gtk_spin_button_get_value(button)); - G_DEBUG_MSG(2,"on_spinButton_value_changed_wrap(), key=%s value=%u", + IBUS_CHEWING_LOG(2,"on_spinButton_value_changed_wrap(), key=%s value=%u", ctx->spec->key,g_value_get_uint(&value)); break; case G_TYPE_DOUBLE: g_value_set_uint(&value, gtk_spin_button_get_value(button)); - G_DEBUG_MSG(2,"on_spinButton_value_changed_wrap(), key=%s value=%g", + IBUS_CHEWING_LOG(2,"on_spinButton_value_changed_wrap(), key=%s value=%g", ctx->spec->key,g_value_get_double(&value)); break; default: @@ -165,7 +165,7 @@ static void on_toggleButton_toggled_wrap GValue value={0}; g_value_init(&value, ctx->spec->valueType); g_value_set_boolean(&value, gtk_toggle_button_get_active(button)); - G_DEBUG_MSG(2,"on_entry_activate_wrap(), key=%s value=%s",ctx->spec->key,g_value_get_string(&value)); + IBUS_CHEWING_LOG(2,"on_entry_activate_wrap(), key=%s value=%s",ctx->spec->key,g_value_get_string(&value)); ctx->spec->setFunc(ctx,&value); } @@ -251,7 +251,7 @@ static void xml_tags_write(FILE *outF, c indentLevel--; GString *strBuf=xml_tags_to_string(tagName, type, attribute, value, indentLevel); - G_DEBUG_MSG(3,",xml_tags_write:%s",strBuf->str); + IBUS_CHEWING_LOG(3,",xml_tags_write:%s",strBuf->str); fprintf(outF,"%s\n",strBuf->str); if (type==XML_TAG_TYPE_BEGIN_ONLY) diff -rupN ibus-chewing-1.4.4-Source/src/MakerDialog.gob ibus-chewing-1.4.8-Source/src/MakerDialog.gob --- ibus-chewing-1.4.4-Source/src/MakerDialog.gob 2012-10-22 15:32:11.000000000 +1000 +++ ibus-chewing-1.4.8-Source/src/MakerDialog.gob 2014-01-15 20:46:28.000000000 +1000 @@ -88,7 +88,7 @@ struct _PropertyContext{ %} %{ -void G_DEBUG_MSG(gint level, const char *format, ...); +void IBUS_CHEWING_LOG(gint level, const char *format, ...); #include "MakerDialog-def.c" %} @@ -171,7 +171,7 @@ class Maker:Dialog from Gtk:Dialog{ * Add a property without GUI automation involved. */ public PropertyContext *add_property_no_gui(self, PropertySpec *pSpec, gpointer user_data){ - G_DEBUG_MSG(2,"::add_property_no_gui(%s,-)",pSpec->key); + IBUS_CHEWING_LOG(2,"::add_property_no_gui(%s,-)",pSpec->key); PropertyContext *ctx=propertyContext_new(pSpec,user_data); g_ptr_array_add(self->_priv->propList,ctx); g_hash_table_insert(self->_priv->notebookContentTable, pSpec->key, pSpec->pageName); @@ -191,7 +191,7 @@ class Maker:Dialog from Gtk:Dialog{ * If @initValue is not NULL, it will be the initial value of the widget. */ public gboolean add_property(self, PropertySpec *pSpec, const gchar *initValue, gpointer user_data){ - G_DEBUG_MSG(2,"::add_property(%s,%s,-)",pSpec->key,initValue); + IBUS_CHEWING_LOG(2,"::add_property(%s,%s,-)",pSpec->key,initValue); GtkWidget *vbox=self_get_base_vbox(self, pSpec->pageName); g_assert(vbox); @@ -432,10 +432,10 @@ class Maker:Dialog from Gtk:Dialog{ */ public gboolean write_gconf_schemas_file(self, const gchar *filename, const gchar * owner, const gchar *schemasHome, const gchar *locales){ - G_DEBUG_MSG(2,"::output_gconf_schemes_file(%s)",filename); + IBUS_CHEWING_LOG(2,"::output_gconf_schemes_file(%s)",filename); FILE *outF=fopen(filename,"w"); if (outF==NULL){ - G_DEBUG_MSG(1,"::output_gconf_schemes_file(%s) file %s cannot be written!", + IBUS_CHEWING_LOG(1,"::output_gconf_schemes_file(%s) file %s cannot be written!", filename,filename); return FALSE; } @@ -451,7 +451,7 @@ class Maker:Dialog from Gtk:Dialog{ xml_tags_write(outF,"gconfschemafile",XML_TAG_TYPE_END_ONLY,NULL,NULL); if (fclose(outF)) return FALSE; - G_DEBUG_MSG(2,"::output_gconf_schemes_file(%s) ... done.",filename); + IBUS_CHEWING_LOG(2,"::output_gconf_schemes_file(%s) ... done.",filename); return TRUE; } @@ -466,7 +466,7 @@ class Maker:Dialog from Gtk:Dialog{ * @see_also: set_widget_value() */ public void apply_widget_value(self, const gchar *key){ - G_DEBUG_MSG(2,"::apply_widget_value(%s)",key); + IBUS_CHEWING_LOG(2,"::apply_widget_value(%s)",key); PropertyContext *ctx=self_get_propertyContext_by_key(self,key); if (!ctx){ /* Not found */ @@ -485,7 +485,7 @@ class Maker:Dialog from Gtk:Dialog{ public GValue *get_widget_value(self, const gchar *key, GValue *gValue){ - G_DEBUG_MSG(2,"::get_widget_value(%s)",key); + IBUS_CHEWING_LOG(2,"::get_widget_value(%s)",key); PropertyContext *ctx=self_get_propertyContext_by_key(self,key); if (!ctx){ /* Not found */ @@ -508,7 +508,7 @@ class Maker:Dialog from Gtk:Dialog{ case G_TYPE_STRING: if (ctx->spec->validValues){ const char *str=combo_get_active_text (GTK_COMBO_BOX(widget),gValue); - G_DEBUG_MSG(3,"::get_widget_value(%s) %s", + IBUS_CHEWING_LOG(3,"::get_widget_value(%s) %s", key,str); }else{ g_value_set_string(gValue, gtk_entry_get_text (GTK_ENTRY(widget))); @@ -578,7 +578,7 @@ class Maker:Dialog from Gtk:Dialog{ } public GtkWidget *get_widget_by_id(self, const gchar *id){ - G_DEBUG_MSG(3,"*** get_widget_by_id(%s)",id); + IBUS_CHEWING_LOG(3,"*** get_widget_by_id(%s)",id); return (GtkWidget *) g_hash_table_lookup (self->_priv->widgetTable, id); } @@ -621,7 +621,7 @@ class Maker:Dialog from Gtk:Dialog{ widget_get_id(buf, STRING_BUFFER_SIZE_DEFAULT, widget_label, widget_type); gchar *chunk_ret=g_string_chunk_insert(self->_priv->widgetIds,buf); g_hash_table_insert(self->_priv->widgetTable, chunk_ret,widget); - G_DEBUG_MSG(3,"*** widget_register(-,%s,%s) widget registered as %s", + IBUS_CHEWING_LOG(3,"*** widget_register(-,%s,%s) widget registered as %s", widget_label,(widget_type)? (widget_type) : "", chunk_ret); }