diff -Nru fcitx-libpinyin-0.2.1/.gitignore fcitx-libpinyin-0.2.92/.gitignore --- fcitx-libpinyin-0.2.1/.gitignore 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/.gitignore 2013-04-30 05:04:31.000000000 +0000 @@ -1,11 +1,13 @@ *~ -build/* -data/model.text.tar.gz +build*/ +.* +!.git* +.git/ +*.tar.* *.kdev4 -tools/pybase.mb -tools/pyphrase.mb -data/desc.po -.kdev_include_paths -.kdev4 -.directory *.kate-swp +*.orig +tags +astyle.sh +cscope.* +*.part diff -Nru fcitx-libpinyin-0.2.1/CMakeLists.txt fcitx-libpinyin-0.2.92/CMakeLists.txt --- fcitx-libpinyin-0.2.1/CMakeLists.txt 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/CMakeLists.txt 2013-04-30 05:04:31.000000000 +0000 @@ -1,25 +1,14 @@ -cmake_minimum_required (VERSION 2.6) - +cmake_minimum_required(VERSION 2.6) project(fcitx-libpinyin) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) FIND_PACKAGE(Libintl REQUIRED) -FIND_PACKAGE(Gettext REQUIRED) -FIND_PACKAGE(Fcitx 4.2.0 REQUIRED) +FIND_PACKAGE(Fcitx 4.2.7 REQUIRED) find_package(GLIB2 REQUIRED) find_package(Libpinyin REQUIRED) -find_program(WGET wget REQUIRED) -find_program(TAR tar REQUIRED) - -# uninstall target -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" - IMMEDIATE @ONLY) -add_custom_target(uninstall - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) +_fcitx_add_uninstall_target() set(CMAKE_C_FLAGS "-Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -fvisibility=hidden ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -fvisibility=hidden ${CMAKE_CXX_FLAGS}") @@ -31,16 +20,15 @@ string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" FCITX4_PATCH_VERSION "${FCITX4_VERSION}") if(NOT DEFINED LIB_INSTALL_DIR) - set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib) + set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib) endif() -set(FCITX_LIBPINYIN_ZHUYIN_DATADIR "${FCITX4_PREFIX}/share/fcitx/libpinyin/zhuyin_data") +set(FCITX_LIBPINYIN_ZHUYIN_DATADIR + "${FCITX4_PREFIX}/share/fcitx/libpinyin/zhuyin_data") set(libdir ${LIB_INSTALL_DIR}) configure_file(config.h.in config.h) +add_subdirectory(po) add_subdirectory(src) add_subdirectory(data) -add_subdirectory(po) - -add_subdirectory(standalone) diff -Nru fcitx-libpinyin-0.2.1/COPYING fcitx-libpinyin-0.2.92/COPYING --- fcitx-libpinyin-0.2.1/COPYING 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/COPYING 2013-04-30 05:04:31.000000000 +0000 @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -305,7 +305,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail. diff -Nru fcitx-libpinyin-0.2.1/cmake/FindLibpinyin.cmake fcitx-libpinyin-0.2.92/cmake/FindLibpinyin.cmake --- fcitx-libpinyin-0.2.1/cmake/FindLibpinyin.cmake 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/cmake/FindLibpinyin.cmake 2013-04-30 05:04:31.000000000 +0000 @@ -16,7 +16,7 @@ endif(LIBPINYIN_INCLUDE_DIR AND LIBPINYIN_LIBRARIES) find_package(PkgConfig REQUIRED) -pkg_check_modules(PC_LIBPINYIN "libpinyin>=0.6.92") +pkg_check_modules(PC_LIBPINYIN "libpinyin>=0.9.91") _pkgconfig_invoke("libpinyin" PC_LIBPINYIN LIBPINYININCLUDEDIR "" "--variable=libpinyinincludedir") _pkgconfig_invoke("libpinyin" LIBPINYIN PKGDATADIR "" "--variable=pkgdatadir") _pkgconfig_invoke("libpinyin" LIBPINYIN EXECPREFIX "" "--variable=exec_prefix") diff -Nru fcitx-libpinyin-0.2.1/cmake/cmake_uninstall.cmake.in fcitx-libpinyin-0.2.92/cmake/cmake_uninstall.cmake.in --- fcitx-libpinyin-0.2.1/cmake/cmake_uninstall.cmake.in 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/cmake/cmake_uninstall.cmake.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") -endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - -file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) -string(REGEX REPLACE "\n" ";" files "${files}") -foreach (file ${files}) - message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") - if (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") - execute_process( - COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" - OUTPUT_VARIABLE rm_out - RESULT_VARIABLE rm_retval - ) - if(NOT ${rm_retval} EQUAL 0) - message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") - endif (NOT ${rm_retval} EQUAL 0) - else (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") - message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") - endif (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") -endforeach(file) \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/data/CMakeLists.txt fcitx-libpinyin-0.2.92/data/CMakeLists.txt --- fcitx-libpinyin-0.2.1/data/CMakeLists.txt 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/CMakeLists.txt 2013-04-30 05:04:31.000000000 +0000 @@ -1,32 +1,42 @@ -fcitx_add_addon_conf_file(fcitx-libpinyin.conf) -fcitx_add_configdesc_file(fcitx-libpinyin.desc) +install(FILES bopomofo.png RENAME fcitx-bopomofo.png + DESTINATION share/icons/hicolor/48x48/status/) -fcitx_add_inputmethod_conf_file(pinyin-libpinyin.conf) -fcitx_add_inputmethod_conf_file(shuangpin-libpinyin.conf) -fcitx_add_inputmethod_conf_file(zhuyin-libpinyin.conf) - -install(FILES bopomofo.png RENAME fcitx-bopomofo.png DESTINATION share/icons/hicolor/48x48/status/) - -set(ZHUYIN_DATA_FILE_NAME model.text.20120921.tar.gz) -set(ZHUYIN_URL "https://github.com/downloads/fcitx/fcitx-libpinyin/${ZHUYIN_DATA_FILE_NAME}") -set(ZHUYIN_TAR "${CMAKE_CURRENT_SOURCE_DIR}/${ZHUYIN_DATA_FILE_NAME}") -set(ZHUYIN_ORGDATA gb_char.table gbk_char.table interpolation.text) -set(ZHUYIN_DATA bigram.db gb_char.bin gbk_char.bin phrase_index.bin pinyin_index.bin) +set(_LIBPINYIN_TABLE art gb_char history nature scitech + culture gbk_char life society economy geology merged + sport) + +foreach(f ${_LIBPINYIN_TABLE}) + set(_LIBPINYIN_TABLE_FILES ${_LIBPINYIN_TABLE_FILES} "${f}.table") + set(_LIBPINYIN_BIN_FILES ${_LIBPINYIN_BIN_FILES} "${f}.bin") + set(_LIBPINYIN_GEN_BIN_FILES ${_LIBPINYIN_GEN_BIN_FILES} "${CMAKE_CURRENT_BINARY_DIR}/${f}.bin") +endforeach() + +set(ZHUYIN_DATA_FILE_NAME model.text.20130308.tar.gz) +set(ZHUYIN_URL "http://fcitx.googlecode.com/files/${ZHUYIN_DATA_FILE_NAME}") +set(ZHUYIN_ORGDATA ${_LIBPINYIN_TABLE_FILES} interpolation2.text) +set(ZHUYIN_DATA bigram.db ${_LIBPINYIN_BIN_FILES} phrase_index.bin pinyin_index.bin) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/table.conf ${CMAKE_CURRENT_BINARY_DIR}/table.conf COPYONLY) + +fcitx_download(zhuyin_data_tar "${ZHUYIN_URL}" "${ZHUYIN_DATA_FILE_NAME}" + MD5SUM f908d19ebef9527fea06ea7d072500b0) +fcitx_extract(zhuyin-data-extract "${ZHUYIN_DATA_FILE_NAME}" + DEPENDS zhuyin_data_tar OUTPUT ${ZHUYIN_ORGDATA}) -add_custom_target(zhuyin_data ALL DEPENDS ${ZHUYIN_DATA}) - -add_custom_command(OUTPUT ${ZHUYIN_ORGDATA} - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/download.sh "${WGET}" "${ZHUYIN_URL}" "${ZHUYIN_TAR}" - COMMAND ${TAR} xzmvf ${ZHUYIN_TAR}) add_custom_command(OUTPUT ${ZHUYIN_DATA} - DEPENDS ${ZHUYIN_ORGDATA} - COMMAND ${LIBPINYIN_GEN_BINARY_FILES} --table-dir ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${LIBPINYIN_IMPORT_INTERPOLATION} < ${CMAKE_CURRENT_BINARY_DIR}/interpolation.text - COMMAND ${LIBPINYIN_GEN_UNIGRAM}) + DEPENDS ${ZHUYIN_ORGDATA} zhuyin-data-extract + COMMAND "${CMAKE_COMMAND}" -E remove ${ZHUYIN_DATA} + COMMAND "${LIBPINYIN_GEN_BINARY_FILES}" + --table-dir "${CMAKE_CURRENT_BINARY_DIR}" + COMMAND "${LIBPINYIN_IMPORT_INTERPOLATION}" + < "${CMAKE_CURRENT_BINARY_DIR}/interpolation2.text" + COMMAND "${LIBPINYIN_GEN_UNIGRAM}") + +add_custom_target(zhuyin_data ALL DEPENDS ${ZHUYIN_DATA}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bigram.db - ${CMAKE_CURRENT_BINARY_DIR}/gb_char.bin - ${CMAKE_CURRENT_BINARY_DIR}/gbk_char.bin + ${_LIBPINYIN_GEN_BIN_FILES} ${CMAKE_CURRENT_BINARY_DIR}/phrase_index.bin ${CMAKE_CURRENT_BINARY_DIR}/pinyin_index.bin + table.conf DESTINATION ${FCITX_LIBPINYIN_ZHUYIN_DATADIR}) diff -Nru fcitx-libpinyin-0.2.1/data/download.sh fcitx-libpinyin-0.2.92/data/download.sh --- fcitx-libpinyin-0.2.1/data/download.sh 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/download.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/bin/sh -WGET=$1 -URL=$2 -OUTPUT=$3 -if [ ! -f $OUTPUT ]; then - ${WGET} -O $OUTPUT $URL -fi \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/data/fcitx-libpinyin.conf.in fcitx-libpinyin-0.2.92/data/fcitx-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/data/fcitx-libpinyin.conf.in 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/fcitx-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -[Addon] -Name=fcitx-libpinyin -_GeneralName=LibPinyin -_Comment=LibPinyin Wrapper For Fcitx -Category=InputMethod -Enabled=True -Library=fcitx-libpinyin.so -Type=SharedLibrary -IMRegisterMethod=ConfigFile \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/data/fcitx-libpinyin.desc fcitx-libpinyin-0.2.92/data/fcitx-libpinyin.desc --- fcitx-libpinyin-0.2.1/data/fcitx-libpinyin.desc 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/fcitx-libpinyin.desc 1970-01-01 00:00:00.000000000 +0000 @@ -1,158 +0,0 @@ -[Pinyin/Incomplete] -Description=Use Incomplete pinyin -Type=Boolean -DefaultValue=True - -[Pinyin/UseTraditionalChineseData] -Description=Use Traditional Chinese Data for Pinyin and Shuangpin (Need Restart) -Type=Boolean -DefaultValue=False - -[Zhuyin/UseTone] -Description=Use Tone -Type=Boolean -DefaultValue=True - -[Zhuyin/Incomplete] -Description=Use Incomplete Zhuyin -Type=Boolean -DefaultValue=True - -[Zhuyin/Layout] -Description=Zhuyin Layout -Type=Enum -Enum0=Standard -Enum1=IBM -Enum2=GinYieh -Enum3=ET -EnumCount=4 -DefaultValue=Standard - -[Zhuyin/CandidateModifiers] -Description=Zhuyin candidate choosing modifiers -Type=Enum -Enum0=Ctrl -Enum1=Alt -Enum2=Shift -EnumCount=3 -DefaultValue=Alt - -[Zhuyin/PrevPage] -Description=Zhuyin Prev Page -Type=Hotkey -DefaultValue=PGUP UP - -[Zhuyin/NextPage] -Description=Zhuyin Next Page -Type=Hotkey -DefaultValue=PGDN DOWN - -[Zhuyin/UseSimplifiedChineseData] -Description=Use Simplified Chinese Data for Zhuyin (Need Restart) -Type=Boolean -DefaultValue=False - -[Shuangpin/Scheme] -Description=Shuangpin Scheme -Type=Enum -Enum0=Ziranma -Enum1=Microsoft -Enum2=ZiGuang -Enum3=ABC -Enum4=PinyinJiaJia -Enum5=XiaoHe -EnumCount=6 -DefaultValue=Ziranma - -[Correction/VU] -Description=V -> U -Type=Boolean -DefaultValue=False - -[Correction/GNNG] -Description=GN -> NG -Type=Boolean -DefaultValue=False - -[Correction/MGNG] -Description=MG -> NG -Type=Boolean -DefaultValue=False - -[Correction/IOUIU] -Description=IOU -> IU -Type=Boolean -DefaultValue=False - -[Correction/UEIUI] -Description=UEI -> UI -Type=Boolean -DefaultValue=False - -[Correction/UENUN] -Description=UEN -> UN -Type=Boolean -DefaultValue=False - -[Correction/UEVE] -Description=UE -> VE -Type=Boolean -DefaultValue=False - -[Correction/ONONG] -Description=ON -> ONG -Type=Boolean -DefaultValue=False - -[Ambiguity/CiChi] -Description=Ci <-> Chi -Type=Boolean -DefaultValue=False - -[Ambiguity/ZiZhi] -Description=Zi <-> Zhi -Type=Boolean -DefaultValue=False - -[Ambiguity/SiShi] -Description=Si <-> Shi -Type=Boolean -DefaultValue=False - -[Ambiguity/LeNe] -Description=Ne <-> Le -Type=Boolean -DefaultValue=False - -[Ambiguity/FoHe] -Description=Fo <-> He -Type=Boolean -DefaultValue=False - -[Ambiguity/LeRi] -Description=Le <-> Ri -Type=Boolean -DefaultValue=False - -[Ambiguity/GeKe] -Description=Ge <-> Ke -Type=Boolean -DefaultValue=False - -[Ambiguity/AnAng] -Description=An <-> Ang -Type=Boolean -DefaultValue=False - -[Ambiguity/EnEng] -Description=En <-> Eng -Type=Boolean -DefaultValue=False - -[Ambiguity/InIng] -Description=In <-> Ing -Type=Boolean -DefaultValue=False - -[DescriptionFile] -LocaleDomain=fcitx-libpinyin Binary files /tmp/48msp57hH7/fcitx-libpinyin-0.2.1/data/model.text.20120921.tar.gz and /tmp/_ZuOLrT_mx/fcitx-libpinyin-0.2.92/data/model.text.20120921.tar.gz differ Binary files /tmp/48msp57hH7/fcitx-libpinyin-0.2.1/data/model.text.20130308.tar.gz and /tmp/_ZuOLrT_mx/fcitx-libpinyin-0.2.92/data/model.text.20130308.tar.gz differ diff -Nru fcitx-libpinyin-0.2.1/data/pinyin-libpinyin.conf.in fcitx-libpinyin-0.2.92/data/pinyin-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/data/pinyin-libpinyin.conf.in 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/pinyin-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[InputMethod] -UniqueName=pinyin-libpinyin -_Name=Pinyin (LibPinyin) -IconName=pinyin -Priority=1 -LangCode=zh_CN -Parent=fcitx-libpinyin \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/data/shuangpin-libpinyin.conf.in fcitx-libpinyin-0.2.92/data/shuangpin-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/data/shuangpin-libpinyin.conf.in 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/shuangpin-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[InputMethod] -UniqueName=shuangpin-libpinyin -_Name=Shuangpin (LibPinyin) -IconName=shuangpin -Priority=1 -LangCode=zh_CN -Parent=fcitx-libpinyin \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/data/table.conf fcitx-libpinyin-0.2.92/data/table.conf --- fcitx-libpinyin-0.2.1/data/table.conf 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/table.conf 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,17 @@ +binary format version:3 +model data version:5 +lambda parameter:0.347121 + +4 art.table art.bin art.dbin DICTIONARY +5 culture.table culture.bin culture.dbin DICTIONARY +6 economy.table economy.bin economy.dbin DICTIONARY +7 geology.table geology.bin geology.dbin DICTIONARY +8 history.table history.bin history.dbin DICTIONARY + +9 life.table life.bin life.dbin DICTIONARY +10 nature.table nature.bin nature.dbin DICTIONARY +11 scitech.table scitech.bin scitech.dbin DICTIONARY +12 society.table society.bin society.dbin DICTIONARY +13 sport.table sport.bin sport.dbin DICTIONARY + +14 NULL NULL import.bin USER_FILE \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/data/zhuyin-libpinyin.conf.in fcitx-libpinyin-0.2.92/data/zhuyin-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/data/zhuyin-libpinyin.conf.in 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/data/zhuyin-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -[InputMethod] -UniqueName=zhuyin-libpinyin -_Name=Bopomofo (LibPinyin) -IconName=bopomofo -Priority=1 -LangCode=zh_TW -Parent=fcitx-libpinyin \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/debian/changelog fcitx-libpinyin-0.2.92/debian/changelog --- fcitx-libpinyin-0.2.1/debian/changelog 2013-02-16 09:48:11.000000000 +0000 +++ fcitx-libpinyin-0.2.92/debian/changelog 2013-09-30 12:41:13.000000000 +0000 @@ -1,3 +1,12 @@ +fcitx-libpinyin (0.2.92-1) unstable; urgency=low + + * Imported Upstream version 0.2.92 + * Remove DMUA stantz + * Bump build with libpinyin4 + * Add fcitx-bin to build-dep + + -- YunQiang Su Mon, 30 Sep 2013 20:20:26 +0800 + fcitx-libpinyin (0.2.1-2) unstable; urgency=low * Upload to unstable. diff -Nru fcitx-libpinyin-0.2.1/debian/control fcitx-libpinyin-0.2.92/debian/control --- fcitx-libpinyin-0.2.1/debian/control 2013-02-16 09:47:43.000000000 +0000 +++ fcitx-libpinyin-0.2.92/debian/control 2013-09-30 12:40:19.000000000 +0000 @@ -3,8 +3,7 @@ Priority: optional Maintainer: IME Packaging Team Uploaders: Aron Xu , YunQiang Su -DM-Upload-Allowed: yes -Build-Depends: debhelper (>= 9), cmake, fcitx-libs-dev (>= 4.2.5), libpinyin2-dev (>= 0.7.0), +Build-Depends: debhelper (>= 9), cmake, fcitx-libs-dev (>= 4.2.7), fcitx-bin (>= 4.2.7), libpinyin4-dev (>= 0.9.93), libpinyin-utils, intltool, pkg-config, libglib2.0-dev Standards-Version: 3.9.4 Homepage: http://code.googlecode.com/p/fcitx diff -Nru fcitx-libpinyin-0.2.1/po/CMakeLists.txt fcitx-libpinyin-0.2.92/po/CMakeLists.txt --- fcitx-libpinyin-0.2.1/po/CMakeLists.txt 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/CMakeLists.txt 2013-04-30 05:04:31.000000000 +0000 @@ -1,26 +1,5 @@ -file(GLOB PO_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po) -file(RELATIVE_PATH REL_SOURCE_ROOT ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}) -if ("${REL_SOURCE_ROOT}" STREQUAL "") - set(REL_SOURCE_ROOT ".") -endif("${REL_SOURCE_ROOT}" STREQUAL "") - -set(POT_FILE fcitx-libpinyin.pot) - -configure_file(POTFILES.in.in ${CMAKE_CURRENT_BINARY_DIR}/POTFILES.in) - -extract_fcitx_addon_conf_postring() - -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/desc.po - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/getdescpo ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS getdescpo) - -add_custom_target( - pot - COMMAND INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT} srcdir=${CMAKE_CURRENT_BINARY_DIR} ${INTLTOOL_UPDATE} --gettext-package fcitx-libpinyin --pot - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/conf.po ${CMAKE_CURRENT_BINARY_DIR}/desc.po - ) - -# Update .po files and compile them to binary .gmo files -gettext_create_translations(${POT_FILE} ALL ${PO_FILES}) - +set(PO_LANGS zh_CN zh_TW ja) +foreach(lang ${PO_LANGS}) + fcitx_translate_add_po_file("${lang}" "${lang}.po") +endforeach() +fcitx_translate_set_pot_target(pot fcitx-libpinyin fcitx-libpinyin.pot) diff -Nru fcitx-libpinyin-0.2.1/po/POTFILES.in.in fcitx-libpinyin-0.2.92/po/POTFILES.in.in --- fcitx-libpinyin-0.2.1/po/POTFILES.in.in 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/POTFILES.in.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -# List of source files which contain translatable strings. -./po/desc.po -./po/conf.po -@REL_SOURCE_ROOT@/src/eim.cpp -@REL_SOURCE_ROOT@/src/eim.h -@REL_SOURCE_ROOT@/src/config.cpp -@REL_SOURCE_ROOT@/data/fcitx-libpinyin.conf.in -@REL_SOURCE_ROOT@/data/pinyin-libpinyin.conf.in -@REL_SOURCE_ROOT@/data/shuangpin-libpinyin.conf.in -@REL_SOURCE_ROOT@/data/zhuyin-libpinyin.conf.in diff -Nru fcitx-libpinyin-0.2.1/po/fcitx-libpinyin.pot fcitx-libpinyin-0.2.92/po/fcitx-libpinyin.pot --- fcitx-libpinyin-0.2.1/po/fcitx-libpinyin.pot 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/fcitx-libpinyin.pot 2013-04-30 05:04:31.000000000 +0000 @@ -7,219 +7,274 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-16 03:55+0800\n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-30 01:03-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" +"Language: LANG\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:2 +#: src/eim.cpp:886 src/pinyin-libpinyin.conf.in:3 +msgid "Pinyin (LibPinyin)" +msgstr "" + +#: src/eim.cpp:903 src/shuangpin-libpinyin.conf.in:3 +msgid "Shuangpin (LibPinyin)" +msgstr "" + +#: src/eim.cpp:920 src/zhuyin-libpinyin.conf.in:3 +msgid "Bopomofo (LibPinyin)" +msgstr "" + +#: src/fcitx-libpinyin.conf.in:3 +msgid "LibPinyin" +msgstr "" + +#: src/fcitx-libpinyin.conf.in:4 +msgid "LibPinyin Wrapper For Fcitx" +msgstr "" + +#: src/fcitx-libpinyin.desc:1 src/fcitx-libpinyin.desc:6 +msgid "Pinyin" +msgstr "" + +#: src/fcitx-libpinyin.desc:2 msgid "Use Incomplete pinyin" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:7 +#: src/fcitx-libpinyin.desc:7 msgid "Use Traditional Chinese Data for Pinyin and Shuangpin (Need Restart)" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:12 +#: src/fcitx-libpinyin.desc:11 src/fcitx-libpinyin.desc:16 +#: src/fcitx-libpinyin.desc:21 src/fcitx-libpinyin.desc:31 +#: src/fcitx-libpinyin.desc:40 src/fcitx-libpinyin.desc:45 +#: src/fcitx-libpinyin.desc:50 +msgid "Zhuyin" +msgstr "" + +#: src/fcitx-libpinyin.desc:12 msgid "Use Tone" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:17 +#: src/fcitx-libpinyin.desc:17 msgid "Use Incomplete Zhuyin" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:22 +#: src/fcitx-libpinyin.desc:22 msgid "Zhuyin Layout" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:32 +#: src/fcitx-libpinyin.desc:24 +msgid "Standard" +msgstr "" + +#: src/fcitx-libpinyin.desc:25 +msgid "IBM" +msgstr "" + +#: src/fcitx-libpinyin.desc:26 +msgid "GinYieh" +msgstr "" + +#: src/fcitx-libpinyin.desc:27 +msgid "ET" +msgstr "" + +#: src/fcitx-libpinyin.desc:32 msgid "Zhuyin candidate choosing modifiers" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:41 -msgid "Zhuyin Prev Page" +#: src/fcitx-libpinyin.desc:34 +msgid "Ctrl" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:46 -msgid "Zhuyin Next Page" +#: src/fcitx-libpinyin.desc:35 +msgid "Alt" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:51 -msgid "Use Simplified Chinese Data for Zhuyin (Need Restart)" +#: src/fcitx-libpinyin.desc:36 +msgid "Shift" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:56 -msgid "Shuangpin Scheme" +#: src/fcitx-libpinyin.desc:41 +msgid "Zhuyin Prev Page" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:68 -msgid "V -> U" +#: src/fcitx-libpinyin.desc:46 +msgid "Zhuyin Next Page" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:73 -msgid "GN -> NG" +#: src/fcitx-libpinyin.desc:51 +msgid "Use Simplified Chinese Data for Zhuyin (Need Restart)" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:78 -msgid "MG -> NG" +#: src/fcitx-libpinyin.desc:55 +msgid "Shuangpin" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:83 -msgid "IOU -> IU" +#: src/fcitx-libpinyin.desc:56 +msgid "Shuangpin Scheme" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:88 -msgid "UEI -> UI" +#: src/fcitx-libpinyin.desc:58 +msgid "Ziranma" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:93 -msgid "UEN -> UN" +#: src/fcitx-libpinyin.desc:59 +msgid "Microsoft" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:98 -msgid "UE -> VE" +#: src/fcitx-libpinyin.desc:60 +msgid "ZiGuang" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:103 -msgid "ON -> ONG" +#: src/fcitx-libpinyin.desc:61 +msgid "ABC" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:108 -msgid "Ci <-> Chi" +#: src/fcitx-libpinyin.desc:62 +msgid "PinyinJiaJia" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:113 -msgid "Zi <-> Zhi" +#: src/fcitx-libpinyin.desc:63 +msgid "XiaoHe" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:118 -msgid "Si <-> Shi" +#: src/fcitx-libpinyin.desc:67 src/fcitx-libpinyin.desc:72 +#: src/fcitx-libpinyin.desc:77 src/fcitx-libpinyin.desc:82 +#: src/fcitx-libpinyin.desc:87 src/fcitx-libpinyin.desc:92 +#: src/fcitx-libpinyin.desc:97 src/fcitx-libpinyin.desc:102 +msgid "Correction" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:123 -msgid "Ne <-> Le" +#: src/fcitx-libpinyin.desc:68 +msgid "V -> U" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:128 -msgid "Fo <-> He" +#: src/fcitx-libpinyin.desc:73 +msgid "GN -> NG" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:133 -msgid "Le <-> Ri" +#: src/fcitx-libpinyin.desc:78 +msgid "MG -> NG" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:138 -msgid "Ge <-> Ke" +#: src/fcitx-libpinyin.desc:83 +msgid "IOU -> IU" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:143 -msgid "An <-> Ang" +#: src/fcitx-libpinyin.desc:88 +msgid "UEI -> UI" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:148 -msgid "En <-> Eng" +#: src/fcitx-libpinyin.desc:93 +msgid "UEN -> UN" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:153 -msgid "In <-> Ing" +#: src/fcitx-libpinyin.desc:98 +msgid "UE -> VE" msgstr "" -# unknown -msgid "Ambiguity" +#: src/fcitx-libpinyin.desc:103 +msgid "ON -> ONG" msgstr "" -# unknown -msgid "Correction" +#: src/fcitx-libpinyin.desc:107 src/fcitx-libpinyin.desc:112 +#: src/fcitx-libpinyin.desc:117 src/fcitx-libpinyin.desc:122 +#: src/fcitx-libpinyin.desc:127 src/fcitx-libpinyin.desc:132 +#: src/fcitx-libpinyin.desc:137 src/fcitx-libpinyin.desc:142 +#: src/fcitx-libpinyin.desc:147 src/fcitx-libpinyin.desc:152 +msgid "Ambiguity" msgstr "" -# unknown -msgid "Pinyin" +#: src/fcitx-libpinyin.desc:108 +msgid "Ci <-> Chi" msgstr "" -# unknown -msgid "Shuangpin" +#: src/fcitx-libpinyin.desc:113 +msgid "Zi <-> Zhi" msgstr "" -# unknown -msgid "Zhuyin" +#: src/fcitx-libpinyin.desc:118 +msgid "Si <-> Shi" msgstr "" -#: unknown -msgid "ABC" +#: src/fcitx-libpinyin.desc:123 +msgid "Ne <-> Le" msgstr "" -#: unknown -msgid "Alt" +#: src/fcitx-libpinyin.desc:128 +msgid "Fo <-> He" msgstr "" -#: unknown -msgid "Ctrl" +#: src/fcitx-libpinyin.desc:133 +msgid "Le <-> Ri" msgstr "" -#: unknown -msgid "ET" +#: src/fcitx-libpinyin.desc:138 +msgid "Ge <-> Ke" msgstr "" -#: unknown -msgid "GinYieh" +#: src/fcitx-libpinyin.desc:143 +msgid "An <-> Ang" msgstr "" -#: unknown -msgid "IBM" +#: src/fcitx-libpinyin.desc:148 +msgid "En <-> Eng" msgstr "" -#: unknown -msgid "Microsoft" +#: src/fcitx-libpinyin.desc:153 +msgid "In <-> Ing" msgstr "" -#: unknown -msgid "PinyinJiaJia" +#: src/fcitx-libpinyin.desc:157 src/fcitx-libpinyin.desc:162 +#: src/fcitx-libpinyin.desc:167 src/fcitx-libpinyin.desc:172 +#: src/fcitx-libpinyin.desc:177 src/fcitx-libpinyin.desc:182 +#: src/fcitx-libpinyin.desc:187 src/fcitx-libpinyin.desc:192 +#: src/fcitx-libpinyin.desc:197 src/fcitx-libpinyin.desc:202 +msgid "Dictionary" msgstr "" -#: unknown -msgid "Shift" +#: src/fcitx-libpinyin.desc:158 +msgid "Art" msgstr "" -#: unknown -msgid "Standard" +#: src/fcitx-libpinyin.desc:163 +msgid "Culture" msgstr "" -#: unknown -msgid "XiaoHe" +#: src/fcitx-libpinyin.desc:168 +msgid "Economy" msgstr "" -#: unknown -msgid "ZiGuang" +#: src/fcitx-libpinyin.desc:173 +msgid "Geology" msgstr "" -#: unknown -msgid "Ziranma" +#: src/fcitx-libpinyin.desc:178 +msgid "History" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/fcitx-libpinyin.conf.in.h:1 -msgid "LibPinyin" +#: src/fcitx-libpinyin.desc:183 +msgid "Life" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/fcitx-libpinyin.conf.in.h:2 -msgid "LibPinyin Wrapper For Fcitx" +#: src/fcitx-libpinyin.desc:188 +msgid "Nature" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/pinyin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:836 -msgid "Pinyin (LibPinyin)" +#: src/fcitx-libpinyin.desc:193 +msgid "Science & Technology" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/shuangpin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:853 -msgid "Shuangpin (LibPinyin)" +#: src/fcitx-libpinyin.desc:198 +msgid "Society" msgstr "" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/zhuyin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:870 -msgid "Bopomofo (LibPinyin)" +#: src/fcitx-libpinyin.desc:203 +msgid "Sport" msgstr "" diff -Nru fcitx-libpinyin-0.2.1/po/getdescpo fcitx-libpinyin-0.2.92/po/getdescpo --- fcitx-libpinyin-0.2.1/po/getdescpo 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/getdescpo 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -#!/bin/sh -filename=desc.po -indir=$1 -outdir=$2 - -cd "$outdir" - -rm -f "$outdir/$filename"; touch "$outdir/$filename" - -cat > "$outdir/$filename" <, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2010-11-17 11:48+0800\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=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -EOF - -cd $indir - -descfiles=`find "$indir" -name ".hg" -prune -or -name "test" -prune -or -iname "*.desc" | grep desc` - -# Extract Description -for f in $descfiles -do - awk '/^[\t ]*Description=/ { print "\n#: '$f':" NR"\n" "msgid \"" substr($0, 13)"\"\n" "msgstr \"\""}' "$f" >> "$outdir/$filename" -done - -# Extract Group Name -grep -nH '^\[' $descfiles | grep -v 'DescriptionFile' | awk ' "^[" { split($0, a, ":"); split(a[3], b, "/"); print substr(b[1], 2); }' | sort | uniq | awk '{ print "# unknown\nmsgid \""$0"\"\nmsgstr \"\"\n"; }' >> "$outdir/$filename" - -# Extract Enum Name -grep -h 'Enum[0-9]' $descfiles | sed -e 's/Enum[0-9]=//g' | sort | uniq | awk '{ print "#: unknown\nmsgid \""$0"\"\nmsgstr \"\"\n"; }' >> "$outdir/$filename" - diff -Nru fcitx-libpinyin-0.2.1/po/ja.po fcitx-libpinyin-0.2.92/po/ja.po --- fcitx-libpinyin-0.2.1/po/ja.po 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/ja.po 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,282 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# しろう <>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: fcitx\n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-30 01:03-0400\n" +"PO-Revision-Date: 2013-04-29 10:03+0000\n" +"Last-Translator: Xuetian Weng \n" +"Language-Team: Japanese (http://www.transifex.com/projects/p/fcitx/language/" +"ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/fcitx-libpinyin.desc:61 +msgid "ABC" +msgstr "ABC" + +#: src/fcitx-libpinyin.desc:35 +msgid "Alt" +msgstr "Alt" + +#: src/fcitx-libpinyin.desc:107 src/fcitx-libpinyin.desc:112 +#: src/fcitx-libpinyin.desc:117 src/fcitx-libpinyin.desc:122 +#: src/fcitx-libpinyin.desc:127 src/fcitx-libpinyin.desc:132 +#: src/fcitx-libpinyin.desc:137 src/fcitx-libpinyin.desc:142 +#: src/fcitx-libpinyin.desc:147 src/fcitx-libpinyin.desc:152 +msgid "Ambiguity" +msgstr "曖昧さ" + +#: src/fcitx-libpinyin.desc:143 +msgid "An <-> Ang" +msgstr "An <-> Ang" + +#: src/fcitx-libpinyin.desc:158 +msgid "Art" +msgstr "芸術" + +#: src/eim.cpp:920 src/zhuyin-libpinyin.conf.in:3 +msgid "Bopomofo (LibPinyin)" +msgstr "Bopomofo (LibPinyin)" + +#: src/fcitx-libpinyin.desc:108 +msgid "Ci <-> Chi" +msgstr "Ci <-> Chi" + +#: src/fcitx-libpinyin.desc:67 src/fcitx-libpinyin.desc:72 +#: src/fcitx-libpinyin.desc:77 src/fcitx-libpinyin.desc:82 +#: src/fcitx-libpinyin.desc:87 src/fcitx-libpinyin.desc:92 +#: src/fcitx-libpinyin.desc:97 src/fcitx-libpinyin.desc:102 +msgid "Correction" +msgstr "修正" + +#: src/fcitx-libpinyin.desc:34 +msgid "Ctrl" +msgstr "Ctrl" + +#: src/fcitx-libpinyin.desc:163 +msgid "Culture" +msgstr "文化" + +#: src/fcitx-libpinyin.desc:157 src/fcitx-libpinyin.desc:162 +#: src/fcitx-libpinyin.desc:167 src/fcitx-libpinyin.desc:172 +#: src/fcitx-libpinyin.desc:177 src/fcitx-libpinyin.desc:182 +#: src/fcitx-libpinyin.desc:187 src/fcitx-libpinyin.desc:192 +#: src/fcitx-libpinyin.desc:197 src/fcitx-libpinyin.desc:202 +msgid "Dictionary" +msgstr "辞書" + +#: src/fcitx-libpinyin.desc:27 +msgid "ET" +msgstr "ET" + +#: src/fcitx-libpinyin.desc:168 +msgid "Economy" +msgstr "経済" + +#: src/fcitx-libpinyin.desc:148 +msgid "En <-> Eng" +msgstr "En <-> Eng" + +#: src/fcitx-libpinyin.desc:128 +msgid "Fo <-> He" +msgstr "Fo <-> He" + +#: src/fcitx-libpinyin.desc:73 +msgid "GN -> NG" +msgstr "GN -> NG" + +#: src/fcitx-libpinyin.desc:138 +msgid "Ge <-> Ke" +msgstr "Ge <-> Ke" + +#: src/fcitx-libpinyin.desc:173 +msgid "Geology" +msgstr "地理" + +#: src/fcitx-libpinyin.desc:26 +msgid "GinYieh" +msgstr "GinYieh" + +#: src/fcitx-libpinyin.desc:178 +msgid "History" +msgstr "歴史" + +#: src/fcitx-libpinyin.desc:25 +msgid "IBM" +msgstr "IBM" + +#: src/fcitx-libpinyin.desc:83 +msgid "IOU -> IU" +msgstr "IOU -> IU" + +#: src/fcitx-libpinyin.desc:153 +msgid "In <-> Ing" +msgstr "In <-> Ing" + +#: src/fcitx-libpinyin.desc:133 +msgid "Le <-> Ri" +msgstr "Le <-> Ri" + +#: src/fcitx-libpinyin.conf.in:3 +msgid "LibPinyin" +msgstr "LibPinyin" + +#: src/fcitx-libpinyin.conf.in:4 +msgid "LibPinyin Wrapper For Fcitx" +msgstr "Fcitx 用 LibPinyin ラッパー" + +#: src/fcitx-libpinyin.desc:183 +msgid "Life" +msgstr "生活" + +#: src/fcitx-libpinyin.desc:78 +msgid "MG -> NG" +msgstr "MG -> NG" + +#: src/fcitx-libpinyin.desc:59 +msgid "Microsoft" +msgstr "Microsoft" + +#: src/fcitx-libpinyin.desc:188 +msgid "Nature" +msgstr "自然" + +#: src/fcitx-libpinyin.desc:123 +msgid "Ne <-> Le" +msgstr "Ne <-> Le" + +#: src/fcitx-libpinyin.desc:103 +msgid "ON -> ONG" +msgstr "ON -> ONG" + +#: src/fcitx-libpinyin.desc:1 src/fcitx-libpinyin.desc:6 +msgid "Pinyin" +msgstr "Pinyin" + +#: src/eim.cpp:886 src/pinyin-libpinyin.conf.in:3 +msgid "Pinyin (LibPinyin)" +msgstr "Pinyin (LibPinyin)" + +#: src/fcitx-libpinyin.desc:62 +msgid "PinyinJiaJia" +msgstr "PinyinJiaJia" + +#: src/fcitx-libpinyin.desc:193 +msgid "Science & Technology" +msgstr "科学技術" + +#: src/fcitx-libpinyin.desc:36 +msgid "Shift" +msgstr "Shift" + +#: src/fcitx-libpinyin.desc:55 +msgid "Shuangpin" +msgstr "Shuangpin" + +#: src/eim.cpp:903 src/shuangpin-libpinyin.conf.in:3 +msgid "Shuangpin (LibPinyin)" +msgstr "Shuangpin (LibPinyin)" + +#: src/fcitx-libpinyin.desc:56 +msgid "Shuangpin Scheme" +msgstr "Shuangpin スキーマー" + +#: src/fcitx-libpinyin.desc:118 +msgid "Si <-> Shi" +msgstr "Si <-> Shi" + +#: src/fcitx-libpinyin.desc:198 +msgid "Society" +msgstr "社会" + +#: src/fcitx-libpinyin.desc:203 +msgid "Sport" +msgstr "スポーツ" + +#: src/fcitx-libpinyin.desc:24 +msgid "Standard" +msgstr "スタンダード" + +#: src/fcitx-libpinyin.desc:98 +msgid "UE -> VE" +msgstr "UE -> VE" + +#: src/fcitx-libpinyin.desc:88 +msgid "UEI -> UI" +msgstr "UEI -> UI" + +#: src/fcitx-libpinyin.desc:93 +msgid "UEN -> UN" +msgstr "UEN -> UN" + +#: src/fcitx-libpinyin.desc:17 +msgid "Use Incomplete Zhuyin" +msgstr "不完全な Zhuyin を使用" + +#: src/fcitx-libpinyin.desc:2 +msgid "Use Incomplete pinyin" +msgstr "不完全なPinyinを使用" + +#: src/fcitx-libpinyin.desc:51 +msgid "Use Simplified Chinese Data for Zhuyin (Need Restart)" +msgstr "Zhuyin で中国語簡体字のデータを使う (再起動が必要)" + +#: src/fcitx-libpinyin.desc:12 +msgid "Use Tone" +msgstr "トーンを使う" + +#: src/fcitx-libpinyin.desc:7 +msgid "Use Traditional Chinese Data for Pinyin and Shuangpin (Need Restart)" +msgstr "Pinyin に中国語繁体字のデータを使う (再起動が必要)" + +#: src/fcitx-libpinyin.desc:68 +msgid "V -> U" +msgstr "V -> U" + +#: src/fcitx-libpinyin.desc:63 +msgid "XiaoHe" +msgstr "XiaoHe" + +#: src/fcitx-libpinyin.desc:11 src/fcitx-libpinyin.desc:16 +#: src/fcitx-libpinyin.desc:21 src/fcitx-libpinyin.desc:31 +#: src/fcitx-libpinyin.desc:40 src/fcitx-libpinyin.desc:45 +#: src/fcitx-libpinyin.desc:50 +msgid "Zhuyin" +msgstr "Zhuyin" + +#: src/fcitx-libpinyin.desc:22 +msgid "Zhuyin Layout" +msgstr "Zhuyin レイアウト" + +#: src/fcitx-libpinyin.desc:46 +msgid "Zhuyin Next Page" +msgstr "Zhuyin 次のページ" + +#: src/fcitx-libpinyin.desc:41 +msgid "Zhuyin Prev Page" +msgstr "Zhuyin 前のページ" + +#: src/fcitx-libpinyin.desc:32 +msgid "Zhuyin candidate choosing modifiers" +msgstr "Zhuyin 候補選択の修飾キー" + +#: src/fcitx-libpinyin.desc:113 +msgid "Zi <-> Zhi" +msgstr "Zi <-> Zhi" + +#: src/fcitx-libpinyin.desc:60 +msgid "ZiGuang" +msgstr "ZiGuang" + +#: src/fcitx-libpinyin.desc:58 +msgid "Ziranma" +msgstr "Ziranma" diff -Nru fcitx-libpinyin-0.2.1/po/zh_CN.po fcitx-libpinyin-0.2.92/po/zh_CN.po --- fcitx-libpinyin-0.2.1/po/zh_CN.po 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/zh_CN.po 2013-04-30 05:04:31.000000000 +0000 @@ -3,224 +3,279 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Weng Xuetian , 2010, 2011, 2012. +# Xuetian Weng , 2010-2013 msgid "" msgstr "" "Project-Id-Version: fcitx\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-16 03:55+0800\n" -"PO-Revision-Date: 2012-03-03 14:15+0000\n" -"Last-Translator: csslayer \n" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-30 01:03-0400\n" +"PO-Revision-Date: 2013-04-29 10:03+0000\n" +"Last-Translator: Xuetian Weng \n" "Language-Team: Chinese (China) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: unknown +#: src/fcitx-libpinyin.desc:61 msgid "ABC" msgstr "智能 ABC" -#: unknown +#: src/fcitx-libpinyin.desc:35 msgid "Alt" msgstr "Alt" -# unknown +#: src/fcitx-libpinyin.desc:107 src/fcitx-libpinyin.desc:112 +#: src/fcitx-libpinyin.desc:117 src/fcitx-libpinyin.desc:122 +#: src/fcitx-libpinyin.desc:127 src/fcitx-libpinyin.desc:132 +#: src/fcitx-libpinyin.desc:137 src/fcitx-libpinyin.desc:142 +#: src/fcitx-libpinyin.desc:147 src/fcitx-libpinyin.desc:152 msgid "Ambiguity" msgstr "模糊音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:143 +#: src/fcitx-libpinyin.desc:143 msgid "An <-> Ang" msgstr "An <-> Ang" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/zhuyin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:870 +#: src/fcitx-libpinyin.desc:158 +msgid "Art" +msgstr "艺术" + +#: src/eim.cpp:920 src/zhuyin-libpinyin.conf.in:3 msgid "Bopomofo (LibPinyin)" msgstr "注音 (LibPinyin)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:108 +#: src/fcitx-libpinyin.desc:108 msgid "Ci <-> Chi" msgstr "Ci <-> Chi" -# unknown +#: src/fcitx-libpinyin.desc:67 src/fcitx-libpinyin.desc:72 +#: src/fcitx-libpinyin.desc:77 src/fcitx-libpinyin.desc:82 +#: src/fcitx-libpinyin.desc:87 src/fcitx-libpinyin.desc:92 +#: src/fcitx-libpinyin.desc:97 src/fcitx-libpinyin.desc:102 msgid "Correction" msgstr "纠正" -#: unknown +#: src/fcitx-libpinyin.desc:34 msgid "Ctrl" msgstr "Ctrl" -#: unknown +#: src/fcitx-libpinyin.desc:163 +msgid "Culture" +msgstr "文化" + +#: src/fcitx-libpinyin.desc:157 src/fcitx-libpinyin.desc:162 +#: src/fcitx-libpinyin.desc:167 src/fcitx-libpinyin.desc:172 +#: src/fcitx-libpinyin.desc:177 src/fcitx-libpinyin.desc:182 +#: src/fcitx-libpinyin.desc:187 src/fcitx-libpinyin.desc:192 +#: src/fcitx-libpinyin.desc:197 src/fcitx-libpinyin.desc:202 +msgid "Dictionary" +msgstr "词典" + +#: src/fcitx-libpinyin.desc:27 msgid "ET" msgstr "倚天" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:148 +#: src/fcitx-libpinyin.desc:168 +msgid "Economy" +msgstr "经济" + +#: src/fcitx-libpinyin.desc:148 msgid "En <-> Eng" msgstr "En <-> Eng" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:128 +#: src/fcitx-libpinyin.desc:128 msgid "Fo <-> He" msgstr "Fo <-> He" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:73 +#: src/fcitx-libpinyin.desc:73 msgid "GN -> NG" msgstr "GN -> NG" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:138 +#: src/fcitx-libpinyin.desc:138 msgid "Ge <-> Ke" msgstr "Ge <-> Ke" -#: unknown +#: src/fcitx-libpinyin.desc:173 +msgid "Geology" +msgstr "地理" + +#: src/fcitx-libpinyin.desc:26 msgid "GinYieh" msgstr "精业" -#: unknown +#: src/fcitx-libpinyin.desc:178 +msgid "History" +msgstr "历史" + +#: src/fcitx-libpinyin.desc:25 msgid "IBM" msgstr "IBM" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:83 +#: src/fcitx-libpinyin.desc:83 msgid "IOU -> IU" msgstr "IOU -> IU" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:153 +#: src/fcitx-libpinyin.desc:153 msgid "In <-> Ing" msgstr "In <-> Ing" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:133 +#: src/fcitx-libpinyin.desc:133 msgid "Le <-> Ri" msgstr "Le <-> Ri" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/fcitx-libpinyin.conf.in.h:1 +#: src/fcitx-libpinyin.conf.in:3 msgid "LibPinyin" msgstr "LibPinyin" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/fcitx-libpinyin.conf.in.h:2 +#: src/fcitx-libpinyin.conf.in:4 msgid "LibPinyin Wrapper For Fcitx" msgstr "Fcitx 的 LibPinyin 封装" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:78 +#: src/fcitx-libpinyin.desc:183 +msgid "Life" +msgstr "生活" + +#: src/fcitx-libpinyin.desc:78 msgid "MG -> NG" msgstr "MG -> NG" -#: unknown +#: src/fcitx-libpinyin.desc:59 msgid "Microsoft" msgstr "微软" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:123 +#: src/fcitx-libpinyin.desc:188 +msgid "Nature" +msgstr "自然" + +#: src/fcitx-libpinyin.desc:123 msgid "Ne <-> Le" msgstr "Ne <-> Le" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:103 +#: src/fcitx-libpinyin.desc:103 msgid "ON -> ONG" msgstr "ON -> ONG" -# unknown +#: src/fcitx-libpinyin.desc:1 src/fcitx-libpinyin.desc:6 msgid "Pinyin" msgstr "拼音" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/pinyin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:836 +#: src/eim.cpp:886 src/pinyin-libpinyin.conf.in:3 msgid "Pinyin (LibPinyin)" msgstr "拼音 (LibPinyin)" -#: unknown +#: src/fcitx-libpinyin.desc:62 msgid "PinyinJiaJia" msgstr "拼音加加" -#: unknown +#: src/fcitx-libpinyin.desc:193 +msgid "Science & Technology" +msgstr "科学技术" + +#: src/fcitx-libpinyin.desc:36 msgid "Shift" msgstr "Shift" -# unknown +#: src/fcitx-libpinyin.desc:55 msgid "Shuangpin" msgstr "双拼" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/shuangpin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:853 +#: src/eim.cpp:903 src/shuangpin-libpinyin.conf.in:3 msgid "Shuangpin (LibPinyin)" msgstr "双拼 (LibPinyin)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:56 +#: src/fcitx-libpinyin.desc:56 msgid "Shuangpin Scheme" msgstr "双拼方案" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:118 +#: src/fcitx-libpinyin.desc:118 msgid "Si <-> Shi" msgstr "Si <-> Shi" -#: unknown +#: src/fcitx-libpinyin.desc:198 +msgid "Society" +msgstr "社会" + +#: src/fcitx-libpinyin.desc:203 +msgid "Sport" +msgstr "运动" + +#: src/fcitx-libpinyin.desc:24 msgid "Standard" msgstr "标准" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:98 +#: src/fcitx-libpinyin.desc:98 msgid "UE -> VE" msgstr "UE -> VE" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:88 +#: src/fcitx-libpinyin.desc:88 msgid "UEI -> UI" msgstr "UEI -> UI" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:93 +#: src/fcitx-libpinyin.desc:93 msgid "UEN -> UN" msgstr "UEN -> UN" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:17 +#: src/fcitx-libpinyin.desc:17 msgid "Use Incomplete Zhuyin" msgstr "使用不完整注音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:2 +#: src/fcitx-libpinyin.desc:2 msgid "Use Incomplete pinyin" msgstr "使用不完整拼音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:51 +#: src/fcitx-libpinyin.desc:51 msgid "Use Simplified Chinese Data for Zhuyin (Need Restart)" msgstr "注音使用简体中文数据 (需要重启)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:12 +#: src/fcitx-libpinyin.desc:12 msgid "Use Tone" msgstr "使用声调" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:7 +#: src/fcitx-libpinyin.desc:7 msgid "Use Traditional Chinese Data for Pinyin and Shuangpin (Need Restart)" msgstr "拼音和双拼使用繁体中文数据 (需要重启)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:68 +#: src/fcitx-libpinyin.desc:68 msgid "V -> U" msgstr "V -> U" -#: unknown +#: src/fcitx-libpinyin.desc:63 msgid "XiaoHe" msgstr "小鹤" -# unknown +#: src/fcitx-libpinyin.desc:11 src/fcitx-libpinyin.desc:16 +#: src/fcitx-libpinyin.desc:21 src/fcitx-libpinyin.desc:31 +#: src/fcitx-libpinyin.desc:40 src/fcitx-libpinyin.desc:45 +#: src/fcitx-libpinyin.desc:50 msgid "Zhuyin" msgstr "注音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:22 +#: src/fcitx-libpinyin.desc:22 msgid "Zhuyin Layout" msgstr "注音布局" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:46 +#: src/fcitx-libpinyin.desc:46 msgid "Zhuyin Next Page" msgstr "注音下一页" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:41 +#: src/fcitx-libpinyin.desc:41 msgid "Zhuyin Prev Page" msgstr "注音前一页" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:32 +#: src/fcitx-libpinyin.desc:32 msgid "Zhuyin candidate choosing modifiers" msgstr "注音候选词修饰键" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:113 +#: src/fcitx-libpinyin.desc:113 msgid "Zi <-> Zhi" msgstr "Zi <-> Zhi" -#: unknown +#: src/fcitx-libpinyin.desc:60 msgid "ZiGuang" msgstr "紫光" -#: unknown +#: src/fcitx-libpinyin.desc:58 msgid "Ziranma" msgstr "自然码" diff -Nru fcitx-libpinyin-0.2.1/po/zh_TW.po fcitx-libpinyin-0.2.92/po/zh_TW.po --- fcitx-libpinyin-0.2.1/po/zh_TW.po 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/po/zh_TW.po 2013-04-30 05:04:31.000000000 +0000 @@ -3,226 +3,282 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Alisha , 2012. -# Weng Xuetian , 2012. +# Alisha , 2012 +# Hiunn_Hue , 2012 +# Xuetian Weng , 2012-2013 msgid "" msgstr "" "Project-Id-Version: fcitx\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-02-16 03:55+0800\n" -"PO-Revision-Date: 2012-03-03 14:15+0000\n" -"Last-Translator: csslayer \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.net/projects/p/fcitx/" +"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" +"POT-Creation-Date: 2013-04-30 01:03-0400\n" +"PO-Revision-Date: 2013-04-29 10:03+0000\n" +"Last-Translator: Xuetian Weng \n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/fcitx/" "language/zh_TW/)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: unknown +#: src/fcitx-libpinyin.desc:61 msgid "ABC" msgstr "智能ABC" -#: unknown +#: src/fcitx-libpinyin.desc:35 msgid "Alt" msgstr "Alt" -# unknown +#: src/fcitx-libpinyin.desc:107 src/fcitx-libpinyin.desc:112 +#: src/fcitx-libpinyin.desc:117 src/fcitx-libpinyin.desc:122 +#: src/fcitx-libpinyin.desc:127 src/fcitx-libpinyin.desc:132 +#: src/fcitx-libpinyin.desc:137 src/fcitx-libpinyin.desc:142 +#: src/fcitx-libpinyin.desc:147 src/fcitx-libpinyin.desc:152 msgid "Ambiguity" msgstr "模糊音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:143 +#: src/fcitx-libpinyin.desc:143 msgid "An <-> Ang" msgstr "An <-> Ang" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/zhuyin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:870 +#: src/fcitx-libpinyin.desc:158 +msgid "Art" +msgstr "藝術" + +#: src/eim.cpp:920 src/zhuyin-libpinyin.conf.in:3 msgid "Bopomofo (LibPinyin)" msgstr "注音(LibPinyin)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:108 +#: src/fcitx-libpinyin.desc:108 msgid "Ci <-> Chi" msgstr "Ci <-> Chi" -# unknown +#: src/fcitx-libpinyin.desc:67 src/fcitx-libpinyin.desc:72 +#: src/fcitx-libpinyin.desc:77 src/fcitx-libpinyin.desc:82 +#: src/fcitx-libpinyin.desc:87 src/fcitx-libpinyin.desc:92 +#: src/fcitx-libpinyin.desc:97 src/fcitx-libpinyin.desc:102 msgid "Correction" msgstr "糾正" -#: unknown +#: src/fcitx-libpinyin.desc:34 msgid "Ctrl" msgstr "Ctrl" -#: unknown +#: src/fcitx-libpinyin.desc:163 +msgid "Culture" +msgstr "文化" + +#: src/fcitx-libpinyin.desc:157 src/fcitx-libpinyin.desc:162 +#: src/fcitx-libpinyin.desc:167 src/fcitx-libpinyin.desc:172 +#: src/fcitx-libpinyin.desc:177 src/fcitx-libpinyin.desc:182 +#: src/fcitx-libpinyin.desc:187 src/fcitx-libpinyin.desc:192 +#: src/fcitx-libpinyin.desc:197 src/fcitx-libpinyin.desc:202 +msgid "Dictionary" +msgstr "辭典" + +#: src/fcitx-libpinyin.desc:27 msgid "ET" msgstr "倚天" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:148 +#: src/fcitx-libpinyin.desc:168 +msgid "Economy" +msgstr "經濟" + +#: src/fcitx-libpinyin.desc:148 msgid "En <-> Eng" msgstr "En <-> Eng" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:128 +#: src/fcitx-libpinyin.desc:128 msgid "Fo <-> He" msgstr "Fo <-> He" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:73 +#: src/fcitx-libpinyin.desc:73 msgid "GN -> NG" msgstr "GN -> NG" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:138 +#: src/fcitx-libpinyin.desc:138 msgid "Ge <-> Ke" msgstr "Ge <-> Ke" -#: unknown +#: src/fcitx-libpinyin.desc:173 +msgid "Geology" +msgstr "地質學" + +#: src/fcitx-libpinyin.desc:26 msgid "GinYieh" msgstr "精業" -#: unknown +#: src/fcitx-libpinyin.desc:178 +msgid "History" +msgstr "歷史" + +#: src/fcitx-libpinyin.desc:25 msgid "IBM" msgstr "IBM" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:83 +#: src/fcitx-libpinyin.desc:83 msgid "IOU -> IU" msgstr "IOU -> IU" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:153 +#: src/fcitx-libpinyin.desc:153 msgid "In <-> Ing" msgstr "In <-> Ing" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:133 +#: src/fcitx-libpinyin.desc:133 msgid "Le <-> Ri" msgstr "Le <-> Ri" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/fcitx-libpinyin.conf.in.h:1 +#: src/fcitx-libpinyin.conf.in:3 msgid "LibPinyin" msgstr "LibPinyin" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/fcitx-libpinyin.conf.in.h:2 +#: src/fcitx-libpinyin.conf.in:4 msgid "LibPinyin Wrapper For Fcitx" msgstr "Fcitx 的 LibPinyin 封装" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:78 +#: src/fcitx-libpinyin.desc:183 +msgid "Life" +msgstr "生活" + +#: src/fcitx-libpinyin.desc:78 msgid "MG -> NG" msgstr "MG -> NG" -#: unknown +#: src/fcitx-libpinyin.desc:59 msgid "Microsoft" msgstr "微軟" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:123 +#: src/fcitx-libpinyin.desc:188 +msgid "Nature" +msgstr "自然" + +#: src/fcitx-libpinyin.desc:123 msgid "Ne <-> Le" msgstr "Ne <-> Le" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:103 +#: src/fcitx-libpinyin.desc:103 msgid "ON -> ONG" msgstr "ON -> ONG" -# unknown +#: src/fcitx-libpinyin.desc:1 src/fcitx-libpinyin.desc:6 msgid "Pinyin" msgstr "拼音" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/pinyin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:836 +#: src/eim.cpp:886 src/pinyin-libpinyin.conf.in:3 msgid "Pinyin (LibPinyin)" msgstr "拼音(LibPinyin)" -#: unknown +#: src/fcitx-libpinyin.desc:62 msgid "PinyinJiaJia" msgstr "拼音加加" -#: unknown +#: src/fcitx-libpinyin.desc:193 +msgid "Science & Technology" +msgstr "科學技術" + +#: src/fcitx-libpinyin.desc:36 msgid "Shift" msgstr "Shift" -# unknown +#: src/fcitx-libpinyin.desc:55 msgid "Shuangpin" msgstr "雙拼" -#: /home/saber/Develop/fcitx-libpinyin/build/po/tmp/shuangpin-libpinyin.conf.in.h:1 -#: /home/saber/Develop/fcitx-libpinyin/build/po/../..//src/eim.cpp:853 +#: src/eim.cpp:903 src/shuangpin-libpinyin.conf.in:3 msgid "Shuangpin (LibPinyin)" msgstr "雙拼(LibPinyin)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:56 +#: src/fcitx-libpinyin.desc:56 msgid "Shuangpin Scheme" msgstr "雙拼機制" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:118 +#: src/fcitx-libpinyin.desc:118 msgid "Si <-> Shi" msgstr "Si <-> Shi" -#: unknown +#: src/fcitx-libpinyin.desc:198 +msgid "Society" +msgstr "社會" + +#: src/fcitx-libpinyin.desc:203 +msgid "Sport" +msgstr "運動" + +#: src/fcitx-libpinyin.desc:24 msgid "Standard" msgstr "標準" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:98 +#: src/fcitx-libpinyin.desc:98 msgid "UE -> VE" msgstr "UE -> VE" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:88 +#: src/fcitx-libpinyin.desc:88 msgid "UEI -> UI" msgstr "UEI -> UI" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:93 +#: src/fcitx-libpinyin.desc:93 msgid "UEN -> UN" msgstr "UEN -> UN" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:17 +#: src/fcitx-libpinyin.desc:17 msgid "Use Incomplete Zhuyin" msgstr "使用不完整注音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:2 +#: src/fcitx-libpinyin.desc:2 msgid "Use Incomplete pinyin" msgstr "使用不完整拼音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:51 +#: src/fcitx-libpinyin.desc:51 msgid "Use Simplified Chinese Data for Zhuyin (Need Restart)" -msgstr "注音使用簡體中文資料 (需要重新啓動)" +msgstr "注音使用簡體中文資料 (需要重新啟動)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:12 +#: src/fcitx-libpinyin.desc:12 msgid "Use Tone" msgstr "使用聲調" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:7 +#: src/fcitx-libpinyin.desc:7 msgid "Use Traditional Chinese Data for Pinyin and Shuangpin (Need Restart)" -msgstr "拼音和雙拼使用正體中文資料 (需要重新啓動)" +msgstr "拼音和雙拼使用正體中文資料 (需要重新啟動)" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:68 +#: src/fcitx-libpinyin.desc:68 msgid "V -> U" msgstr "V -> U" -#: unknown +#: src/fcitx-libpinyin.desc:63 msgid "XiaoHe" msgstr "小鶴" -# unknown +#: src/fcitx-libpinyin.desc:11 src/fcitx-libpinyin.desc:16 +#: src/fcitx-libpinyin.desc:21 src/fcitx-libpinyin.desc:31 +#: src/fcitx-libpinyin.desc:40 src/fcitx-libpinyin.desc:45 +#: src/fcitx-libpinyin.desc:50 msgid "Zhuyin" msgstr "注音" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:22 +#: src/fcitx-libpinyin.desc:22 msgid "Zhuyin Layout" msgstr "注音佈局" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:46 +#: src/fcitx-libpinyin.desc:46 msgid "Zhuyin Next Page" msgstr "注音下一頁" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:41 +#: src/fcitx-libpinyin.desc:41 msgid "Zhuyin Prev Page" msgstr "注音上一頁" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:32 +#: src/fcitx-libpinyin.desc:32 msgid "Zhuyin candidate choosing modifiers" msgstr "注音候選詞修飾鍵" -#: /home/saber/Develop/fcitx-libpinyin/data/fcitx-libpinyin.desc:113 +#: src/fcitx-libpinyin.desc:113 msgid "Zi <-> Zhi" msgstr "Zi <-> Zhi" -#: unknown +#: src/fcitx-libpinyin.desc:60 msgid "ZiGuang" msgstr "紫光" -#: unknown +#: src/fcitx-libpinyin.desc:58 msgid "Ziranma" msgstr "自然碼" diff -Nru fcitx-libpinyin-0.2.1/src/CMakeLists.txt fcitx-libpinyin-0.2.92/src/CMakeLists.txt --- fcitx-libpinyin-0.2.1/src/CMakeLists.txt 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/CMakeLists.txt 2013-04-30 05:04:31.000000000 +0000 @@ -16,14 +16,12 @@ eim.cpp enummap.cpp config.cpp - pystring.cpp ) add_definitions( -DLOCALEDIR=\"${CMAKE_INSTALL_PREFIX}/share/locale\" ) -fcitx_add_addon(fcitx-libpinyin ${fcitx_libpinyin_sources} ) -target_link_libraries (fcitx-libpinyin - ${LIBPINYIN_LIBRARIES} - ${LIBINTL_LIBRARIES} - ${GLIB2_LIBRARIES} - ) +fcitx_add_addon_full(libpinyin DESC +SOURCES ${fcitx_libpinyin_sources} +IM_CONFIG pinyin-libpinyin.conf shuangpin-libpinyin.conf zhuyin-libpinyin.conf +LINK_LIBS ${LIBPINYIN_LIBRARIES} ${LIBINTL_LIBRARIES} ${GLIB2_LIBRARIES} +) diff -Nru fcitx-libpinyin-0.2.1/src/config.cpp fcitx-libpinyin-0.2.92/src/config.cpp --- fcitx-libpinyin-0.2.1/src/config.cpp 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/config.cpp 2013-04-30 05:04:31.000000000 +0000 @@ -49,4 +49,14 @@ CONFIG_BINDING_REGISTER("Ambiguity", "AnAng", amb[FCITX_AMB_AnAng]) CONFIG_BINDING_REGISTER("Ambiguity", "EnEng", amb[FCITX_AMB_EnEng]) CONFIG_BINDING_REGISTER("Ambiguity", "InIng", amb[FCITX_AMB_InIng]) +CONFIG_BINDING_REGISTER("Dictionary", "Art", dict[FCITX_DICT_ART]) +CONFIG_BINDING_REGISTER("Dictionary", "Culture", dict[FCITX_DICT_CULTURE]) +CONFIG_BINDING_REGISTER("Dictionary", "Economy", dict[FCITX_DICT_ECONOMY]) +CONFIG_BINDING_REGISTER("Dictionary", "Geology", dict[FCITX_DICT_GEOLOGY]) +CONFIG_BINDING_REGISTER("Dictionary", "History", dict[FCITX_DICT_HISTORY]) +CONFIG_BINDING_REGISTER("Dictionary", "Life", dict[FCITX_DICT_LIFE]) +CONFIG_BINDING_REGISTER("Dictionary", "Nature", dict[FCITX_DICT_NATURE]) +CONFIG_BINDING_REGISTER("Dictionary", "Scitech", dict[FCITX_DICT_SCITECH]) +CONFIG_BINDING_REGISTER("Dictionary", "Society", dict[FCITX_DICT_SOCIETY]) +CONFIG_BINDING_REGISTER("Dictionary", "Sport", dict[FCITX_DICT_SPORT]) CONFIG_BINDING_END() diff -Nru fcitx-libpinyin-0.2.1/src/eim.cpp fcitx-libpinyin-0.2.92/src/eim.cpp --- fcitx-libpinyin-0.2.1/src/eim.cpp 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/eim.cpp 2013-04-30 05:04:31.000000000 +0000 @@ -18,6 +18,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include #include #include @@ -33,15 +34,13 @@ #include #include #include -#include +#include #include #include #include "config.h" #include "eim.h" #include "enummap.h" -#include "pystring.h" - #define FCITX_LIBPINYIN_MAX(x, y) ((x) > (y)? (x) : (y)) #define FCITX_LIBPINYIN_MIN(x, y) ((x) < (y)? (x) : (y)) @@ -135,13 +134,26 @@ int LibpinyinGetPinyinOffset(FcitxLibpinyin* libpinyin) { int offset = LibpinyinGetOffset(libpinyin); - int pyoffset = 0; - int i = FCITX_LIBPINYIN_MIN(offset, libpinyin->inst->m_pinyin_key_rests->len) - 1; - if (i >= 0) - { - PinyinKeyPos* pykey = &g_array_index(libpinyin->inst->m_pinyin_key_rests, PinyinKeyPos, i); - pyoffset = pykey->m_raw_end; - } + guint16 pyoffset = 0; + + guint len; + + do { + if (!pinyin_get_n_pinyin(libpinyin->inst, &len)) { + break; + } + int i = FCITX_LIBPINYIN_MIN(offset, len) - 1; + if (i >= 0) + { + PinyinKeyPos* pykey = NULL; + if (!pinyin_get_pinyin_key_rest(libpinyin->inst, i, &pykey)) { + break; + } + if (!pinyin_get_pinyin_key_rest_positions(libpinyin->inst, pykey, NULL, &pyoffset)) { + break; + } + } + } while(0); return pyoffset; } @@ -156,11 +168,6 @@ libpinyin->buf[0] = '\0'; libpinyin->cursor_pos = 0; - if (libpinyin->candidate) { - g_array_free(libpinyin->candidate, TRUE); - libpinyin->candidate = NULL; - } - if (libpinyin->fixed_string->len > 0) g_array_remove_range(libpinyin->fixed_string, 0, libpinyin->fixed_string->len); if (libpinyin->inst) @@ -411,7 +418,9 @@ char* user_path = FcitxLibpinyinGetUserPath(libpinyinaddon->config.bSimplifiedDataForZhuyin ? LPLT_Simplified : LPLT_Traditional ); char* syspath = FcitxLibpinyinGetSysPath(libpinyinaddon->config.bSimplifiedDataForZhuyin ? LPLT_Simplified : LPLT_Traditional ); libpinyinaddon->zhuyin_context = pinyin_init( syspath, user_path); - pinyin_load_phrase_library(libpinyinaddon->zhuyin_context, 15); + pinyin_load_phrase_library(libpinyinaddon->zhuyin_context, GBK_DICTIONARY); + pinyin_load_phrase_library(libpinyinaddon->zhuyin_context, MERGED_DICTIONARY); + pinyin_load_phrase_library(libpinyinaddon->zhuyin_context, USER_DICTIONARY); free(user_path); free(syspath); } @@ -420,7 +429,9 @@ char* user_path = FcitxLibpinyinGetUserPath(libpinyinaddon->config.bTraditionalDataForPinyin ? LPLT_Traditional : LPLT_Simplified ); char* syspath = FcitxLibpinyinGetSysPath(libpinyinaddon->config.bTraditionalDataForPinyin ? LPLT_Traditional : LPLT_Simplified ); libpinyinaddon->pinyin_context = pinyin_init(syspath, user_path); - pinyin_load_phrase_library(libpinyinaddon->pinyin_context, 15); + pinyin_load_phrase_library(libpinyinaddon->pinyin_context, GBK_DICTIONARY); + pinyin_load_phrase_library(libpinyinaddon->pinyin_context, MERGED_DICTIONARY); + pinyin_load_phrase_library(libpinyinaddon->pinyin_context, USER_DICTIONARY); free(user_path); free(syspath); } @@ -454,10 +465,12 @@ int offset = LibpinyinGetOffset(libpinyin); if (libpinyin->type == LPT_Pinyin) { - int libpinyinLen = strlen(libpinyin->inst->m_raw_full_pinyin); + const gchar* raw_full_pinyin; + pinyin_get_raw_full_pinyin(libpinyin->inst, &raw_full_pinyin); + int libpinyinLen = strlen(raw_full_pinyin); int fcitxLen = strlen(libpinyin->buf); if (fcitxLen != libpinyinLen) { - strcpy(libpinyin->buf, libpinyin->inst->m_raw_full_pinyin); + strcpy(libpinyin->buf, raw_full_pinyin); libpinyin->cursor_pos += libpinyinLen - fcitxLen; } } @@ -484,16 +497,22 @@ int lastpos = pyoffset; int curoffset = pyoffset; - for (int i = offset; i < libpinyin->inst->m_pinyin_keys->len; i ++) + guint pinyinLen = 0; + pinyin_get_n_pinyin(libpinyin->inst, &pinyinLen); + for (int i = offset; i < pinyinLen; i ++) { - PinyinKey* pykey = &g_array_index(libpinyin->inst->m_pinyin_keys, PinyinKey, i); - PinyinKeyPos* pykeypos = &g_array_index(libpinyin->inst->m_pinyin_key_rests, PinyinKeyPos, i); + PinyinKey* pykey = NULL; + PinyinKeyPos* pykeypos = NULL; + pinyin_get_pinyin_key(libpinyin->inst, i, &pykey); + pinyin_get_pinyin_key_rest(libpinyin->inst, i, &pykeypos); + guint16 rawBegin = 0, rawEnd = 0; + pinyin_get_pinyin_key_rest_positions(libpinyin->inst, pykeypos, &rawBegin, &rawEnd); if (lastpos > 0) { FcitxMessagesMessageConcatLast (FcitxInputStateGetPreedit(input), " "); if (curoffset < libpinyin->cursor_pos) charcurpos ++; - for (int j = lastpos; j < pykeypos->m_raw_begin; j ++) { + for (int j = lastpos; j < rawBegin; j ++) { char temp[2] = {'\0', '\0'}; temp[0] = libpinyin->buf[j]; FcitxMessagesMessageConcatLast (FcitxInputStateGetPreedit(input), temp); @@ -504,11 +523,12 @@ } } } - lastpos = pykeypos->m_raw_end; + lastpos = rawEnd; switch (libpinyin->type) { case LPT_Pinyin: { - gchar* pystring = pykey->get_pinyin_string(); + gchar* pystring; + pinyin_get_pinyin_string(libpinyin->inst, pykey, &pystring); FcitxMessagesAddMessageAtLast(FcitxInputStateGetPreedit(input), MSG_CODE, "%s", pystring); size_t pylen = strlen(pystring); if (curoffset + pylen < libpinyin->cursor_pos) { @@ -523,12 +543,16 @@ break; } case LPT_Shuangpin: { - if (pykeypos->length() == 2) { - const char* initial = 0; - if (pykey->m_initial == CHEWING_ZERO_INITIAL) + guint16 pykeyposLen = 0; + pinyin_get_pinyin_key_rest_length(libpinyin->inst, pykeypos, &pykeyposLen); + if (pykeyposLen == 2) { + const gchar* initial = NULL; + gchar *middle_final = NULL, *_initial = NULL; + pinyin_get_pinyin_strings(libpinyin->inst, pykey, &_initial, &middle_final); + if (!_initial[0]) initial = "'"; else - initial = get_initial_string(pykey); + initial = _initial; if (curoffset + 1 <= libpinyin->cursor_pos) { curoffset += 1; charcurpos += strlen(initial); @@ -537,12 +561,15 @@ if (curoffset + 1 <= libpinyin->cursor_pos) { curoffset += 1; - charcurpos += strlen(get_middle_string(pykey)) + strlen(get_final_string(pykey)); + charcurpos += strlen(middle_final); } - FcitxMessagesAddMessageAtLast(FcitxInputStateGetPreedit(input), MSG_CODE, "%s%s", get_middle_string(pykey), get_final_string(pykey)); + FcitxMessagesAddMessageAtLast(FcitxInputStateGetPreedit(input), MSG_CODE, "%s", middle_final); + g_free(_initial); + g_free(middle_final); } - else if (pykeypos->length() == 1) { - gchar* pystring = pykey->get_pinyin_string(); + else if (pykeyposLen == 1) { + gchar* pystring; + pinyin_get_pinyin_string(libpinyin->inst, pykey, &pystring); if (curoffset + 1 <= libpinyin->cursor_pos) { curoffset += 1; charcurpos += strlen(pystring); @@ -553,19 +580,20 @@ break; } case LPT_Zhuyin: { - gchar* pystring = pykey->get_chewing_string(); + guint16 pykeyposLen = 0; + pinyin_get_pinyin_key_rest_length(libpinyin->inst, pykeypos, &pykeyposLen); + gchar* pystring; + pinyin_get_chewing_string(libpinyin->inst, pykey, &pystring); FcitxMessagesAddMessageAtLast(FcitxInputStateGetPreedit(input), MSG_CODE, "%s", pystring); - if (curoffset + pykeypos->length() <= libpinyin->cursor_pos) { - curoffset += pykeypos->length(); + if (curoffset + pykeyposLen <= libpinyin->cursor_pos) { + curoffset += pykeyposLen; charcurpos += strlen(pystring); } else { int diff = libpinyin->cursor_pos - curoffset; curoffset = libpinyin->cursor_pos; size_t len = fcitx_utf8_strlen(pystring); - if (pykey->m_tone != CHEWING_ZERO_TONE) - len --; if (diff > len) charcurpos += strlen(pystring); @@ -646,10 +674,8 @@ && !(libpinyin->buf[0] >= 'A' && libpinyin->buf[0] <= 'Z') /* not A-Z /*/ && !(libpinyin->buf[0] >= '0' && libpinyin->buf[0] <= '9') /* not digit */ ) { - FcitxModuleFunctionArg arg; int c = libpinyin->buf[0]; - arg.args[0] = &c; - char* result = InvokeFunction(instance, FCITX_PUNC, GETPUNC, arg); + char *result = FcitxPuncGetPunc(instance, &c); if (result) { FcitxCandidateWord candWord; FcitxLibpinyinCandWord* pyCand = (FcitxLibpinyinCandWord*) fcitx_utils_malloc0(sizeof(FcitxLibpinyinCandWord)); @@ -682,14 +708,13 @@ FcitxMessagesAddMessageAtLast(FcitxInputStateGetPreedit(input), MSG_INPUT, "%s", libpinyin->buf); } - if (libpinyin->candidate) - g_array_free(libpinyin->candidate, TRUE); - - libpinyin->candidate = g_array_new(FALSE, FALSE, sizeof(lookup_candidate_t)); - pinyin_get_candidates(libpinyin->inst, LibpinyinGetOffset(libpinyin), libpinyin->candidate); + pinyin_guess_candidates(libpinyin->inst, LibpinyinGetOffset(libpinyin)); + guint candidateLen = 0; + pinyin_get_n_candidate(libpinyin->inst, &candidateLen); int i = 0; - for (i = 0 ; i < libpinyin->candidate->len; i ++) { - lookup_candidate_t token = g_array_index(libpinyin->candidate, lookup_candidate_t, i); + for (i = 0 ; i < candidateLen; i ++) { + lookup_candidate_t* token = NULL; + pinyin_get_candidate(libpinyin->inst, i, &token); FcitxCandidateWord candWord; FcitxLibpinyinCandWord* pyCand = (FcitxLibpinyinCandWord*) fcitx_utils_malloc0(sizeof(FcitxLibpinyinCandWord)); pyCand->ispunc = false; @@ -699,7 +724,10 @@ candWord.owner = libpinyin; candWord.priv = pyCand; candWord.strExtra = NULL; - candWord.strWord = strdup(token.m_phrase_string); + + const gchar* phrase_string = NULL; + pinyin_get_candidate_string(libpinyin->inst, token, &phrase_string); + candWord.strWord = strdup(phrase_string); candWord.wordType = MSG_OTHER; FcitxCandidateWordAppend(FcitxInputStateGetCandidateList(input), &candWord); @@ -726,17 +754,25 @@ strcpy(FcitxInputStateGetOutputString(input), candWord->strWord); return IRV_COMMIT_STRING; } else { - if (!libpinyin->candidate || libpinyin->candidate->len <= pyCand->idx) + guint candidateLen = 0; + pinyin_get_n_candidate(libpinyin->inst, &candidateLen); + if (candidateLen <= pyCand->idx) return IRV_TO_PROCESS; - lookup_candidate_t* cand = &g_array_index(libpinyin->candidate, lookup_candidate_t, pyCand->idx); + lookup_candidate_t* cand = NULL; + pinyin_get_candidate(libpinyin->inst, pyCand->idx, &cand); pinyin_choose_candidate(libpinyin->inst, LibpinyinGetOffset(libpinyin), cand); FcitxLibpinyinFixed f; - f.len = fcitx_utf8_strlen(cand->m_phrase_string); + const gchar* phrase_string = NULL; + pinyin_get_candidate_string(libpinyin->inst, cand, &phrase_string); + f.len = fcitx_utf8_strlen(phrase_string); g_array_append_val(libpinyin->fixed_string, f); int offset = LibpinyinGetOffset(libpinyin); - if (offset >= libpinyin->inst->m_pinyin_keys->len) + + guint pykeysLen = 0; + pinyin_get_n_pinyin(libpinyin->inst, &pykeysLen); + if (offset >= pykeysLen) { char* sentence = NULL; pinyin_guess_sentence(libpinyin->inst); @@ -780,7 +816,6 @@ void* LibpinyinSavePinyinWord(void* arg, FcitxModuleFunctionArg args) { -#if 0 FcitxLibpinyinAddonInstance* libpinyinaddon = (FcitxLibpinyinAddonInstance*) arg; FcitxIM* im = FcitxInstanceGetCurrentIM(libpinyinaddon->owner); pinyin_context_t* context = NULL; @@ -793,11 +828,29 @@ return NULL; FcitxLibpinyin* libpinyin = (FcitxLibpinyin*) im->klass; - import_iterator_t* iter = pinyin_begin_add_phrases(context, 15); - char* hz = (char*) args.args[0]; - pinyin_iterator_add_phrase(iter, hz, libpinyin->inst->m_raw_full_pinyin, -1); - pinyin_end_add_phrases(iter); -#endif + + std::stringstream ss; + + guint pinyinLen = 0; + pinyin_get_n_pinyin(libpinyin->inst, &pinyinLen); + for (int i = 0; i < pinyinLen; i ++) + { + PinyinKey* pykey; + pinyin_get_pinyin_key(libpinyin->inst, i, &pykey); + + gchar* pystring; + pinyin_get_pinyin_string(libpinyin->inst, pykey, &pystring); + ss << pystring; + g_free(pystring); + } + + if (ss.str().length() > 0) { + import_iterator_t* iter = pinyin_begin_add_phrases(context, 15); + char* hz = (char*) args.args[0]; + pinyin_iterator_add_phrase(iter, hz, ss.str().c_str(), -1); + pinyin_end_add_phrases(iter); + } + return NULL; } @@ -878,7 +931,7 @@ libpinyinaddon->config.bSimplifiedDataForZhuyin ? "zh_CN" : "zh_TW" ); - AddFunction(addon, (void*) LibpinyinSavePinyinWord); + FcitxModuleAddFunction(addon, LibpinyinSavePinyinWord); return libpinyinaddon; } @@ -932,11 +985,29 @@ void ConfigLibpinyin(FcitxLibpinyinAddonInstance* libpinyinaddon) { FcitxLibpinyinConfig *config = &libpinyinaddon->config; - if (libpinyinaddon->zhuyin_context) + + if (libpinyinaddon->zhuyin_context) { pinyin_set_chewing_scheme(libpinyinaddon->zhuyin_context, FcitxLibpinyinTransZhuyinLayout(config->zhuyinLayout)); - if (libpinyinaddon->pinyin_context) + + for (int i = 0; i <= FCITX_DICT_LAST; i++) { + if (config->dict[i]) { + pinyin_load_phrase_library(libpinyinaddon->zhuyin_context, FcitxLibpinyinTransDictionary(static_cast(i))); + } else { + pinyin_unload_phrase_library(libpinyinaddon->zhuyin_context, FcitxLibpinyinTransDictionary(static_cast(i))); + } + } + } + if (libpinyinaddon->pinyin_context) { pinyin_set_double_pinyin_scheme(libpinyinaddon->pinyin_context, FcitxLibpinyinTransShuangpinScheme(config->spScheme)); - pinyin::pinyin_option_t settings = 0; + for (int i = 0; i <= FCITX_DICT_LAST; i++) { + if (config->dict[i]) { + pinyin_load_phrase_library(libpinyinaddon->pinyin_context, FcitxLibpinyinTransDictionary(static_cast(i))); + } else { + pinyin_unload_phrase_library(libpinyinaddon->pinyin_context, FcitxLibpinyinTransDictionary(static_cast(i))); + } + } + } + pinyin_option_t settings = 0; settings |= DYNAMIC_ADJUST; settings |= USE_DIVIDED_TABLE | USE_RESPLIT_TABLE; for (int i = 0; i <= FCITX_CR_LAST; i ++) { diff -Nru fcitx-libpinyin-0.2.1/src/eim.h fcitx-libpinyin-0.2.92/src/eim.h --- fcitx-libpinyin-0.2.1/src/eim.h 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/eim.h 2013-04-30 05:04:31.000000000 +0000 @@ -72,6 +72,20 @@ FCITX_CR_LAST = FCITX_CR_ON_ONG }; +enum FCITX_DICTIONARY { + FCITX_DICT_ART, + FCITX_DICT_CULTURE, + FCITX_DICT_ECONOMY, + FCITX_DICT_GEOLOGY, + FCITX_DICT_HISTORY, + FCITX_DICT_LIFE, + FCITX_DICT_NATURE, + FCITX_DICT_SCITECH, + FCITX_DICT_SOCIETY, + FCITX_DICT_SPORT, + FCITX_DICT_LAST = FCITX_DICT_SPORT +}; + enum FCITX_AMBIGUITY { FCITX_AMB_CiChi, FCITX_AMB_ZiZhi, @@ -100,6 +114,7 @@ FCITX_ZHUYIN_MODIFIERS candidateModifiers; boolean amb[FCITX_AMB_LAST + 1]; boolean cr[FCITX_CR_LAST + 1]; + boolean dict[FCITX_DICT_LAST + 1]; boolean incomplete; boolean chewingIncomplete; boolean bTraditionalDataForPinyin; @@ -154,7 +169,6 @@ char buf[MAX_USER_INPUT + 1]; int cursor_pos; LIBPINYIN_TYPE type; - CandidateVector candidate; FcitxLibpinyinAddonInstance* owner; } FcitxLibpinyin; diff -Nru fcitx-libpinyin-0.2.1/src/enummap.cpp fcitx-libpinyin-0.2.92/src/enummap.cpp --- fcitx-libpinyin-0.2.1/src/enummap.cpp 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/enummap.cpp 2013-04-30 05:04:31.000000000 +0000 @@ -18,9 +18,10 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include "enummap.h" -pinyin::PinyinAmbiguity2 FcitxLibpinyinTransAmbiguity(FCITX_AMBIGUITY ambiguity) +PinyinAmbiguity2 FcitxLibpinyinTransAmbiguity(FCITX_AMBIGUITY ambiguity) { switch(ambiguity) { case FCITX_AMB_CiChi: @@ -48,7 +49,7 @@ } } -pinyin::PinyinCorrection2 FcitxLibpinyinTransCorrection(FCITX_CORRECTION correction) +PinyinCorrection2 FcitxLibpinyinTransCorrection(FCITX_CORRECTION correction) { switch(correction) { case FCITX_CR_V_U: @@ -72,7 +73,7 @@ } } -pinyin::DoublePinyinScheme FcitxLibpinyinTransShuangpinScheme(FCITX_SHUANGPIN_SCHEME scheme) +DoublePinyinScheme FcitxLibpinyinTransShuangpinScheme(FCITX_SHUANGPIN_SCHEME scheme) { switch(scheme) { case FCITX_SHUANG_PIN_ZRM: @@ -92,7 +93,7 @@ } } -pinyin::ChewingScheme FcitxLibpinyinTransZhuyinLayout(FCITX_ZHUYIN_LAYOUT layout) +ChewingScheme FcitxLibpinyinTransZhuyinLayout(FCITX_ZHUYIN_LAYOUT layout) { switch(layout) { case FCITX_ZHUYIN_STANDARD: @@ -107,3 +108,25 @@ return CHEWING_STANDARD; } } + +static const int dictMap[] = +{ + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 +}; + +int FcitxLibpinyinTransDictionary(FCITX_DICTIONARY dict) +{ + int sz = sizeof(dictMap) / sizeof(dictMap[0]); + int sz2 = FCITX_DICT_LAST + 1; + assert(sz == sz2); + return dictMap[dict]; +} diff -Nru fcitx-libpinyin-0.2.1/src/enummap.h fcitx-libpinyin-0.2.92/src/enummap.h --- fcitx-libpinyin-0.2.1/src/enummap.h 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/enummap.h 2013-04-30 05:04:31.000000000 +0000 @@ -24,9 +24,10 @@ #include #include "eim.h" -pinyin::ChewingScheme FcitxLibpinyinTransZhuyinLayout(FCITX_ZHUYIN_LAYOUT layout); -pinyin::DoublePinyinScheme FcitxLibpinyinTransShuangpinScheme(FCITX_SHUANGPIN_SCHEME scheme); -pinyin::PinyinAmbiguity2 FcitxLibpinyinTransAmbiguity(FCITX_AMBIGUITY ambiguity); -pinyin::PinyinCorrection2 FcitxLibpinyinTransCorrection(FCITX_CORRECTION correction); +ChewingScheme FcitxLibpinyinTransZhuyinLayout(FCITX_ZHUYIN_LAYOUT layout); +DoublePinyinScheme FcitxLibpinyinTransShuangpinScheme(FCITX_SHUANGPIN_SCHEME scheme); +PinyinAmbiguity2 FcitxLibpinyinTransAmbiguity(FCITX_AMBIGUITY ambiguity); +PinyinCorrection2 FcitxLibpinyinTransCorrection(FCITX_CORRECTION correction); +int FcitxLibpinyinTransDictionary(FCITX_DICTIONARY dict); -#endif \ No newline at end of file +#endif diff -Nru fcitx-libpinyin-0.2.1/src/fcitx-libpinyin.conf.in fcitx-libpinyin-0.2.92/src/fcitx-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/src/fcitx-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/fcitx-libpinyin.conf.in 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,9 @@ +[Addon] +Name=fcitx-libpinyin +_GeneralName=LibPinyin +_Comment=LibPinyin Wrapper For Fcitx +Category=InputMethod +Enabled=True +Library=fcitx-libpinyin.so +Type=SharedLibrary +IMRegisterMethod=ConfigFile \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/src/fcitx-libpinyin.desc fcitx-libpinyin-0.2.92/src/fcitx-libpinyin.desc --- fcitx-libpinyin-0.2.1/src/fcitx-libpinyin.desc 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/fcitx-libpinyin.desc 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,208 @@ +[Pinyin/Incomplete] +Description=Use Incomplete pinyin +Type=Boolean +DefaultValue=True + +[Pinyin/UseTraditionalChineseData] +Description=Use Traditional Chinese Data for Pinyin and Shuangpin (Need Restart) +Type=Boolean +DefaultValue=False + +[Zhuyin/UseTone] +Description=Use Tone +Type=Boolean +DefaultValue=True + +[Zhuyin/Incomplete] +Description=Use Incomplete Zhuyin +Type=Boolean +DefaultValue=True + +[Zhuyin/Layout] +Description=Zhuyin Layout +Type=Enum +Enum0=Standard +Enum1=IBM +Enum2=GinYieh +Enum3=ET +EnumCount=4 +DefaultValue=Standard + +[Zhuyin/CandidateModifiers] +Description=Zhuyin candidate choosing modifiers +Type=Enum +Enum0=Ctrl +Enum1=Alt +Enum2=Shift +EnumCount=3 +DefaultValue=Alt + +[Zhuyin/PrevPage] +Description=Zhuyin Prev Page +Type=Hotkey +DefaultValue=PGUP UP + +[Zhuyin/NextPage] +Description=Zhuyin Next Page +Type=Hotkey +DefaultValue=PGDN DOWN + +[Zhuyin/UseSimplifiedChineseData] +Description=Use Simplified Chinese Data for Zhuyin (Need Restart) +Type=Boolean +DefaultValue=False + +[Shuangpin/Scheme] +Description=Shuangpin Scheme +Type=Enum +Enum0=Ziranma +Enum1=Microsoft +Enum2=ZiGuang +Enum3=ABC +Enum4=PinyinJiaJia +Enum5=XiaoHe +EnumCount=6 +DefaultValue=Ziranma + +[Correction/VU] +Description=V -> U +Type=Boolean +DefaultValue=False + +[Correction/GNNG] +Description=GN -> NG +Type=Boolean +DefaultValue=True + +[Correction/MGNG] +Description=MG -> NG +Type=Boolean +DefaultValue=False + +[Correction/IOUIU] +Description=IOU -> IU +Type=Boolean +DefaultValue=False + +[Correction/UEIUI] +Description=UEI -> UI +Type=Boolean +DefaultValue=False + +[Correction/UENUN] +Description=UEN -> UN +Type=Boolean +DefaultValue=False + +[Correction/UEVE] +Description=UE -> VE +Type=Boolean +DefaultValue=False + +[Correction/ONONG] +Description=ON -> ONG +Type=Boolean +DefaultValue=False + +[Ambiguity/CiChi] +Description=Ci <-> Chi +Type=Boolean +DefaultValue=False + +[Ambiguity/ZiZhi] +Description=Zi <-> Zhi +Type=Boolean +DefaultValue=False + +[Ambiguity/SiShi] +Description=Si <-> Shi +Type=Boolean +DefaultValue=False + +[Ambiguity/LeNe] +Description=Ne <-> Le +Type=Boolean +DefaultValue=False + +[Ambiguity/FoHe] +Description=Fo <-> He +Type=Boolean +DefaultValue=False + +[Ambiguity/LeRi] +Description=Le <-> Ri +Type=Boolean +DefaultValue=False + +[Ambiguity/GeKe] +Description=Ge <-> Ke +Type=Boolean +DefaultValue=False + +[Ambiguity/AnAng] +Description=An <-> Ang +Type=Boolean +DefaultValue=False + +[Ambiguity/EnEng] +Description=En <-> Eng +Type=Boolean +DefaultValue=False + +[Ambiguity/InIng] +Description=In <-> Ing +Type=Boolean +DefaultValue=False + +[Dictionary/Art] +Description=Art +Type=Boolean +DefaultValue=True + +[Dictionary/Culture] +Description=Culture +Type=Boolean +DefaultValue=True + +[Dictionary/Economy] +Description=Economy +Type=Boolean +DefaultValue=True + +[Dictionary/Geology] +Description=Geology +Type=Boolean +DefaultValue=True + +[Dictionary/History] +Description=History +Type=Boolean +DefaultValue=True + +[Dictionary/Life] +Description=Life +Type=Boolean +DefaultValue=True + +[Dictionary/Nature] +Description=Nature +Type=Boolean +DefaultValue=True + +[Dictionary/Scitech] +Description=Science & Technology +Type=Boolean +DefaultValue=True + +[Dictionary/Society] +Description=Society +Type=Boolean +DefaultValue=True + +[Dictionary/Sport] +Description=Sport +Type=Boolean +DefaultValue=True + +[DescriptionFile] +LocaleDomain=fcitx-libpinyin diff -Nru fcitx-libpinyin-0.2.1/src/pinyin-libpinyin.conf.in fcitx-libpinyin-0.2.92/src/pinyin-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/src/pinyin-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/pinyin-libpinyin.conf.in 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,7 @@ +[InputMethod] +UniqueName=pinyin-libpinyin +_Name=Pinyin (LibPinyin) +IconName=pinyin +Priority=1 +LangCode=zh_CN +Parent=fcitx-libpinyin \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/src/pystring.cpp fcitx-libpinyin-0.2.92/src/pystring.cpp --- fcitx-libpinyin-0.2.1/src/pystring.cpp 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/pystring.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,113 +0,0 @@ -#include - -// Internal data definition - -/** -* struct of pinyin token. -* -* this struct store the informations of a pinyin token -* (an initial or final) -*/ -struct FcitxPinyinToken -{ - const char *latin; /**< Latin name of the token. */ - const char *zhuyin; /**< Zhuyin name in UTF-8. */ -}; - - -/** -* struct to index PinyinToken list. -*/ -static const FcitxPinyinToken __pinyin_initials[] = -{ - {"", ""}, - {"b", "ㄅ"}, - {"c", "ㄘ"}, - {"ch","ㄔ"}, - {"d", "ㄉ"}, - {"f", "ㄈ"}, - {"h", "ㄏ"}, - {"g", "ㄍ"}, - {"k", "ㄎ"}, - {"j", "ㄐ"}, - {"m", "ㄇ"}, - {"n", "ㄋ"}, - {"l", "ㄌ"}, - {"r", "ㄖ"}, - {"p", "ㄆ"}, - {"q", "ㄑ"}, - {"s", "ㄙ"}, - {"sh","ㄕ"}, - {"t", "ㄊ"}, - {"w", "ㄨ"}, //Should be omitted in some case. - {"x", "ㄒ"}, - {"y", "ㄧ"}, //Should be omitted in some case. - {"z", "ㄗ"}, - {"zh","ㄓ"} -}; - -static const FcitxPinyinToken __pinyin_middles[] = -{ - {"", ""}, - {"i", "ㄧ"}, - {"u", "ㄨ"}, - {"v", "ㄩ"} -}; - -static const FcitxPinyinToken __pinyin_finals[] = -{ - {"", ""}, - {"a", "ㄚ"}, - {"ai", "ㄞ"}, - {"an", "ㄢ"}, - {"ang", "ㄤ"}, - {"ao", "ㄠ"}, - {"e", "ㄜ"}, - {"ea", "ㄝ"}, - {"ei", "ㄟ"}, - {"en", "ㄣ"}, - {"eng", "ㄥ"}, - {"er", "ㄦ"}, - {"ng", "ㄣ"}, - {"o", "ㄛ"}, - {"ong", "ㄨㄥ"}, - {"ou", "ㄡ"}, - {"in", "PINYIN_IN"}, - {"ing", "PINYIN_ING"} -}; - -static const FcitxPinyinToken __pinyin_tones [] = -{ - {"", ""}, - {"1", "ˉ"}, - {"2", "ˊ"}, - {"3", "ˇ"}, - {"4", "ˋ"}, - {"5", "˙"} -}; - -const char* -get_initial_string (ChewingKey* key) -{ - return __pinyin_initials [key->m_initial].latin; -} - -const char* -get_middle_string (ChewingKey* key) -{ - guint16 middle = key->m_middle; - return __pinyin_middles [middle].latin; -} - -const char* -get_final_string (ChewingKey* key) -{ - guint16 final = key->m_final; - return __pinyin_finals [final].latin; -} - -const char* -get_tone_zhuyin_string (ChewingKey* key) -{ - return __pinyin_tones [key->m_tone].zhuyin; -} diff -Nru fcitx-libpinyin-0.2.1/src/pystring.h fcitx-libpinyin-0.2.92/src/pystring.h --- fcitx-libpinyin-0.2.1/src/pystring.h 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/pystring.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - -#include - -const char* -get_initial_string (ChewingKey* key); -const char* -get_middle_string (ChewingKey* key); -const char* -get_final_string (ChewingKey* key); -const char* -get_tone_zhuyin_string (ChewingKey* key); \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/src/shuangpin-libpinyin.conf.in fcitx-libpinyin-0.2.92/src/shuangpin-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/src/shuangpin-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/shuangpin-libpinyin.conf.in 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,7 @@ +[InputMethod] +UniqueName=shuangpin-libpinyin +_Name=Shuangpin (LibPinyin) +IconName=shuangpin +Priority=1 +LangCode=zh_CN +Parent=fcitx-libpinyin \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/src/zhuyin-libpinyin.conf.in fcitx-libpinyin-0.2.92/src/zhuyin-libpinyin.conf.in --- fcitx-libpinyin-0.2.1/src/zhuyin-libpinyin.conf.in 1970-01-01 00:00:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/src/zhuyin-libpinyin.conf.in 2013-04-30 05:04:31.000000000 +0000 @@ -0,0 +1,7 @@ +[InputMethod] +UniqueName=zhuyin-libpinyin +_Name=Bopomofo (LibPinyin) +IconName=bopomofo +Priority=1 +LangCode=zh_TW +Parent=fcitx-libpinyin \ No newline at end of file diff -Nru fcitx-libpinyin-0.2.1/standalone/CMakeLists.txt fcitx-libpinyin-0.2.92/standalone/CMakeLists.txt --- fcitx-libpinyin-0.2.1/standalone/CMakeLists.txt 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/standalone/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -include_directories ( - ${PROJECT_BINARY_DIR} - ${LIBPINYIN_INCLUDE_DIR} - ${GLIB2_INCLUDE_DIR} - ${FCITX4_FCITX_UTILS_INCLUDE_DIRS} - ${FCITX4_FCITX_CONFIG_INCLUDE_DIRS} - ${FCITX4_FCITX_INCLUDE_DIRS} - ${LIBINTL_INCLUDE_DIR} - ) - -add_executable(standalone_test main.cpp ) -target_link_libraries (standalone_test - ${LIBPINYIN_LIBRARIES} - ${LIBINTL_LIBRARIES} - ${GLIB2_LIBRARIES} - ) diff -Nru fcitx-libpinyin-0.2.1/standalone/main.cpp fcitx-libpinyin-0.2.92/standalone/main.cpp --- fcitx-libpinyin-0.2.1/standalone/main.cpp 2012-09-21 18:30:00.000000000 +0000 +++ fcitx-libpinyin-0.2.92/standalone/main.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ -#include -#include -#include -#include -#include -#include "config.h" - -#define RET_BUF_LEN 256 - -using namespace std; - -guint get_pinyin_cursor (pinyin_instance_t* inst, int cursor) -{ - /* Translate cursor position to pinyin position. */ - PinyinKeyPosVector & pinyin_poses = inst->m_pinyin_key_rests; - guint pinyin_cursor = pinyin_poses->len; - for (size_t i = 0; i < pinyin_poses->len; ++i) { - PinyinKeyPos *pos = &g_array_index - (pinyin_poses, PinyinKeyPos, i); - if (pos->m_raw_begin <= cursor && cursor < pos->m_raw_end) - pinyin_cursor = i; - } - - return pinyin_cursor; -} - -guint get_lookup_cursor (pinyin_instance_t* inst, int cursor) -{ - PinyinKeyVector & pinyins = inst->m_pinyin_keys; - guint lookup_cursor = get_pinyin_cursor (inst, cursor); - /* show candidates when pinyin cursor is at end. */ - if (lookup_cursor == pinyins->len) - lookup_cursor = 0; - return lookup_cursor; -} - -int main(int argc, char *argv[]) -{ - pinyin_context_t* context = pinyin_init(LIBPINYIN_PKGDATADIR "/data", NULL); - pinyin_instance_t* inst = pinyin_alloc_instance(context); - - pinyin_set_options(context, IS_PINYIN | USE_DIVIDED_TABLE | USE_RESPLIT_TABLE); - - string s; - cin >> s ; - pinyin_parse_more_double_pinyins(inst, s.c_str()); - - int cursor = 0; - - for (int i = 0; i < inst->m_pinyin_keys->len; i ++) - { - PinyinKey* pykey = &g_array_index(inst->m_pinyin_keys, PinyinKey, i); - gchar* py = pykey->get_pinyin_string(); - gchar* chewing = pykey->get_chewing_string(); - cout << py << " " - << chewing - << endl; - - g_free(py); - g_free(chewing); - } - - while (true) - { - cout << get_lookup_cursor(inst, cursor) << endl; - GArray* array = g_array_new(FALSE, FALSE, sizeof(lookup_candidate_t)); - pinyin_get_candidates(inst, get_lookup_cursor(inst, cursor), array); - cout << array->len << endl; - - pinyin_guess_sentence(inst); - - char* sentence = NULL; - pinyin_get_sentence(inst, &sentence); - if (sentence) - cout << sentence << endl; - else - cout << "no sentence" << endl; - g_free(sentence); - - for (int i = 0 ; i < array->len; i ++ ) - { - lookup_candidate_t token = g_array_index(array, lookup_candidate_t, i); - char* word = NULL; - pinyin_translate_token(inst, token.m_token, &word); - if (word) - cout << word << " "; - g_free(word); - } - - cout << "constraints " << inst->m_constraints->len << endl; - - int cand; - cin >> cursor >> cand; - - if (cand >= 0) - pinyin_choose_candidate(inst, 0, &g_array_index(array, lookup_candidate_t, cand)); - else if (cand != -1) { - pinyin_clear_constraints(inst); - } - else if (cand != -2) { - break; - } - - g_array_free(array, TRUE); - } - pinyin_free_instance(inst); - pinyin_fini(context); -} -// kate: indent-mode cstyle; space-indent on; indent-width 0;