diff --git a/CMakeLists.txt b/CMakeLists.txt index a66f3629..b56b98cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.6.0) -project(fcitx VERSION 5.1.10) +project(fcitx VERSION 5.0.21) set(FCITX_VERSION ${PROJECT_VERSION}) find_package(ECM REQUIRED 1.0.0) @@ -31,7 +31,7 @@ option(ENABLE_DBUS "Enable DBus" On) option(ENABLE_DOC "Build doxygen" Off) option(ENABLE_SERVER "Build a fcitx as server, disable this option if you want to use fcitx as an embedded library." On) option(ENABLE_KEYBOARD "Enable key event translation with XKB and build keyboard engine" On) -option(USE_SYSTEMD "Use systemd for event loop and dbus, will fallback to libuv/libdbus if not found." On) +option(USE_SYSTEMD "Use systemd for event loop and dbus, will fallback to libevent/libdbus if not found." On) option(ENABLE_XDGAUTOSTART "Enable xdg autostart desktop file installation" On) option(USE_FLATPAK_ICON "Use flatpak icon name for desktop files" Off) option(ENABLE_EMOJI "Enable emoji module" On) @@ -69,11 +69,14 @@ if (NOT TARGET Systemd::Systemd) pkg_get_variable(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "dbus-1" "system_bus_default_address") endif() - if (NOT LIBUV_TARGET) - if (NOT (TARGET PkgConfig::LibUV)) - pkg_check_modules(LibUV REQUIRED IMPORTED_TARGET "libuv") - endif() - set(LIBUV_TARGET PkgConfig::LibUV) + if (NOT (TARGET libevent::core OR TARGET PkgConfig::LibEvent)) + find_package(Libevent) + endif() + if (TARGET libevent::core) + set(LIBEVENT_TARGET libevent::core) + else() + pkg_check_modules(LibEvent REQUIRED IMPORTED_TARGET "libevent_core") + set(LIBEVENT_TARGET PkgConfig::LibEvent) endif() endif() @@ -124,8 +127,8 @@ if (ENABLE_KEYBOARD) pkg_check_modules(JsonC REQUIRED IMPORTED_TARGET "json-c") set(DEFAULT_XKB_RULES_FILES "${XKEYBOARDCONFIG_XKBBASE}/rules/${DEFAULT_XKB_RULES}.xml") - if (NOT EXISTS "${DEFAULT_XKB_RULES_FILES}" AND NOT APPLE) - message(WARNING "Could not find default xkb rules file: ${DEFAULT_XKB_RULES_FILES}") + if (NOT EXISTS "${DEFAULT_XKB_RULES_FILES}") + message(FATAL_ERROR "Could not find default xkb rules file: ${DEFAULT_XKB_RULES_FILES}") endif() endif() @@ -138,7 +141,7 @@ if (ENABLE_X11 OR ENABLE_WAYLAND) endif() if (ENABLE_WAYLAND) - set(REQUIRED_WAYLAND_COMPONENTS Client Cursor) + set(REQUIRED_WAYLAND_COMPONENTS Client) find_package(Wayland REQUIRED COMPONENTS ${REQUIRED_WAYLAND_COMPONENTS}) find_package(WaylandScanner REQUIRED) find_package(WaylandProtocols REQUIRED) diff --git a/cmake/Fcitx5CompilerSettings.cmake b/cmake/Fcitx5CompilerSettings.cmake index 66136f0b..ac68fac0 100644 --- a/cmake/Fcitx5CompilerSettings.cmake +++ b/cmake/Fcitx5CompilerSettings.cmake @@ -7,11 +7,8 @@ set(CMAKE_C_STANDARD 99) set(CMAKE_C_FLAGS "-Wall -Wextra ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-Wall -Wextra ${CMAKE_CXX_FLAGS}") - -if(NOT APPLE) - set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed ${CMAKE_SHARED_LINKER_FLAGS}") - set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed ${CMAKE_MODULE_LINKER_FLAGS}") -endif() +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed ${CMAKE_SHARED_LINKER_FLAGS}") +set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined -Wl,--as-needed ${CMAKE_MODULE_LINKER_FLAGS}") set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_CXX_VISIBILITY_PRESET hidden) diff --git a/cmake/FindIsoCodes.cmake b/cmake/FindIsoCodes.cmake index 2cdd765b..d2d13187 100644 --- a/cmake/FindIsoCodes.cmake +++ b/cmake/FindIsoCodes.cmake @@ -18,17 +18,13 @@ endif(ISOCODES_INCLUDE_DIR AND ISOCODES_LIBRARIES) find_package(PkgConfig) pkg_check_modules(PC_ISOCODES iso-codes) -if(NOT DEFINED ISOCODES_ISO639_JSON) - find_file(ISOCODES_ISO639_JSON iso_639-3.json - HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/" - ) -endif() +find_file(ISOCODES_ISO639_JSON iso_639-3.json + HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/" + ) -if(NOT DEFINED ISOCODES_ISO3166_JSON) - find_file(ISOCODES_ISO3166_JSON iso_3166-1.json - HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/" - ) -endif() +find_file(ISOCODES_ISO3166_JSON iso_3166-1.json + HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/" + ) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(IsoCodes DEFAULT_MSG ISOCODES_ISO639_JSON ISOCODES_ISO3166_JSON) diff --git a/cmake/FindXKeyboardConfig.cmake b/cmake/FindXKeyboardConfig.cmake index a2b8e117..5728deba 100644 --- a/cmake/FindXKeyboardConfig.cmake +++ b/cmake/FindXKeyboardConfig.cmake @@ -2,12 +2,8 @@ find_package(PkgConfig) pkg_check_modules(PKG_XKEYBOARDCONFIG QUIET xkeyboard-config) -if(NOT DEFINED XKEYBOARDCONFIG_XKBBASE) - pkg_get_variable(XKEYBOARDCONFIG_XKBBASE xkeyboard-config xkb_base) -endif() -if(NOT DEFINED XKEYBOARDCONFIG_DATADIR) - pkg_get_variable(XKEYBOARDCONFIG_DATADIR xkeyboard-config datadir) -endif() +pkg_get_variable(XKEYBOARDCONFIG_XKBBASE xkeyboard-config xkb_base) +pkg_get_variable(XKEYBOARDCONFIG_DATADIR xkeyboard-config datadir) set(XKEYBOARDCONFIG_VERSION ${PKG_XKEYBOARDCONFIG_VERSION}) mark_as_advanced(XKEYBOARDCONFIG_VERSION) diff --git a/data/20-fcitx-x11.in b/data/20-fcitx-x11.in deleted file mode 100755 index 882085a6..00000000 --- a/data/20-fcitx-x11.in +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -@FCITX_INSTALL_BINDIR@/fcitx5-remote --check -x diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index b2c7d810..103d3ba5 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -30,18 +30,3 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/fcitx5-diagnose" DESTINATION "${FCITX GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) install(DIRECTORY default DESTINATION "${FCITX_INSTALL_PKGDATADIR}" COMPONENT config) - -if (WAYLAND_FOUND AND ENABLE_X11) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/20-fcitx-x11.in - ${CMAKE_CURRENT_BINARY_DIR}/20-fcitx-x11 @ONLY) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/20-fcitx-x11" DESTINATION "${CMAKE_INSTALL_FULL_SYSCONFDIR}/xdg/Xwayland-session.d" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) -endif() - -if (ENABLE_DBUS AND WAYLAND_FOUND) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fcitx5-wayland-launcher.desktop.in.in - ${CMAKE_CURRENT_BINARY_DIR}/fcitx5-wayland-launcher.desktop.in @ONLY) - fcitx5_translate_desktop_file(${CMAKE_CURRENT_BINARY_DIR}/fcitx5-wayland-launcher.desktop.in - fcitx5-wayland-launcher.desktop) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/fcitx5-wayland-launcher.desktop" - DESTINATION "${FCITX_INSTALL_DATADIR}/applications") -endif() diff --git a/data/fcitx5-configtool.sh b/data/fcitx5-configtool.sh index 9f77a436..f17e49e7 100755 --- a/data/fcitx5-configtool.sh +++ b/data/fcitx5-configtool.sh @@ -5,14 +5,14 @@ export TEXTDOMAIN=fcitx5 -if command -v kdialog > /dev/null 2>&1; then +if which kdialog > /dev/null 2>&1; then message() { kdialog --msgbox "$1" } error() { kdialog --error "$1" } -elif command -v zenity > /dev/null 2>&1; then +elif which zenity > /dev/null 2>&1; then message() { zenity --info --text="$1" } @@ -28,7 +28,7 @@ else } fi -if command -v gettext > /dev/null 2>&1; then +if which gettext > /dev/null 2>&1; then _() { gettext "$@" } @@ -108,21 +108,18 @@ detectDE() { if [ x"$DE" = x"gnome" ]; then # gnome-default-applications-properties is only available in GNOME 2.x # but not in GNOME 3.x - command -v gnome-default-applications-properties > /dev/null 2>&1 || DE="gnome3" + which gnome-default-applications-properties > /dev/null 2>&1 || DE="gnome3" fi } run_kde() { - if (systemsettings --list 2>/dev/null | grep ^kcm_fcitx5 > /dev/null 2>&1); then - exec systemsettings kcm_fcitx5 - fi if (systemsettings5 --list 2>/dev/null | grep ^kcm_fcitx5 > /dev/null 2>&1); then exec systemsettings5 kcm_fcitx5 fi } run_qt() { - if command -v fcitx5-config-qt > /dev/null 2>&1; then + if which fcitx5-config-qt > /dev/null 2>&1; then exec fcitx5-config-qt fi return 1 @@ -138,13 +135,13 @@ run_xdg() { ;; esac - if command="$(command -v xdg-open 2>/dev/null)"; then + if command="$(which xdg-open 2>/dev/null)"; then exec "$command" "$HOME/.config/fcitx5" fi } _which_cmdline() { - cmd="$(command -v "$1")" || return 1 + cmd="$(which "$1")" || return 1 shift echo "$cmd $*" } diff --git a/data/fcitx5-diagnose.sh b/data/fcitx5-diagnose.sh index 3ea44eb7..1b191ea8 100755 --- a/data/fcitx5-diagnose.sh +++ b/data/fcitx5-diagnose.sh @@ -123,7 +123,7 @@ __get_pretty_name() { fi } -fcitx_exe="$(command -v fcitx5 2> /dev/null)" +fcitx_exe="$(which fcitx5 2> /dev/null)" __conf_dir_init() { # Don't do any fancy check here, it's the user's fault, which we should detect @@ -214,9 +214,9 @@ if type dbus-send &> /dev/null; then /controller org.fcitx.Fcitx.Controller1.DebugInfo 2> /dev/null) || return 1 echo -n "${debuginfo}" } -elif qdbus_exe=$(command -v qdbus 2> /dev/null) || \ - qdbus_exe=$(command -v qdbus-qt4 2> /dev/null) || \ - qdbus_exe=$(command -v qdbus-qt5 2> /dev/null); then +elif qdbus_exe=$(which qdbus 2> /dev/null) || \ + qdbus_exe=$(which qdbus-qt4 2> /dev/null) || \ + qdbus_exe=$(which qdbus-qt5 2> /dev/null); then dbus_exe=${qdbus_exe} dbus_get_name_owner() { "${qdbus_exe}" org.freedesktop.DBus /org/freedesktop/DBus \ @@ -250,16 +250,6 @@ print_process_info() { echo "$1 ${cmdline}" } -run_im_module_probing(){ - local program=$1 - if command -v $program >/dev/null 2>&1; then - write_eval "$(_ 'Using ${1} to check the actual im module to be used under current environment:')" $program - write_quote_str "$($program 2> /dev/null)" - else - write_error "$(print_not_found $program)" - fi -} - # Detect DE _detectDE_XDG_CURRENT() { @@ -289,10 +279,6 @@ _detectDE_XDG_CURRENT() { DE=cinnamon return ;; - UKUI) - DE=ukui - return - ;; esac done return 1 @@ -338,9 +324,6 @@ _detectDE_SESSION() { cinnamon) DE=cinnamon ;; - UKUI) - DE=ukui - ;; *) return 1 ;; @@ -369,15 +352,15 @@ detectDE() { if [ x"$DE" = x"gnome" ]; then # gnome-default-applications-properties is only available in GNOME 2.x # but not in GNOME 3.x - command -v gnome-default-applications-properties > /dev/null 2>&1 || \ + which gnome-default-applications-properties > /dev/null 2>&1 || \ DE="gnome3" - command -v gnome-shell &> /dev/null && DE="gnome3" + which gnome-shell &> /dev/null && DE="gnome3" fi } maybe_gnome3() { [[ $DE = gnome3 ]] && return 0 - [[ $DE = generic ]] && command -v gnome-shell &> /dev/null && return 0 + [[ $DE = generic ]] && which gnome-shell &> /dev/null && return 0 return 1 } @@ -386,7 +369,7 @@ detectDE # user and uid detect_user() { - if command -v id &> /dev/null; then + if which id &> /dev/null; then cur_user=$(id -un) cur_uid=$(id -u) else @@ -397,7 +380,7 @@ detect_user() { else cur_uid="" fi - if command -v whoami &> /dev/null; then + if which whoami &> /dev/null; then cur_user=$(whoami) elif [[ -d /proc/$$/ ]]; then cur_user=$(stat -c %U /proc/$$/) @@ -419,7 +402,7 @@ _check_open_root() { for f in /proc/1/environ /proc/1/mem /proc/kcore /proc/kmem; do try_open "$f" && return 0 done - if command -v readlink &> /dev/null; then + if which readlink &> /dev/null; then for f in /proc/1/exe /proc/1/cwd /proc/1/root; do readlink "$f" &> /dev/null && return 0 done @@ -1018,7 +1001,7 @@ _find_config_gtk() { return 0 } local config_gtk - config_gtk="$(command -v "fcitx5-config-gtk" 2> /dev/null)" || return 1 + config_gtk="$(which "fcitx5-config-gtk" 2> /dev/null)" || return 1 echo "${config_gtk}" _config_tool_gtk_exe="${config_gtk}" } @@ -1045,7 +1028,7 @@ _check_config_gtk() { local version=$1 local config_gtk config_gtk_name write_order_list_eval "$(_ 'Config GUI for gtk${1}:')" "${version}" - if ! config_gtk="$(command -v "fcitx5-config-gtk${version}" 2> /dev/null)"; then + if ! config_gtk="$(which "fcitx5-config-gtk${version}" 2> /dev/null)"; then if ! _check_config_gtk_version "${version}"; then write_error_eval \ "$(_ 'Config GUI for gtk${1} not found.')" "${version}" @@ -1066,7 +1049,7 @@ _check_config_qt() { local config_qt config_qt_name config_qt_name="fcitx5-config-qt" write_order_list_eval "$(_ 'Config GUI for qt:')" "${version}" - if ! config_qt="$(command -v "${config_qt_name}" 2> /dev/null)"; then + if ! config_qt="$(which "${config_qt_name}" 2> /dev/null)"; then write_error "$(_ 'Config GUI for qt not found.')" return 1 fi @@ -1079,7 +1062,7 @@ _check_config_kcm() { local version=$1 local kcm_shell config_kcm write_order_list "$(_ 'Config GUI for kde:')" - if ! kcm_shell="$(command -v "kcmshell${version}" 2> /dev/null)"; then + if ! kcm_shell="$(which "kcmshell${version}" 2> /dev/null)"; then write_error "$(print_not_found "kcmshell${version}")" return 1 fi @@ -1095,7 +1078,7 @@ check_config_ui() { local IFS=$'\n' write_title 1 "$(_ 'Fcitx Configure UI:')" write_order_list "$(_ 'Config Tool Wrapper:')" - if ! fcitx_configtool="$(command -v fcitx5-configtool 2> /dev/null)"; then + if ! fcitx_configtool="$(which fcitx5-configtool 2> /dev/null)"; then write_error_eval "$(_ 'Cannot find ${1} executable!')" fcitx5-configtool else write_eval "$(_ 'Found ${1} at ${2}.')" \ @@ -1237,11 +1220,7 @@ find_qt_modules() { check_qt() { write_title 2 "Qt:" _check_toolkit_env qt4 QT4_IM_MODULE QT_IM_MODULE - run_im_module_probing fcitx5-qt4-immodule-probing _check_toolkit_env qt5 QT_IM_MODULE - run_im_module_probing fcitx5-qt5-immodule-probing - _check_toolkit_env qt6 QT_IM_MODULE - run_im_module_probing fcitx5-qt6-immodule-probing find_qt_modules qt4_module_found='' qt5_module_found='' @@ -1295,7 +1274,7 @@ check_qt() { if [ -z "${qt6_module_found}" ]; then __need_blank_line=0 write_error_eval \ - "$(_ 'Cannot find ${1} input method module for ${2}.')" fcitx5 Qt6 + "$(_ 'Cannot find ${1} input method module for ${2}.')" fcitx6 Qt6 fi } @@ -1531,12 +1510,50 @@ find_gtk_immodules_cache_gio() { "${__gtk_immodule_cache[@]}" } +check_gtk_immodule_cache_gio() { + local version="$1" + local IFS=$'\n' + local cache_found=0 + local module_found=0 + write_order_list "gtk ${version}:" + local gtk_immodules_cache + find_gtk_immodules_cache_gio "${version}" gtk_immodules_cache + + for cache in "${gtk_immodules_cache[@]}"; do + cache_found=1 + write_eval \ + "$(_ 'Found immodules cache for gtk ${1} at ${2}.')" \ + "$(code_inline ${version})" \ + "$(code_inline "${cache}")" + cache_content=$(cat "${cache}") + if fcitx_gtk=$(grep fcitx5 <<< "${cache_content}"); then + module_found=1 + __need_blank_line=0 + write_eval "$(_ 'Found ${1} im modules for gtk ${2}.')" \ + fcitx5 "$(code_inline ${version})" + write_quote_str "${fcitx_gtk}" + reg_gtk_query_output_gio "${version}" "${fcitx_gtk}" "${cache%/*}" + else + write_error_eval \ + "$(_ 'Failed to find ${1} in immodule cache at ${2}')" \ + fcitx5 "$(code_inline "${cache}")" + fi + done + ((cache_found)) || { + write_error_eval \ + "$(_ 'Cannot find immodules cache for gtk ${1}')" \ + "${version}" + } + ((module_found)) || { + write_error_eval \ + "$(_ 'Cannot find ${1} im module for gtk ${2} in cache.')" \ + fcitx5 "${version}" + } +} + check_gtk() { write_title 2 "Gtk:" _check_toolkit_env gtk GTK_IM_MODULE - run_im_module_probing fcitx5-gtk2-immodule-probing - run_im_module_probing fcitx5-gtk3-immodule-probing - run_im_module_probing fcitx5-gtk4-immodule-probing write_order_list "$(code_inline gtk-query-immodules):" increase_cur_level 1 check_gtk_query_immodule 2 @@ -1546,6 +1563,7 @@ check_gtk() { increase_cur_level 1 check_gtk_immodule_cache 2 check_gtk_immodule_cache 3 + check_gtk_immodule_cache_gio 4 increase_cur_level -1 write_order_list "$(_ 'Gtk IM module files:')" increase_cur_level 1 @@ -1783,7 +1801,6 @@ check_config_ui ((_check_frontend)) && { write_title 1 "$(_ 'Frontends setup:')" - write_paragraph "$(_ 'The environment variable checked by this script only shows the environment under current shell. It is still possible that you did not set the environment to the whole graphic desktop session. You may inspect the actual environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/environ` for a certain process that you find not working.')" check_xim check_qt check_gtk diff --git a/data/fcitx5-wayland-launcher.desktop.in.in b/data/fcitx5-wayland-launcher.desktop.in.in deleted file mode 100644 index 23473cbd..00000000 --- a/data/fcitx5-wayland-launcher.desktop.in.in +++ /dev/null @@ -1,15 +0,0 @@ -[Desktop Entry] -Name=Fcitx 5 Wayland Launcher (Experimental) -GenericName=Input Method -Comment=Start Input Method -Exec=@FCITX_INSTALL_LIBEXECDIR@/fcitx5-wayland-launcher --reopen -Icon=@FCITX_ICON_NAME@ -Terminal=false -Type=Application -Categories=System;Utility; -StartupNotify=false -NoDisplay=true -OnlyShowIn=KDE -X-KDE-StartupNotify=false -X-KDE-Wayland-VirtualKeyboard=true -X-KDE-Wayland-Interfaces=org_kde_plasma_window_management diff --git a/data/org.fcitx.Fcitx5.desktop.in.in b/data/org.fcitx.Fcitx5.desktop.in.in index 58793b45..27284ea1 100644 --- a/data/org.fcitx.Fcitx5.desktop.in.in +++ b/data/org.fcitx.Fcitx5.desktop.in.in @@ -13,4 +13,3 @@ X-GNOME-Autostart-Notify=false X-KDE-autostart-after=panel X-KDE-StartupNotify=false X-KDE-Wayland-VirtualKeyboard=true -X-KDE-Wayland-Interfaces=org_kde_plasma_window_management diff --git a/data/org.fcitx.Fcitx5.metainfo.xml.in b/data/org.fcitx.Fcitx5.metainfo.xml.in index c4735991..c3e6da10 100644 --- a/data/org.fcitx.Fcitx5.metainfo.xml.in +++ b/data/org.fcitx.Fcitx5.metainfo.xml.in @@ -5,9 +5,6 @@ LGPL-2.1+ Fcitx 5 Input Method - - The Fcitx Team -

Fcitx is an input method framework. @@ -18,9 +15,6 @@ https://fcitx-im.org/ https://github.com/fcitx/fcitx5/issues https://fcitx-im.org/wiki/Fcitx - https://explore.transifex.com/fcitx/ - https://fcitx-im.org/wiki/FAQ - https://github.com/fcitx/fcitx5 Typing with Fcitx and Kimpanel @@ -31,19 +25,6 @@ fcitx5 - - - - - - - - - - - - - diff --git a/debian/changelog b/debian/changelog index 1f468936..681a9829 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,141 +1,3 @@ -fcitx5 (5.1.10-1deepin6) unstable; urgency=medium - - * add enable autostart - - -- Chengqi E Fri, 22 Nov 2024 16:25:33 +0800 - -fcitx5 (5.1.10-1deepin5) unstable; urgency=medium - - * remove the restart icon from the right-click menu - - -- xionglinlin Wed, 16 Oct 2024 16:25:33 +0800 - -fcitx5 (5.1.10-1deepin4) unstable; urgency=medium - - * Use gcc 12. - * Set Sogo to the default zh_CN input method list. - - -- xiangzelong Thu, 15 Aug 2024 15:19:29 +0800 - -fcitx5 (5.1.10-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Fri, 31 May 2024 22:36:55 -0400 - -fcitx5 (5.1.9-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Wed, 24 Apr 2024 12:00:54 -0400 - -fcitx5 (5.1.8-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Mon, 18 Mar 2024 22:06:42 -0400 - -fcitx5 (5.1.7-1) unstable; urgency=medium - - * New upstream release. - * debian/control: Fix libuv dev pkg name (should be libuv1-dev). - * debian/fcitx5.install: Also install new file - /etc/xdg/Xwayland-session.d/20-fcitx-x11. - - -- Boyuan Yang Tue, 16 Jan 2024 23:02:43 -0500 - -fcitx5 (5.1.6-2) unstable; urgency=medium - - * debian/control: Add missing build-dependency libuv-dev [!linux-any] - and try to fix FTBFS on hurd platform. - - -- Boyuan Yang Wed, 10 Jan 2024 12:23:49 -0500 - -fcitx5 (5.1.6-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Sat, 06 Jan 2024 00:12:36 -0500 - -fcitx5 (5.1.5-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Wed, 08 Nov 2023 15:39:45 -0500 - -fcitx5 (5.1.4-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Sun, 05 Nov 2023 13:22:25 -0500 - -fcitx5 (5.1.3-1) unstable; urgency=medium - - * New upstream release. - * debian/patches/: Backport trunk patches. - - -- Boyuan Yang Sat, 04 Nov 2023 13:33:37 -0400 - -fcitx5 (5.1.2-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Thu, 02 Nov 2023 14:07:08 -0400 - -fcitx5 (5.1.1-1) unstable; urgency=medium - - * New upstream release. - - -- Boyuan Yang Fri, 29 Sep 2023 20:00:44 -0400 - -fcitx5 (5.1.0-1) unstable; urgency=medium - - * Upload to unstable. - - -- Boyuan Yang Tue, 22 Aug 2023 07:25:33 -0400 - -fcitx5 (5.1.0-1~exp1) experimental; urgency=medium - - * New upstream release. - * debian/copyright: Refresh information. - * debian/patches/: Refresh patches. - * debian/libfcitx5*.install: Update library install filename. - * debian/fcitx5-modules.install: Update file installation. - - -- Boyuan Yang Fri, 18 Aug 2023 23:17:09 -0400 - -fcitx5 (5.0.23-2) unstable; urgency=medium - - * Upload to unstable. - - -- Boyuan Yang Mon, 17 Jul 2023 15:39:00 -0400 - -fcitx5 (5.0.23-2~exp1) experimental; urgency=medium - - * debian/control: - + Add new metapackage fcitx5-frontend-all. - + Let package fcitx5 recommends fcitx5-frontend-all instead of - individual fcitx5-frontend-* packages. - - -- Boyuan Yang Sat, 17 Jun 2023 15:15:51 -0400 - -fcitx5 (5.0.23-1) unstable; urgency=medium - - * Upload to unstable. (Closes: #1037372) - - -- Boyuan Yang Tue, 13 Jun 2023 10:54:14 -0400 - -fcitx5 (5.0.23-1~exp1) experimental; urgency=medium - - * New upstream release. - * debian/copyright: Update new information. - * debian/patches: Refresh patches. - * debian/control: - + Bump xcb-imdkit requirement to 1.0.5. - + Update build-dep: libgdk-pixbuf2.0-dev => libgdk-pixbuf-2.0-dev. - - -- Boyuan Yang Thu, 30 Mar 2023 21:32:17 -0400 - fcitx5 (5.0.21-3) unstable; urgency=medium * debian/control: Tighten versioned dependency of xcb-imdkit to diff --git a/debian/control b/debian/control index 2fb655e6..4d06ece7 100644 --- a/debian/control +++ b/debian/control @@ -20,18 +20,17 @@ Build-Depends: libevent-dev [!linux-any], libexpat1-dev, libfmt-dev, - libgdk-pixbuf-2.0-dev, + libgdk-pixbuf2.0-dev, libjson-c-dev, libkvm-dev [kfreebsd-any], libpango1.0-dev, libsystemd-dev [linux-any], - libuv1-dev [!linux-any], libwayland-bin [linux-any], libwayland-dev [linux-any], libwayland-egl-backend-dev [linux-any], libxcb-ewmh-dev, libxcb-icccm4-dev, - libxcb-imdkit-dev (>= 1.0.5~), + libxcb-imdkit-dev (>= 1.0.3~), libxcb-randr0-dev, libxcb-shape0-dev, libxcb-xfixes0-dev, @@ -62,10 +61,14 @@ Depends: ${shlibs:Depends}, Recommends: fcitx5-config-qt, - fcitx5-frontend-all, + fcitx5-frontend-gtk3, + fcitx5-frontend-gtk4, + fcitx5-frontend-qt5, + fcitx5-frontend-qt6, im-config (>= 0.44), Suggests: fcitx5-chinese-addons, + fcitx5-frontend-gtk2, kde-config-fcitx5, Conflicts: fcitx (<< 1:5), @@ -104,36 +107,6 @@ Description: Fcitx Input Method Framework v5 (common data files) . This package provides architecture-independent data files. -Package: fcitx5-frontend-all -Architecture: all -Multi-Arch: foreign -Section: metapackages -Depends: - fcitx5-frontend-gtk3, - fcitx5-frontend-gtk4, - fcitx5-frontend-qt5, - fcitx5-frontend-qt6, - ${misc:Depends}, -Suggests: - fcitx5-frontend-fbterm, - fcitx5-frontend-gtk2, - fcitx5-frontend-tmux, -Description: Fcitx Input Method Framework v5 (IM Module Metapackage) - Fcitx5 is the next generation of fcitx input method framework. It - provides pleasant and modern input experience with intuitive graphical - configuration tools. The framework is highly extensible with support - for GTK+ and Qt toolkits, D-Bus interfaces, a large variety of desktop - environments and a developer-friendly API. - . - Some of its new features include support of both Wayland and Xorg - and the ability to mimic IBus Input Method Framework in order to - provide better compatibility across different Linux distributions - and desktop environments. - . - This package depends on Input Method Modules (IM Modules) utilized - by popular GUI libraries for better GUI input integration, currently - include GTK3, GTK4, Qt5 and Qt6. - Package: fcitx5-modules Architecture: any Multi-Arch: same diff --git a/debian/copyright b/debian/copyright index e31e8ada..f02f262d 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4,9 +4,7 @@ Upstream-Contact: Weng Xuetian Source: https://github.com/fcitx/fcitx5 Files: * -Copyright: - 2015-2024, CSSlayer - 2017-2017, Henry Hu +Copyright: 2015-2022, CSSlayer License: LGPL-2.1-or-later Files: debian/* @@ -21,24 +19,6 @@ Comment: Copy also available at https://download.fcitx-im.org/data/ -Files: - src/lib/fcitx-wayland/plasma-window-management/* -Copyright: - 2013-2014 Pier Luigi Fiorini -License: LGPL-2.1-or-later - -Files: - src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/* -Copyright: - 2018 Ilia Bozhinov -License: Expat - -Files: - src/ui/virtualkeyboard/* -Copyright: - 2022-2022 liulinsong -License: LGPL-2.1-or-later - Files: src/modules/emoji/data/* Copyright: 2016-2022 Unicode Inc. @@ -63,13 +43,6 @@ Files: Copyright: 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald License: LGPL-2-or-later -Files: - src/lib/fcitx-wayland/cursor-shape/cursor-shape-v1.xml -Copyright: - 2018 The Chromium Authors - 2023 Simon Ser -License: Expat - Files: src/modules/unicode/gen.py Copyright: 2007, Daniel Laidig @@ -204,25 +177,3 @@ License: Unicode not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. - -License: Expat - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that copyright notice and this permission - notice appear in supporting documentation, and that the name of - the copyright holders not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. The copyright holders make no - representations about the suitability of this software for any - purpose. It is provided "as is" without express or implied - warranty. - . - THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY - SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF - THIS SOFTWARE. diff --git a/debian/fcitx5-modules.install b/debian/fcitx5-modules.install index 108e90c7..350f2e81 100644 --- a/debian/fcitx5-modules.install +++ b/debian/fcitx5-modules.install @@ -16,7 +16,6 @@ usr/lib/*/fcitx5/libtestfrontend.so usr/lib/*/fcitx5/libtestim.so usr/lib/*/fcitx5/libtestui.so usr/lib/*/fcitx5/libunicode.so -usr/lib/*/fcitx5/libvirtualkeyboard.so usr/lib/*/fcitx5/libwayland.so usr/lib/*/fcitx5/libwaylandim.so usr/lib/*/fcitx5/libxcb.so @@ -37,7 +36,6 @@ usr/share/fcitx5/addon/notifications.conf usr/share/fcitx5/addon/quickphrase.conf usr/share/fcitx5/addon/spell.conf usr/share/fcitx5/addon/unicode.conf -usr/share/fcitx5/addon/virtualkeyboard.conf usr/share/fcitx5/addon/wayland.conf usr/share/fcitx5/addon/waylandim.conf usr/share/fcitx5/addon/xcb.conf diff --git a/debian/fcitx5.install b/debian/fcitx5.install index 00066db4..7e5c6ca3 100644 --- a/debian/fcitx5.install +++ b/debian/fcitx5.install @@ -1,8 +1,6 @@ -etc/xdg/Xwayland-session.d/20-fcitx-x11 usr/bin/ usr/libexec/ usr/share/applications/ usr/share/icons/hicolor/*/apps/fcitx.* usr/share/icons/hicolor/*/apps/org.fcitx.Fcitx5.* usr/share/metainfo/org.fcitx.Fcitx5.metainfo.xml -etc/xdg/autostart/ diff --git a/debian/libfcitx5config6.install b/debian/libfcitx5config6.install index be672dcc..8fca9573 100644 --- a/debian/libfcitx5config6.install +++ b/debian/libfcitx5config6.install @@ -1,2 +1,2 @@ -usr/lib/*/libFcitx5Config.so.5.1.* +usr/lib/*/libFcitx5Config.so.5.0.* usr/lib/*/libFcitx5Config.so.6 diff --git a/debian/libfcitx5core7.install b/debian/libfcitx5core7.install index 8207e4c7..a240ecb4 100644 --- a/debian/libfcitx5core7.install +++ b/debian/libfcitx5core7.install @@ -1,2 +1,2 @@ -usr/lib/*/libFcitx5Core.so.5.1.* +usr/lib/*/libFcitx5Core.so.5.0.* usr/lib/*/libFcitx5Core.so.7 diff --git a/debian/libfcitx5utils2.install b/debian/libfcitx5utils2.install index 542a5aaa..2e1ca49b 100644 --- a/debian/libfcitx5utils2.install +++ b/debian/libfcitx5utils2.install @@ -1,2 +1,2 @@ usr/lib/*/libFcitx5Utils.so.2 -usr/lib/*/libFcitx5Utils.so.5.1.* +usr/lib/*/libFcitx5Utils.so.5.0.* diff --git a/debian/maint/update-fcitx5-configtool-patch.sh b/debian/maint/update-fcitx5-configtool-patch.sh deleted file mode 100755 index 1447081a..00000000 --- a/debian/maint/update-fcitx5-configtool-patch.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -# SPDX-FileCopyrightText: 2024 Boyuan Yang -# SPDX-License-Identifier: CC0-1.0 - -main() -{ - if [ "x$(basename $(pwd))" = "xmaint" ]; then - cd ../../ ; - fi - if [ "x$(basename $(pwd))" = "xdebian" ]; then - cd ../ ; - fi - printf "Patching data/fcitx5-configtool.sh ...\n" ; - find data -name "fcitx5-configtool.sh" -exec sed -i 's/kde-config-fcitx/kde-config-fcitx5/g' {} + ; - printf "Patching po/*.po and po/*.pot ...\n" ; - find po -name "*.po" -exec sed -i 's/kde-config-fcitx/kde-config-fcitx5/g' {} + ; - find po -name "*.pot" -exec sed -i 's/kde-config-fcitx/kde-config-fcitx5/g' {} + ; - printf "Done!\n" - return -} - - -( main ; ) diff --git a/debian/patches/0001-fix-kde-config-fcitx5-package-name-in-fcitx5-configt.patch b/debian/patches/0001-fix-kde-config-fcitx5-package-name-in-fcitx5-configt.patch index 5b61ea90..04d5c420 100644 --- a/debian/patches/0001-fix-kde-config-fcitx5-package-name-in-fcitx5-configt.patch +++ b/debian/patches/0001-fix-kde-config-fcitx5-package-name-in-fcitx5-configt.patch @@ -2,7 +2,7 @@ From: Shengjing Zhu Date: Wed, 26 Aug 2020 01:38:16 +0800 Subject: fix kde-config-fcitx5 package name in fcitx5-configtool -Last-Update: 2024-01-06 +Last-Update: 2022-07-03 --- data/fcitx5-configtool.sh | 2 +- po/ca.po | 2 +- @@ -15,16 +15,15 @@ Last-Update: 2024-01-06 po/ja.po | 4 ++-- po/ko.po | 4 ++-- po/ru.po | 4 ++-- - po/vi.po | 2 +- po/zh_CN.po | 4 ++-- po/zh_TW.po | 4 ++-- - 14 files changed, 20 insertions(+), 20 deletions(-) + 13 files changed, 19 insertions(+), 19 deletions(-) diff --git a/data/fcitx5-configtool.sh b/data/fcitx5-configtool.sh -index 9f77a43..96c3707 100755 +index f17e49e..4daf97a 100755 --- a/data/fcitx5-configtool.sh +++ b/data/fcitx5-configtool.sh -@@ -131,7 +131,7 @@ run_qt() { +@@ -128,7 +128,7 @@ run_qt() { run_xdg() { case "$DE" in kde) @@ -34,11 +33,11 @@ index 9f77a43..96c3707 100755 *) message "$(_ "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be found. Now it will open config directory.")" diff --git a/po/ca.po b/po/ca.po -index 2163480..d6d0226 100644 +index a32944f..4578c72 100644 --- a/po/ca.po +++ b/po/ca.po -@@ -2878,7 +2878,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2485,7 +2485,7 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -47,11 +46,11 @@ index 2163480..d6d0226 100644 msgstr "" diff --git a/po/da.po b/po/da.po -index ff1c7a4..5b9287d 100644 +index 891d172..3c794c5 100644 --- a/po/da.po +++ b/po/da.po -@@ -2918,11 +2918,11 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2525,11 +2525,11 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -63,13 +62,13 @@ index ff1c7a4..5b9287d 100644 +"pakkenavnet for KCModule er typisk kcm-fcitx eller kde-config-fcitx5. Den vil " "nu åbne konfigurationsmappen." - #: data/fcitx5-diagnose.sh:1185 + #: data/fcitx5-diagnose.sh:1168 diff --git a/po/de.po b/po/de.po -index 2992362..154833a 100644 +index 9f20ee9..fdd8b82 100644 --- a/po/de.po +++ b/po/de.po -@@ -2893,7 +2893,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2487,7 +2487,7 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -78,11 +77,11 @@ index 2992362..154833a 100644 msgstr "" diff --git a/po/es.po b/po/es.po -index 719965b..e648e93 100644 +index 9a47467..c180bcd 100644 --- a/po/es.po +++ b/po/es.po -@@ -2878,7 +2878,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2485,7 +2485,7 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -91,11 +90,11 @@ index 719965b..e648e93 100644 msgstr "" diff --git a/po/fcitx5.pot b/po/fcitx5.pot -index 49e4ba6..12a5a9c 100644 +index 8217b4e..e26b2ab 100644 --- a/po/fcitx5.pot +++ b/po/fcitx5.pot -@@ -2873,7 +2873,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2480,7 +2480,7 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -104,11 +103,11 @@ index 49e4ba6..12a5a9c 100644 msgstr "" diff --git a/po/fr.po b/po/fr.po -index a6bf755..8d74c81 100644 +index b0c89e7..cea3154 100644 --- a/po/fr.po +++ b/po/fr.po -@@ -2969,7 +2969,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2576,7 +2576,7 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -117,11 +116,11 @@ index a6bf755..8d74c81 100644 msgstr "" "Vous utilisez actuellement KDE, mais KCModule pour fcitx est introuvable, le " diff --git a/po/he.po b/po/he.po -index 526d078..38fcd16 100644 +index a80b201..9e9ca6c 100644 --- a/po/he.po +++ b/po/he.po -@@ -2879,7 +2879,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2485,7 +2485,7 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -130,11 +129,11 @@ index 526d078..38fcd16 100644 msgstr "" diff --git a/po/ja.po b/po/ja.po -index bfd5a92..2e5b471 100644 +index c136956..891854a 100644 --- a/po/ja.po +++ b/po/ja.po -@@ -2974,11 +2974,11 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2544,11 +2544,11 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -146,13 +145,13 @@ index bfd5a92..2e5b471 100644 +"ジュールのパッケージ名は、たいていの場合 kcm-fcitx か kde-config-fcitx5 です。" "今回は設定ディレクトリを開きます。" - #: data/fcitx5-diagnose.sh:1185 + #: data/fcitx5-diagnose.sh:1168 diff --git a/po/ko.po b/po/ko.po -index 5d38ba6..f841ec0 100644 +index 78da4d5..b552c45 100644 --- a/po/ko.po +++ b/po/ko.po -@@ -2921,11 +2921,11 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2528,11 +2528,11 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -164,13 +163,13 @@ index 5d38ba6..f841ec0 100644 +"의 패키지 이름은 일반적으로 kcm-fcitx 또는 kde-config-fcitx5입니다. 대신 설정 " "디렉토리를 엽니다." - #: data/fcitx5-diagnose.sh:1185 + #: data/fcitx5-diagnose.sh:1168 diff --git a/po/ru.po b/po/ru.po -index cb6e2ec..643896f 100644 +index 2421d6f..2b847d8 100644 --- a/po/ru.po +++ b/po/ru.po -@@ -3001,11 +3001,11 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2568,11 +2568,11 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -182,26 +181,13 @@ index cb6e2ec..643896f 100644 +"найден, имя пакета этого KCModule обычно kcm-fcitx или kde-config-fcitx5. " "Сейчас будет открыт конфигурационный каталог." - #: data/fcitx5-diagnose.sh:1185 -diff --git a/po/vi.po b/po/vi.po -index 6f356f3..fdc9554 100644 ---- a/po/vi.po -+++ b/po/vi.po -@@ -2894,7 +2894,7 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 - msgid "" - "You're currently running KDE, but KCModule for fcitx couldn't be found, the " --"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " -+"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx5. Now " - "it will open config directory." - msgstr "" - + #: data/fcitx5-diagnose.sh:1168 diff --git a/po/zh_CN.po b/po/zh_CN.po -index 39615ff..cc545ab 100644 +index f42230a..5eead2b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po -@@ -2938,11 +2938,11 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2527,11 +2527,11 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -212,14 +198,14 @@ index 39615ff..cc545ab 100644 -"为 kcm-fcitx 或 kde-config-fcitx。现在将打开配置目录。" +"为 kcm-fcitx 或 kde-config-fcitx5。现在将打开配置目录。" - #: data/fcitx5-diagnose.sh:1185 + #: data/fcitx5-diagnose.sh:1168 msgid "" diff --git a/po/zh_TW.po b/po/zh_TW.po -index 9ee121e..33df7c2 100644 +index 5cd7331..cc887cb 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po -@@ -2944,11 +2944,11 @@ msgstr "" - #: data/fcitx5-configtool.sh:134 +@@ -2513,11 +2513,11 @@ msgstr "" + #: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " -"package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -230,5 +216,5 @@ index 9ee121e..33df7c2 100644 -"kcm-fcitx 或 kde-config-fcitx。現在將打開設定目錄。" +"kcm-fcitx 或 kde-config-fcitx5。現在將打開設定目錄。" - #: data/fcitx5-diagnose.sh:1185 + #: data/fcitx5-diagnose.sh:1168 msgid "" diff --git a/debian/patches/0002-For-lower-versions-gcc-compatible.patch b/debian/patches/0002-For-lower-versions-gcc-compatible.patch deleted file mode 100644 index 558aebf1..00000000 --- a/debian/patches/0002-For-lower-versions-gcc-compatible.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 9e3cd7c967e8180e447603c2ac4102b36d9b3959 Mon Sep 17 00:00:00 2001 -From: chenshijie -Date: Thu, 30 Nov 2023 14:05:06 +0800 -Subject: [PATCH] 0002-For-lower-versions-gcc-compatible - -update by xiangzelong ---- - src/frontend/ibusfrontend/ibusfrontend.cpp | 8 ++++++++ - test/testdbus.cpp | 4 ++++ - 2 files changed, 12 insertions(+) - -diff --git a/src/frontend/ibusfrontend/ibusfrontend.cpp b/src/frontend/ibusfrontend/ibusfrontend.cpp -index b1a5dc0..902c89e 100644 ---- a/src/frontend/ibusfrontend/ibusfrontend.cpp -+++ b/src/frontend/ibusfrontend/ibusfrontend.cpp -@@ -571,14 +571,22 @@ private: - ([]() -> dbus::DBusStruct { - return {0, 0}; - }), -+#if __GNUC__ <= 8 -+ ([&](dbus::DBusStruct type) { -+#else - ([this](dbus::DBusStruct type) { -+#endif - setContentType(std::get<0>(type), std::get<1>(type)); - }), - dbus::PropertyOption::Hidden); - FCITX_OBJECT_VTABLE_WRITABLE_PROPERTY( - clientCommitPreedit, "ClientCommitPreedit", "(b)", - ([this]() -> dbus::DBusStruct { return {clientCommitPreedit_}; }), -+#if __GNUC__ <= 8 -+ ([&](dbus::DBusStruct value) { -+#else - ([this](dbus::DBusStruct value) { -+#endif - clientCommitPreedit_ = std::get<0>(value); - }), - dbus::PropertyOption::Hidden); -diff --git a/test/testdbus.cpp b/test/testdbus.cpp -index c8eb05a..bb3fbbb 100644 ---- a/test/testdbus.cpp -+++ b/test/testdbus.cpp -@@ -67,7 +67,11 @@ private: - []() { return 5; }); - FCITX_OBJECT_VTABLE_WRITABLE_PROPERTY( - testProperty2, "testProperty2", "i", [this]() { return prop2; }, -+#if __GNUC__ <= 8 -+ [&](int32_t v) { prop2 = v; }); -+#else - [this](int32_t v) { prop2 = v; }); -+#endif - }; - - #define TEST_SERVICE "org.fcitx.Fcitx.TestDBus" --- -2.33.1 diff --git a/debian/patches/0005-configtool-opens-dde-control-center-when-using-DDE.patch b/debian/patches/0005-configtool-opens-dde-control-center-when-using-DDE.patch deleted file mode 100644 index 55af6eda..00000000 --- a/debian/patches/0005-configtool-opens-dde-control-center-when-using-DDE.patch +++ /dev/null @@ -1,69 +0,0 @@ -From: zsien -Date: Fri, 10 Feb 2023 17:02:28 +0800 -Subject: configtool opens dde-control-center when using DDE - ---- - data/fcitx5-configtool.sh | 27 +++++++++++++++++++++++++-- - 1 file changed, 25 insertions(+), 2 deletions(-) - -diff --git a/data/fcitx5-configtool.sh b/data/fcitx5-configtool.sh -index 7218967..9b08f7a 100755 ---- a/data/fcitx5-configtool.sh -+++ b/data/fcitx5-configtool.sh -@@ -65,6 +65,11 @@ detectDE() { - XFCE) - DE=xfce - break -+ ;; -+ DDE|Deepin) -+ DE=dde -+ break -+ ;; - esac - done - fi -@@ -93,6 +98,9 @@ detectDE() { - xfce|xfce4|'Xfce Session') - DE=xfce; - ;; -+ DDE*|deepin) -+ DE=dde; -+ ;; - esac - fi - -@@ -118,6 +126,18 @@ run_kde() { - fi - } - -+run_dde() { -+ local dbus_service="org.deepin.dde.ControlCenter1" -+ local dbus_path="/org/deepin/dde/ControlCenter1" -+ local dbus_interface="org.deepin.dde.ControlCenter1" -+ local dcc_module="keyboard/Manage Input Methods" -+ -+ if dbus-send --print-reply=literal --dest=$dbus_service $dbus_path $dbus_interface.GetAllModule 2>> /dev/null | jq --arg url "$dcc_module" -Rse 'fromjson? // error("Bad input") | any(.url == $url)' >> /dev/null 2>&1; then -+ exec dbus-send --print-reply=literal --dest=$dbus_service $dbus_path $dbus_interface.ShowPage string:"$dcc_module" -+ fi -+ return 1 -+} -+ - run_qt() { - if command -v fcitx5-config-qt > /dev/null 2>&1; then - exec fcitx5-config-qt -@@ -154,10 +174,13 @@ detectDE - # xdg is never a preferred solution - case "$DE" in - kde) -- order="kde qt xdg" -+ order="kde qt dde xdg" -+ ;; -+ dde) -+ order="dde qt kde xdg" - ;; - *) -- order="qt kde xdg" -+ order="qt kde dde xdg" - ;; - esac - diff --git a/debian/patches/0006-Revert-disable-ctrl-shift-enumerate-key-by-default.patch b/debian/patches/0006-Revert-disable-ctrl-shift-enumerate-key-by-default.patch deleted file mode 100644 index 59c016ac..00000000 --- a/debian/patches/0006-Revert-disable-ctrl-shift-enumerate-key-by-default.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/lib/fcitx/globalconfig.cpp b/src/lib/fcitx/globalconfig.cpp -index 49946c51..8c4c0e64 100644 ---- a/src/lib/fcitx/globalconfig.cpp -+++ b/src/lib/fcitx/globalconfig.cpp -@@ -50,14 +50,14 @@ FCITX_CONFIGURATION( - this, - "EnumerateForwardKeys", - _("Enumerate Input Method Forward"), -- {}, -+ {Key("Control+Shift_L")}, - KeyListConstrain({KeyConstrainFlag::AllowModifierLess, - KeyConstrainFlag::AllowModifierOnly})}; - KeyListOption enumerateBackwardKeys{ - this, - "EnumerateBackwardKeys", - _("Enumerate Input Method Backward"), -- {}, -+ {Key("Control+Shift_R")}, - KeyListConstrain({KeyConstrainFlag::AllowModifierLess, - KeyConstrainFlag::AllowModifierOnly})}; - Option enumerateSkipFirst{ diff --git a/debian/patches/0007-Add-Sogou-to-the-default-zh_CN-input-method-list.patch b/debian/patches/0007-Add-Sogou-to-the-default-zh_CN-input-method-list.patch deleted file mode 100644 index acc1d5fd..00000000 --- a/debian/patches/0007-Add-Sogou-to-the-default-zh_CN-input-method-list.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: zsien -Date: Tue, 23 Jul 2024 16:42:14 +0800 -Subject: Add Sogou to the default zh_CN input method list - ---- - data/default/zh_CN | 3 +++ - src/lib/fcitx/instance.cpp | 19 +++++++++++++++++++ - 2 files changed, 22 insertions(+) - -diff --git a/data/default/zh_CN b/data/default/zh_CN -index b58579e..d5dc91e 100644 ---- a/data/default/zh_CN -+++ b/data/default/zh_CN -@@ -1,3 +1,6 @@ - [DefaultInputMethod] - 0=pinyin - 1=rime -+ -+[AppendInputMethods] -+0=com.sogou.ime.ng.fcitx5.deepin -diff --git a/src/lib/fcitx/instance.cpp b/src/lib/fcitx/instance.cpp -index 4aaae06..47b2d8a 100644 ---- a/src/lib/fcitx/instance.cpp -+++ b/src/lib/fcitx/instance.cpp -@@ -59,6 +59,8 @@ constexpr uint64_t AutoSaveIdleTime = 60ull * 1000000ull; // 1 minutes - FCITX_CONFIGURATION(DefaultInputMethod, - Option> defaultInputMethods{ - this, "DefaultInputMethod", "DefaultInputMethod"}; -+ Option> appendInputMethods{ -+ this, "AppendInputMethods", "AppendInputMethods"}; - Option> extraLayouts{ - this, "ExtraLayout", "ExtraLayout"};); - -@@ -346,6 +348,17 @@ void InstancePrivate::buildDefaultGroup() { - } - } - -+ std::vector appendInputMethods; -+ for (const auto &im : defaultIMConfig.appendInputMethods.value()) { -+ if (im == defaultIM) { -+ continue; -+ } -+ -+ if (imManager_.entry(im)) { -+ appendInputMethods.push_back(im); -+ } -+ } -+ - // Create a group for each layout. - std::vector groupOrders; - for (const auto &imLayout : imLayouts) { -@@ -364,6 +377,12 @@ void InstancePrivate::buildDefaultGroup() { - group.inputMethodList().emplace_back( - InputMethodGroupItem(defaultIM)); - } -+ if (!appendInputMethods.empty()) { -+ group.inputMethodList().insert( -+ group.inputMethodList().end(), -+ std::make_move_iterator(appendInputMethods.begin()), -+ std::make_move_iterator(appendInputMethods.end())); -+ } - FCITX_INFO() << "Items in " << groupName << ": " - << group.inputMethodList(); - group.setDefaultLayout(imLayout); diff --git a/debian/patches/0008-fix-remove-the-restart-icon.patch b/debian/patches/0008-fix-remove-the-restart-icon.patch deleted file mode 100644 index 54b01394..00000000 --- a/debian/patches/0008-fix-remove-the-restart-icon.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: xionglinlin -Date: Sun, 29 Sep 2024 11:44:52 +0800 -Subject: fix: remove the restart icon - -remove the restart icon from the right-click menu - -Log: remove the restart icon -Bug: https://pms.uniontech.com/bug-view-270971.html ---- - src/modules/notificationitem/dbusmenu.cpp | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/modules/notificationitem/dbusmenu.cpp b/src/modules/notificationitem/dbusmenu.cpp -index 10e33c5..e29409f 100644 ---- a/src/modules/notificationitem/dbusmenu.cpp -+++ b/src/modules/notificationitem/dbusmenu.cpp -@@ -259,8 +259,6 @@ void DBusMenu::fillLayoutProperties( - case BII_Restart: - appendProperty(properties, propertyNames, "label", - dbus::Variant(_("Restart"))); -- appendProperty(properties, propertyNames, "icon-name", -- dbus::Variant("view-refresh")); - break; - case BII_Exit: - appendProperty(properties, propertyNames, "label", diff --git a/debian/patches/series b/debian/patches/series index d2bdefc2..d78299c9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,6 +1 @@ 0001-fix-kde-config-fcitx5-package-name-in-fcitx5-configt.patch -0002-For-lower-versions-gcc-compatible.patch -0005-configtool-opens-dde-control-center-when-using-DDE.patch -0006-Revert-disable-ctrl-shift-enumerate-key-by-default.patch -0007-Add-Sogou-to-the-default-zh_CN-input-method-list.patch -0008-fix-remove-the-restart-icon.patch diff --git a/debian/rules b/debian/rules index 654fa60c..e6dbe108 100755 --- a/debian/rules +++ b/debian/rules @@ -2,7 +2,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all -config-opt := -DUSE_FLATPAK_ICON=OFF -DENABLE_XDGAUTOSTART=ON +config-opt := -DUSE_FLATPAK_ICON=OFF -DENABLE_XDGAUTOSTART=OFF ifneq (linux,$(DEB_HOST_ARCH_OS)) config-opt += -DUSE_SYSTEMD=OFF -DENABLE_WAYLAND=OFF diff --git a/po/ca.po b/po/ca.po index def11224..a32944fe 100644 --- a/po/ca.po +++ b/po/ca.po @@ -10,117 +10,101 @@ msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" "Last-Translator: Robert Antoni Buj i Gelonch , 2020\n" -"Language-Team: Catalan (https://app.transifex.com/fcitx/teams/12005/ca/)\n" +"Language-Team: Catalan (https://www.transifex.com/fcitx/teams/12005/ca/)\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(no disponible)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr " " -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "<Ús privat>" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "Activa el mètode d'entrada" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "Activa per defecte" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "Afegeix un preferit" @@ -129,108 +113,104 @@ msgstr "Afegeix un preferit" msgid "Add Unicode Typing Support" msgstr "Afegeix la compatibilitat amb l'escriptura unicode" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "Ajusta la brillantor" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "Repetició de l'àudio" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "" @@ -239,11 +219,11 @@ msgstr "" msgid "Backends" msgstr "" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "" @@ -252,86 +232,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "Retrocés" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "Bateria" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "Comportament" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Blau" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Llibre" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "Navegador" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "Calculadora" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "Cancel·la" @@ -340,81 +316,81 @@ msgstr "Cancel·la" msgid "Candidates" msgstr "" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "" @@ -423,15 +399,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "Bloq Maj" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "" @@ -439,11 +415,11 @@ msgstr "" msgid "Change Fcitx 5 Configuration" msgstr "" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "Escolliu el modificador de tecla" @@ -451,12 +427,12 @@ msgstr "Escolliu el modificador de tecla" msgid "Classic User Interface" msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "Neteja" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "" @@ -464,105 +440,105 @@ msgstr "" msgid "Clipboard" msgstr "Porta-retalls" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "Tanca" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "Comunitat" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "Configura" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Copia" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "" @@ -570,11 +546,11 @@ msgstr "" msgid "Custom" msgstr "Personalitzat" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Retalla" @@ -587,118 +563,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "Frontal DBus" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "Desactiva el mètode d'entrada" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "Per defecte" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "Av Pàg predeterminat" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "Re Pàg predeterminat" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "Mida de pàgina predeterminada" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "No ho mostris un altre cop" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "Documents" @@ -708,21 +649,21 @@ msgctxt "Key name" msgid "Down" msgstr "Avall" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Expulsa" @@ -735,27 +676,23 @@ msgstr "" msgid "Enable" msgstr "" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "" @@ -772,88 +709,84 @@ msgstr "Fi" msgid "Entries" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." msgstr "" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Esc" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "Executa" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "Surt" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "Preferits" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -863,41 +796,26 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Configuració de fcitx 5" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "" @@ -905,29 +823,17 @@ msgstr "" msgid "Fcitx4 Frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "Finances" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "Troba" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -935,96 +841,89 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "" @@ -1032,174 +931,168 @@ msgstr "" msgid "Freedesktop.org Notification Support" msgstr "" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "Joc" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "Verd" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "Grup" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "Grup {0}: {1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "Ajuda" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "Historial" @@ -1209,39 +1102,39 @@ msgctxt "Key name" msgid "Home" msgstr "" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "Drecera de teclat" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "" @@ -1250,36 +1143,28 @@ msgstr "" msgid "IBus Frontend" msgstr "Frontal DBus" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " "as well as alternative solutions." msgstr "" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " "any input method other than ${2}. See ${link} for more detail." msgstr "" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "Mètode d'entrada" @@ -1288,100 +1173,67 @@ msgstr "Mètode d'entrada" msgid "Input Method Configuration" msgstr "" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "Tauler del mètode d'entrada de KDE" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "" @@ -1390,308 +1242,127 @@ msgstr "" msgid "Key" msgstr "" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "Teclat" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "Teclat - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "Teclat - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" msgstr "" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" +msgid "Launch (0)" msgstr "" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." +msgid "Launch (1)" msgstr "" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" +msgid "Launch (2)" msgstr "" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" +msgid "Launch (3)" msgstr "" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" +msgid "Launch (4)" msgstr "" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" +msgid "Launch (5)" msgstr "" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" +msgid "Launch (6)" msgstr "" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" +msgid "Launch (7)" msgstr "" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" +msgid "Launch (8)" msgstr "" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" +msgid "Launch (9)" msgstr "" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" +msgid "Launch (A)" msgstr "" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" msgid "Launch (B)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "" @@ -1726,248 +1397,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "Mercat" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "Menú" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "Silencia el micròfon" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "Diversos candidats" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "Música" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "Els meus llocs" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "Següent candidat" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "Cap" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "No disponible" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "" @@ -1980,87 +1631,73 @@ msgctxt "Key name" msgid "NumLock" msgstr "Bloq Núm" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "Obre" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "Obre l'URL" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "Opció" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "Mida de pàgina" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "Enganxa" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "" @@ -2069,55 +1706,65 @@ msgctxt "Key name" msgid "Pause" msgstr "Pausa" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "Av Pàg" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "Re Pàg" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "Telèfon" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "Imatges" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "Apaga" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2125,29 +1772,29 @@ msgstr "" msgid "Presage" msgstr "" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "Candidat anterior" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "Impr Pant" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "" @@ -2155,41 +1802,37 @@ msgstr "" msgid "Quick Phrase" msgstr "Frase ràpida" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "Frase ràpida:" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "Roig" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "Refés" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "Refresca" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "Recarrega" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "Respon" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "Reinicia" @@ -2228,55 +1871,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "Gira les finestres" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "Desa" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "Estalvi de pantalla" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "Cerca" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "Selecciona" @@ -2293,89 +1932,74 @@ msgstr "" msgid "Select specific input method via keyboard" msgstr "" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "Envia" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Majúscules" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "" @@ -2385,36 +2009,35 @@ msgctxt "Key name" msgid "Space" msgstr "Espai" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "Ortografia" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "Full de càlcul" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "Mètode d'entrada estàndard" @@ -2422,59 +2045,57 @@ msgstr "Mètode d'entrada estàndard" msgid "Status Notifier" msgstr "Notificador d'estat" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "Atura" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "Subtítol" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "Suspèn" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "Petició del sistema" @@ -2484,76 +2105,58 @@ msgctxt "Key name" msgid "Tab" msgstr "Tab" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "Tauler de tasques" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "Terminal" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "Hora" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2561,112 +2164,108 @@ msgid "" "freezing, see ${link2}." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "Eines" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "Activa el mètode d'entrada" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "Desfés" @@ -2675,7 +2274,7 @@ msgstr "Desfés" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode: " @@ -2684,97 +2283,86 @@ msgctxt "Key name" msgid "Up" msgstr "Amunt" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" msgstr "" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "Vídeo" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "Visualitza" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "Abaixa el volum" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "Silencia el volum" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "Apuja el volum" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "Desperta" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2785,43 +2373,32 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "Webcam" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "Sense fil" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "Processador de text" @@ -2834,153 +2411,150 @@ msgstr "" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "Groc" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." msgstr "" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " "it will open config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "Amplia el zoom" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "Redueix el zoom" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (no disponible)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/da.po b/po/da.po index c36860c3..891d1720 100644 --- a/po/da.po +++ b/po/da.po @@ -10,117 +10,101 @@ msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" "Last-Translator: scootergrisen, 2021\n" -"Language-Team: Danish (https://app.transifex.com/fcitx/teams/12005/da/)\n" +"Language-Team: Danish (https://www.transifex.com/fcitx/teams/12005/da/)\n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} miljøvariabler:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1}-indstillingsmappe:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} kører ikke." -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} er ikke sat." -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} er sat til ${2}." -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1} ikke fundet." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} virker korrekt." -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(ikke tilgængelig)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(skriv for at søge i unicode efter kode eller beskrivelse)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Begyndervejledning" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Hall_of_Shame_for_understøttelse_af_Linux_IME" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Inputmetode_med_relation_til_miljøvariabler" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Bemærkning_til_GNOME_senere_end_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "Aktivér inputmetode" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "Aktivér som standard" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "Tilføj favorit" @@ -129,108 +113,104 @@ msgstr "Tilføj favorit" msgid "Add Unicode Typing Support" msgstr "Tilføj understøttelse af unicode-indtastning" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "Tilføjelseskonfigurationsmappe:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "Tilføjelsesbiblioteker:" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "Tilføjelsesliste:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "Juster lysstyrke" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "Alle fundne Gtk ${1} im-modul-filer findes." -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "Alle biblioteker til alle tilføjelse er fundet." -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "Tillad tilsidesættelse af systemets XKB-indstillinger" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "Program venstre" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "Program højre" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "Programmer deaktiveret for langt tryk" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "Lyd gennemløb spor" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "Lyd tilfældig afspilning" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "Lyd gentag" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "Forfatter" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "Væk" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "Tilbage" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "Tilbage fremad" @@ -239,11 +219,11 @@ msgstr "Tilbage fremad" msgid "Backends" msgstr "" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "Baggrund" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "Baggrundsbillede" @@ -252,86 +232,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "Backspace" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Bash-version:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "Batteri" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "Begyndervejledning" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "Opførsel" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Blå" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "Sløringsmargen" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Bog" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "Nederst i midten" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "Nederst til venstre" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "Nederst til højre" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "Browser" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "Lommeregner" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "Annuller" @@ -340,86 +316,86 @@ msgstr "Annuller" msgid "Candidates" msgstr "Kandidater" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "Kan ikke oprette forbindelse til ${1} korrekt." -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "Kan ikke bestemme skrivebordsmiljø." -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "Kan ikke finde ${1}-tilføjelseskonfigurationsmappe." -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "Kan ikke finde ${1}-eksekverbar!" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "Kan ikke finde ${1}-im-modul til gtk ${2} i mellemlager." -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "Kan ikke finde ${1}-im-modul til gtk ${2}." -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "Kan ikke finde ${1}-inputmetode-modul til ${2}." -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "Kan ikke finde ${2} til gtk ${1}" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "Kan ikke finde ejer af DBus-navnet ${1}." -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" "Kan ikke finde et konfigurationsværktøj med grafisk brugerflade, installer " "venligst ${1} eller ${2}." -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "Kan ikke finde aktiveret ${1}-brugerflade!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "Kan ikke finde fcitx5-eksekverbar!" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "Kan ikke filen ${1} af tilføjelsen ${2}." -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" "Kan ikke finde følgende krævede biblioteker for ${1} af tilføjelsen ${2}." -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "Kan ikke finde im-modul mellemlager til gtk ${1}" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" "Kan ikke finde kimpanel dbus-grænseflade eller aktivere ikke-kimpanel-" "brugerflade." -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "Kan ikke finde pid på ejer af DBus-navnet ${1}." -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "Kan ikke finde xim_server på rodvindue." -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "Kan ikke fortolke XMODIFIERS: ${1}." @@ -428,15 +404,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "CapsLock" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "I midten" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "I midten til venstre" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "I midten til højre" @@ -444,11 +420,11 @@ msgstr "I midten til højre" msgid "Change Fcitx 5 Configuration" msgstr "Skift Fcitx 5-konfiguration" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "Afkrydsningsboks" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "Vælg ændringstast" @@ -456,12 +432,12 @@ msgstr "Vælg ændringstast" msgid "Classic User Interface" msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "Ryd" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "Klikmargen" @@ -469,105 +445,105 @@ msgstr "Klikmargen" msgid "Clipboard" msgstr "Udklipsholder" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "Luk" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "Kodeinput" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "Fællesskab" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "Fuldførsel" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "Fuldførsel er deaktiveret." -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "Fuldførsel er aktiveret." -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "Konfiguration med grafisk brugerflade til gtk${1} ikke fundet." -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "Konfiguration med grafisk brugerflade til gtk${1}:" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "Konfiguration med grafisk brugerflade til kde:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "Konfiguration med grafisk brugerflade til qt ikke fundet." -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "Konfiguration med grafisk brugerflade til qt:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "Konfigurationsværktøjs-wrapper:" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "Konfiguration:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "Konfigurer" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Styring" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Styring" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Kopiér" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "Nuværende ${1}-indstillingsmappe er ${2} (${3})." -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "Nuværende sprog:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "Nuværende bruger:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "Nuværende værdi af ${1} er ${2} (${3})." @@ -575,11 +551,11 @@ msgstr "Nuværende værdi af ${1} er ${2} (${3})." msgid "Custom" msgstr "Tilpasset" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Kliip" @@ -592,118 +568,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "DBus-frontend" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "DBus-baseret nyt Freedesktop.org-bakkeikon" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "DBus-grænseflade:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "Deaktivér inputmetode" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "Standard" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "Standard næste kandidat" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "Standard-næste side" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "Standard forrige kandidat" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "Standard-forrige side" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "Standardsidestørrelse" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "Slet" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "Beskrivelse" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "Skrivebordsmiljø:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "Skrivebordsmiljø er ${1}." -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "Mapper:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "Vis" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "Vis ikke igen" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "Dokumenter" @@ -713,21 +654,21 @@ msgctxt "Key name" msgid "Down" msgstr "Ned" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "Redigering" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "Eisu-skift" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "Eisu skift" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Skub ud" @@ -740,27 +681,23 @@ msgstr "Emoji" msgid "Enable" msgstr "Aktivér" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "Aktivér sløring i KWin" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "Aktivér stavekontrol" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "Aktivér emoji i tip" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "Aktivér emoji i hurtigfrase" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "" @@ -777,27 +714,27 @@ msgstr "End" msgid "Entries" msgstr "Poster" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "Gennemløb inputmetode baglæns" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "Gennemløb inputmetode forlæns" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "Gennemløb inputmetode-gruppe baglæns" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "Gennemløb inputmetode-gruppe forlæns" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "Gennemløb når der trykkes på udløsertast gentagne gange" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -805,64 +742,60 @@ msgstr "" "Miljøvariablen ${1} er \"${2}\" i stedet for \"${3}\". Tjek venligst om du " "har eksporteret den forkert i nogen af dine init-filer." -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "Miljøvariablen ${1} er ikke sat." -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "Miljøvariablen ${1} er sat korrekt til \"${2}\"." -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "Miljøvariablen ${1} er ikke sat ${2}." -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "Miljø:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" "Der opstod en fejl under kørsel af ${1}. Tjek venligst dine lokale " "indstillinger." -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Escape" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "Udfør" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "Afslut" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "Kunne ikke finde ${1} i im-modul mellemlager ved ${2}" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "Kunne ikke finde ${1} i outputtet af ${2}" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "Reserve sprog for stavekontrol" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "Favoritter" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -872,23 +805,19 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Fcitx 5-konfiguration" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Fcitx-tilføjelser:" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Fcitx-konfiguration med brugerflade:" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Fcitx-tilstand:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " @@ -898,18 +827,7 @@ msgstr "" "sprog du kender. Det har også en vifte af tilføjelser som forbedre din " "skriveoplevelse." -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Fcitx-version: ${1}" @@ -917,29 +835,17 @@ msgstr "Fcitx-version: ${1}" msgid "Fcitx4 Frontend" msgstr "Fcitx4-frontend" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "Finans" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "Find" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -947,96 +853,89 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "Skrifttype" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "Fremad" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "Fandt ${1} ${2}-modul: ${3}." -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "Fandt ${1} ${2}-proces:" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "Fandt ${1} ${2}-processer:" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "Fandt ${1}-tilføjelseskonfigurationsmappe: ${2}." -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "Fandt ${1} ved ${2}." -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "Fandt ${1} deaktiverede tilføjelser:" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "Fandt ${1} aktiverede tilføjelser:" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "Fandt ${1} aktiverede brugergrænsefladetilføjelser:" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "Fandt ${1} im-moduler til gtk ${2}." -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "Fandt ${1} kcm-modul." -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "Fandt ${2} til ukendt gtk-version ved ${1}." -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "Fandt ${3} til gtk ${1} ved ${2}." -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "Fandt ${3} im-modul til ${2}: ${1}." -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "Fandt im-modul mellemlager for ukendt gtk-version ved ${1}." -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "Fandt im-modulers mellemlager til gtk ${1} ved ${2}." -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "Fandt ukendt ${1} qt-modul: ${2}." @@ -1044,174 +943,168 @@ msgstr "Fandt ukendt ${1} qt-modul: ${2}." msgid "Freedesktop.org Notification Support" msgstr "Understøttelse af Freedesktop.org-underretning" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "Frontendens opsætning:" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "Spil" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "Gå" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "Grøn" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "Gruppe" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "Gruppe {0}: {1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "Gruppe {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "Gtk ${1} im-modul-filen ${2} findes ikke." -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "Mellemlager for Gtk IM-modul:" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "Filer for Gtk IM-modul:" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Hall of Shame for understøttelse af Linux IME" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "Hangul" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "Hangul Banja" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "Hangul-slut" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "Hangul Hanja" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "Hangul Jamo" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "Hangul Jeonja" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "Hangul PostHanja" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "Hangul PreHanja" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "Hangul Romaja" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "Hangul-special" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "Hangul-start" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "Hankaku" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "Hjælp" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "Henkan" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "Dvale" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "Skjulte underretninger" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "Skjul overlægningen hvis størrelsen ikke passer" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "Baggrund for fremhævning" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "Baggrundsfarve for fremhævning" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "Kandidatfarve for fremhævning" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "Fremhæv klikmargen" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "Tekstfarve for fremhævning" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "Hiragana" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "Hiragana Katakana" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "Historik" @@ -1221,41 +1114,41 @@ msgctxt "Key name" msgid "Home" msgstr "Home" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "Hjemmekontor" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "Startside" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "Hjem:" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "Hotlinks" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "Hottast" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "Hottast til at skifte til den niende inputmetode" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" "Hottast til at skifte til den niende inputmetode kun til nuværende " "inputkontekst" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "Hyper" @@ -1264,13 +1157,7 @@ msgstr "Hyper" msgid "IBus Frontend" msgstr "IBus-frontend" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1280,7 +1167,7 @@ msgstr "" "at kunne bruge andre inputmetoder end ${2}. Se ${link} for flere detaljer og " "alternative løsninger." -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1290,16 +1177,14 @@ msgstr "" "bruger kommandoen ${g36_disable_ibus} til at deaktivere IBus-integration for " "at kunne bruge andre inputmetoder end ${2}. Se ${link} for flere detaljer." -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "Billede" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "Inputmetode" @@ -1308,100 +1193,67 @@ msgstr "Inputmetode" msgid "Input Method Configuration" msgstr "Konfiguration af inputmetode" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "Inputmetode med relation til miljøvariabler: " -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "Inputpanel" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "Valg af inputmetode" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "Indsæt" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "Ugyldig tilføjelseskonfigurationsfil ${1}." -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "Panel til KDE-inputmetode" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "Kana-lås" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "Kana-skift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "Kanji" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "Katakana" @@ -1410,308 +1262,127 @@ msgstr "Katakana" msgid "Key" msgstr "Tast" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "Tastatur" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "Tastatur - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "Tastatur - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "Tastaturlysstyrke ned" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "Tastaturlysstyrke op" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "Tastaturlayout:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "Tastaturlys til/fra" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "Tastaturmenu" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "" +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Kimpanel-proces:" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "" +msgid "Launch (0)" +msgstr "Start (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "" +msgid "Launch (1)" +msgstr "Start (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "" +msgid "Launch (2)" +msgstr "Start (2)" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:81 -msgctxt "Key name" -msgid "Keypad 1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:82 -msgctxt "Key name" -msgid "Keypad 2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:83 -msgctxt "Key name" -msgid "Keypad 3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:84 -msgctxt "Key name" -msgid "Keypad 4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:85 -msgctxt "Key name" -msgid "Keypad 5" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:86 -msgctxt "Key name" -msgid "Keypad 6" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:87 -msgctxt "Key name" -msgid "Keypad 7" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:88 -msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Kimpanel-proces:" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "Start (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "Start (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "Start (2)" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" msgid "Launch (3)" msgstr "Start (3)" -#: src/lib/fcitx-utils/key.cpp:116 +#: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" msgid "Launch (4)" msgstr "Start (4)" -#: src/lib/fcitx-utils/key.cpp:117 +#: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" msgid "Launch (5)" msgstr "Start (5)" -#: src/lib/fcitx-utils/key.cpp:118 +#: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" msgid "Launch (6)" msgstr "Start (6)" -#: src/lib/fcitx-utils/key.cpp:119 +#: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" msgid "Launch (7)" msgstr "Start (7)" -#: src/lib/fcitx-utils/key.cpp:120 +#: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" msgid "Launch (8)" msgstr "Start (8)" -#: src/lib/fcitx-utils/key.cpp:121 +#: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" msgid "Launch (9)" msgstr "Start (9)" -#: src/lib/fcitx-utils/key.cpp:122 +#: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" msgid "Launch (A)" msgstr "Start (A)" -#: src/lib/fcitx-utils/key.cpp:123 +#: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" msgid "Launch (B)" msgstr "Start (B)" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "Start (C)" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "Start (D)" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "Start (E)" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "Start (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "Start mail" @@ -1746,248 +1417,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "Venstre Super" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "Pære" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "Sprog:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "Log:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "Log ud" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "Opførsel for langt tryk" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "Mail videresend" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "Margen" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "Margen nederst" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "Margen til venstre" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "Margen til højre" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "Margen øverst" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "Margen omkring al indholdet" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "Margen omkring tekst" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "Marked" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "Medie hurtig fremad" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "Medie næste" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "Medie pause" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "Medie afspil" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "Medie forrige" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "Medie optag" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "Medie spol tilbage" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "Medie stop" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "Møde" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "Menu" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "Menu" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "Menuens skrifttype" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "Menu-PB" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "Messenger" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "Metadata" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "Mikrofon mute" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "Skærm lysstyrke ned" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "Skærm lysstyrke op" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "Muhenkan" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "Flere kandidat" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "Musik" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "Mine steder" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "Navn" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "Ny(t)" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "Nyheder" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "Næste kandidat" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "Knap for næste side" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "Ingen udklipsholderhistorik." -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "Ingen" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "Normal tekstfarve" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "Ikke tilgængelig" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "Bemærkning til GNOME senere end 3.6" @@ -2000,11 +1651,11 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "Antal poster" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." @@ -2012,77 +1663,63 @@ msgstr "" "Fandt kun understøttelse af emoji. For at aktivere stavekontrol skal du " "installere stavekontroldata til sproget." -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "Åbn" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "Åbn URL" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "Valgmulighed" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "Klikmargen for overlægning" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "Billede for overlægning" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "X-forskydning for overlægning" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "Y-forskydning for overlægning" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "Placering for overlægning" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "Ejer af DBus-navnet ${1} er ${2}." -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "PID af ejeren af DBus-navnet ${1} er ${2}." -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "Sidestørrelse" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "Indsæt" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "Indsæt primære" @@ -2091,21 +1728,31 @@ msgctxt "Key name" msgid "Pause" msgstr "Pause" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "PgDown" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "PgUp" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "Telefon" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "Billeder" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "Tjek venligst ${1} for hvordan fcitx5 installeres." -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." @@ -2113,7 +1760,7 @@ msgstr "" "Tjek venligst konfigurationslinket for din distribution i ${1} for hvordan " "${2}-autostart opsættes." -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." @@ -2122,29 +1769,29 @@ msgstr "" "værktøjet som din distribution leverer eller tilføj ${1} til din ${2}. Se " "${link}." -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "Sluk" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "Sluk" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "Preedit" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "Preedit deaktiveret" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "Preedit aktiveret" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2152,29 +1799,29 @@ msgstr "" msgid "Presage" msgstr "Varsel" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "Forrige kandidat" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "Knap for forrige side" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "Forrige kandidat" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "Print Screen" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Filer for Qt IM-modul:" @@ -2182,41 +1829,37 @@ msgstr "Filer for Qt IM-modul:" msgid "Quick Phrase" msgstr "Hurtigfrase" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "Hurtigfrase: " -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "Rød" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "Omgør" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "Genindlæs" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "Genindlæs" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "Svar" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "Genstart" @@ -2255,55 +1898,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "Højre Super" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "Romaji" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "Roter vinduer" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "Rotation KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "Rotation PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "Kører som root:" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "Gem" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "Pauseskærm" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "ScrollLock" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "Søg" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "Vælg" @@ -2320,89 +1959,74 @@ msgstr "Vælg lokal inputmetode:" msgid "Select specific input method via keyboard" msgstr "Vælg bestemt inputmetode via tastatur" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "Send" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "Baggrund for separator" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "Del inputtilstand" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Skift" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "Butik" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "Vis information om inputmetode når der skiftes fokus" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "Vis information om inputmetode når der skiftes inputmetode" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "Vis kompakt information om inputmetode" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "Vis første information om inputmetode" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "Vis preedit i program" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "Spring over første inputmetode under gennemløb" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "Sov" @@ -2412,36 +2036,35 @@ msgctxt "Key name" msgid "Space" msgstr "Mellemrum" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "Afstand" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "Stav" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "Stavekontrol" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "Opdelt skærm" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "Regneark" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "Standby" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "Start inputmetode" @@ -2449,59 +2072,57 @@ msgstr "Start inputmetode" msgid "Status Notifier" msgstr "Statusunderretter" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "Stop" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "Undermenu" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "Undertekst" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "Understøttelse" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "Hvile" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "Skift gruppe" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "Skift gruppe til {0}" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "Skiftede gruppe til {0}" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "Systeminfo:" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "System Request" @@ -2511,76 +2132,58 @@ msgctxt "Key name" msgid "Tab" msgstr "Tabulator" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "Opgavepanel" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "Skift midlertidigt mellem første og nuværende inputmetode" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "Terminal" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "Den niende hottast i listen vælger den niende inputmetode." -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "Scriptet køres som ${1} (${2})." -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "Tema" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "Anvendes kun når bakkeikonet er xembed." -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "Klokkeslæt" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2591,112 +2194,108 @@ msgstr "" "når du bruger xim. Se ${link2}, for andre generelle problemer med at bruge " "XIM, inklusiv programfrysninger." -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "Indlejret preedit til/fra" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "Værktøjer" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "Øverst i midten" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "Øverst til venstre" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "Topmenu" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "Øverst til højre" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "Touchpad fra" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "Touchpad til" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "Touchpad til/fra" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "Touroku" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "Rejse" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "Skrifttype for bakke" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "Udløs inputmetode" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "Tast til at udløse" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "Udløsertast kun til nuværende inputkontekst" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "Udløs tipstilstand" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "Skriv specialtegn med langt tryk" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "Skriver med Fcitx og Kimpanel" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "Kan ikke finde et program til at tjekke dbus." -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "Fortryd" @@ -2705,7 +2304,7 @@ msgstr "Fortryd" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode: " @@ -2714,97 +2313,86 @@ msgctxt "Key name" msgid "Up" msgstr "Op" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "Brug her-og-nu-stil (kræver genstart)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "Brug pr. skærm DPI" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "Brug al vandret plads til fremhævning når det er en lodret liste" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "Brug musehjulet for at gå til forrige eller næste side" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "Brugerflade:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "Bruger ${1} til at tjekke dbus." -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "Version" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "Versionslinje:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "Lodret kandidatliste" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "Video" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "Visning" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "Lydstyrke ned" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "Lydstyrke mute" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "Lydstyrke op" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "Vågn op" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2815,43 +2403,32 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Wayland-inputmetode-frontend" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "Webcam" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "Hvorfor det er en dårlig ide at køre som root" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "Trådløs" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "Tekstbehandling" @@ -2864,40 +2441,40 @@ msgstr "X-inputmetode-frontend" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM-kodning:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "XIM til Emacs:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "XIM_SERVERS på rod-vindue:" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS er ikke sat" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "Xim-servernavn fra miljøvariabel er ${1}." -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "Xim-servernavn er det samme som det der er sat i miljøvariablen." -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." @@ -2905,12 +2482,12 @@ msgstr "" "Xim-servernavn: \"${1}\" er ikke det samme som det der er sat i " "miljøvariablen: \"${2}\"." -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "Gul" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " @@ -2921,7 +2498,7 @@ msgstr "" "resultatet af scriptet kan være upræcist. Se ${3} eller ${4} for mere " "information." -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." @@ -2929,15 +2506,15 @@ msgstr "" "Du bruger formodentligt ${1} til at køre scriptet. Det betyder at resultatet " "af scriptet kan være upræcist. Se ${2} for mere information." -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "Du bruger xim i ${1} programmer." -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "Det kan være at du har problemer med at bruge fcitx i ${1} programmer." -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -2945,7 +2522,7 @@ msgstr "" "Du kører i øjeblikket Fcitx med grafisk brugerflade, men fcitx5-config-qt " "blev ikke fundet. Den vil nu åbne konfigurationsmappen." -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -2955,7 +2532,7 @@ msgstr "" "pakkenavnet for KCModule er typisk kcm-fcitx eller kde-config-fcitx. Den vil " "nu åbne konfigurationsmappen." -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " @@ -2965,7 +2542,7 @@ msgstr "" "kunne bruge inputmetode i emacs pga. en meget gammel emacs-fejl som upstream " "har nægtet at rette i årevis." -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." @@ -2973,62 +2550,59 @@ msgstr "" "Din LC_CTYPE er sat til ${1} hvor kodningen ikke er UTF-8. Du kan have " "problemer med at udføre strenge ved brug af XIM." -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "Zenkaku" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "Zenkaku Hankaku" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "Zoom ind" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "Zoom ud" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "eksekverbar:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "her" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "proces:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "sudo-miljøvariabler" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "version:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (ikke tilgængelig)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (ikke tilgængelig)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/de.po b/po/de.po index 7d80ec2f..9f20ee98 100644 --- a/po/de.po +++ b/po/de.po @@ -4,125 +4,109 @@ # # Translators: # csslayer , 2017 +# mar well , 2018 # Tim Hofstede , 2018 # Ettore Atalan , 2022 -# mar well , 2023 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: mar well , 2023\n" -"Language-Team: German (https://app.transifex.com/fcitx/teams/12005/de/)\n" +"Last-Translator: Ettore Atalan , 2022\n" +"Language-Team: German (https://www.transifex.com/fcitx/teams/12005/de/)\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} Umgebungsvariablen:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} Einstellungen-Verzeichnis:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} läuft nicht." -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} ist nicht festgelegt." -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} ist auf ${2} festgelegt." -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1} nicht gefunden." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} funktioniert ordnungsgemäß." -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(nicht vorhanden)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" -msgstr "/Anfänger%27s_Anleitung" +msgstr "" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "Eine virtuelle Tastatur basierend auf DBus" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "Eingabemethode aktivieren" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "Per Voreinstellung aktiviert" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "Favorit hinzufügen" @@ -131,121 +115,117 @@ msgstr "Favorit hinzufügen" msgid "Add Unicode Typing Support" msgstr "Unicode-Unterstützung hinzufügen" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" -msgstr "Verzeichnis Addon-Konfigurationen" +msgstr "" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" -msgstr "Addon Bibliotheken:" +msgstr "" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" -msgstr "Liste Addons:" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "Helligkeit einstellen" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "Alle" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." -msgstr "Alle gefundenen Gtk ${1} Dateien von Eingabemethoden existieren" +msgstr "" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." -msgstr "Alle Addon-Bibliotheken gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "Alle Sprachumgebungen:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "Erlauben, die XKB-Einstellungen außer Kraft zu setzen" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" -msgstr "Übergehen der XKB-Einstellungen erlauben (nur für KDE5 unterstützt)" - -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" msgstr "" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "Anwendung Links" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "Anwendung Rechts" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "Automatische, zufällige Audioausgabe" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "Audio Wiederhohlung" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "Autor" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "Abwesend" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "Zurück" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "Zurück vorwärts" #: src/modules/spell/spell.h:38 msgid "Backends" -msgstr "Backends" +msgstr "" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "Hintergrund" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "Hintergrundbild" @@ -254,86 +234,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "Rücktaste" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Bash-Version:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "Batterie" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" -msgstr "Anleitung für Anfänger" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "Verhalten" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Blau" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" -msgstr "Unscharfer Rand" +msgstr "" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" -msgstr "Unschärfemaske" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Buch" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "Rahmenfarbe" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "Rahmenbreite" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "Grund" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "Unten links" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "Unten rechts" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "Browser" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "Rechner" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "Abbrechen" @@ -342,234 +318,229 @@ msgstr "Abbrechen" msgid "Candidates" msgstr "Kandidaten" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." -msgstr "Kann nicht richtig zu ${1} verbinden." +msgstr "" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." -msgstr "Kann den verwendeten Desktop nicht feststellen" +msgstr "" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." -msgstr "Kann das ${1} Addon Konfigurationsverzeichnis nicht finden." +msgstr "" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" -msgstr "Kann das ${1} Programm nicht finden!" +msgstr "" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." -msgstr "Kann das ${1} Eingabemodul für gtk ${2} nicht im Cache finden." +msgstr "" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." -msgstr "Kann das ${1} Eingabemodul für gtk ${2}nicht finden. " +msgstr "" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." -msgstr "Kann das ${1} Eingabemethodenmodul für ${2}nicht finden." +msgstr "" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" -msgstr "Kann ${2} für gtk ${1} nicht finden" +msgstr "" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." -msgstr "Kann den Eigentümer von DBus ${1} nicht finden." +msgstr "" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" -"Kann kein Konfigurationswerkzeug für die GUI finden. Bitte installieren Sie " -"ein von ${1}, oder ${2}." -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" -msgstr "Kann das Programm fcitx5 nicht finden!" +msgstr "" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." -msgstr "Kann Datei ${1} vom Addon ${2}nicht finden." +msgstr "" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" -"Kann diese erforderlichen Bibliotheken für ${1} vom addon ${2}nicht finden." -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" -msgstr "Kann den Eingabemethoden Modulcache für gtk ${1}nicht finden" +msgstr "" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" -"Kann weder das kimpanel dbus noch ein anderes, aktiviertes, nicht-kimpanel " -"Interface finden." -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." -msgstr "Kann XMODIFIERS: ${1}nicht interpretieren." +msgstr "" #: src/lib/fcitx-utils/key.cpp:53 msgctxt "Key name" msgid "CapsLock" msgstr "CapsLock" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" -msgstr "Zentrum" +msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" -msgstr "Zentrum links" +msgstr "" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" -msgstr "Zentrum rehts" +msgstr "" #: data/fcitx5-configtool.desktop.in.in:5 msgid "Change Fcitx 5 Configuration" msgstr "Fcitx 5 Konfiguration ändern" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" -msgstr "Checkbox" +msgstr "" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "Funktionstaste wählen" #: src/ui/classic/classicui.conf.in.in:3 msgid "Classic User Interface" -msgstr "Klassisches User Interface" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "Löschen" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" -msgstr "Rand Clickbereich" +msgstr "" #: src/modules/clipboard/clipboard.conf.in.in:3 msgid "Clipboard" msgstr "Clipboard" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" -msgstr "Clipboard (BackSpace/Delete drücken, um den Verlauf zu löschen):" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "Schließen" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "Codeeingabe" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "Farbe" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "Gemeinschaft" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "Vervollständigung" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "Vervollständigung ist deaktiviert." -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." -msgstr "Vervollständigung ist vorübergehend aktiviert." +msgstr "" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "Vervollständigung ist aktiviert." -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." -msgstr "Konfiguratoinsoberfläche für gtk${1} nicht gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" -msgstr "Konfigurationsoberfläche für gtk${1}:" +msgstr "" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" -msgstr "Konfigurationsoberfläche für KDE:" +msgstr "" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." -msgstr "Konfigurationsoberfläche für QT nicht gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" -msgstr "Konfigurationsoberfläche für QT:" +msgstr "" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "Konfiguration:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "Konfigurieren" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Kontrolle" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Kontrolle" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Kopieren" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." -msgstr "Das gegenwärtige ${1} Einstellungsverzeichnis ist ${2} (${3})." +msgstr "" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "Aktuelle Sprachumgebung:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "Aktueller Benutzer:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "Aktueller Wert von ${1} ist ${2} (${3})." @@ -577,11 +548,11 @@ msgstr "Aktueller Wert von ${1} ist ${2} (${3})." msgid "Custom" msgstr "Anwenderspezifisch" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" -msgstr "Benutzerdefinierte xkb Option" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Ausschneiden" @@ -594,118 +565,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "Fcitx DBus Schnittstelle" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "DBus Virtuelle Tastatur" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "DBus basiertes, neues Freedesktop.org tray icon" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "DBus-Schnittstelle:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "Dunkles Thema" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "Eingabemethode deaktivieren" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" -msgstr "Debug Informationen vom dbus:" +msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "Standard" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "Standard Dunkel" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" -msgstr "Nächster Standardkandidat" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "Vorgabe für nächste Seite" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" -msgstr "Vorheriger Standardkandidat" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "Vorgabe für vorherige Seite" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "Standard Seitengröße" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "Löschen" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "Beschreibung" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "Desktopumgebung:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "Desktopumgebung ist ${1}." -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "Aktuelles Programm erkennen (Benötigt Neustart)" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "Verzeichnisse:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "Zeigen" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "Nicht mehr zeigen" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "Dokumente" @@ -715,56 +651,52 @@ msgctxt "Key name" msgid "Down" msgstr "Runter" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "Editor" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "Eisu Shift" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "Eisu umschalten" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Auswerfen" #: src/modules/emoji/emoji.conf.in.in:3 msgid "Emoji" -msgstr "Emoji" +msgstr "" #: src/im/keyboard/longpress.h:17 msgid "Enable" msgstr "Aktivieren" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" -msgstr "Unschärfe für KWin einschalten" +msgstr "" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "Rechtschreibprüfung aktivieren" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" -msgstr "Emoji für Hinweise einschalten" - -#: src/im/keyboard/keyboard.h:52 -msgid "Enable emoji in quickphrase" msgstr "" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" +#: src/im/keyboard/keyboard.h:54 +msgid "Enable emoji in quickphrase" msgstr "" -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" -msgstr "Hinweise standardmäßig einschalten" +msgstr "" #: src/modules/spell/spell.h:23 msgid "Enchant" @@ -779,90 +711,84 @@ msgstr "Ende" msgid "Entries" msgstr "Einträge" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" -msgstr "Eingabemethoden umgekehrt nummerieren" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." msgstr "" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." -msgstr "Umgebungsvariante ${1} ist nicht gesetzt." +msgstr "" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." -msgstr "Umgebungsvariable ${1} ist richtig auf \"${2}\" gesetzt." +msgstr "" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." -msgstr "Umgebungsvariable ${1} ist auf ${2}gesetzt." +msgstr "" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "Umgebung:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" -"Ein Fehler tritt auf wenn ${1}läuft. Bitte die locale Einstellungen " -"überprüfen." -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Escape" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "Ausführen" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "Beenden" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" -msgstr "Kann ${1} im Eingabemethoden-Cache bei ${2} nicht finden" +msgstr "" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" -msgstr "Finde ${1} nicht in der Ausgabe von ${2}" +msgstr "" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" -msgstr "Fallback Rechtschreibprüfungssprache" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "Favoriten" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -872,74 +798,44 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Fcitx 5 Konfiguration" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" -msgstr "Fcitx Addons:" +msgstr "" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" -msgstr "Fcitx UI Konfiguration:" +msgstr "" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Fcitx-Status:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -"Fcitx ist ein Eingabemethoden-Framework. Es kann helfen die eigene Sprache " -"einzugeben. Es stellt weiter verschiedene Addons zur Verfügung, die die " -"Eingabe verbessern können." - -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Fcitx-Version: ${1}" #: src/frontend/fcitx4frontend/fcitx4frontend.conf.in.in:3 msgid "Fcitx4 Frontend" -msgstr "Fcitx4 Frontend" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "Finanzen" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "Finden" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "Erster Kandidat" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "Dunkles/Helles Farbschema" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -947,96 +843,89 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "Schriftart" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "Vorwärts" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "${1} bei ${2} gefunden." -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" -msgstr " ${1} deaktivierte Addons gefunden:" +msgstr "" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" -msgstr " ${1} aktivierte Addons gefunden:" +msgstr "" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." -msgstr "${1} kcm Modul gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." -msgstr "${2} für unbekannte gtk Version bei ${1}gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." -msgstr "${3} für gtk ${1} bei ${2}gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." -msgstr "${3} Eingabemodul für ${2}: ${1}gefunden." +msgstr "" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "" @@ -1044,174 +933,168 @@ msgstr "" msgid "Freedesktop.org Notification Support" msgstr "Freedesktop.org Notification Unterstützung" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "Spiel" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "Los" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "Grün" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "Gruppe" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "Gruppe {0}: {1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "Gruppe {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" -msgstr "Gtk Eingabemethode Modul Cache:" +msgstr "" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" -msgstr "Gtk Eingabemethode Modul Dateien:" +msgstr "" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "Hangul" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "Hangul Banja" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "Hangul End" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "Hangul Hanja" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "Hangul Jamo" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "Hangul Jeonja" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "Hangul PostHanja" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "Hangul PreHanja" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "Hangul Romaja" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "Hangul Special" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "Hangul Start" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "Hankaku" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "Hilfe" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "Henkan" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "Hibernate" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "Verborgene Hinweise" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "Hiragana" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "Hiragana Katakana" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "Verlauf" @@ -1221,39 +1104,39 @@ msgctxt "Key name" msgid "Home" msgstr "Home Verzeichnis:" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "Home Office" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "Home Page" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "Wichtige Links" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "Kurzbefehl" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "" @@ -1262,36 +1145,28 @@ msgstr "" msgid "IBus Frontend" msgstr "IBus Schnittstelle" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " "as well as alternative solutions." msgstr "" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " "any input method other than ${2}. See ${link} for more detail." msgstr "" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "Bild" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "Eingabemethode" @@ -1300,100 +1175,67 @@ msgstr "Eingabemethode" msgid "Input Method Configuration" msgstr "Konfiguration Eingabemethode" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "Eingabemethoden:" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "Eingabeleiste" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "Auswahl Eingabemethode" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "Einfügen" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "Einstellungen KDE Eingabemethode" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "Kana Lock" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "Kana Shift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "Kanji" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "Katakana" @@ -1402,308 +1244,127 @@ msgstr "Katakana" msgid "Key" msgstr "Taste" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "Tastatur" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "Tastatur - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "Tastatur - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "Tastaturhelligkeit dunkler" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "Tastaturhelligkeit heller" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "Tastaturbelegung:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "Tastaturbeleuchtung Ein/Aus" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "Tastaturmenu" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:77 -msgctxt "Key name" -msgid "Keypad -" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:78 -msgctxt "Key name" -msgid "Keypad ." -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:79 -msgctxt "Key name" -msgid "Keypad /" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:80 -msgctxt "Key name" -msgid "Keypad 0" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:81 -msgctxt "Key name" -msgid "Keypad 1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:82 -msgctxt "Key name" -msgid "Keypad 2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:83 -msgctxt "Key name" -msgid "Keypad 3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:84 -msgctxt "Key name" -msgid "Keypad 4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:85 -msgctxt "Key name" -msgid "Keypad 5" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:86 -msgctxt "Key name" -msgid "Keypad 6" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:87 -msgctxt "Key name" -msgid "Keypad 7" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:88 -msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 +#: data/fcitx5-diagnose.sh:1708 msgid "Kimpanel process:" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 +#: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" msgid "Launch (0)" msgstr "Starten (0)" -#: src/lib/fcitx-utils/key.cpp:113 +#: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" msgid "Launch (1)" msgstr "Starten (1)" -#: src/lib/fcitx-utils/key.cpp:114 +#: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" msgid "Launch (2)" msgstr "Starten (2)" -#: src/lib/fcitx-utils/key.cpp:115 +#: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" msgid "Launch (3)" msgstr "Starten (3)" -#: src/lib/fcitx-utils/key.cpp:116 +#: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" msgid "Launch (4)" msgstr "Starten (4)" -#: src/lib/fcitx-utils/key.cpp:117 +#: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" msgid "Launch (5)" msgstr "Starten (5)" -#: src/lib/fcitx-utils/key.cpp:118 +#: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" msgid "Launch (6)" msgstr "Starten (6)" -#: src/lib/fcitx-utils/key.cpp:119 +#: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" msgid "Launch (7)" msgstr "Starten (7)" -#: src/lib/fcitx-utils/key.cpp:120 +#: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" msgid "Launch (8)" msgstr "Starten (8)" -#: src/lib/fcitx-utils/key.cpp:121 +#: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" msgid "Launch (9)" msgstr "Starten (9)" -#: src/lib/fcitx-utils/key.cpp:122 +#: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" msgid "Launch (A)" msgstr "Starten (A)" -#: src/lib/fcitx-utils/key.cpp:123 +#: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" msgid "Launch (B)" msgstr "Starten (B)" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "Starten (C)" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "Starten (D)" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "Starten (E)" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "Starten (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "Mail starten" @@ -1738,251 +1399,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "Super-L" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "LightBulb" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "Sprachumgebung:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "Protokoll:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "Ausloggen" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "Mail weiterleiten" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "Rand um alle Inhalte" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "Market" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "Medium schneller Vorlauf" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "Medium Nächstes" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "Medium Pause" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "Medium Spielen" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "Medium Vorheriges" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "Medium Aufnahme" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "Medium Zurück" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "Medium Stop" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "Treffen" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "Menü" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "Menü" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "Menüschriftart" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "Menü PB" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "Messenger" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "Metadaten" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "Mikrofon Mute" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "Monitorhelligkeit dunkler" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "Monitorhelligkeit heller" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "Muhenkan" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "Mehrfache Kandidaten" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "Musik" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "Meine Seiten" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "Name" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "Neu" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "Neuigkeiten" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "Nächster Kandidat" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "Nein" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "Kein Zwischenablageverlauf" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "Nicht beibehalten" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "Normale Textfarbe" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -"Normalerweise benutzt Wayland 96 DPI als Fontgröße in Kombination mit der " -"Bildschirmskalierung. Diese Option erlaubt die Font DPI einzustellen. Wenn " -"der Wert 0 ist ist die Funktion ausgeschaltet." -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "Nicht verfügbar" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "" @@ -1995,87 +1633,73 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "Anzahl der Einträge" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "Öffnen" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "URL öffnen" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "Option" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "Seitengröße" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "Einfügen" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "" @@ -2084,55 +1708,65 @@ msgctxt "Key name" msgid "Pause" msgstr "Pause" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "Seite runter" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "Seite rauf" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "Telefon" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "Bilder" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "Ausschalten" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "Ausschalten" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2140,29 +1774,29 @@ msgstr "" msgid "Presage" msgstr "Vorhersage" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "Vorheriger Kandidat" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "Vorheriger Kandidat" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "Bildschirm drucken" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "Programm" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Qt-IM-Moduldateien:" @@ -2170,41 +1804,37 @@ msgstr "Qt-IM-Moduldateien:" msgid "Quick Phrase" msgstr "Quick Phrase" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "Quick Phrase: " -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "Rot" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "Rückgängig" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "Neuladen" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "Neuladen" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "Antworten" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "Neustart" @@ -2243,55 +1873,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "Super-R" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "Romaji" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "Fenster drehen" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "Rotation KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "Rotation PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "Sichern" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "Bildschirmschoner" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "ScrollLock" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "Suche" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "Auswählen" @@ -2308,89 +1934,74 @@ msgstr "Lokale Eingabemethode auswählen:" msgid "Select specific input method via keyboard" msgstr "" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "Senden" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Shift" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "Shop" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "Hinweis zur Eingabemethode zeigen, nachdem sie gewechselt wurde" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "Ruhezustand" @@ -2400,36 +2011,35 @@ msgctxt "Key name" msgid "Space" msgstr "Leerzeichen" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "Abstand" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "Rechtschreibung" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "Rechtschreibkorrektur" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "Split Screen" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "Tabelle" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "Standby" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "Eingabemethode starten" @@ -2437,59 +2047,57 @@ msgstr "Eingabemethode starten" msgid "Status Notifier" msgstr "Hinweis Status" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "Stop" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "Untermenü" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "Untertitel" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "Support" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "Suspend" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "Gruppe umschalten" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "Gruppe auf {0} umschalten" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "Gruppe auf {0} umgeschaltet" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "Systemanfrage" @@ -2499,76 +2107,58 @@ msgctxt "Key name" msgid "Tab" msgstr "Tab" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "Terminal" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "Theme" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "Zeit" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2576,112 +2166,108 @@ msgid "" "freezing, see ${link2}." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "Werkzeuge" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "Oben links" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "Menü oben" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "Oben rechts" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "Touchpad Aus" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "Touchpad An" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "Touchpad Wechsel" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "Touroku" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "Reisen" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "Eingabemethode aktivieren" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "Auslösetaste" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "Hinweismodus anschalten" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" -msgstr "Unicode als HEX-Code eingeben" +msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "Rückgängig" @@ -2690,7 +2276,7 @@ msgstr "Rückgängig" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode: " @@ -2699,97 +2285,86 @@ msgctxt "Key name" msgid "Up" msgstr "Hoch" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "DPI je Bildschirm verwenden" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "Benutzeroberfläche:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "Version" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "Versionszeile:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "Senkrechte Kandidatenliste" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "Video" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "Ansicht" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "Leiser" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "Mute" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "Lauter" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "Aufwachen" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2800,43 +2375,32 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Wayland Eingabemethodenfrontend" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "WebCam" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "Wireless" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "Word Processor" @@ -2849,153 +2413,150 @@ msgstr "X Eingabemethode Frontend" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM-Kodierung:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "XIM für Emacs:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS ist nicht festgelegt" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "Gelb" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." msgstr "" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " "it will open config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "Zenkaku" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "Zenkaku Hankaku" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "Hereinzoomen" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "Herauszoomen" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "hier" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "Prozess:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "Version:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (Nicht verfügbar)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (Nicht verfügbar)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/es.po b/po/es.po index 09925755..9a474671 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:22+0000\n" +"POT-Creation-Date: 2022-10-29 20:22+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: csslayer , 2017\n" "Language-Team: Spanish (https://www.transifex.com/fcitx/teams/12005/es/)\n" @@ -18,107 +18,91 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "" @@ -127,108 +111,104 @@ msgstr "" msgid "Add Unicode Typing Support" msgstr "" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "" @@ -237,11 +217,11 @@ msgstr "" msgid "Backends" msgstr "" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "" @@ -250,86 +230,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "" @@ -338,81 +314,81 @@ msgstr "" msgid "Candidates" msgstr "" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "" @@ -421,15 +397,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "" @@ -437,11 +413,11 @@ msgstr "" msgid "Change Fcitx 5 Configuration" msgstr "" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "" @@ -449,12 +425,12 @@ msgstr "" msgid "Classic User Interface" msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "" @@ -462,106 +438,106 @@ msgstr "" msgid "Clipboard" msgstr "" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 #, fuzzy msgid "Configuration:" msgstr "Configurar" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "Configurar" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "" @@ -569,11 +545,11 @@ msgstr "" msgid "Custom" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "" @@ -586,118 +562,83 @@ msgstr "" msgid "DBus Frontend" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "" @@ -707,21 +648,21 @@ msgctxt "Key name" msgid "Down" msgstr "" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "" @@ -734,27 +675,23 @@ msgstr "" msgid "Enable" msgstr "" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "" @@ -771,88 +708,84 @@ msgstr "" msgid "Entries" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." msgstr "" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "Salir" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -862,42 +795,27 @@ msgstr "" msgid "Fcitx 5 Configuration" msgstr "" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 #, fuzzy msgid "Fcitx Configure UI:" msgstr "Configurar" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "" @@ -905,29 +823,17 @@ msgstr "" msgid "Fcitx4 Frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -935,96 +841,89 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "" @@ -1032,174 +931,168 @@ msgstr "" msgid "Freedesktop.org Notification Support" msgstr "" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "" @@ -1209,39 +1102,39 @@ msgctxt "Key name" msgid "Home" msgstr "" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "" @@ -1250,36 +1143,28 @@ msgstr "" msgid "IBus Frontend" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " "as well as alternative solutions." msgstr "" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " "any input method other than ${2}. See ${link} for more detail." msgstr "" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "" @@ -1288,100 +1173,67 @@ msgstr "" msgid "Input Method Configuration" msgstr "" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "" @@ -1390,308 +1242,127 @@ msgstr "" msgid "Key" msgstr "" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" msgstr "" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" +msgid "Launch (0)" msgstr "" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." +msgid "Launch (1)" msgstr "" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" +msgid "Launch (2)" msgstr "" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" +msgid "Launch (3)" msgstr "" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" +msgid "Launch (4)" msgstr "" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" +msgid "Launch (5)" msgstr "" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" +msgid "Launch (6)" msgstr "" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" +msgid "Launch (7)" msgstr "" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" +msgid "Launch (8)" msgstr "" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" +msgid "Launch (9)" msgstr "" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" +msgid "Launch (A)" msgstr "" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" msgid "Launch (B)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "" @@ -1726,248 +1397,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "" @@ -1980,87 +1631,73 @@ msgctxt "Key name" msgid "NumLock" msgstr "" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "" @@ -2069,55 +1706,65 @@ msgctxt "Key name" msgid "Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2125,29 +1772,29 @@ msgstr "" msgid "Presage" msgstr "" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "" @@ -2155,41 +1802,37 @@ msgstr "" msgid "Quick Phrase" msgstr "" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "" @@ -2228,55 +1871,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "" @@ -2293,89 +1932,74 @@ msgstr "" msgid "Select specific input method via keyboard" msgstr "" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "" @@ -2385,36 +2009,35 @@ msgctxt "Key name" msgid "Space" msgstr "" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "" @@ -2422,59 +2045,57 @@ msgstr "" msgid "Status Notifier" msgstr "" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "" @@ -2484,76 +2105,58 @@ msgctxt "Key name" msgid "Tab" msgstr "" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2561,112 +2164,108 @@ msgid "" "freezing, see ${link2}." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "" @@ -2675,7 +2274,7 @@ msgstr "" msgid "Unicode" msgstr "" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "" @@ -2684,97 +2283,86 @@ msgctxt "Key name" msgid "Up" msgstr "" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" msgstr "" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2785,43 +2373,32 @@ msgstr "" msgid "Wayland" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "" @@ -2834,153 +2411,150 @@ msgstr "" msgid "XCB" msgstr "" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." msgstr "" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " "it will open config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "" diff --git a/po/fcitx5.pot b/po/fcitx5.pot index 4b1a9032..8217b4e5 100644 --- a/po/fcitx5.pot +++ b/po/fcitx5.pot @@ -6,116 +6,100 @@ msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: LANG\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "" @@ -124,108 +108,104 @@ msgstr "" msgid "Add Unicode Typing Support" msgstr "" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "" @@ -234,11 +214,11 @@ msgstr "" msgid "Backends" msgstr "" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "" @@ -247,86 +227,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "" @@ -335,81 +311,81 @@ msgstr "" msgid "Candidates" msgstr "" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "" @@ -418,15 +394,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "" @@ -434,11 +410,11 @@ msgstr "" msgid "Change Fcitx 5 Configuration" msgstr "" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "" @@ -446,12 +422,12 @@ msgstr "" msgid "Classic User Interface" msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "" @@ -459,105 +435,105 @@ msgstr "" msgid "Clipboard" msgstr "" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "" @@ -565,11 +541,11 @@ msgstr "" msgid "Custom" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "" @@ -582,118 +558,83 @@ msgstr "" msgid "DBus Frontend" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "" @@ -703,21 +644,21 @@ msgctxt "Key name" msgid "Down" msgstr "" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "" @@ -730,27 +671,23 @@ msgstr "" msgid "Enable" msgstr "" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "" @@ -767,88 +704,84 @@ msgstr "" msgid "Entries" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." msgstr "" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -858,41 +791,26 @@ msgstr "" msgid "Fcitx 5 Configuration" msgstr "" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "" @@ -900,29 +818,17 @@ msgstr "" msgid "Fcitx4 Frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -930,96 +836,89 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "" @@ -1027,174 +926,168 @@ msgstr "" msgid "Freedesktop.org Notification Support" msgstr "" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "" @@ -1204,39 +1097,39 @@ msgctxt "Key name" msgid "Home" msgstr "" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "" @@ -1245,36 +1138,28 @@ msgstr "" msgid "IBus Frontend" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " "as well as alternative solutions." msgstr "" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " "any input method other than ${2}. See ${link} for more detail." msgstr "" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "" @@ -1283,100 +1168,67 @@ msgstr "" msgid "Input Method Configuration" msgstr "" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "" @@ -1385,308 +1237,127 @@ msgstr "" msgid "Key" msgstr "" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" msgstr "" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" +msgid "Launch (0)" msgstr "" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." +msgid "Launch (1)" msgstr "" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" +msgid "Launch (2)" msgstr "" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" +msgid "Launch (3)" msgstr "" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" +msgid "Launch (4)" msgstr "" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" +msgid "Launch (5)" msgstr "" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" +msgid "Launch (6)" msgstr "" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" +msgid "Launch (7)" msgstr "" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" +msgid "Launch (8)" msgstr "" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" +msgid "Launch (9)" msgstr "" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" +msgid "Launch (A)" msgstr "" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" msgid "Launch (B)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "" @@ -1721,248 +1392,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "" @@ -1975,87 +1626,73 @@ msgctxt "Key name" msgid "NumLock" msgstr "" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "" @@ -2064,55 +1701,65 @@ msgctxt "Key name" msgid "Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2120,29 +1767,29 @@ msgstr "" msgid "Presage" msgstr "" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "" @@ -2150,41 +1797,37 @@ msgstr "" msgid "Quick Phrase" msgstr "" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "" @@ -2223,55 +1866,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "" @@ -2288,89 +1927,74 @@ msgstr "" msgid "Select specific input method via keyboard" msgstr "" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "" @@ -2380,36 +2004,35 @@ msgctxt "Key name" msgid "Space" msgstr "" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "" @@ -2417,59 +2040,57 @@ msgstr "" msgid "Status Notifier" msgstr "" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "" @@ -2479,76 +2100,58 @@ msgctxt "Key name" msgid "Tab" msgstr "" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2556,112 +2159,108 @@ msgid "" "freezing, see ${link2}." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "" @@ -2670,7 +2269,7 @@ msgstr "" msgid "Unicode" msgstr "" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "" @@ -2679,97 +2278,86 @@ msgctxt "Key name" msgid "Up" msgstr "" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" msgstr "" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2780,43 +2368,32 @@ msgstr "" msgid "Wayland" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "" @@ -2829,153 +2406,150 @@ msgstr "" msgid "XCB" msgstr "" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." msgstr "" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " "it will open config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "" diff --git a/po/fr.po b/po/fr.po index 04b4d48d..b0c89e77 100644 --- a/po/fr.po +++ b/po/fr.po @@ -10,10 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" "Last-Translator: csslayer , 2022\n" -"Language-Team: French (https://app.transifex.com/fcitx/teams/12005/fr/)\n" +"Language-Team: French (https://www.transifex.com/fcitx/teams/12005/fr/)\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,107 +21,91 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} Variables d'environnement :" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} Répertoire des paramètres :" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} n'est pas en cours d'exécution." -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} n'est pas défini." -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} est défini sur ${2}." -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1} introuvable." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} fonctionne correctement." -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(Non disponible)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(Taper pour rechercher unicode par code ou description)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Débutant%27s_Guide" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Prise_en_charge_de_Hall_of_Shame_pour_Linux_IME" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Variables_d'environnement_liées_à_la_méthode_d'entrée" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Remarque_pour_GNOME_ultérieur_à_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "Activer la méthode de saisie" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "Actif par défaut" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "Ajouter un favori" @@ -130,112 +114,108 @@ msgstr "Ajouter un favori" msgid "Add Unicode Typing Support" msgstr "Ajouter la prise en charge de la saisie Unicode" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "Répertoire de configuration de l'extension :" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "Bibliothèques d'extensions :" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "Liste d'extensions :" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "Ajuster la luminosité" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "Tout" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "Tous les fichiers immodule Gtk ${1} trouvés existent." -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "Toutes les bibliothèques pour tous les extensions ont été trouvées." -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "Tous les paramètres régionaux :" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "Autoriser le remplacement des paramètres système XKB" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" "Autoriser le remplacement des paramètres système XKB (uniquement compatible " "avec KDE 5)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" "Toujours définir la mise en page comme étant uniquement la mise en page de " "groupe" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "Application restante" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "Droit d'application" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "Applications désactivées pour un appui long" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "Piste de cycle audio" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "Lecture aléatoire audio" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "Répétition audio" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "Auteur" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "Absent" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "Retour" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "Retour Suivant" @@ -244,11 +224,11 @@ msgstr "Retour Suivant" msgid "Backends" msgstr "Backends" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "Arrière-plan" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "Image d'arrière-plan" @@ -257,86 +237,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "Retour arrière" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Version Bash :" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "Batterie" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "Guide du débutant" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "Comportement" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Bleu" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "Marge floue" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Réserver" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "Couleur de bordure" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "Largeur de la bordure" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "En bas au centre" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "En bas à gauche" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "En bas à droite" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "Navigateur" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "Calculatrice" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "Annuler" @@ -345,88 +321,88 @@ msgstr "Annuler" msgid "Candidates" msgstr "Candidats" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "Impossible de se connecter correctement à ${1}." -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "Impossible de déterminer l'environnement de bureau." -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "" "Impossible de trouver le répertoire de configuration de ${1} extension." -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "Impossible de trouver l'exécutable ${1}  !" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "Impossible de trouver le module im ${1} pour gtk ${2} dans le cache." -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "Impossible de trouver le module im ${1} pour gtk ${2}." -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "Impossible de trouver le module de méthode d'entrée ${1} pour ${2}." -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "Impossible de trouver ${2} pour gtk ${1}" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "Impossible de trouver le propriétaire du nom DBus ${1}." -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" "Impossible de trouver un outil de configuration de l'interface graphique, " "veuillez en installer un parmi ${1} ou ${2}." -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "Impossible de trouver l'interface utilisateur ${1} activée  !" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "Impossible de trouver l'exécutable fcitx5  !" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "Impossible de trouver le fichier ${1} de l'extension ${2}." -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" "Impossible de trouver les bibliothèques requises suivantes pour ${1} de " "l'extension ${2}." -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "Impossible de trouver le cache immodules pour gtk ${1}" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" "Impossible de trouver l'interface dbus kimpanel ou l'interface utilisateur " "non kimpanel activée." -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "Impossible de trouver le pid du propriétaire du nom DBus ${1}." -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "Impossible de trouver xim_server sur la fenêtre racine." -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "Impossible d'interpréter XMODIFIERS  : ${1}." @@ -435,15 +411,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "Verr Maj" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "Centre" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "Centre gauche" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "Centre droit" @@ -451,11 +427,11 @@ msgstr "Centre droit" msgid "Change Fcitx 5 Configuration" msgstr "Modifier la configuration de Fcitx 5" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "Case à cocher" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "Choisir le modificateur de clé" @@ -463,12 +439,12 @@ msgstr "Choisir le modificateur de clé" msgid "Classic User Interface" msgstr "Interface utilisateur classique" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "Effacer" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "Cliquer sur la marge" @@ -476,106 +452,106 @@ msgstr "Cliquer sur la marge" msgid "Clipboard" msgstr "Presse-papiers" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "" "Presse-papiers (appuyer sur Retour arrière/Suppr pour effacer l'historique) :" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "Fermer" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "Entrée de code" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "Couleur" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "Communauté" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "Achèvement" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "La complétion est désactivée." -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "La complétion est activée temporairement." -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "La complétion est activée." -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "Interface graphique de configuration pour gtk${1} introuvable." -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "Interface graphique de configuration pour gtk${1} :" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "Configuration de l'interface graphique pour kde :" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "Interface graphique de configuration pour qt introuvable." -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "Configurer l'interface graphique pour qt :" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "Enveloppe de l'outil de configuration :" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "Configuration :" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "Configurer" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Contrôle" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Contrôle" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Copier" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "Le répertoire de paramètres actuel de ${1} est ${2} (${3})." -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "Paramètres régionaux actuels :" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "Utilisateur actuel :" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "La valeur actuelle de ${1} est ${2} (${3})." @@ -583,11 +559,11 @@ msgstr "La valeur actuelle de ${1} est ${2} (${3})." msgid "Custom" msgstr "Personnalisé" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "Option Xkb personnalisée" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Couper" @@ -600,119 +576,84 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "Interface DBus" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "" "Nouvelle icône de la barre d'état système Freedesktop.org basée sur DBus" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "Interface DBus :" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "Désactiver la méthode de saisie" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "Informations de débogage de dbus :" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "Par défaut" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "Candidat suivant par défaut" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "Page suivante par défaut" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "Candidat précédent par défaut" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "Page précédente par défaut" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "Taille de page par défaut" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "Supprimer" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "Description" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "Environnement de bureau :" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "L'environnement de bureau est ${1}." -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "Répertoires :" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "Afficher" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "Ne plus afficher" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "Documents" @@ -722,21 +663,21 @@ msgctxt "Key name" msgid "Down" msgstr "En bas" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "Éditeur" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "Eisu Shift" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "Bascule Eisu" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Éjecter" @@ -749,27 +690,23 @@ msgstr "Emoji" msgid "Enable" msgstr "Activer" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "Activer le flou sur KWin" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "Activer la vérification orthographique" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "Activer les emoji dans l'indice" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "Activer les emoji dans la phrase rapide" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "Activer l'indice par défaut" @@ -786,28 +723,28 @@ msgstr "Fin" msgid "Entries" msgstr "Entrées" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "Énumérer la méthode d'entrée vers l'arrière" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "Énumérer la méthode d'entrée vers l'avant" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "Énumérer le groupe de méthodes d'entrée vers l'arrière" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "Énumérer le groupe de méthodes d'entrée vers l'avant" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "" "Énumérer lorsque vous appuyez plusieurs fois sur la touche de déclenchement" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -816,65 +753,61 @@ msgstr "" "vérifier si vous l'avez exporté de manière incorrecte dans l'un de vos " "fichiers d'initialisation." -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "La variable d'environnement ${1} n'est pas définie." -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "" "La variable d'environnement ${1} est définie sur \"${2}\" correctement." -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "La variable d'environnement ${1} est définie sur ${2}." -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "Environnement :" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" "Une erreur se produit lors de l'exécution de ${1}. Veuillez vérifier vos " "paramètres régionaux." -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Échapper" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "Exécuter" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "Quitter" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "Impossible de trouver ${1} dans le cache immodule à ${2}" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "Impossible de trouver ${1} dans la sortie de ${2}" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "Langue de vérification orthographique de secours" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "Favoris" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -884,23 +817,19 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Configuration Fcitx 5" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Modules complémentaires Fcitx :" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Configurer l'interface utilisateur Fcitx :" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "État Fcitx :" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " @@ -910,18 +839,7 @@ msgstr "" "propre langue. Il propose également un choix de variantes des extensions qui " "améliorent votre expérience de frappe." -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Version Fcitx : ${1}" @@ -929,29 +847,17 @@ msgstr "Version Fcitx : ${1}" msgid "Fcitx4 Frontend" msgstr "Fcitx4 Frontend" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "Finances" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "Rechercher" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -959,11 +865,11 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "Police" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " @@ -974,85 +880,78 @@ msgstr "" "d'Anthy. La configuration de la police doit le prendre en charge pour " "utiliser cette fonctionnalité." -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "Transférer" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "Module ${1} ${2} trouvé  : ${3}." -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "Processus ${1} ${2} trouvé :" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "Processus ${1} ${2} trouvés :" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "Répertoire de configuration de l'extension ${1} trouvé  : ${2}." -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "Trouvé ${1} à ${2}." -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "${1} extensions désactivées trouvés :" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "Extensions activées pour ${1} trouvés :" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "Ajouts d'interface utilisateur activés pour ${1} trouvés :" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "Modules ${1} im trouvés pour gtk ${2}." -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "Module ${1} kcm trouvé." -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "Trouvé ${2} pour une version gtk inconnue à ${1}." -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "Trouvé ${3} pour gtk ${1} à ${2}." -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "Module ${3} im trouvé pour ${2} : ${1}." -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "Cache immodule trouvé pour une version gtk inconnue à ${1}." -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "Cache immodules trouvé pour gtk ${1} à ${2}." -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "Module ${1} qt inconnu trouvé : ${2}." @@ -1060,174 +959,168 @@ msgstr "Module ${1} qt inconnu trouvé : ${2}." msgid "Freedesktop.org Notification Support" msgstr "Prise en charge des notifications de Freedesktop.org" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "Configuration des interfaces :" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "Jeu" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "Aller" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "Vert" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "Groupe" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "Groupe {0} : {1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "Groupe {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "Le fichier immodule Gtk ${1} ${2} n'existe pas." -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "Cache du module Gtk IM :" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "Fichiers du module Gtk IM :" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Hall of Shame pour Linux IME Support" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "Hangul" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "Hangul Banja" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "Hangul Fin" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "Hangul Hanja" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "Hangul Jamo" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "Hangul Jeonja" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "Hangul PostHanja" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "Hangul PreHanja" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "Hangul Romaja" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "Spécial Hangul" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "Début Hangul" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "Hankaku" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "Aide" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "Henkan" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "Hibernation" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "Notifications masquées" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "Masquer la superposition si la taille ne convient pas" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "Mettre l'arrière-plan en surbrillance" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "Mettre en surbrillance la couleur d'arrière-plan" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "Mettre en surbrillance la couleur du candidat" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "Mettre en surbrillance la marge de clic" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "Mettre en surbrillance la couleur du texte" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "Hiragana" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "Hiragana Katakana" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "Historique" @@ -1237,41 +1130,41 @@ msgctxt "Key name" msgid "Home" msgstr "Accueil" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "Bureau à domicile" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "Page d'accueil" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "Accueil :" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "Liens dynamiques" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "Raccourci clavier" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "Raccourci pour passer à la N-ième méthode de saisie" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" "Touche de raccourci pour passer à la N-ième méthode de saisie uniquement " "pour le contexte de saisie actuel" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "Hyper" @@ -1280,13 +1173,7 @@ msgstr "Hyper" msgid "IBus Frontend" msgstr "Interface IBus" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1296,7 +1183,7 @@ msgstr "" "d'utiliser une méthode de saisie autre que ${2}. Voir ${link} pour plus de " "détails ainsi que des solutions alternatives." -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1307,16 +1194,14 @@ msgstr "" "afin d'utiliser une méthode de saisie autre que ${2}. Voir ${link} pour plus " "de détails." -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "Image" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "Méthode de saisie" @@ -1325,43 +1210,23 @@ msgstr "Méthode de saisie" msgid "Input Method Configuration" msgstr "Configuration de la méthode d'entrée" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "Variables d'environnement liées à la méthode d'entrée  : " -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "Méthodes de saisie :" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "Panneau de saisie" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "Sélecteur de méthode d'entrée" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." @@ -1370,58 +1235,45 @@ msgstr "" "propre configuration. Ceci est couramment utilisé par des modules comme " "presse-papiers ou quickphrase." -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "Insérer" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "Fichier de configuration d'extension invalide ${1}." -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "Panneau de méthode de saisie KDE" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "Kana Lock" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "Kana Shift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "Kanji" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "Katakana" @@ -1430,308 +1282,127 @@ msgstr "Katakana" msgid "Key" msgstr "Clé" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "Clavier" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "Clavier - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "Clavier - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "Réduction de la luminosité du clavier" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "Augmenter la luminosité du clavier" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "Disposition du clavier :" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "Éclairage du clavier activé/désactivé" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "Menu clavier" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "" +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Processus Kimpanel :" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "" +msgid "Launch (0)" +msgstr "Lancer (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "" +msgid "Launch (1)" +msgstr "Lancer (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "" +msgid "Launch (2)" +msgstr "Lancer (2)" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:81 -msgctxt "Key name" -msgid "Keypad 1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:82 -msgctxt "Key name" -msgid "Keypad 2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:83 -msgctxt "Key name" -msgid "Keypad 3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:84 -msgctxt "Key name" -msgid "Keypad 4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:85 -msgctxt "Key name" -msgid "Keypad 5" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:86 -msgctxt "Key name" -msgid "Keypad 6" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:87 -msgctxt "Key name" -msgid "Keypad 7" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:88 -msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Processus Kimpanel :" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "Lancer (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "Lancer (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "Lancer (2)" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" msgid "Launch (3)" msgstr "Lancer (3)" -#: src/lib/fcitx-utils/key.cpp:116 +#: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" msgid "Launch (4)" msgstr "Lancer (4)" -#: src/lib/fcitx-utils/key.cpp:117 +#: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" msgid "Launch (5)" msgstr "Lancer (5)" -#: src/lib/fcitx-utils/key.cpp:118 +#: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" msgid "Launch (6)" msgstr "Lancer (6)" -#: src/lib/fcitx-utils/key.cpp:119 +#: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" msgid "Launch (7)" msgstr "Lancer (7)" -#: src/lib/fcitx-utils/key.cpp:120 +#: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" msgid "Launch (8)" msgstr "Lancer (8)" -#: src/lib/fcitx-utils/key.cpp:121 +#: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" msgid "Launch (9)" msgstr "Lancer (9)" -#: src/lib/fcitx-utils/key.cpp:122 +#: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" msgid "Launch (A)" msgstr "Lancer (A)" -#: src/lib/fcitx-utils/key.cpp:123 +#: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" msgid "Launch (B)" msgstr "Lancer (B)" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "Lancer (C)" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "Lancer (D)" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "Lancer (E)" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "Lancer (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "Lancer Mail" @@ -1766,248 +1437,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "Super gauche" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "Ampoule" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "Paramètres régionaux :" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "Journal :" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "Déconnexion" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "Comportement d'appui long" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "Transfert de courrier" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "Marge" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "Marge inférieure" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "Marge à gauche" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "Marge droite" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "Marge supérieure" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "Marge autour de tout le contenu" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "Marge autour du texte" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "Marché" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "Avance rapide des médias" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "Média suivant" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "Pause média" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "Lecture multimédia" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "Média précédent" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "Enregistrement multimédia" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "Rembobiner le média" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "Arrêt média" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "Réunion" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "Menu" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "Menu" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "Police du menu" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "Menu PB" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "Messager" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "Métadonnées" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "Microphone muet" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "Réduire la luminosité du moniteur" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "Augmenter la luminosité du moniteur" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "Muhenkan" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "Candidat multiple" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "Musique" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "Mes sites" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "Nom" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "Nouveau" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "Actualités" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "Candidat suivant" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "Bouton de page suivante" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "Non" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "Aucun historique du presse-papiers." -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "Aucun" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "Couleur normale du texte" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "Non disponible" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "Remarque pour GNOME ultérieur à 3.6" @@ -2020,11 +1671,11 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "Nombre d'entrées" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." @@ -2033,77 +1684,63 @@ msgstr "" "orthographique, vous devrez peut-être installer les données de vérification " "orthographique pour la langue." -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "Ouvrir" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "Ouvrir l'URL" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "Option" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "Superposer la marge du clip" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "Image de superposition" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "Superposer le décalage X" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "Superposer le décalage Y" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "Position de superposition" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "Ignorer l'option Xkb" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "Le propriétaire du nom DBus ${1} est ${2}." -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "Le PID du propriétaire du nom DBus ${1} est ${2}." -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "Taille de la page" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "Coller" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "Coller le primaire" @@ -2112,21 +1749,31 @@ msgctxt "Key name" msgid "Pause" msgstr "Pause" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "PgDown" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "PgUp" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "Téléphone" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "Images" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "Veuillez vérifier ${1} pour savoir comment installer fcitx5." -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." @@ -2134,7 +1781,7 @@ msgstr "" "Veuillez vérifier le lien Configurer de votre distribution dans ${1} pour " "savoir comment configurer le démarrage automatique de ${2}." -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." @@ -2143,29 +1790,29 @@ msgstr "" "l'aide de l'outil fourni par votre distribution ou ajouter ${1} à votre " "${2}. Voir ${link}." -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "Éteindre" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "Éteindre" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "Pré-éditer" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "Pré-édition désactivée" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "Pré-édition activée" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "Préférer l'icône de texte" @@ -2173,29 +1820,29 @@ msgstr "Préférer l'icône de texte" msgid "Presage" msgstr "Présage" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "Candidat précédent" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "Bouton de page précédente" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "Candidat précédent" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "Impression d'écran" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "Programme" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Fichiers du module Qt IM :" @@ -2203,41 +1850,37 @@ msgstr "Fichiers du module Qt IM :" msgid "Quick Phrase" msgstr "Expression rapide" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "Expression rapide  : " -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "Rouge" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "Rétablir" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "Actualiser" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "Recharger" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "Répondre" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "Redémarrer" @@ -2276,55 +1919,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "Super droit" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "Romaji" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "Faire pivoter les fenêtres" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "Rotation KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "Rotation PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "Exécuté en tant que root :" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "Enregistrer" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "Écran de veille" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "ScrollLock" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "Rechercher" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "Sélectionner" @@ -2341,68 +1980,57 @@ msgstr "Sélectionner la méthode de saisie locale :" msgid "Select specific input method via keyboard" msgstr "Sélectionner une méthode de saisie spécifique via le clavier" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "Envoyer" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "Arrière-plan du séparateur" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "Marge d'ombre" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "Partager l'état de l'entrée" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Maj" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "Boutique" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" "Afficher les informations sur la méthode d'entrée lors du changement de focus" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "" "Afficher les informations sur la méthode d'entrée lors du changement de " "méthode d'entrée" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "Afficher le nom de la mise en page dans l'icône" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "Afficher les informations sur la méthode d'entrée compacte" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "Afficher les informations de la première méthode d'entrée" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." @@ -2411,15 +2039,11 @@ msgstr "" "page active. Si l'icône de texte préféré est définie sur true, cette option " "sera ignorée." -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "Afficher la pré-édition dans l'application" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." @@ -2427,11 +2051,11 @@ msgstr "" "Afficher la pré-édition lors de la composition et valider la clé morte s'il " "n'y a pas de séquence correspondante." -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "Ignorer la première méthode de saisie lors de l'énumération" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "Veille" @@ -2441,36 +2065,35 @@ msgctxt "Key name" msgid "Space" msgstr "Espace" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "Espacement" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "Épeler" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "Vérificateur orthographique" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "Écran partagé" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "Feuille de calcul" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "Veille" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "Démarrer la méthode de saisie" @@ -2478,59 +2101,57 @@ msgstr "Démarrer la méthode de saisie" msgid "Status Notifier" msgstr "Notification d'état" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "Arrêter" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "Sous-menu" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "Sous-titre" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "Assistance" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "Suspendre" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "Changer de groupe" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "Basculer le groupe vers {0}" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "Groupe basculé vers {0}" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "Informations système :" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "Requête système" @@ -2540,68 +2161,50 @@ msgctxt "Key name" msgid "Tab" msgstr "Onglet" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "Panneau de tâches" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" "Basculer temporairement entre la première méthode de saisie et la méthode de " "saisie actuelle" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "Terminal" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" "Le n-ième raccourci clavier dans la liste sélectionne la n-ième méthode de " "saisie." -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "Le script est exécuté en tant que ${1} (${2})." -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "Thème" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "Ceci n'est efficace que lorsque l'icône de la barre d'état est xembed." -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "Cette option n'est efficace que si l'image n'est pas définie." -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "Cette valeur doit être inférieure à n'importe quelle valeur de marge." -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " @@ -2611,12 +2214,12 @@ msgstr "" "de diagnostic, veuillez les vérifier et les supprimer si nécessaire avant de " "les publier en ligne publiquement." -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "Heure" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2628,112 +2231,108 @@ msgstr "" "problèmes plus généraux liés à l'utilisation de XIM, notamment le gel des " "applications, consultez ${link2}." -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "Basculer la pré-édition intégrée" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "Outils" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "En haut au centre" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "En haut à gauche" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "Menu principal" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "En haut à droite" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "Pavé tactile désactivé" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "Pavé tactile activé" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "Basculement du pavé tactile" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "Touroku" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "Voyage" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "Police du bac" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "Couleur du contour de l'étiquette du plateau" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "Couleur du texte de l'étiquette du plateau" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "Méthode d'entrée du déclencheur" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "Clé de déclenchement" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "Clé de déclenchement pour le contexte d'entrée actuel uniquement" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "Déclencher le mode indice" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "Déclencher le mode indice pour une fois" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "Saisir des caractères spéciaux en appuyant longuement" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "Saisie avec Fcitx et Kimpanel" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "Impossible de trouver un programme pour vérifier dbus." -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "Annuler" @@ -2742,7 +2341,7 @@ msgstr "Annuler" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode  : " @@ -2751,100 +2350,89 @@ msgctxt "Key name" msgid "Up" msgstr "Haut" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "Utiliser le style On The Spot (nécessite un redémarrage)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "Utiliser PPP par écran" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" "Utiliser tout l'espace horizontal pour la surbrillance lorsqu'il s'agit " "d'une liste verticale" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "Utiliser la langue de la méthode de saisie pour afficher le texte" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" "Utiliser la molette de la souris pour aller à la page précédente ou suivante" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "Utiliser le nouveau comportement de composition" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "Interface utilisateur :" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "Utilisation de ${1} pour vérifier dbus." -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "Version" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "Ligne de version :" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "Liste verticale des candidats" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "Vidéo" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "Afficher" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "Volume bas" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "Volume muet" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "Volume haut" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "Se réveiller" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2858,27 +2446,16 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Interface de la méthode Wayland Input" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "WebCam" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " @@ -2888,16 +2465,16 @@ msgstr "" "n'affectera pas l'option xkb envoyer à l'affichage, mais uniquement les " "options xkb pour la mise en page personnalisée xkb." -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "Pourquoi est-il mauvais de s'exécuter en tant que root" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "Sans fil" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "Traitement de texte" @@ -2910,42 +2487,42 @@ msgstr "X Input Method Frontend" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "TYPE DE SESSION XDG :" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "Encodage XIM :" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "XIM pour Emacs :" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "XIM_SERVERS sur la fenêtre racine :" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS n'est pas défini" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "Le nom du serveur Xim de la variable d'environnement est ${1}." -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" "Le nom du serveur Xim est le même que celui défini dans la variable " "d'environnement." -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." @@ -2953,12 +2530,12 @@ msgstr "" "Le nom du serveur Xim : \"${1}\" est différent de celui défini dans la " "variable d'environnement : \"${2}\"." -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "Jaune" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " @@ -2969,7 +2546,7 @@ msgstr "" "sécurité, soit que le résultat de ce script peut ne pas être exact. Voir " "${3} ou ${4} pour plus d'informations." -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." @@ -2978,16 +2555,16 @@ msgstr "" "le résultat de ce script peut ne pas être exact. Voir ${2} pour plus " "d'informations." -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "Vous utilisez xim dans des programmes ${1}." -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" "Vous pouvez avoir des difficultés à utiliser fcitx dans les programmes ${1}." -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -2996,7 +2573,7 @@ msgstr "" "config-qt est introuvable. Maintenant, il ouvrira le répertoire de " "configuration." -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -3006,7 +2583,7 @@ msgstr "" "nom du package de ce KCModule est généralement kcm-fcitx ou kde-config-" "fcitx. Maintenant, il ouvrira le répertoire de configuration." -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " @@ -3016,7 +2593,7 @@ msgstr "" "pourrez peut-être pas utiliser la méthode d'entrée dans emacs à cause d'un " "bogue très ancien d'emacs que l'amont refuse de corriger pendant des années." -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." @@ -3024,62 +2601,59 @@ msgstr "" "Votre LC_CTYPE est défini sur ${1} dont l'encodage n'est pas UTF-8. Vous " "pouvez avoir des difficultés à valider des chaînes à l'aide de XIM." -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "Zenkaku" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "Zenkaku Hankaku" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "Zoom avant" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "Zoom arrière" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "exécutable :" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "ici" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "processus :" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "variables d'environnement sudo" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "version :" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (Non disponible)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (Non disponible)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/he.po b/po/he.po index 4d9396e9..a80b2010 100644 --- a/po/he.po +++ b/po/he.po @@ -3,125 +3,108 @@ # This file is distributed under the same license as the fcitx5 package. # # Translators: -# 63f334ffc0709ba0fc2361b80bf3c0f0_00ffd1e , 2021 +# Omer I.S. , 2021 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: 63f334ffc0709ba0fc2361b80bf3c0f0_00ffd1e " -", 2021\n" -"Language-Team: Hebrew (https://app.transifex.com/fcitx/teams/12005/he/)\n" +"Last-Translator: Omer I.S. , 2021\n" +"Language-Team: Hebrew (https://www.transifex.com/fcitx/teams/12005/he/)\n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % " -"1 == 0) ? 1: 2;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % " +"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "<שימוש פרטי>" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "" @@ -130,108 +113,104 @@ msgstr "" msgid "Add Unicode Typing Support" msgstr "" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "" @@ -240,11 +219,11 @@ msgstr "" msgid "Backends" msgstr "" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "" @@ -253,86 +232,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "סוללה" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "תקליטור" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "מחשבון" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "ביטול" @@ -341,81 +316,81 @@ msgstr "ביטול" msgid "Candidates" msgstr "" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "" @@ -424,15 +399,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "" @@ -440,11 +415,11 @@ msgstr "" msgid "Change Fcitx 5 Configuration" msgstr "" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "" @@ -452,12 +427,12 @@ msgstr "" msgid "Classic User Interface" msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "ניקוי" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "" @@ -465,105 +440,105 @@ msgstr "" msgid "Clipboard" msgstr "לוח הגזירים" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "סגירה" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "הגדרה" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "" @@ -571,11 +546,11 @@ msgstr "" msgid "Custom" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "גזירה" @@ -588,118 +563,83 @@ msgstr "" msgid "DBus Frontend" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "מחיקה" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "לא להציג שוב" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "" @@ -709,21 +649,21 @@ msgctxt "Key name" msgid "Down" msgstr "" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "" @@ -736,27 +676,23 @@ msgstr "" msgid "Enable" msgstr "" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "" @@ -773,88 +709,84 @@ msgstr "" msgid "Entries" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." msgstr "" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "יציאה" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "מועדפים" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -864,41 +796,26 @@ msgstr "" msgid "Fcitx 5 Configuration" msgstr "" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "" @@ -906,29 +823,17 @@ msgstr "" msgid "Fcitx4 Frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -936,96 +841,89 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "" @@ -1033,174 +931,168 @@ msgstr "" msgid "Freedesktop.org Notification Support" msgstr "" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "משחק" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "הנגול" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "עזרה" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "תרדמת" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "" @@ -1210,39 +1102,39 @@ msgctxt "Key name" msgid "Home" msgstr "" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "" @@ -1251,36 +1143,28 @@ msgstr "" msgid "IBus Frontend" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " "as well as alternative solutions." msgstr "" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " "any input method other than ${2}. See ${link} for more detail." msgstr "" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "" @@ -1289,100 +1173,67 @@ msgstr "" msgid "Input Method Configuration" msgstr "" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "" @@ -1391,308 +1242,127 @@ msgstr "" msgid "Key" msgstr "" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" msgstr "" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" +msgid "Launch (0)" msgstr "" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." +msgid "Launch (1)" msgstr "" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" +msgid "Launch (2)" msgstr "" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" +msgid "Launch (3)" msgstr "" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" +msgid "Launch (4)" msgstr "" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" +msgid "Launch (5)" msgstr "" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" +msgid "Launch (6)" msgstr "" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" +msgid "Launch (7)" msgstr "" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" +msgid "Launch (8)" msgstr "" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" +msgid "Launch (9)" msgstr "" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" +msgid "Launch (A)" msgstr "" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" msgid "Launch (B)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "" @@ -1727,248 +1397,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "מוזיקה" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "חדש" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "" @@ -1981,87 +1631,73 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "פתיחה" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "" @@ -2070,55 +1706,65 @@ msgctxt "Key name" msgid "Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "תמונות" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "כיבוי" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2126,29 +1772,29 @@ msgstr "" msgid "Presage" msgstr "" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "" @@ -2156,41 +1802,37 @@ msgstr "" msgid "Quick Phrase" msgstr "" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "אדום" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "טעינה מחדש" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "" @@ -2229,55 +1871,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "שומר מסך" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "חיפוש" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "בחירה" @@ -2294,89 +1932,74 @@ msgstr "" msgid "Select specific input method via keyboard" msgstr "" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "שליחה" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "" @@ -2386,36 +2009,35 @@ msgctxt "Key name" msgid "Space" msgstr "" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "" @@ -2423,59 +2045,57 @@ msgstr "" msgid "Status Notifier" msgstr "" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "השהיה" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "" @@ -2485,76 +2105,58 @@ msgctxt "Key name" msgid "Tab" msgstr "" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "מסוף" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2562,112 +2164,108 @@ msgid "" "freezing, see ${link2}." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "כלים" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "מסע" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "" @@ -2676,7 +2274,7 @@ msgstr "" msgid "Unicode" msgstr "" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "" @@ -2685,97 +2283,86 @@ msgctxt "Key name" msgid "Up" msgstr "" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" msgstr "" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "וידאו" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2786,43 +2373,32 @@ msgstr "" msgid "Wayland" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "מעבד תמלילים" @@ -2835,153 +2411,150 @@ msgstr "" msgid "XCB" msgstr "" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "צהוב" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." msgstr "" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " "it will open config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "" diff --git a/po/ja.po b/po/ja.po index e3a3001c..c136956e 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,123 +6,107 @@ # csslayer , 2017 # ABE Tsunehiko, 2017 # Takuro Onoue , 2022 -# UTUMI Hirosi , 2024 +# UTUMI Hirosi , 2022 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-09 20:24+0000\n" +"POT-Creation-Date: 2022-10-30 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: UTUMI Hirosi , 2024\n" -"Language-Team: Japanese (https://app.transifex.com/fcitx/teams/12005/ja/)\n" +"Last-Translator: UTUMI Hirosi , 2022\n" +"Language-Team: Japanese (https://www.transifex.com/fcitx/teams/12005/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" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "環境変数 ${1}:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} 設定ディレクトリ:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} は実行されていません。" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} は設定されていません。" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} に ${2} を設定しました。" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1} は見つかりません" -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} は正常に動作しています。" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(使用不可)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" -msgstr "(コードまたは説明からUnicodeを検索する)" +msgstr "(コードまたは説明からUnicodeを検索する)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Beginner%27s_Guide" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Hall_of_Shame_for_Linux_IME_Support" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Input_method_related_environment_variables" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Note_for_GNOME_Later_than_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "0 の場合はパスワードをクリアしません。" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "DBus ベースの仮想キーボードバックエンド" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "アクセントカラー" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "入力メソッドを有効にする" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "デフォルトで有効にする" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "お気に入りに追加する" @@ -131,108 +115,104 @@ msgstr "お気に入りに追加する" msgid "Add Unicode Typing Support" msgstr "ユニコード入力対応を追加します" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "アドオン設定ディレクトリ:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "アドオンライブラリ:" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "アドオン一覧:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "明るさ調整" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "すべて" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "見つかった Gtk ${1} IMモジュールファイルはすべて存在します。" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "すべてのアドオン用ライブラリが見つかりました。" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "すべてのロケール:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "システム XKB 設定のオーバーライドを許可する" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "システムの XKB 設定より優先する (KDE 5 のみサポート)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "パスワード欄に入力メソッドを許可する" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "常にレイアウトをグループレイアウトのみにする" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "左側のアプリケーション" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "右側のアプリケーション" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "長押しを無効にするアプリケーション" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "オーディオサイクルトラック" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "オーディオランダム再生" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "オーディオリピート" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "作者" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "Away" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "Back" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "Back Forward" @@ -241,11 +221,11 @@ msgstr "Back Forward" msgid "Backends" msgstr "バックエンド" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "背景" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "背景画像" @@ -254,86 +234,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "バックスペース" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Bash バージョン:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "バッテリー" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "ビギナーズガイド" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "動作" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Blue" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "ブラーのマージン" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "ブラーマスク" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Book" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "ボーダーの色" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "ボーダーの幅" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "下" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "中央下" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "左下" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "右下" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "ブラウザー" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "電卓" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "キャンセル" @@ -342,84 +318,84 @@ msgstr "キャンセル" msgid "Candidates" msgstr "候補" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "正しく ${1} に接続できません。" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "デスクトップ環境を決定できません。" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "${1} アドオンの設定ディレクトリが見つかりません。" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "実行可能な ${1} が見つかりません。" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "キャッシュに gtk ${2} の ${1} 入力メソッドモジュールが見つかりません。" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "gtk ${2} の ${1} 入力メソッドモジュールが見つかりません。" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "${2} の ${1} 入力メソッドモジュールが見つかりません。" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "gtk ${1} の ${2} が見つかりません" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "DBus 名 ${1} の所有者が見つかりません。" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" "GUI設定ツールが見つかりません。{1} または {2} をインストールしてください。" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "有効な ${1} ユーザーインターフェイスが見つかりません!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "fcitx5 を実行できません!" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "アドオン ${2} のファイル ${1} が見つかりません。" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "アドオン ${2} の ${1} に必要な次のライブラリが見つかりません。" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "gtk ${1} の immodules キャッシュが見つかりません" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" "kimpanel DBus インターフェイスが見つからないか、kimpanel ユーザーインター" "フェース以外が有効になっています。" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "DBus名 ${1} の所有者の pid が見つかりません。" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "root ウィンドウに xim_server が見つかりません。" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "XMODIFIERS を解釈できません: ${1}。" @@ -428,15 +404,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "CapsLock" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "中央" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "中央左" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "中央右" @@ -444,11 +420,11 @@ msgstr "中央右" msgid "Change Fcitx 5 Configuration" msgstr "Fcitx5 設定を変更" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "チェックボックス" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "キーモディファイアーを選択" @@ -456,12 +432,12 @@ msgstr "キーモディファイアーを選択" msgid "Classic User Interface" msgstr "クラシックユーザーインターフェース" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "クリア" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "クリックマージン" @@ -469,105 +445,105 @@ msgstr "クリックマージン" msgid "Clipboard" msgstr "クリップボード" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "クリップボード (BackSpace/Delete で履歴をクリア)" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "閉じる" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "コード入力" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "色" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "コミュニティ" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "補完" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "補完は無効です。" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "補完は一時的に有効です。" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "補完は有効です。" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "gtk${1} のGUI 設定が見つかりません。" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "gtk${1} のGUI を設定:" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "KDE 向け設定 GUI:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "qt に対する設定の GUI が見つかりません。" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "qt 向け設定 GUI:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "設定ツールラッパー:" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "設定:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "設定" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Copy" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "現在の ${1} の設定ディレクトリは ${2} (${3}) です。" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "現在のロケール:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "現在のユーザー:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "現在の ${1} の値は ${2} (${3}) です。" @@ -575,11 +551,11 @@ msgstr "現在の ${1} の値は ${2} (${3}) です。" msgid "Custom" msgstr "カスタム" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "カスタム XKB オプション" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Cut" @@ -592,126 +568,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "DBus フロントエンド" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "DBus ベースの仮想キーボード" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "DBus ベースの 新しい Freedesktop.org トレイアイコン" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "DBus インターフェース:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "ダークテーマ" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "入力メソッドをオフにする" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "dbus からのデバッグ情報:" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "デフォルト" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "デフォルトのダーク" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "デフォルトの次候補" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "デフォルトの次ページ" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "デフォルトの前候補" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "デフォルトの前ページ" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "デフォルトのページサイズ" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "削除" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "詳細" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "デスクトップ環境:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "デスクトップ環境は ${1} です。" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"GTK_IM_MODULE と QT_IM_MODULE が設定され、Wayland 入力メソッドフロントエンド" -"が動作していることを検出しました。GTK_IM_MODULE と QT_IM_MODULE の設定を解除" -"し、代わりに Wayland 入力メソッドフロントエンドを使用することをお勧めします。" -"詳しくは https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma をご覧" -"ください。" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" -"GTK_IM_MODULE が設定され、Wayland 入力メソッドフロントエンドが動作しているこ" -"とを検出しました。GTK_IM_MODULE の設定を解除し、代わりにWayland 入力メソッド" -"フロントエンドを使用することを推奨します。" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "現在実行中のアプリケーションを検出する(再起動が必要)" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "ディレクトリ:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "ディスプレイ" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "次回から表示しない" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "パスワードマネージャーからのパスワードを表示しない" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "ドキュメント" @@ -721,21 +654,21 @@ msgctxt "Key name" msgid "Down" msgstr "下" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "エディタ" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "英数シフト" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "英数トグル" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Eject" @@ -748,27 +681,23 @@ msgstr "絵文字" msgid "Enable" msgstr "有効" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "KWin でブラーを有効にする" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "スペルチェックを有効にする" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "絵文字のヒントを有効にする" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "絵文字のクイックフレーズを有効にする" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "Wayland で分数スケールを有効にする" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "デフォルトでヒントを有効にする" @@ -785,27 +714,27 @@ msgstr "End" msgid "Entries" msgstr "エントリー" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "前の入力メソッドに切り替える" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "次の入力メソッドに切り替える" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "前の入力メソッドグループに切り替える" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "次の入力メソッドグループに切り替える" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "トリガーキーを押すたびに切り替える" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -813,62 +742,58 @@ msgstr "" "環境変数 ${1} は、${3} ではなく ${2} です。いずれかのinitファイルで誤ってエク" "スポートしていないか確認してください。" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "環境変数 ${1} が設定されていません。" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "環境変数 ${1} は \"${2}\" に正しく設定されています。" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "環境変数 ${1} に ${2} を設定しました。" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "環境:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "${1} の実行中にエラーが起きました。ロケール設定を確認してください。" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Escape" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "実行" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "閉じる" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "${1} の immodule キャッシュに ${2} が見つかりません。" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "${1} の出力に ${2} が見つかりません。" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "フォールバック時のスペルチェック言語" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "お気に入り" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "Fcitx" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -878,23 +803,19 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Fcitx5 設定" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "Fcitx 5 Wayland ランチャー(実験的)" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Fcitx アドオン:" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Fcitx 設定 UI:" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Fcitx 状態:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " @@ -903,25 +824,7 @@ msgstr "" "Fcitx は入力メソッドフレームワークです。自分の言語を入力するのに役立ちます。" "また、タイピング体験を向上させるさまざまなアドオンの選択肢も備えています。" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"Wayland 入力メソッドフロントエンドを使用するために、Fcitx は KDE Wayland の " -"KWin で起動する必要があります。これにより、Wayland 上で Fcitx を使用する際の" -"エクスペリエンスが向上します。これを設定するには、\"システム設定\" -> \"仮" -"想キーボード\" で \"Fcitx 5\" を選択してください。また、Fedora の imsettings " -"や Debian/Ubuntu の im-config など、入力メソッドを起動するツールを無効にする" -"必要があるかもしれません。詳細については、https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma を参照してください。" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Fcitx のバージョン: ${1}" @@ -929,31 +832,17 @@ msgstr "Fcitx のバージョン: ${1}" msgid "Fcitx4 Frontend" msgstr "Fcitx4 フロントエンド" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "ファイナンス" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "Find" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "最初の候補" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" -"テーマとデスクトップでサポートされている場合は、システムのアクセントカラーに" -"従う" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "システムのライト/ダーク配色に従う" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -966,11 +855,11 @@ msgstr "" "によるテキスト入力サポートを使用している場合は、これは重大なエラーではありま" "せん。" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "フォント" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " @@ -980,89 +869,78 @@ msgstr "" "ている場合は日本語の書体で文字を表示します。この機能を使用するには多言語フォ" "ントを指定する必要があります。" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" -"詳細については、https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland を参照して" -"ください。" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "フォント DPI を Wayland で強制する" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "Forward" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" -"キーイベントが処理されない場合、テキストをコミットする代わりにキーイベントを" -"転送する" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "${1} ${2} モジュールが見つかりました: ${3}。" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "${1} ${2} プロセスが見つかりました:" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "${1} ${2} プロセスが見つかりました:" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "${1} アドオンの設定ディレクトリを見つけました: ${2}。" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "${1} を ${2} で見つけました。" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "${1} 個の無効なアドオンが見つかりました:" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "${1} 個の有効なアドオンが見つかりました:" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "${1} が有効なユーザーインターフェイスアドオンが見つかりました:" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "gtk ${2} 用の ${1} 入力メソッドモジュールが見つかりました。" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "${1} kcm モジュールを見つけました。" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "未知のバージョンの gtk 用の ${2} を ${1} に見つけました。" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "gtk ${1} 用の ${3} を ${2} に見つけました。" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "${2}の $3{3} im モジュールが見つかりました: ${1}" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "未知の gtk 用の immodules キャッシュを ${1} に見つけました。" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "gtk ${1} の immodule cache を ${2} に見つけました。" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "不明な ${1} qt モジュールが見つかりました: ${2}。" @@ -1070,174 +948,168 @@ msgstr "不明な ${1} qt モジュールが見つかりました: ${2}。" msgid "Freedesktop.org Notification Support" msgstr "Freedesktop.org 通知サポート" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "フロントエンド設定:" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "ゲーム" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "Go" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "Green" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "グループ" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "グループ {0}: {1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "グループ {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "Gtk ${1} IMモジュールファイル ${2} がありません。" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "Gtk IM モジュールキャッシュ:" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "Gtk IM モジュールファイル:" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Linux IMEサポートの「恥辱の殿堂」" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "ハングル" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "ハングル Banja" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "ハングル End" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "ハングル Hanja" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "ハングル Jamo" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "ハングル Jeonja" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "ハングル PostHanja" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "ハングル PreHanja" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "ハングル Romaja" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "ハングル Special" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "ハングル Start" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "半角" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "ヘルプ" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "変換" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "ハイバネート" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "隠す通知" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "パスワードを含んでいる、非表示のクリップボードの内容" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "サイズが合わない場合はオーバーレイを非表示にする" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "ハイライト背景" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "ハイライト背景色" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "ハイライト候補色" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "ハイライトクリックマージン" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "ハイライトテキスト色" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "ひらがな" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "ひらがなカタカナ" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "ヒストリ" @@ -1247,39 +1119,39 @@ msgctxt "Key name" msgid "Home" msgstr "ホーム" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "ホームオフィス" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "ホームページ" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "ホーム:" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "ホットリンク" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "ホットキー" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "N番目の入力メソッドに切り替えるホットキー" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "現在の入力コンテキストのみをN番目の入力メソッドに切り替えるホットキー" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "Hyper" @@ -1288,15 +1160,7 @@ msgstr "Hyper" msgid "IBus Frontend" msgstr "IBus フロントエンド" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" -"値が 0 の場合、ユーザー データは fcitx が終了するとき(ログアウトなど)にのみ" -"保存されます。" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1306,7 +1170,7 @@ msgstr "" "ストールするか ${3} を削除します。 他の解決方法の詳細は ${link} を参照してく" "ださい。" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1317,16 +1181,14 @@ msgstr "" "${g36_disable_ibus} コマンドを実行してください。詳細は ${link} で確認してくだ" "さい。" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "画像" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "入力メソッド" @@ -1335,43 +1197,23 @@ msgstr "入力メソッド" msgid "Input Method Configuration" msgstr "入力メソッドの設定" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "入力メソッド関連の環境変数:" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "入力メソッド:" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "入力パネル" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "入力パネルの背景" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "入力パネルの枠線" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "入力パネルのハイライト" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "入力パネルのハイライト候補の背景" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "入力パネルのハイライト候補の枠線" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "入力メソッドセレクター" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." @@ -1379,20 +1221,16 @@ msgstr "" "入力メソッドは独自の設定の中に異なるセットアップを持つ場合があります。これは" "一般的にクリップボードやクイックフレーズなどのモジュールで使用されます。" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "挿入" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "ユーザーデータを保存する間隔(分)" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "不正なアドオン設定ファイル ${1} です。" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." @@ -1400,45 +1238,30 @@ msgstr "" "コンポジターが ${1} で使用されるテキスト入力プロトコルを完全にサポートしてい" "る場合は、${1} に組み込まれた Wayland IM モジュールを使用してもかまいません。" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" -"入力メソッドのポップアップを提供するために、Input Method Panel GNOME Shell " -"Extensions をインストールすることをお勧めします。https://extensions.gnome." -"org/extension/261/kimpanel/ そうしないと、GNOME Shell のアクティビティ検索" -"ボックスで入力するときに、入力メソッドのポップアップが表示されないことがあり" -"ます。詳細は https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME を参照" -"してください。" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "KDE 入力メソッドパネル" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "KDE Plasma(実験的)" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "カナロック" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "かなシフト" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "漢字" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "カタカナ" @@ -1447,308 +1270,127 @@ msgstr "カタカナ" msgid "Key" msgstr "キー" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "キーボード" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "キーボード - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "キーボード - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "キーボードの輝度を下げる" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "キーボードの輝度を上げる" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "キーボードレイアウト:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "キーボードライトのオン/オフ" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "キーボードメニュー" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "キーパッド *" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "キーパッド +" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "キーパッド ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Kimpanel のプロセス:" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "キーパッド -" +msgid "Launch (0)" +msgstr "起動 (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "キーパッド ." +msgid "Launch (1)" +msgstr "起動 (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "キーパッド /" +msgid "Launch (2)" +msgstr "起動 (2)" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" -msgstr "キーパッド 0" +msgid "Launch (3)" +msgstr "起動 (3)" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" -msgstr "キーパッド 1" +msgid "Launch (4)" +msgstr "起動 (4)" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" -msgstr "キーパッド 2" +msgid "Launch (5)" +msgstr "起動 (5)" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" -msgstr "キーパッド 3" +msgid "Launch (6)" +msgstr "起動 (6)" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" -msgstr "キーパッド 4" +msgid "Launch (7)" +msgstr "起動 (7)" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" -msgstr "キーパッド 5" +msgid "Launch (8)" +msgstr "起動 (8)" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" -msgstr "キーパッド 6" +msgid "Launch (9)" +msgstr "起動 (9)" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" -msgstr "キーパッド 7" +msgid "Launch (A)" +msgstr "起動 (A)" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "キーパッド 8" +msgid "Launch (B)" +msgstr "起動 (B)" #: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" -msgid "Keypad 9" -msgstr "キーパッド 9" +msgid "Launch (C)" +msgstr "起動 (C)" -#: src/lib/fcitx-utils/key.cpp:73 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" -msgid "Keypad =" -msgstr "キーパッド =" +msgid "Launch (D)" +msgstr "起動 (D)" -#: src/lib/fcitx-utils/key.cpp:70 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" -msgid "Keypad Begin" -msgstr "キーパッド Begin" +msgid "Launch (E)" +msgstr "起動 (E)" -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "キーパッド Delete" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "キーパッド Down" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "キーパッド End" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "キーパッド Enter" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "キーパッド F1" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "キーパッド F2" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "キーパッド F3" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "キーパッド F4" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "キーパッド Home" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "キーパッド Insert" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "キーパッド Left" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "キーパッド Page Down" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "キーパッド Page Up" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "キーパッド Right" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "キーパッド Space" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "キーパッド Tab" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "キーパッド Up" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Kimpanel のプロセス:" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "最後の候補" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "起動 (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "起動 (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "起動 (2)" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "起動 (3)" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "起動 (4)" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "起動 (5)" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "起動 (6)" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "起動 (7)" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "起動 (8)" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "起動 (9)" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "起動 (A)" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" -msgid "Launch (B)" -msgstr "起動 (B)" - -#: src/lib/fcitx-utils/key.cpp:124 -msgctxt "Key name" -msgid "Launch (C)" -msgstr "起動 (C)" - -#: src/lib/fcitx-utils/key.cpp:125 -msgctxt "Key name" -msgid "Launch (D)" -msgstr "起動 (D)" - -#: src/lib/fcitx-utils/key.cpp:126 -msgctxt "Key name" -msgid "Launch (E)" -msgstr "起動 (E)" - -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "起動 (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "メールの起動" @@ -1783,237 +1425,217 @@ msgctxt "Key name" msgid "Left Super" msgstr "左 Super" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "LightBulb" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "ロケール:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "ログ:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "ログオフ" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "長押し時の動作" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "メール転送" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "マージン " -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "下マージン" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "左マージン" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "右マージン" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "上マージン" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "全コンテンツの周りのマージン" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "テキストの周りのマージン" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "マーケット" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "メディア早送り" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "次のメディア" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "メディア一時停止" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "メディア再生" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "前のメディア" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "メディア記録" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "メディア巻き戻し" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "メディア停止" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "ミーティング" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "メニュー" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "メニュー" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "メニューの背景" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "メニューの枠線" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "メニューフォント" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "PB メニュー" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "メニュー選択項目の背景" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "メニュー選択項目の枠線" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "メニューの区切り" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "Messenger" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "メタデータ" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "マイクミュート" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "モニターの明るさをダウン" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "モニターの明るさをアップ" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "無変換" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "複数の候補" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "音楽" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "個人用サイト" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "名前" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "New" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "ニュース" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "次の候補" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "次ページボタン" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "いいえ" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "クリップボード履歴がありません。" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "なし" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "ノーマルテキスト色" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " @@ -2023,11 +1645,11 @@ msgstr "" "す。このオプションを使用すると、フォント DPI を上書きできます。値が 0 の場" "合、このオプションは無効になります。" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "使用不可" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "GNOME 3.6 以降の注意" @@ -2040,11 +1662,11 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "エントリー数" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." @@ -2052,77 +1674,63 @@ msgstr "" "絵文字のサポートのみが見つかりました。スペルチェックを有効にするには、その言" "語のスペルチェックデータをインストールする必要があります。" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "開く" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "URL を開く" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "オプション" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "クリップマージンのオーバーレイ" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "オーバーレイ画像" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "Xオフセットのオーバーレイ" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "Yオフセットのオーバーレイ" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "オーバーレイの位置" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "XKB オプションより優先する" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "DBus 名 ${1} の所有者は ${2} です。" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "DBus 名 ${1} の所有者の PID は${2} です。" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "Page Down" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "Page Up" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "ページボタンの垂直方向の配置" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "ページサイズ" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "Paste" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "プライマリの貼り付け" @@ -2131,21 +1739,31 @@ msgctxt "Key name" msgid "Pause" msgstr "一時停止" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "PgDown" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "PgUp" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "電話" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "ピクチャー" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "fcitx5 のインストール方法 ${1} を確認してください。" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." @@ -2153,7 +1771,7 @@ msgstr "" "${2} 自動スタートの設定方法については、${1} のあなたのディストリビューション" "の設定リンクを参照してください。" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." @@ -2162,29 +1780,29 @@ msgstr "" "'${value}' を設定するか、直接${2} に ${1} を書き加えてください。詳しくは " "${link} を参照してください" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "パワーダウン" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "電源オフ" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "プリエディット" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "プリエディット無効" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "プリエディット有効" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "テキストアイコンを優先する" @@ -2192,29 +1810,29 @@ msgstr "テキストアイコンを優先する" msgid "Presage" msgstr "Presage" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "前の候補" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "前ページのボタン" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "前の候補" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "プリントスクリーン" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "プログラム" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Qt IM モジュールファイル:" @@ -2222,41 +1840,37 @@ msgstr "Qt IM モジュールファイル:" msgid "Quick Phrase" msgstr "クイックフレーズ" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "クイックフレーズ:" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "赤" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "やり直す" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "更新" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "リロード" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "リプライ" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "フォーカス時に状態をリセット" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "再起動" @@ -2295,55 +1909,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "右 Super" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "ローマ字" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "ウィンドウ回転" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "ローテーション KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "ローテーション PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "root として実行:" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "保存" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "スクリーンセーバー" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "ScrollLock" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "検索" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "パスワードをクリアするまでの秒数" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "選択" @@ -2360,69 +1970,54 @@ msgstr "ローカル入力メソッドを選択:" msgid "Select specific input method via keyboard" msgstr "キーボードで指定の入力メソッドを選択" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "選択した項目の文字色" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "送信" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" -"Fcitx から Wayland コンポジターへのキーボード レイアウト設定の送信は、現在の" -"デスクトップではまだサポートされていません。 入力メソッドグループに入力メソッ" -"ドとしてレイアウトを追加することで、Fcitx の内部レイアウト変換を引き続き使用" -"できます。" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "セパレーターの背景" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "影のマージン" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "入力状態を共有する" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "シフト" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "ショップ" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "フォーカスを変更する際に入力メソッドの情報を表示する" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "入力メソッドを切り替える際に入力メソッドの情報を表示する" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "アイコンにレイアウト名を表示する" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "入力メソッドの情報をコンパクトに表示する" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "第1入力メソッドの情報を表示する" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." @@ -2430,15 +2025,11 @@ msgstr "" "アクティブなレイアウトが複数ある場合はアイコンにレイアウト名を表示します。オ" "プションでテキストアイコンを優先している場合はこのオプションを無視します。" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "アプリケーションにプリエディットを表示する" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "パスワード入力時にプリエディットテキストを表示する" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." @@ -2446,11 +2037,11 @@ msgstr "" "入力時にプリエディットを表示し、一致するシーケンスがない場合はデッドキーをコ" "ミットします。" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "切り替え時は第1入力メソッドをスキップする" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "スリープ" @@ -2460,36 +2051,35 @@ msgctxt "Key name" msgid "Space" msgstr "スペース" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "間隔" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "スペル" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "スペルチェッカー" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "画面分割" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "スプレッドシート" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "スタンバイ" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "入力メソッドを開始" @@ -2497,59 +2087,57 @@ msgstr "入力メソッドを開始" msgid "Status Notifier" msgstr "ステータス通知" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "停止" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "サブメニュー" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "サブタイトル" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "サポート" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "サスペンド" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "グループの切り替え" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "{0} にグループを切り替える" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "{0} にグループを切り替えました" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "システム情報;" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "システムリクエスト" @@ -2559,68 +2147,46 @@ msgctxt "Key name" msgid "Tab" msgstr "タブ" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "タスクパネル" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "一時的に第1入力メソッドに切り替える" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "ターミナル" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" -"このスクリプトでチェックされる環境変数は、現在のシェルの変数のみを示します。" -"変数をグラフィックデスクトップセッション全体に設定していない可能性がありま" -"す。動作していない特定のプロセスに対して、「xargs -0 -L1 /proc/$PID/environ」" -"を使用することで、特定のプロセスの実際の変数を検査できます。" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "N番目のホットキーでN番目の入力メソッドに切り替える。" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "${1} (${2})としてスクリプトを実行" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "テーマ" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "これはトレイアイコンが XEmbed の場合のみ有効です。" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "このオプションは画像が設定されていない場合にのみ有効です。" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "このオプションには Wayland コンポジターのサポートが必要です。" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "このオプションは、XWayland では常に無効になります。" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "この値はどのマージンの値よりも小さくする必要があります。" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " @@ -2629,12 +2195,12 @@ msgstr "" "このような情報は開発者が診断するときに役に立つ場合がありますが、オンラインで" "公開する前に確認して、必要があれば削除してください。" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "タイム" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2645,112 +2211,108 @@ msgstr "" "あります。 ${link1} を参照してください。 アプリケーションのフリーズを含むXIM" "による一般的な問題については ${link2} を参照してください。" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" -msgstr "埋め込みプリエディットの切り替え" +msgstr "プリエディットの埋め込みを切り替える" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "ツール" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "上" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "中央上" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "左上" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "トップメニュー" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "右上" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "タッチパッドオフ" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "タッチパッドオン" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "タッチパッドトグル" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "登録" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "トラベル" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "トレイフォント" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "トレイラベルのアウトライン色" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "トレイラベルのテキスト色" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "入力メソッドの切り替え" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "トリガーキー" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "現在の入力コンテキストのみのトリガーキー" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "ヒントモードの切り替え" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "ヒントモードに一時的に切り替え" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "長押しで特殊文字を入力する" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "Unicode を16進数で入力" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "Fcitx と Kimpanel で入力する" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "DBus をチェックするためのプログラムが見つかりません。" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "Undo" @@ -2759,7 +2321,7 @@ msgstr "Undo" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode:" @@ -2768,97 +2330,86 @@ msgctxt "Key name" msgid "Up" msgstr "上" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" -msgstr "XIM で On The Spot スタイルを使う(再起動が必要)" +msgstr "XIM で On The Spot スタイルを使う(再起動が必要)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "X11 で Per Screen DPI を使用する" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "スクリーンごとのDPIを使用する" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "候補リストが縦の場合は、ハイライト時にすべての水平スペースを使用します" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "入力メソッドの言語を使用してテキストを表示する" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "マウスホイールを使用して前または次のページに移動する" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "新規入力時の動作を使用する" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "ユーザーインターフェイス:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "DBus をチェックするために ${1} を使用します。" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "${1} を使用して、現在の環境で使用される実際の IM モジュールを確認する:" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "バージョン" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "バージョンライン:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "候補ウィンドウを縦にする" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "ビデオ" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "ビュー" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "ボイドシンボル" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "音量ダウン" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "音量ミュート" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "音量アップ" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "Wake Up" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2871,30 +2422,16 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "Wayland 診断" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Wayland 入力メソッドフロントエンド" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "ウェブカメラ" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" -"パスワードマネージャーからパスワードをコピーしたときに、パスワードマネー" -"ジャーがクリップボードの内容をパスワードとしてマークした場合は、クリップボー" -"ドの更新が無視されます。" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " @@ -2904,16 +2441,16 @@ msgstr "" "送る XKB オプションには影響せず、カスタム XKB レイアウトの XKB オプションにの" "み影響します。" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "なぜ root で実行することが危険なのか" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "ワイヤレス" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "ワープロ" @@ -2926,51 +2463,51 @@ msgstr "X Input Method フロントエンド" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "XDG SESSION TYPE:" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM エンコーディング:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "XIM for Emacs:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "ルートウィンドウでの XIM_SERVERS :" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS が設定されていません" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "環境変数から取得した XIM サーバー名は ${1} です。" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "XIM サーバー名は環境変数で設定されたものと同じです。" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "XIM サーバー名: \"${1}\" は環境変数で設定された \"${2} と異なります。" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "黄" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " @@ -2980,7 +2517,7 @@ msgstr "" "われたようです。セキュリティの問題がある可能性や、スクリプトの結果が正確では" "ない可能性があります。詳細は ${3} と ${4} で確認してください。" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." @@ -2988,15 +2525,15 @@ msgstr "" "このスクリプトを実行するために ${1} が使われたようです。スクリプトの結果は正" "確ではない可能性があります。詳細は ${2} で確認してください。" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "XIM を ${1} プログラムで使用しています。" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "Fcitx を使っている プログラム ${1} で問題が発生しています。" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -3004,7 +2541,7 @@ msgstr "" "現在 fcitx を GUI で使用していますが、fcitx5-configtool が見つかりません。今" "回は既定のテキストエディタで設定ファイルを開きます。" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -3014,7 +2551,7 @@ msgstr "" "ジュールのパッケージ名は、たいていの場合 kcm-fcitx か kde-config-fcitx です。" "今回は設定ディレクトリを開きます。" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " @@ -3024,7 +2561,7 @@ msgstr "" "視されている、とても古い emacs のバグにより、emacs 中で入力メソッドを使用でき" "ないかもしれません。 " -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." @@ -3032,62 +2569,59 @@ msgstr "" "LC_CTYPE がエンコーディングがUTF-8ではない \"${1}\" に設定されています。 XIM " "を使って文字入力を確定するときに問題が起きる可能性があります。" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "全角" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "全角半角" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "拡大" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "縮小" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "実行可能:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "ここ" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "プロセス:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "sudo の環境変数" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "バージョン:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (利用できません)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (使用不可)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/ko.po b/po/ko.po index 4ede3ad4..78da4d55 100644 --- a/po/ko.po +++ b/po/ko.po @@ -7,123 +7,107 @@ # heavyuser , 2018 # Bon Keun Seo , 2021 # perillamint , 2022 -# JungHee Lee , 2023 +# JungHee Lee , 2022 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-29 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: JungHee Lee , 2023\n" -"Language-Team: Korean (https://app.transifex.com/fcitx/teams/12005/ko/)\n" +"Last-Translator: JungHee Lee , 2022\n" +"Language-Team: Korean (https://www.transifex.com/fcitx/teams/12005/ko/)\n" "Language: ko\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" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} 환경 변수:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} 설정 디렉토리:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1}이(가) 실행되고 있지 않습니다." -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1}이(가) 설정되지 않았습니다." -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1}이(가) ${2}로 지정되었습니다." -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1}을(를) 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1}이(가) 제대로 작동합니다." -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(사용할 수 없음)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(코드 또는 설명으로 유니코드를 검색하는 유형)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/초보자_가이드" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Hall_of_Shame_for_Linux_IME_Support" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Input_method_related_environment_variables" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Note_for_GNOME_Later_than_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "<하위 확장코드>" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "<비 개인용 상위 확장코드>" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "<개인용 상위 확장코드>" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "<할당 안됨>" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "입력기 활성화" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "기본적으로 활성화" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "즐겨찾기 추가" @@ -132,108 +116,104 @@ msgstr "즐겨찾기 추가" msgid "Add Unicode Typing Support" msgstr "유니코드 입력 지원 추가" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "애드온 구성 디렉토리:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "애드온 라이브러리:" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "애드온 목록:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "밝기 조절" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "모두" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "발견된 모든 GTK ${1} 입력기모듈 파일이 존재합니다." -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "모든 애드온에 대한 모든 라이브러리가 있습니다." -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "모든 로케일:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "시스템 XKB 설정을 덮어쓰도록 허용" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "시스템 XKB 설정 무시 허용(KDE 5만 지원)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "항상 자판을 그룹 자판으로만 지정" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "왼쪽 응용 프로그램" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "오른쪽 응용 프로그램" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "길게 누르면 응용프로그램이 비활성화됨" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "재생 목록 반복 듣기" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "임의 순서 음원 듣기" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "음원 반복 듣기" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "작성자" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "자리비움" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "뒤로" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "뒤로 앞으로" @@ -242,11 +222,11 @@ msgstr "뒤로 앞으로" msgid "Backends" msgstr "백엔드" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "배경" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "배경 이미지" @@ -255,86 +235,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "백스페이스" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Bash 버전:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "배터리" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "초보자 가이드" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "동작방식" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "파랑" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "블루투스" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "블러 여백" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "책" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "테두리 색상" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "테두리 너비" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "하단 중앙" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "왼쪽 하단" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "오른쪽 하단" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "브라우저" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "계산기" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "취소" @@ -343,83 +319,83 @@ msgstr "취소" msgid "Candidates" msgstr "후보" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "${1}에 연결할 수 없습니다." -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "데스크톱 환경을 확인할 수 없습니다." -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "${1} 애드온 구성 디렉토리를 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "${1} 실행 파일을 찾을 수 없습니다!" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "캐시에서 GTK ${2}용 ${1} 입력기 모듈을 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "GTK ${2}용 ${1} 입력기 모듈을 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "${1} 입력기 모듈을 ${2}에서 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "gtk ${1} 에서 ${2}를 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "DBus 이름 ${1} 소유자를 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "GUI 구성 도구를 찾을 수 없습니다. ${1}, ${2} 중 하나를 설치합니다." -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "활성화된 ${1} 사용자 인터페이스를 찾을 수 없습니다!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "Fcitx5 실행 파일을 찾을 수 없습니다!" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "${2} 애드온의 ${1} 파일을 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "${2} 애드온의 ${1}을 위한 다음 라이브러리를 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "GTK ${1}용 입력기모듈 캐시를 찾을 수 없습니다" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" "kimpanel dbus 인터페이스나 kimpanel이 아닌 활성화된 사용자 인터페이스를 찾을 " "수 없습니다." -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "DBus 이름 ${1} 소유자의 프로세스 번호를 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "루트 창에서 xim_server를 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "XMODIFIERS를 해석할 수 없음: ${1}" @@ -428,15 +404,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "캡스락" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "중앙" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "왼쪽 중앙" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "오른쪽 중앙" @@ -444,24 +420,24 @@ msgstr "오른쪽 중앙" msgid "Change Fcitx 5 Configuration" msgstr "Fcitx5 구성 변경" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "체크 박스" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "변환 키 선택" #: src/ui/classic/classicui.conf.in.in:3 msgid "Classic User Interface" -msgstr "클래식 사용자 인터페이스" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "지우기" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "여백 클릭" @@ -469,105 +445,105 @@ msgstr "여백 클릭" msgid "Clipboard" msgstr "클립보드" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "클립보드(기록을 지우려면 BackSpace/Delete 키 누르기):" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "닫기" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "코드 입력" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "색상" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "커뮤니티" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "완성" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "완성이 비활성화되었습니다." -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "완성이 일시적으로 활성화되었습니다." -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "완성이 활성화되었습니다." -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "gtk${1}에 대한 GUI 구성을 찾지 못했습니다." -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "gtk${1}에 대한 GUI 구성:" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "kde에 대한 GUI 구성:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "Qt에 대한 GUI 구성을 찾을 수 없습니다." -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "qt에 대한 GUI 구성:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "구성 도구 래퍼:" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "구성:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "구성하기" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "복사" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "현재 ${1} 설정 디렉토리는 ${2} (${3}) 입니다." -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "현재 로케일:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "현재 사용자:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "${1}의 현재 값은 ${2}(${3})입니다." @@ -575,11 +551,11 @@ msgstr "${1}의 현재 값은 ${2}(${3})입니다." msgid "Custom" msgstr "사용자 지정" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "사용자 지정 Xkb 옵션" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "자르기" @@ -592,118 +568,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "DBus 프론트엔드" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "DBus 기반 새 Freedesktop.org 트레이 아이콘" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "DBus 인터페이스:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "입력기 비활성화" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "dbus의 디버그 정보:" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "기본값" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "기본 다음 후보" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "기본 다음 페이지" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "기본 이전 후보" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "기본 이전 페이지" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "페이지 크기 기본값" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "삭제" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "설명" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "데스크탑 환경:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "데스크톱 환경은 ${1}입니다." -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "디렉토리:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "표시" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "다시 표시 안함" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "문서" @@ -713,21 +654,21 @@ msgctxt "Key name" msgid "Down" msgstr "아래쪽" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "편집기" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "영문/숫자 교체" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "영문/숫자 전환" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "꺼내기" @@ -740,27 +681,23 @@ msgstr "에모지" msgid "Enable" msgstr "활성화" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "KWin에서 블러 활성화" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "철자 검사 활성화" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "힌트에 에모지 보이기" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "상용구에 에모지 활성화" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "기본적으로 힌트 사용" @@ -777,27 +714,27 @@ msgstr "종료" msgid "Entries" msgstr "항목" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "입력기 역순으로 전환" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "입력기 전환" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "입력기 그룹 역순으로 전환" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "입력기 그룹 전환" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "트리거 키를 반복해서 누를 때 열거하기" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -805,62 +742,58 @@ msgstr "" "환경 변수 ${1}는 \"${3}\" 대신 \"${2}\"입니다. init 파일에서 잘못 내보낸 것" "이 있는지 확인해 주세요." -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "환경 변수 ${1}가 설정되지 않았습니다." -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "환경 변수 ${1}이(가) \"${2}\"로 올바르게 지정되었습니다." -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "환경 변수 ${1}이(가) ${2}로 지정되었습니다." -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "환경:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "${1}을 실행하는 중 오류가 발생하였습니다. 지역 설정을 확인합니다." -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Escape" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "실행" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "나가기" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "${2}의 입력기모듈 캐시에서 ${1}를 찾지 못했습니다" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "${1}을 ${2}의 출력 내용에서 찾을 수 없음" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "예비 맞춤법 검사 언어" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "즐겨찾기" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -870,23 +803,19 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Fcitx 5 설정" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Fcitx 애드온:" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Fcitx UI 구성하기:" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Fcitx 상태:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " @@ -895,18 +824,7 @@ msgstr "" "Fcitx는 입력기 프레임워크입니다. 자신의 언어를 입력하는데 도움이 될 수 있습니" "다. 또한 타이핑 경험을 향상시키는 다양한 애드온을 선택할 수 있습니다." -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Fcitx 버전: ${1}" @@ -914,29 +832,17 @@ msgstr "Fcitx 버전: ${1}" msgid "Fcitx4 Frontend" msgstr "Fcitx4 프론트엔드" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "재무" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "찾기" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -944,11 +850,11 @@ msgid "" "using text-input support by Qt under Wayland." msgstr "" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "글꼴" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " @@ -958,85 +864,78 @@ msgstr "" "일본어 변형으로 문자를 표시합니다. 이 기능을 사용하려면 글꼴 구성에서 이를 지" "원해야 합니다." -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "앞으로" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "${1} ${2}개의 모듈을 찾았습니다: ${3}" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr " ${1} ${2}개의 프로세스를 찾았습니다:" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr " ${1} ${2}개의 프로세스를 찾았습니다:" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "${1}애드온 구성 디렉토리를 찾았습니다: ${2}." -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "${1}을(를) ${2}에서 찾았습니다." -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "${1}개의 비활성화된 애드온을 찾았습니다:" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "${1}개의 활성화된 애드온을 찾았습니다:" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "${1}개의 활성화된 사용자 인터페이스 애드온을 찾았습니다:" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "${2}용 ${1} 입력기 모듈을 찾았습니다." -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "${1}개의 kcm 모듈을 찾았습니다." -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "${1}에서 알 수 없는 GTK 버전의 ${2}를 찾았습니다." -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "GTK ${1}에 대한 ${3}을 ${2}에서 찾았습니다." -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "${2}용 ${3}개의 입력기 모듈을 찾았습니다 : ${1}" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "${1}에서 알 수 없는 GTK 버전용 입력기모듈 캐시를 찾았습니다." -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "GTK ${1}용 입력기모듈 캐시를 ${2}에서 찾았습니다." -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "알 수 없는 ${1} Qt 모듈을 찾았습니다: ${2}." @@ -1044,174 +943,168 @@ msgstr "알 수 없는 ${1} Qt 모듈을 찾았습니다: ${2}." msgid "Freedesktop.org Notification Support" msgstr "Freedesktop.org 알림 지원" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "프론트엔드 설정:" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "게임" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "Go" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "녹색" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "그룹" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "그룹 {0}: {1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "그룹 {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "GTK ${1} 입력기모듈 파일 ${2}이 존재하지 않습니다." -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "GTK 입력기 모듈 캐시:" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "GTK 입력기 모듈 파일:" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Linux IME 지원에 대한 불명예의 전당" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "한글" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "한글 반자" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "한글입력 완료" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "한글 한자" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "한글 자모" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "한글 전자" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "한글 포스트한자" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "한글 예약한자" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "한글 로마자" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "한글 특수문자" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "한글입력 시작" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "반각" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "도움말" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "반환" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "하이버네이트" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "숨은 알림" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "크기가 맞지 않으면 오버레이 숨기기" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "배경 강조표시" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "배경 색상 강조표시" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "강조 후보 색상" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "클릭 여백 강조표시" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "텍스트 색상 강조표시" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "히라가나" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "히라가나 가타카나" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "히스토리" @@ -1221,39 +1114,39 @@ msgctxt "Key name" msgid "Home" msgstr "홈" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "홈 오피스" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "홈페이지" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "홈:" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "핫 링크" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "단축키" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "N번째 입력기로 전환하기 위한 단축키" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "현재 입력 컨텍스트에 대해서만 N번째 입력기로 전환하기 위한 단축키" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "하이퍼" @@ -1262,13 +1155,7 @@ msgstr "하이퍼" msgid "IBus Frontend" msgstr "IBus 전처리기" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1277,7 +1164,7 @@ msgstr "" "${1}을 사용하는 경우, ${2} 이외의 입력기를 사용하려면 ${2}을(를) 제거하거나 " "${3}을(를) 제거합니다. 자세한 내용은 ${link}와 다른 솔루션을 참조합니다." -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1287,16 +1174,14 @@ msgstr "" "${g36_disable_ibus} 명령을 사용하여 ${2} 이외의 입력기를 사용하기 위해 IBus " "통합을 비활성화할 수 있습니다.. 자세한 내용은 ${link}를 참조합니다." -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "이미지" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "입력기" @@ -1305,43 +1190,23 @@ msgstr "입력기" msgid "Input Method Configuration" msgstr "입력기 구성" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "입력기와 관련된 환경변수: " -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "입력기:" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "입력 패널" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "입력기 선택" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." @@ -1349,58 +1214,45 @@ msgstr "" "입력기가 별도의 구성을 가질 수 있습니다. 클립보드나 상용구와 같은 모듈에서 일" "반적으로 사용됩니다." -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "삽입" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "잘못된 애드온 구성 파일 ${1}." -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "KDE 입력기 패널" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "KDE 플라즈마 (실험용)" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "카나 고정" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "카나 Shift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "칸지" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "가타카나" @@ -1409,308 +1261,127 @@ msgstr "가타카나" msgid "Key" msgstr "키" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "키보드" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "키보드 - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "키보드 - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "키보드 밝기 낮추기" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "키보드 밝기 높이기" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "키보드 자판:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "키보드 불빛 켜기/끄기" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "키보드 메뉴" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "" +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Kimpanel 프로세스:" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "" +msgid "Launch (0)" +msgstr "실행 (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "" +msgid "Launch (1)" +msgstr "실행 (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:80 -msgctxt "Key name" -msgid "Keypad 0" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:81 -msgctxt "Key name" -msgid "Keypad 1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:82 -msgctxt "Key name" -msgid "Keypad 2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:83 -msgctxt "Key name" -msgid "Keypad 3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:84 -msgctxt "Key name" -msgid "Keypad 4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:85 -msgctxt "Key name" -msgid "Keypad 5" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:86 -msgctxt "Key name" -msgid "Keypad 6" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:87 -msgctxt "Key name" -msgid "Keypad 7" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:88 -msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Kimpanel 프로세스:" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "실행 (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "실행 (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" msgid "Launch (2)" msgstr "실행 (2)" -#: src/lib/fcitx-utils/key.cpp:115 +#: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" msgid "Launch (3)" msgstr "실행 (3)" -#: src/lib/fcitx-utils/key.cpp:116 +#: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" msgid "Launch (4)" msgstr "실행 (4)" -#: src/lib/fcitx-utils/key.cpp:117 +#: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" msgid "Launch (5)" msgstr "실행 (5)" -#: src/lib/fcitx-utils/key.cpp:118 +#: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" msgid "Launch (6)" msgstr "실행 (6)" -#: src/lib/fcitx-utils/key.cpp:119 +#: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" msgid "Launch (7)" msgstr "실행 (7)" -#: src/lib/fcitx-utils/key.cpp:120 +#: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" msgid "Launch (8)" msgstr "실행 (8)" -#: src/lib/fcitx-utils/key.cpp:121 +#: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" msgid "Launch (9)" msgstr "실행 (9)" -#: src/lib/fcitx-utils/key.cpp:122 +#: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" msgid "Launch (A)" msgstr "실행 (A)" -#: src/lib/fcitx-utils/key.cpp:123 +#: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" msgid "Launch (B)" msgstr "실행 (B)" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "실행 (C)" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "실행 (D)" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "실행 (E)" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "실행 (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "메일 프로그램 실행" @@ -1745,248 +1416,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "왼쪽 윈도우키" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "전구" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "로케일:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "로그:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "로그오프" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "길게 누르기 동작" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "이메일 전달" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "여백" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "하단 여백" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "왼쪽 여백" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "오른쪽 여백" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "상단 여백" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "모든 콘텐츠 주변의 여백" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "텍스트 주변 여백" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "마켓" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "빨리감기" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "다음 " -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "일시정지" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "재생" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "이전 " -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "녹음하기" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "되감기" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "정지" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "미팅" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "메뉴" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "메뉴" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "메뉴 글꼴" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "메뉴 PB" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "메신저" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "메타데이터" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "마이크 끄기" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "모니터 밝기 낮추기" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "모니터 밝기 높이기" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "Muhenkan" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "다중 후보" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "음악" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "내 사이트" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "이름" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "새로 만들기" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "뉴스" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "다음 후보" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "다음 페이지 버튼" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "아니오" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "클립보드 기록이 없습니다." -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "없음" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "일반 텍스트 색상" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "사용할 수 없음" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "3.6 이후의 GNOME에 대한 참고사항" @@ -1999,11 +1650,11 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "항목 수" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." @@ -2011,77 +1662,63 @@ msgstr "" "에모지 지원만 있습니다. 철자 검사를 사용하려면 언어에 대한 철자 검사 데이터" "를 설치해야 할 수 있습니다." -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "열기" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "URL 열기" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "선택사항" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "오버레이 클립 여백" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "오버레이 이미지" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "오버레이 X 오프셋" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "오버레이 Y 오프셋" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "오버레이 위치" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "Xkb 옵션 재정의" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "DBus ${1}의 소유자는 ${2}입니다." -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "DBus 이름 ${1} 소유자의 PID는 ${2}입니다." -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "페이지 크기" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "붙이기" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "기본 붙여 넣기" @@ -2090,28 +1727,38 @@ msgctxt "Key name" msgid "Pause" msgstr "중지" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "페이지 다운" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "페이지 업" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "전화" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "사진" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "Fcitx5 설치방법은 ${1}을 확인하세요." -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" "${2}의 자동 시작을 구성하는 방법은 ${1}에서 배포판의 구성 링크를 확인합니다." -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." @@ -2119,29 +1766,29 @@ msgstr "" "배포판에서 제공하는 도구를 사용하여 환경 변수 ${env_name}을 \"${value}\"로 지" "정하거나 ${2}에 ${1}를 추가합니다. $ {link} 참조." -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "전원 끄기" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "전원 끄기" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "사전편집" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "사전편집 비활성화" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "사전편집 활성화" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "텍스트 아이콘 선호" @@ -2149,29 +1796,29 @@ msgstr "텍스트 아이콘 선호" msgid "Presage" msgstr "사전 설정" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "이전 후보" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "이전 페이지 버튼" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "이전 후보" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "화면 출력" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "프로그램" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Qt 입력기 모듈 파일:" @@ -2179,41 +1826,37 @@ msgstr "Qt 입력기 모듈 파일:" msgid "Quick Phrase" msgstr "상용구" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "상용구:" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "빨강" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "재실행" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "새로 고침" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "다시 로드

" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "답장" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "재시작" @@ -2252,55 +1895,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "오른쪽 슈퍼 키" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "로마자" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "창 회전" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "교체 KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "교체 PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "root로 실행중:" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "저장" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "화면 보호기" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "스크롤 락" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "검색" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "선택" @@ -2317,65 +1956,54 @@ msgstr "로컬 입력기 선택:" msgid "Select specific input method via keyboard" msgstr "키보드를 이용하여 특정 입력기 선택" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "보내기" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "구분자 배경" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "그림자 여백" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "입력 상태 공유" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Shift" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "숍" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "포커스를 변경할 때 입력기 정보 표시" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "입력기 변경시 입력기 정보 표시" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "아이콘에 자판 이름 표시" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "간결한 입력기 정보 표시" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "첫 번째 입력기 정보 표시" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." @@ -2383,25 +2011,21 @@ msgstr "" "활성 자판이 두 개 이상 있는 경우, 아이콘에 자판 이름을 표시합니다. 텍스트 선" "호 아이콘이 참으로 설정된 경우, 이 옵션은 무시됩니다." -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "응용프로그램에서 사전편집 표시" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "열거하는 동안 첫 번째 입력기 건너뛰기" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "지연시간" @@ -2411,36 +2035,35 @@ msgctxt "Key name" msgid "Space" msgstr "공백" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "간격" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "철자" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "철자 검사" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "화면 나누기" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "스프레드시트" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "대기" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "입력기 시작" @@ -2448,59 +2071,57 @@ msgstr "입력기 시작" msgid "Status Notifier" msgstr "상태 표시기" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "중지" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "하위 메뉴" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "부제" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "지원" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "중단" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "그룹 전환" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "{0}(으)로 그룹 전환" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "{0}(으)로 그룹 전환됨" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "시스템 정보:" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "시스템 요청" @@ -2510,64 +2131,46 @@ msgctxt "Key name" msgid "Tab" msgstr "탭" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "작업 패널" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "첫 번째 입력기와 현재 입력기 사이의 임시 전환" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "터미널" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "목록의 n번째 단축키는 n번째 입력기를 선택합니다." -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "스크립트는 ${1} (${2}) 계정으로 실행됩니다." -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "테마" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "트레이 아이콘이 xembed인 경우에만 유효합니다." -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "이 옵션은 이미지가 설정되지 않은 경우에만 유효합니다." -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "이 값은 여백 값보다 작아야 합니다." -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " @@ -2576,12 +2179,12 @@ msgstr "" "이러한 정보는 개발자에게 도움이 될 수 있지만, 온라인에 올리기 전에 꼭 확인하" "고 민감한 정보가 있다면, 제거하세요." -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "시간" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2592,112 +2195,108 @@ msgstr "" "확인합니다. 응용 프로그램 멈춤을 포함하여 XIM을 사용하는 다른 일반적인 문제" "는 ${link2}를 참조합니다." -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "내장된 사전편집 전환" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "도구" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "상단 중앙" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "왼쪽 상단" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "최상위 메뉴" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "오른쪽 상단" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "터치패드 끄기" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "터치패드 켜기" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "터치패드 전환" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "등록" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "여행" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "트레이 글꼴" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "트레이 라벨 윤곽선 색상" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "트레이 레이블 텍스트 색상" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "트리거 입력기" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "트리거 키" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "현재 입력 컨텍스트에 대한 트리거 키" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "트리거 힌트 모드" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "힌트 모드를 한 번만 트리거" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "길게 눌러 특수 문자 입력" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "Fcitx 및 Kimpanel로 입력" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "dbus를 확인할 프로그램을 찾을 수 없습니다." -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "되돌리기" @@ -2706,7 +2305,7 @@ msgstr "되돌리기" msgid "Unicode" msgstr "유니코드" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "유니코드:" @@ -2715,97 +2314,86 @@ msgctxt "Key name" msgid "Up" msgstr "위쪽" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "스팟 스타일에서 사용(다시 시작 필요)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "화면 해상도 사용하기" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "세로 목록 일 때 강조 표시에 모든 가로 공간 사용" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "텍스트 표시할 때 입력기 언어 사용" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "마우스 휠을 사용하여 이전 또는 다음 페이지로 이동" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "사용자 인터페이스:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "${1}을(를) 사용하여 dbus를 확인합니다." -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "버전" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "버전 줄:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "세로 후보 목록" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "동영상" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "보기" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "음량 낮추기" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "소리 끄기" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "음량 높이기" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "깨우기" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2818,27 +2406,16 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Wayland 입력기 프론트엔드" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "웹캠" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " @@ -2848,16 +2425,16 @@ msgstr "" "기에는 영향을 주지 않고 사용자 지정 xkb 자판에 대한 xkb 옵션에만 영향을 줍니" "다." -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "root 로 실행하는 것이 나쁜 이유" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "무선" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "워드프로세서" @@ -2870,51 +2447,51 @@ msgstr "X 입력기 프론트엔드" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "XDG 세션 유형:" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM 인코딩:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "Emacs용 XIM:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "루트 창의 XIM_SERVERS:" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS가 설정되지 않음" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "환경 변수의 Xim 서버 이름은 ${1}입니다." -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "Xim 서버 이름은 환경 변수에 설정된 것과 동일합니다." -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "Xim 서버 이름: \"${1}\"은 환경 변수: \"${2}\"에 지정된 것과 다릅니다." -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "노랑" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " @@ -2924,7 +2501,7 @@ msgstr "" "보안 문제가 있거나, 실행결과가 올바르지 않을 수 있습니다. 자세한 내용은 ${3} " "또는 ${4}를 참조하세요." -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." @@ -2932,15 +2509,15 @@ msgstr "" "이 스크립트를 실행하는데 ${1}을 사용하나요? 실행결과가 올바르지 않을 수 있습" "니다. 자세한 정보는 ${2}를 참조하세요." -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "xim을 ${1} 프로그램에서 사용 중입니다." -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "${1} 프로그램에서 Fcitx를 사용하는데 문제가 발생할 수 있습니다." -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -2948,7 +2525,7 @@ msgstr "" "현재 Fcitx를 GUI로 실행하고 있지만 Fcitx5-config-qt를 찾을 수 없습니다. 대신 " "설정 디렉토리를 엽니다." -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -2958,7 +2535,7 @@ msgstr "" "의 패키지 이름은 일반적으로 kcm-fcitx 또는 kde-config-fcitx입니다. 대신 설정 " "디렉토리를 엽니다." -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " @@ -2968,7 +2545,7 @@ msgstr "" "를 사용할 수 없을지도 모릅니다. 이것은 수년간 수정하지 않고 버티고 있는 emacs" "의 매우 오랜 버그 때문입니다." -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." @@ -2976,62 +2553,59 @@ msgstr "" "LC_CTYPE이 UTF-8을 사용하지 않는 ${1}으로 설정되었습니다. XIM으로 문자열을 전" "송하는데 문제가 발생할 수 있습니다." -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "전각" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "전각 반각" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "크게 보기" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "작게 보기" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "실행파일:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "여기" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "프로세스:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "sudo 환경 변수" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "버전:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (사용할 수 없음)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (사용할 수 없음)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/ru.po b/po/ru.po index 3f5e24f2..1e66f0ce 100644 --- a/po/ru.po +++ b/po/ru.po @@ -5,16 +5,16 @@ # Translators: # csslayer , 2017 # TotalCaesar659 , 2017 -# Dmitry , 2024 +# Dmitry , 2022 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-05-25 20:24+0000\n" +"POT-Creation-Date: 2022-11-23 20:25+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: Dmitry , 2024\n" -"Language-Team: Russian (https://app.transifex.com/fcitx/teams/12005/ru/)\n" +"Last-Translator: Dmitry , 2022\n" +"Language-Team: Russian (https://www.transifex.com/fcitx/teams/12005/ru/)\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,107 +23,91 @@ msgstr "" "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " "(n%100>=11 && n%100<=14)? 2 : 3);\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} Переменные окружения:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} Каталог настроек:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} не работает." -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} не задана." -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} присвоено значение ${2}." -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1} не найден." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} работает правильно." -#: src/lib/fcitx/instance.cpp:418 +#: src/lib/fcitx/instance.cpp:404 msgid "(Not available)" msgstr "(Недоступно)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(Введите для поиска юникода по коду или описанию)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Руководство по%27s для начинающих" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Зал_позора_за_поддержку_IME_в_Linux" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Относящиеся_к_методу_ввода_переменные_окружения" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Заметка_для_пользователей_GNOME_старше_версии_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "0 означает, что пароль никогда не будет сброшен." - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "<Низкий заменитель>" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "<Не лично использовать высокий заменитель>" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "<Пароль>" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "<Лично использовать высокий заменитель>" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "<Для личного использования>" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "<не назначен>" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "Серверная часть виртуальной клавиатуры на основе DBus" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "Акцентные цвета" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "Активировать метод ввода" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "Активен по умолчанию" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "Добавить в избранное" @@ -132,123 +116,119 @@ msgstr "Добавить в избранное" msgid "Add Unicode Typing Support" msgstr "Добавляет поддержку набора с помощью символов Юникод" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "Конфигурационный каталог дополнений:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "Библиотеки дополнений:" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "Список дополнений:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "Отрегулировать яркость" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "Все" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "Все найденные immodule-файлы Gtk ${1} существуют." -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "Все библиотеки для всех дополнений найдены." -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "Все локали:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "Разрешить переопределение системных настроек XKB" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "" "Разрешить переопределение системных настроек XKB (поддерживается только KDE " "5)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "Разрешить метод ввода в поле пароля" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "Всегда устанавливайте раскладку только для групповой раскладки" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" -msgstr "Application Left" +msgstr "Приложение слева" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" -msgstr "Application Right" +msgstr "Приложение справа" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "Отключение приложений при длительном нажатии" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "Циклическая аудиодорожка" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "Случайное воспроизведение аудио" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "Повтор аудио" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "Автор" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "Уйти" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "Назад" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" -msgstr "Переслать Обратно" +msgstr "Обратно вперед" #: src/modules/spell/spell.h:38 msgid "Backends" msgstr "Бэкенды" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "Фон" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "Фоновое изображение" @@ -257,86 +237,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "BackSpace" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Версия Bash:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "Аккумулятор" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "Руководство для начинающих" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "Поведение" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Синий" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Блютус" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "Размытый Край" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "Размытая маска" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Книга" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "Цвет границы" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "Ширина рамки" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "Bottom" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" -msgstr "Bottom Center" +msgstr "Нижний Центр" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" -msgstr "Bottom Left" +msgstr "Нижний Левый" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" -msgstr "Bottom Right" +msgstr "Нижний Правый" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "Браузер" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "Калькулятор" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "Отменить" @@ -345,86 +321,86 @@ msgstr "Отменить" msgid "Candidates" msgstr "Кандидаты" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "Не удается подключиться к ${1} правильно." -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "Не удалось определить среду рабочего стола." -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "Не удается найти ${1} каталог конфигурации дополнения." -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "Не удается найти ${1} исполняемый файл!" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "Не удается найти ${1} im-модуль для gtk ${2} в кэше." -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "Не удается найти ${1} модуль для gtk ${2}." -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "Не удается найти ${1} модуль метода ввода для ${2}." -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "Не удалось найти ${2} для gtk ${1}" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "Не удается найти владельца имени DBus ${1}." -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" "Не удается найти инструмент настройки графического интерфейса, пожалуйста, " "установите ${1}, или ${2}." -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "Не удается найти включенный ${1} пользовательский интерфейс!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "Не удается найти исполняемый файл fcitx5!" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "Не удается найти файл ${1} для дополнения ${2}." -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "" "Не удается найти следующие необходимые библиотеки для ${1} дополнения ${2}." -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "Не удалось найти immodules-кэш для GTK ${1}" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" "Не удалось найти dbus-интерфейс kimpanel или запущенный интерфейс, отличный " "от kimpanel." -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "Не удается найти PID владельца имени DBus ${1}." -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "Не удалось найти xim_server в окне суперпользователя." -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "Не удалось интерпретировать XMODIFIERS: ${1}." @@ -433,27 +409,27 @@ msgctxt "Key name" msgid "CapsLock" msgstr "CapsLock" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" -msgstr "Center" +msgstr "Центр" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" -msgstr "Center Left" +msgstr "По Центру Слева" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" -msgstr "Center Right" +msgstr "По центру Справа" #: data/fcitx5-configtool.desktop.in.in:5 msgid "Change Fcitx 5 Configuration" msgstr "Изменить конфигурацию Fcitx 5" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "Флажок" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:37 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "Выбрать клавишу-модификатор" @@ -461,12 +437,12 @@ msgstr "Выбрать клавишу-модификатор" msgid "Classic User Interface" msgstr "Классический пользовательский интерфейс" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "Очистить" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "Нажмите на Поле" @@ -474,105 +450,105 @@ msgstr "Нажмите на Поле" msgid "Clipboard" msgstr "Буфер обмена" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "Буфер обмена (нажмите BackSpace/Delete, чтобы очистить историю):" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "Закрыть" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "Ввести код" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "Цвет" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "Сообщество" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "Завершение" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "Завершение отключено." -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "Завершение временно включено." -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "Завершение включено." -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "Конфигурационный GUI для gtk${1} не найден." -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "Конфигурационный GUI для gtk${1}:" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "Конфигурационный GUI для kde:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "Конфигурационный GUI для qt не найден." -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "Конфигурационный GUI для qt:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "Оболочка средства настройки:" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "Настройка:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:248 msgid "Configure" msgstr "Настроить" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" -msgstr "Control" +msgstr "Управление" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" -msgstr "Control" +msgstr "Управление" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Копировать" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "Текущий ${1} каталог настроек ${2} (${3})." -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "Текущая локаль:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "Текущий пользователь:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "Текущее значение ${1}: ${2} (${3})." @@ -580,11 +556,11 @@ msgstr "Текущее значение ${1}: ${2} (${3})." msgid "Custom" msgstr "Пользовательский" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "Пользовательский вариант Xkb" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Отрезать" @@ -597,126 +573,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "Интерфейс DBus" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "Виртуальная клавиатура DBus" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "Новая иконка в трее Freedesktop.org на базе DBus" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "Интерфейс DBus:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "Тёмная тема" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "Деактивация метода ввода" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "Отладочная информация от dbus:" -#: src/lib/fcitx/inputmethodmanager.cpp:153 src/lib/fcitx/instance.cpp:365 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:351 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "По умолчанию" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "Тёмная по умолчанию" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "Следующий кандидат по умолчанию" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "Следующая страница по умолчанию" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "Предыдущий кандидат по умолчанию" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "Предыдущая страница по умолчанию" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "Размер страницы по умолчанию" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "Удалить" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "Описание" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "Среда рабочего стола:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "Среда рабочего стола: ${1}." -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"Обнаружено, что GTK_IM_MODULE и QT_IM_MODULE установлены, и интерфейс метода " -"ввода Wayland работает. Рекомендуется отключить GTK_IM_MODULE и QT_IM_MODULE " -"и вместо этого использовать интерфейс метода ввода Wayland. Для получения " -"более подробной информации см. https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" -"Обнаружено, что GTK_IM_MODULE установлен, и интерфейс метода ввода Wayland " -"работает. Рекомендуется отключить GTK_IM_MODULE и вместо этого использовать " -"интерфейс метода ввода Wayland." - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "Определить текущее запущенное приложение (требуется перезапуск)" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "Каталоги:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "Дисплей" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "Больше не показывать" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "Не показывать пароль от менеджеров паролей" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "Документы" @@ -726,21 +659,21 @@ msgctxt "Key name" msgid "Down" msgstr "Вниз" -#: src/modules/quickphrase/quickphrase.h:43 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "Редактор" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "Eisu Shift" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "Eisu toggle" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Извлечь" @@ -753,27 +686,23 @@ msgstr "Эмодзи" msgid "Enable" msgstr "Включить" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "Включить размытие на KWin" -#: src/modules/quickphrase/quickphrase.h:39 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "Включить проверку орфографии" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "Включить эмодзи в подсказке" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "Включить эмодзи в быстрой фразе" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "Включить дробную шкалу в Wayland" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "Включить подсказку по умолчанию" @@ -790,27 +719,27 @@ msgstr "Окончание" msgid "Entries" msgstr "Записи" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "Перечислить методы ввода в обратном порядке" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "Перечислить методы ввода в прямом порядке" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "Перечислить группы методов ввода в обратном порядке" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "Перечислить группы методов ввода в прямом порядке" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "Перечислять при повторном нажатии клавиши-триггера" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -818,64 +747,60 @@ msgstr "" "Переменная окружения ${1}это \"${2}\" вместо \"${3}\". Убедитесь, что вы " "правильно экспортировали её в соответствующие init-файлы." -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "Переменная окружения ${1} не задана." -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "Переменной окружения ${1} правильно присвоено значение \"${2}\"." -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "Переменной окружения ${1} присвоено значение ${2}." -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "Окружение:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" "Обнаружена ошибка при запуске ${1}. Пожалуйста, проверьте ваши региональные " "настройки." -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Выход" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "Выполнить" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:262 msgid "Exit" msgstr "Выход" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "Не удалось найти ${1} в кеше immodule в ${2}" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "Не удалось найти ${1} в выводе ${2}" -#: src/modules/quickphrase/quickphrase.h:41 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "Резервный язык проверки орфографии" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "Избранное" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "Fcitx" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -885,51 +810,29 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Конфигурация Fcitx 5" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "Fcitx 5 Wayland Launcher (Экспериментально)" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Дополнения Fcitx:" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Конфигурационный интерфейс Fcitx:" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Состояние Fcitx:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -"Fcitx — это платформа методов ввода. Она может помочь вам ввести свой " -"собственный язык. Она также предлагает различные варианты дополнений, " -"которые улучшают удобство набора текста." +"Fcitx — это фреймворк для методов ввода. Это может помочь вам ввести свой " +"собственный язык. Он также предлагает различные варианты надстроек, которые " +"улучшают ваш опыт набора текста." -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"Fcitx в KDE Wayland должен быть запущен с помощью KWin, чтобы использовать " -"интерфейс метода ввода Wayland. Это улучшает удобство использования Fcitx " -"под Wayland. Вам нужно открыть «Системные настройки» -> «Виртуальная " -"клавиатура» и выбрать «Fcitx 5». Вы также можете отключить инструменты, " -"которые включают методы ввода, такие как imsettings в Fedora или im-config в " -"Debian/Ubuntu. Дополнительную информацию можно найти на https://fcitx-im.org/" -"wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Версия Fcitx: ${1}" @@ -937,31 +840,17 @@ msgstr "Версия Fcitx: ${1}" msgid "Fcitx4 Frontend" msgstr "Интерфейс Fcitx4" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" -msgstr "Финансы" +msgstr "Финансировать" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "Найти" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "Первый кандидат" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" -"Следовать цветовому акценту системы, если он поддерживается темой и рабочим " -"столом" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "Следовать системной светлой/темной цветовой схеме" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " @@ -973,11 +862,11 @@ msgstr "" "ошибка, если вы не используете какое-либо приложение Qt с определенной " "версией Qt или используете поддержку ввода текста Qt под Wayland." -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "Шрифт" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " @@ -987,89 +876,78 @@ msgstr "" "и японским вариантом при использовании Anthy. Конфигурация шрифта должна " "поддерживать это, чтобы использовать эту функцию." -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" -"Для получения более подробной информации см. https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "Принудительное изменение DPI шрифта на Wayland" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" -msgstr "Пересылать" - -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "" -"Пересылать ключевое событие вместо фиксации текста, если оно не " -"обрабатывается" +msgstr "Вперед" -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "Найден ${1} ${2} модуль: ${3}." -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "Найден ${1} ${2} процесс:" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "Найденные ${1} ${2} процессы:" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "Найден ${1} конфигурационный каталог дополнения: ${2}." -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "Найден ${1} в ${2}." -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "Найдено ${1} отключенных дополнений:" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "Найдено ${1} включенных дополнений:" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "Найдено ${1} подключенных дополнений пользоватeльских интерфейсов:" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "Найден ${1} im-модуль для gtk ${2}." -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "Найден ${1} kcm-модуль." -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "В ${1} найден ${2} для неизвестной версии gtk." -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "В ${2} найден ${3} для gtk ${1}." -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "Найден ${3} im-модуль для ${2}: ${1}." -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "Найден immodules-кэш для неизвестной версии GTK в ${1}." -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "Найден immodules-кэш для GTK ${1} в ${2}." -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "Найден неизвестный ${1} qt-модуль: ${2}." @@ -1077,174 +955,168 @@ msgstr "Найден неизвестный ${1} qt-модуль: ${2}." msgid "Freedesktop.org Notification Support" msgstr "Поддержка уведомлений Freedesktop.org" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "Настройка интерфейсов:" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "Игра" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "Go" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "Зеленый" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:238 msgid "Group" msgstr "Группа" -#: src/lib/fcitx/instance.cpp:422 -#, c++-format +#: src/lib/fcitx/instance.cpp:408 msgid "Group {0}: {1}" msgstr "Группа {0}: {1}" -#: src/lib/fcitx/instance.cpp:367 -#, c++-format +#: src/lib/fcitx/instance.cpp:353 msgid "Group {}" msgstr "Группа {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "Immodule-файл ${2} Gtk ${1} не существует." -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "Кэш IM-модуля Gtk:" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "Файлы IM-модуля Gtk:" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Зал позора за поддержку IME в Linux" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "Hangul" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "Hangul Banja" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "Hangul End" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "Hangul Hanja" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "Hangul Jamo" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "Hangul Jeonja" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "Hangul PostHanja" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "Hangul PreHanja" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "Hangul Romaja" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "Hangul Special" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "Hangul Start" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "Hankaku" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "Помощь" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "Henkan" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "Гибернация" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "Скрытые уведомления" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "Скрытое содержимое буфера обмена, содержащее пароль" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "Скрыть наложение, если размер не подходит" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "Выделить фон" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "Цвет фона выделения" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "Выделить цветом кандидат" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "Выделить поле клика" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "Выделить цветом текст" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "Хирагана" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "Хирагана Катакана" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "История" @@ -1254,41 +1126,41 @@ msgctxt "Key name" msgid "Home" msgstr "Home" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "Домашний офис" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "Домашняя страница" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "Домашний:" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "Горячие ссылки" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "Горячая клавиша" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "Горячая клавиша для переключения на определённый способ ввода" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" "Горячая клавиша для переключения на определённый метод ввода только для " "текущего контекста ввода" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "Hyper" @@ -1297,15 +1169,7 @@ msgstr "Hyper" msgid "IBus Frontend" msgstr "Интерфейс IBus" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" -"Если значение равно 0, пользовательские данные могут быть сохранены только " -"при выходе из fcitx (например, при выходе из системы)." - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1316,7 +1180,7 @@ msgstr "" "Для получения подробной информации,а также поиска других решений, см. " "${link}." -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1327,16 +1191,15 @@ msgstr "" "интеграции с IBus, чтобы использовать любой метод ввода, отличный от ${2}. " "Для получения подробной информации см. ${link}." -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "Изображение" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:457 -#: src/lib/fcitx/instance.cpp:685 src/lib/fcitx/instance.cpp:847 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:442 +#: src/lib/fcitx/instance.cpp:660 src/lib/fcitx/instance.cpp:819 +#: src/modules/notificationitem/notificationitem.cpp:144 +#: src/modules/notificationitem/notificationitem.cpp:221 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "Метод ввода" @@ -1345,43 +1208,23 @@ msgstr "Метод ввода" msgid "Input Method Configuration" msgstr "Настройка метода ввода" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "Относящиеся к методу ввода переменные окружения: " -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "Методы ввода:" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" -msgstr "Поле ввода" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "Фон поля ввода" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "Граница поля ввода" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "Поле ввода выделено" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "В поле ввода выделен фон слова-кандидата" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "Выделение границы слова-кандидата в поле ввода" +msgstr "Панель ввода" #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "Выбор метода ввода" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." @@ -1390,20 +1233,16 @@ msgstr "" "конфигурации. Это обычно используется такими модулями, как буфер обмена или " "быстрая фраза." -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "Вставка" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "Интервал сохранения пользовательских данных в минутах" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "Неверный файл конфигурации дополнения ${1}." -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." @@ -1411,44 +1250,30 @@ msgstr "" "Можно использовать ${1} встроенный модуль Wayland im, если составитель " "полностью поддерживает протокол ввода текста, используемый ${1}." -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" -"Рекомендуется установить расширение панели методов ввода GNOME Shell. " -"https://extensions.gnome.org/extension/261/kimpanel/ В противном случае вы " -"не сможете увидеть всплывающее окно метода ввода при вводе текста в поле " -"поиска действий GNOME Shell. Для получения более подробной информации см. " -"https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "Панель метода ввода KDE" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "KDE Plasma (экспериментально)" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" -msgstr "Кана Lock" +msgstr "Kana Lock" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" -msgstr "Кана Shift" +msgstr "Kana Shift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "Kanji" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "Катакана" @@ -1457,308 +1282,127 @@ msgstr "Катакана" msgid "Key" msgstr "Клавиша" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "Клавиатура" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "Клавиатура - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "Клавиатура - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "Уменьшить яркость клавиатуры" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "Увеличить яркость клавиатуры" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "Раскладка клавиатуры:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "Подсветка клавиатуры вкл./выкл" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" -msgstr "Клавиатура Menu" - -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "Keypad-блок клавиатуры *" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "Keypad-блок клавиатуры +" +msgstr "Меню клавиатуры" -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "Keypad-блок клавиатуры ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Процесс Kimpanel:" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "Keypad-блок клавиатуры -" +msgid "Launch (0)" +msgstr "Launch (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "Keypad-блок клавиатуры ." +msgid "Launch (1)" +msgstr "Launch (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "Keypad-блок клавиатуры /" +msgid "Launch (2)" +msgstr "Launch (2)" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" -msgstr "Keypad-блок клавиатуры 0" +msgid "Launch (3)" +msgstr "Launch (3)" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" -msgstr "Keypad-блок клавиатуры 1" +msgid "Launch (4)" +msgstr "Launch (4)" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" -msgstr "Keypad-блок клавиатуры 2" +msgid "Launch (5)" +msgstr "Launch (5)" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" -msgstr "Keypad-блок клавиатуры 3" +msgid "Launch (6)" +msgstr "Launch (6)" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" -msgstr "Keypad-блок клавиатуры 4" +msgid "Launch (7)" +msgstr "Launch (7)" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" -msgstr "Keypad-блок клавиатуры 5" +msgid "Launch (8)" +msgstr "Launch (8)" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" -msgstr "Keypad-блок клавиатуры 6" +msgid "Launch (9)" +msgstr "Launch (9)" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" -msgstr "Keypad-блок клавиатуры 7" +msgid "Launch (A)" +msgstr "Launch (A)" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "Keypad-блок клавиатуры 8" +msgid "Launch (B)" +msgstr "Launch (B)" #: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" -msgid "Keypad 9" -msgstr "Keypad-блок клавиатуры 9" +msgid "Launch (C)" +msgstr "Launch (C)" -#: src/lib/fcitx-utils/key.cpp:73 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" -msgid "Keypad =" -msgstr "Клавиатура =" +msgid "Launch (D)" +msgstr "Launch (D)" -#: src/lib/fcitx-utils/key.cpp:70 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" -msgid "Keypad Begin" -msgstr "Keypad-блок клавиатуры Begin" +msgid "Launch (E)" +msgstr "Launch (E)" -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "Keypad-блок клавиатуры Delete" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "Keypad-блок клавиатуры Down" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "Keypad-блок клавиатуры End" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "Keypad-блок клавиатуры Enter" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "Клавиатура F1" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "Клавиатура F2" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "Клавиатура F3" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "Клавиатура F4" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "Keypad-блок клавиатуры Home" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "Keypad-блок клавиатуры Insert" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "Keypad-блок клавиатуры Left" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "Keypad-блок клавиатуры Page Down" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "Keypad-блок клавиатуры Page Up" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "Keypad-блок клавиатуры Right" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "Клавиатура Space" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "Клавиатура Tab" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "Keypad-блок клавиатуры Up" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Процесс Kimpanel:" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "Последний кандидат" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "Launch (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "Launch (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "Launch (2)" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "Launch (3)" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "Launch (4)" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "Launch (5)" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "Launch (6)" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "Launch (7)" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "Launch (8)" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "Launch (9)" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "Launch (A)" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" -msgid "Launch (B)" -msgstr "Launch (B)" - -#: src/lib/fcitx-utils/key.cpp:124 -msgctxt "Key name" -msgid "Launch (C)" -msgstr "Launch (C)" - -#: src/lib/fcitx-utils/key.cpp:125 -msgctxt "Key name" -msgid "Launch (D)" -msgstr "Launch (D)" - -#: src/lib/fcitx-utils/key.cpp:126 -msgctxt "Key name" -msgid "Launch (E)" -msgstr "Launch (E)" - -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "Launch (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "Запустить почту" @@ -1766,7 +1410,7 @@ msgstr "Запустить почту" #: src/lib/fcitx-utils/key.cpp:47 msgctxt "Key name" msgid "Left" -msgstr "Left" +msgstr "Левая" #: src/lib/fcitx-utils/key.cpp:30 msgctxt "Key name" @@ -1793,237 +1437,217 @@ msgctxt "Key name" msgid "Left Super" msgstr "Левая клавиша Super" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "LightBulb" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "Локаль:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "Журнал:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "Выйти" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "Поведение при длительном нажатии" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "Пересылка почты" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "Поле" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "Поле внизу" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "Поле слева" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "Поле справа" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "Поле сверху" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "Поля вокруг всего содержимого" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "Поле вокруг текста" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "Рынок" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "Быстрая перемотка Медиа вперед" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "Следующее Медиа" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "Медиа на паузе" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "Воспроизведение Медиа" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "Предыдущее Медиа" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "Запись Медиа" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "Перемотка Медиа" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "Остановка Медиа" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "Встреча" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "Меню" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "Меню" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "Фон меню" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "Граница меню" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "Шрифт меню" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" -msgstr "Menu PB" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "Фон выбранного пункта меню" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "Граница выбранного пункта меню" +msgstr "Меню PB" -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "Разделитель меню" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "Мессенджер" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "Метаданные" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "Отключение микрофона" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "Уменьшить яркость монитора" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "Увеличить яркость монитора" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "Muhenkan" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "Несколько кандидатов" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "Музыка" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "Мои сайты" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "Имя" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "Новое" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "Новости" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "Следующий кандидат" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "Кнопка следующей страницы" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "Нет" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "История буфера обмена отсутствует." -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:24 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "Нет" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "Обычный цвет текста" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " @@ -2033,11 +1657,11 @@ msgstr "" "масштабирования экрана. Эта опция позволяет переопределить DPI шрифта. Если " "значение равно 0, это означает, что эта опция отключена." -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "Недоступно" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "Заметка для пользователей GNOME старше версии 3.6" @@ -2050,11 +1674,11 @@ msgctxt "Key name" msgid "NumLock" msgstr "NumLock" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "Количество входов" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." @@ -2062,77 +1686,63 @@ msgstr "" "Обнаружена только поддержка эмодзи. Чтобы включить проверку орфографии, вам " "может потребоваться установить данные проверки орфографии для языка." -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "Открыть" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "Открыть URL" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "Выбор" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "Наложение поля клипа" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "Наложенное изображение" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "Смещение X" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "Смещение Y" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "Позиция наложения" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "Переопределить параметр Xkb" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "Владелец имени DBus ${1} — ${2}." -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "PID владельца имени DBus ${1} — ${2}." -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "Страница Вниз" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "Страница Вверх" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "Выравнивание кнопки страницы по вертикали" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "Размер страницы" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "Вставить" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "Вставить основное" @@ -2141,21 +1751,31 @@ msgctxt "Key name" msgid "Pause" msgstr "Пауза" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "PgDown" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "PgUp" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "Phone" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "Картинки" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "Пожалуйста, ознакомьтесь с ${1} для установки fcitx5." -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." @@ -2163,7 +1783,7 @@ msgstr "" "Пожалуйста, проверьте ссылку Настройки вашего дистрибутива в ${1}, чтобы " "узнать, как настроить ${2}автозапуск." -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." @@ -2172,29 +1792,29 @@ msgstr "" "помощью инструмента, предоставляемого вашим дистрибутивом, или добавьте ${1}" "к вашему ${2}. Смотрите ${link}." -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" -msgstr "Выключить" +msgstr "Power Down" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" -msgstr "Выключение" +msgstr "Power Off" -#: src/lib/fcitx/instance.cpp:847 +#: src/lib/fcitx/instance.cpp:819 msgid "Preedit" msgstr "Предварительное редактирование" -#: src/lib/fcitx/instance.cpp:849 +#: src/lib/fcitx/instance.cpp:821 msgid "Preedit disabled" msgstr "Предварительное редактирование отключено" -#: src/lib/fcitx/instance.cpp:848 +#: src/lib/fcitx/instance.cpp:820 msgid "Preedit enabled" msgstr "Предварительное редактирование включено" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "Иконка предпочтительного текста" @@ -2202,29 +1822,29 @@ msgstr "Иконка предпочтительного текста" msgid "Presage" msgstr "Presage" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "Предыдущий кандидат" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "Кнопка предыдущей страницы" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "Предыдущий кандидат" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "Снимок экрана" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "Программа" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Файлы модуля Qt IM:" @@ -2232,53 +1852,49 @@ msgstr "Файлы модуля Qt IM:" msgid "Quick Phrase" msgstr "Быстрая фраза" -#: src/modules/quickphrase/quickphrase.cpp:470 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "Быстрая фраза: " -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "Red" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "Повторить" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "Обновить" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "Перезагрузить" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "Ответить" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "Сбросить состояние при фокусировке" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:256 msgid "Restart" msgstr "Перезапустить" #: src/lib/fcitx-utils/key.cpp:43 msgctxt "Key name" msgid "Return" -msgstr "Возврат каретки" +msgstr "Возвращение" #: src/lib/fcitx-utils/key.cpp:49 msgctxt "Key name" msgid "Right" -msgstr "Right" +msgstr "Правая" #: src/lib/fcitx-utils/key.cpp:31 msgctxt "Key name" @@ -2305,55 +1921,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "Правая клавиша Super" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "Romaji" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "Вращать окна" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "Вращение KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "Вращение PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "Запуск с правами администратора:" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "Сохранить" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "Заставка" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "Блокировка прокрутки" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "Поиск" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "Секунд до сброса пароля" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "Выбрать" @@ -2370,69 +1982,54 @@ msgstr "Выбрать локальный метод ввода:" msgid "Select specific input method via keyboard" msgstr "Выберите конкретный метод ввода с клавиатуры" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "Цвет текста выбранного элемента" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "Отправить" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" -"Отправка конфигурации раскладки клавиатуры в компоновщик Wayland из Fcitx " -"пока не поддерживается на текущем рабочем столе. Вы по-прежнему можете " -"использовать внутреннее преобразование раскладки Fcitx, добавив раскладку в " -"качестве метода ввода в группу методов ввода." - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "Фон разделителя" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "Затенённое поле" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "Поделиться состоянием ввода" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Shift" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "Магазин" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "Показывать информацию о способе ввода при изменении фокуса" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "Показывать информацию о методе ввода при переключении" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "Показать имя раскладки в значке" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "Показать информацию о компактном методе ввода" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "Показать информацию о первом методе ввода" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." @@ -2441,15 +2038,11 @@ msgstr "" "для значка предпочтительного текста установлено значение true, этот параметр " "будет игнорироваться." -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "Показать предварительное редактирование в приложении" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "Показывать предварительно редактируемый текст при вводе пароля" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." @@ -2457,11 +2050,11 @@ msgstr "" "Показывать предварительное редактирование при составлении и фиксировать " "мертвую клавишу, если нет подходящей последовательности." -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "Пропустить первый метод ввода при перечислении" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "Sleep" @@ -2471,36 +2064,35 @@ msgctxt "Key name" msgid "Space" msgstr "Space" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "Расстояние" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "Подсказки" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "Программа проверки орфографии" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "Разделение экрана" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "Электронная таблица" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "Режим ожидания" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "Запустить метод ввода" @@ -2508,59 +2100,57 @@ msgstr "Запустить метод ввода" msgid "Status Notifier" msgstr "Уведомление о статусе" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "Остановить" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "Подменю" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "Подзаголовок" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "Поддержка" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "Приостановить" -#: src/lib/fcitx/instance.cpp:458 src/lib/fcitx/instance.cpp:686 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:443 src/lib/fcitx/instance.cpp:661 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "Сменить группу" -#: src/lib/fcitx/instance.cpp:459 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:444 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "Переключить группу на {0}" -#: src/lib/fcitx/instance.cpp:687 -#, c++-format +#: src/lib/fcitx/instance.cpp:662 msgid "Switched group to {0}" msgstr "Группа переключена на {0}" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "Информация о системе:" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "System Request" @@ -2570,72 +2160,48 @@ msgctxt "Key name" msgid "Tab" msgstr "Tab" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "Панель задач" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "Временное переключение между основным и текущим методом ввода" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "Терминал" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" -"Переменная окружения, проверенная этим сценарием, показывает окружение " -"только в текущей оболочке. Все еще есть вероятность, что вы не установили " -"среду для всего сеанса графического рабочего стола. Вы можете проверить " -"фактическую переменную среды определенного процесса, используя `xargs -0 -" -"L1 /proc/$PID/environ` для определенного процесса, который вы считаете " -"неработающим." - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" "Определённая горячая клавиша в списке выбирает определённый метод ввода." -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "Сценарий запущен пользователем ${1} (${2})." -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "Тема" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "Это эффективно только тогда, когда значок в трее встроен." -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" "Этот параметр эффективен только в том случае, если имидж не установлен." -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "Для этого параметра требуется поддержка wayland compositor." - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "Этот параметр всегда будет отключен в XWayland." - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "Это значение должно быть меньше любого значения разницы." -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " @@ -2645,12 +2211,12 @@ msgstr "" "целях, пожалуйста, дважды проверьте и удалите при необходимости, прежде чем " "публиковать ее в Интернете публично." -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "Время" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2662,224 +2228,207 @@ msgstr "" "Для других более общих проблем, связанных с использованием XIM, включая " "замораживание приложений, см. ${link2}." -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "Переключение встроенного предварительного редактирования" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "Инструменты" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "Top" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" -msgstr "Top Center" +msgstr "Вверху по-центру" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" -msgstr "Top Left" +msgstr "Вверху слева" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "Верхнее меню" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" -msgstr "Top Right" +msgstr "Вверху справа" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "Сенсорная Панель Выключена" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "Сенсорная Панель Включена" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "Переключатель сенсорной панели" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "Touroku" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "Ход" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "Шрифт в лотке" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "Цвет контура лейбла лотка" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "Цвет текста лейбла лотка" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "Активация метода ввода" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:32 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "Клавиша-триггер" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "Клавиша-триггер только для текущего контекста ввода" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "Активировать режим подсказки" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "Активировать режим подсказки один раз" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "Вводить специальные символы долгим нажатием" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" -msgstr "Вводить Юникод в шестнадцатеричном формате" +msgstr "Вводить unicode в шестнадцатеричном формате" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "Печатание с помощью Fcitx и Kimpanel" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "Не удается найти программу для проверки dbus." -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "Отменить" #: src/modules/unicode/unicode.conf.in.in:3 msgid "Unicode" -msgstr "Юникод" +msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " -msgstr "Юникод: " +msgstr "Unicode: " #: src/lib/fcitx-utils/key.cpp:48 msgctxt "Key name" msgid "Up" msgstr "Вверх" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" -msgstr "Использовать стиль On The Spot (требуется перезапуск программы)" +msgstr "Использовать стиль On The Spot (требуется перезагрузка)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "Использовать DPI для каждого экрана на X11" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "Использовать DPI для каждого экрана" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" "Используйте все горизонтальное пространство для выделения, когда это " "вертикальный список" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "Использовать язык метода ввода для отображения текста" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "Используйте колёсико мыши, для перелистывания страниц" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "Использовать новое поведение при написании" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "Пользовательский интерфейс:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "Использование ${1} для проверки dbus." -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" -"Использование ${1} для проверки фактического модуля im, который будет " -"использоваться в текущей среде:" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "Версия" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "Версия Line:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "Вертикальный список кандидатов" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "Видео" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "Вид" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "Пустой Cимвол" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "Уменьшить громкость" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "Отключение звука" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "Увеличить громкость" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "Выход из сна" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2893,30 +2442,16 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "Wayland Диагностика" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Интерфейс метода ввода Wayland" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "Веб-камера" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "" -"В случае если при копировании пароля из менеджера паролей он поддерживает " -"пометку содержимого буфера обмена как пароля, это обновление буфера обмена " -"будет игнорироваться." - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " @@ -2926,16 +2461,16 @@ msgstr "" "повлияет на параметр xkb, отправленный для отображения, а только на " "параметры xkb для пользовательской раскладки xkb." -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "Почему не рекомедуется запускать с правами администратора" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "Беспроводная связь" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "Текстовый редактор" @@ -2948,41 +2483,41 @@ msgstr "Интерфейс метода ввода X" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "XDG SESSION TYPE:" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM encoding:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "XIM для Emacs:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "XIM_SERVERS в окне суперпользователя:" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS не заданы" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "Указанное в переменной окружения имя сервера Xim: ${1}." -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" "Имя сервера Xim совпадает с тем, которое задано в переменной окружения." -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." @@ -2990,12 +2525,12 @@ msgstr "" "Имя сервера Xim \"${1}\" отличается от того, которое задано в переменной " "окружения: \"${2}\"." -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "Жёлтое" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " @@ -3006,7 +2541,7 @@ msgstr "" "выполнения скрипта может быть некорректным. Чтобы узнать больше, см. ${3} " "или ${4}." -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." @@ -3015,15 +2550,15 @@ msgstr "" "выполнения скрипта может быть некорректным. Для подробной информации см. " "${2}." -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "Вы используете xim в ${1} программах." -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "Возможны проблемы при использовании fcitx в ${1} программах." -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -3031,7 +2566,7 @@ msgstr "" "В настоящее время вы используете Fcitx с графическим интерфейсом, но не " "удалось найти fcitx5-config-qt. Сейчас будет открыт конфигурационный каталог." -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -3041,7 +2576,7 @@ msgstr "" "найден, имя пакета этого KCModule обычно kcm-fcitx или kde-config-fcitx. " "Сейчас будет открыт конфигурационный каталог." -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " @@ -3051,7 +2586,7 @@ msgstr "" "вы не сможете использовать метод ввода в Emacs из-за очень старой ошибки в " "Emacs, которую не один год не хотят исправлять в апстриме." -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." @@ -3060,62 +2595,59 @@ msgstr "" "отличается от UTF-8. Могут возникнуть проблемы при выполнении строк с " "использованием XIM." -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "Zenkaku" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "Zenkaku Hankaku" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "Увеличить" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "Уменьшить" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "выполняется:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "здесь" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "процесс:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "переменные окружения sudo" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "версия:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (Недоступно)" -#: src/lib/fcitx/instance.cpp:416 -#, c++-format +#: src/lib/fcitx/instance.cpp:402 msgid "{0} (Not available)" msgstr "{0} (Недоступно)" -#: src/lib/fcitx/instance.cpp:413 -#, c++-format +#: src/lib/fcitx/instance.cpp:399 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/vi.po b/po/vi.po index ce4d2c58..d4ae7ce5 100644 --- a/po/vi.po +++ b/po/vi.po @@ -3,123 +3,107 @@ # This file is distributed under the same license as the fcitx5 package. # # Translators: -# zenfas, 2024 +# Zen Fas, 2022 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-06 20:24+0000\n" +"POT-Creation-Date: 2022-10-31 20:24+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: zenfas, 2024\n" -"Language-Team: Vietnamese (https://app.transifex.com/fcitx/teams/12005/vi/)\n" +"Last-Translator: Zen Fas, 2022\n" +"Language-Team: Vietnamese (https://www.transifex.com/fcitx/teams/12005/vi/)\n" "Language: vi\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" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1}Các biến môi trường:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1}Thư mục cài đặt:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1}không chạy." -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1}không được gán." -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} được gán là ${2}." -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1}không tìm thấy." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} chạy bình thường." -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(Không khả dụng)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(Nhập để tìm kiếm theo mã unicode hoặc mô tả)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Hướng dẫn %27s_người dùng mới" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Các_hạn_chế_bộ_gõ_hỗ_trợ_trong_Linux" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Kiểu_gõ_liên_quan_biến_môi_trường" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Ghi_chú_cho_GNOC_mới_hơn_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "Kích hoạt kiểu gõ" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "Kích hoạt mặc định" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "Thêm vào ưa thích" @@ -128,108 +112,104 @@ msgstr "Thêm vào ưa thích" msgid "Add Unicode Typing Support" msgstr "Thêm hỗ trợ gõ Unicode" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "Addon cấu hình đường đẫn:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "Thư viện Addon:" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "Danh sách Addon:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "Điều chỉnh độ sáng" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "Tất cả" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "Module Gtk ${1} tồn tại" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "Tất cả thư việc cho add được tìm thấy." -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "Tất cả ngôn ngữ:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "Cho phép ghi đè cài đặt hệ thống XKB" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "Cho phép ghi đè cài đặt hệ thống XKB (chỉ hỗ trợ KDE 5)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "Luôn cài đặt bố cục thành bố cục nhóm" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "Ứng dụng còn lại" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "Quyền ứng dụng" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "Các ứng dụng bị vô hiệu hóa khi nhấn lâu" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "Theo dõi chu kỳ âm thanh" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "Phát ngẫu nhiên âm thanh" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "Lặp lại âm thanh" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "Tác giả" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "Xa" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "Trở lại" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "Lùi về trước" @@ -238,11 +218,11 @@ msgstr "Lùi về trước" msgid "Backends" msgstr "Phụ trợ" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "Nền" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "Hình nền" @@ -251,86 +231,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "Backspace" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Phiên bản Bash:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "Pin" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "Hướng dẫn sử dụng cho người mới" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "Hành vi" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "Xanh da trời" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "Bluetooth" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "Lề mờ" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "Mặt nạ làm mờ" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "Sách" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "Màu viền" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "Chiều rộng biên" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "Trung tâm ở đáy" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "Trái dưới đáy" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "Phải ở đáy" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "Trình duyệt" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "Máy tính" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "Hủy bỏ" @@ -339,101 +315,99 @@ msgstr "Hủy bỏ" msgid "Candidates" msgstr "Ứng cử viên" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "Không thể kết nối đến ${1} bình thường." -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "Không thể xác định môi trường Desktop." -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "Không thể tìm đường dẫn cấu hình addon ${1} " -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "Không thể tìm thực thi ${1}!" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "Không thể tìm thấy module ${1} cho gtk ${2}trong bộ nhớ cache." -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "Không thể tìm thấy module ${1} cho gtk ${2}." -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "Không thể tìm thấy module kiểu gõ ${1} cho ${2}." -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "Không thể tìm thấy ${2}cho gtk ${1}" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "Không thể tìm thấy chủ sở hữu ${1} DBus." -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "" "Không thể tìm thấy công cụ cấu hình GUI, bạn hãy cài cặt ${1} hoặc ${2}." -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "Không thể tìm thấy chỗ bật giao diện người dùng ${1}!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "Không thể tìm thấy file thực thi fcitx5! " -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." -msgstr "Không thể tìm thấy file ${1} của addon ${2}. " +msgstr "" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." -msgstr "Không thể tìm thấy thư viện yêu cầu cho ${1} của addon ${2}." +msgstr "" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" -msgstr "Không thể tìm thấy cache immodule cho gtk ${1}" +msgstr "" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "" -"Không thể tìm thấy giao diện dbus kimpanel hoặc đang bật giao điện người " -"dùng non-kimpane" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." -msgstr "Không thể tìm thấy pid của tên DBus ${1} sở hữu." +msgstr "" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." -msgstr "Không thể tìm thấy xim_server trong root window." +msgstr "" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." -msgstr "Không thể thông dịch XMODIFIERS: ${1}." +msgstr "" #: src/lib/fcitx-utils/key.cpp:53 msgctxt "Key name" msgid "CapsLock" msgstr "CapsLock" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "Trung tâm" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "Trung tâm bên trái" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "Trung tâm bên phải" @@ -441,11 +415,11 @@ msgstr "Trung tâm bên phải" msgid "Change Fcitx 5 Configuration" msgstr "Thay đổi cấu hình Fctix 5" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "Hộp kiểm" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "Chọn phím để sửa đổi" @@ -453,12 +427,12 @@ msgstr "Chọn phím để sửa đổi" msgid "Classic User Interface" msgstr "Giao diện người dùng truyền thống" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "Xóa" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "Nhấp vào lề" @@ -466,117 +440,117 @@ msgstr "Nhấp vào lề" msgid "Clipboard" msgstr "Bảng nhớ tạm" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "Bảng nhớ tạm (Nhấn BackSpace/Delete để xóa lịch sử):" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "Đóng" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "Nhập mã" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "Màu" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "Cộng đồng" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "Hoàn thành" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "Hoàn thành bị vô hiệu hóa." -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "Hoàn thành tạm thời được kích hoạt." -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "Hoàn thành được kích hoạt." -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." -msgstr "Cấu hình GUI cho gtk${1}không được tìm thấy." +msgstr "" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" -msgstr "Cấu hình GUI cho gtk${1}:" +msgstr "" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "Cấu hình GUI cho kde:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "Cấu hình GUI cho qt không được tìm thấy." -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "Cấu hình GUI cho qt:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" -msgstr "Cấu hình công cụ Wrapper:" +msgstr "" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "Cấu hình:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "Cấu hình" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" -msgstr "Điều khiển" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" -msgstr "Điều khiển" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "Chép" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." -msgstr "Cấu hình hiện hành ${1} là ${2} (${3})." +msgstr "" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "Ngôn ngữ hiện tại:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "Người dùng hiện tại:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." -msgstr "Giá trị hiện tại của ${1} là ${2} (${3})." +msgstr "" #: src/modules/spell/spell.h:22 msgid "Custom" msgstr "Tùy chỉnh" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" -msgstr "Tùy chỉnh Xkb" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "Cắt" @@ -589,118 +563,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "Giao diện người dùng DBus" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "DBus dựa trên icon mới Freedesktop.org" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "Giao diện DBus:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "Chủ đề tối" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "Vô hiệu hóa bộ gõ" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" -msgstr "Thông tin gỡ lỗi từ dbus:" +msgstr "" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" -msgstr "Mặc định" - -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "Mặc định tối" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" -msgstr "Ứng viên mặc định tiếp theo" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" -msgstr "Trang mặc định tiếp theo" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" -msgstr "Ứng viên mặc định trước đó" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" -msgstr "Trang mặc định trước đó" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" -msgstr "Kích thướng trang mặc định" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "Xóa" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" -msgstr "Mô tả" +msgstr "" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" -msgstr "Môi trường Desktop:" - -#: data/fcitx5-diagnose.sh:822 -msgid "Desktop environment is ${1}." -msgstr "Môi trường Desktop là ${1}." - -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." +#: data/fcitx5-diagnose.sh:805 +msgid "Desktop environment is ${1}." msgstr "" -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "Xác định ứng dụng đang chạy (Cần khởi động lại)" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" -msgstr "Đường dẫn:" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "Hiển thị" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" -msgstr "Không hiển thị lại" - -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" msgstr "" -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "Tài liệu" @@ -710,21 +649,21 @@ msgctxt "Key name" msgid "Down" msgstr "Xuống" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "Biên tập" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" -msgstr "Eisu Shift" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" -msgstr "Eisu toggle" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "Đẩy ra" @@ -737,667 +676,564 @@ msgstr "Emoji" msgid "Enable" msgstr "Cho phép" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "Cho phép mờ trên KWin" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "Bật kiểm tra chính tả" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" -msgstr "Bật gợi ý emoji" +msgstr "" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" -msgstr "Bật emoji trong cụm từ nhanh" - -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" msgstr "" -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" -msgstr "Bật gợi ý mặc định" +msgstr "" #: src/modules/spell/spell.h:23 msgid "Enchant" -msgstr "Làm vui thích" +msgstr "" #: src/lib/fcitx-utils/key.cpp:46 msgctxt "Key name" msgid "End" -msgstr "Kết thúc" +msgstr "" #: src/im/keyboard/longpress.h:26 msgid "Entries" -msgstr "Các mục" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" -msgstr "Liệt kê phương thức nhập liệu trước" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" -msgstr "Liệt kê phương thức nhập sau" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" -msgstr "Liệt kê nhóm phương thức nhập liệu trước" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" -msgstr "Liệt kê nhóm phương thức nhập liệu sau" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" -msgstr "Liệt kê khi nhấn phím kích hoạt nhiều lần" +msgstr "" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." msgstr "" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" -msgstr "Môi trường:" +msgstr "" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" -msgstr "Thoát ra" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" -msgstr "Thực thi" +msgstr "" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" -msgstr "Thoát" +msgstr "" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" -msgstr "Không thể tìm ${1} trong cache immodule tại ${2}" +msgstr "" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" -msgstr "Không thể tìm ${1} trong đầu ra của ${2}" +msgstr "" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" -msgstr "Kiểm tra chính tả ngôn ngữ dự phòng" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" -msgstr "Yêu thích" - -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" msgstr "" #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" -msgstr "Fcitx 5" +msgstr "" #: data/fcitx5-configtool.desktop.in.in:3 msgid "Fcitx 5 Configuration" -msgstr "Cấu hình Fcitx 5" - -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" msgstr "" -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" -msgstr "Fcitx Addon:" +msgstr "" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" -msgstr "Cấu hình UI Fcitx:" +msgstr "" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" -msgstr "Trạng thái Fcitx:" +msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " "experience." msgstr "" -"Fcitx là một khung phương thức nhập liệu. Nó có thể giúp bạn gõ ngôn ngữ của " -"riêng bạn. Nó cũng có tính năng lựa chọn biến thể của addon giúp cải thiện " -"trải nghiệm đánh máy của bạn." - -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" -msgstr "Phiên bản Fcitx: ${1}" +msgstr "" #: src/frontend/fcitx4frontend/fcitx4frontend.conf.in.in:3 msgid "Fcitx4 Frontend" -msgstr "Fcitx4 Frontend" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" -msgstr "Tài chính" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" -msgstr "Tìm" - -#: src/ui/classic/theme.h:47 -msgid "First Candidate" msgstr "" -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " "you do not use any Qt application with certain version of Qt or you are " "using text-input support by Qt under Wayland." msgstr "" -"Lỗi sau có thể không chính xác vì việc đoán phiên bản Qt từ đường dẫn phụ " -"thuộc vào cách gói phân phối Qt của bạn. Đây không phải là lỗi nghiêm trọng " -"nếu bạn không sử dụng bất kỳ ứng dụng Qt nào với phiên bản Qt nhất định hoặc " -"bạn đang sử dụng hỗ trợ nhập văn bản của Qt trong Wayland." -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" -msgstr "Font" +msgstr "" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " "this to use this feature." msgstr "" -"Ví dụ: hiển thị ký tự với biến thể tiếng Trung khi sử dụng bính âm và biến " -"thể tiếng Nhật khi sử dụng Anthy. Cấu hình phông chữ cần hỗ trợ điều này để " -"sử dụng tính năng này." - -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "" -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" -msgstr "Bắt buộc font DPI trên Wayland" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" -msgstr "Tiếp theo" - -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" msgstr "" -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "" #: src/modules/notifications/notifications.conf.in.in:4 msgid "Freedesktop.org Notification Support" -msgstr "Hỗ trợ thông báo Freedesktop.org" +msgstr "" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" -msgstr "Cấu hình giao diện:" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" -msgstr "Trò chơi" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" -msgstr "Đi" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" -msgstr "Xanh lá" +msgstr "" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" -msgstr "Nhóm" +msgstr "" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" -msgstr "Nhóm {0}: {1}" +msgstr "" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" -msgstr "Nhóm {}" +msgstr "" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" -msgstr "Trợ giúp" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" -msgstr "Hibernate" - -#: src/modules/notifications/notifications.h:26 -msgid "Hidden Notifications" msgstr "" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" +#: src/modules/notifications/notifications.h:28 +msgid "Hidden Notifications" msgstr "" -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" -msgstr "Hiragana" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" -msgstr "Hiragana Katakana" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" -msgstr "Lịch sử" +msgstr "" #: src/lib/fcitx-utils/key.cpp:45 msgctxt "Key name" msgid "Home" msgstr "" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" -msgstr "Phím tắt" +msgstr "" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" -msgstr "Phím tắt để chuyển sang phương thức nhập thứ N" +msgstr "" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "" -"Phím tắt để chuyển sang phương thức nhập thứ N chỉ cho ngữ cảnh nhập hiện tại" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "" #: src/frontend/ibusfrontend/ibusfrontend.conf.in.in:3 msgid "IBus Frontend" -msgstr "IBus Frontend" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " "as well as alternative solutions." msgstr "" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " "any input method other than ${2}. See ${link} for more detail." msgstr "" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" -msgstr "Hình ảnh" - -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +msgstr "" + +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" -msgstr "Kiểu Gõ" +msgstr "" #: data/fcitx5-configtool.desktop.in.in:4 msgid "Input Method Configuration" -msgstr "Cấu hình Kiểu Gõ" - -#: data/fcitx5-diagnose.sh:717 -msgid "Input Method Related Environment Variables: " -msgstr "Biến môi trường liên quan kiểu gõ:" - -#: data/fcitx5-diagnose.sh:1704 -msgid "Input Methods:" -msgstr "Kiểu Gõ:" - -#: src/ui/classic/theme.h:199 -msgid "Input Panel" -msgstr "Bảng điều khiển nhập liệu" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" msgstr "" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" +#: data/fcitx5-diagnose.sh:700 +msgid "Input Method Related Environment Variables: " msgstr "" -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" +#: data/fcitx5-diagnose.sh:1722 +msgid "Input Methods:" msgstr "" -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" +#: src/ui/classic/theme.h:162 +msgid "Input Panel" msgstr "" #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" -msgstr "Chọn kiểu gõ" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." msgstr "" -"Các kiểu gõ có thể có cách thiết lập khác nhau trong cấu hình riêng của " -"chúng. Điều này thường được sử dụng bởi các mô-đun như clipboard hoặc " -"quickphrase." -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" -msgstr "Chèn" - -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" msgstr "" -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." -msgstr "File cấu hình addon không có giá trị ${1}." +msgstr "" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" -msgstr "Bảng điều khiển kiểu gõ KDE" +msgstr "" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" -msgstr "KDE Plasma (Thử nghiệm)" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "" @@ -1406,308 +1242,127 @@ msgstr "" msgid "Key" msgstr "" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" -msgstr "Bàn phím" +msgstr "" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" -msgstr "Bàn phím - {0}" +msgstr "" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" -msgstr "Bàn phím - {0} - {1}" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:77 -msgctxt "Key name" -msgid "Keypad -" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:78 -msgctxt "Key name" -msgid "Keypad ." -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:79 -msgctxt "Key name" -msgid "Keypad /" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:80 -msgctxt "Key name" -msgid "Keypad 0" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:81 -msgctxt "Key name" -msgid "Keypad 1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:82 -msgctxt "Key name" -msgid "Keypad 2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:83 -msgctxt "Key name" -msgid "Keypad 3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:84 -msgctxt "Key name" -msgid "Keypad 4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:85 -msgctxt "Key name" -msgid "Keypad 5" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:86 -msgctxt "Key name" -msgid "Keypad 6" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:87 -msgctxt "Key name" -msgid "Keypad 7" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:88 -msgctxt "Key name" -msgid "Keypad 8" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:89 -msgctxt "Key name" -msgid "Keypad 9" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:73 -msgctxt "Key name" -msgid "Keypad =" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:70 -msgctxt "Key name" -msgid "Keypad Begin" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "" - -#: data/fcitx5-diagnose.sh:1690 +#: data/fcitx5-diagnose.sh:1708 msgid "Kimpanel process:" msgstr "" -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:112 +#: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" msgid "Launch (0)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:113 +#: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" msgid "Launch (1)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:114 +#: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" msgid "Launch (2)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:115 +#: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" msgid "Launch (3)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:116 +#: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" msgid "Launch (4)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:117 +#: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" msgid "Launch (5)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:118 +#: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" msgid "Launch (6)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:119 +#: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" msgid "Launch (7)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:120 +#: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" msgid "Launch (8)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:121 +#: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" msgid "Launch (9)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:122 +#: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" msgid "Launch (A)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:123 +#: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" msgid "Launch (B)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:124 +#: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" msgid "Launch (C)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:125 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" msgid "Launch (D)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:126 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" msgid "Launch (E)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "" @@ -1742,341 +1397,307 @@ msgctxt "Key name" msgid "Left Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "" -#: src/ui/classic/theme.h:200 -msgid "Menu" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:91 -msgctxt "Key name" -msgid "Menu" -msgstr "" - -#: src/ui/classic/theme.h:66 -msgid "Menu Background" +#: src/ui/classic/theme.h:163 +msgid "Menu" msgstr "" -#: src/ui/classic/theme.h:66 -msgid "Menu Border" +#: src/lib/fcitx-utils/key.cpp:56 +msgctxt "Key name" +msgid "Menu" msgstr "" -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "" #: src/modules/notifications/notifications.conf.in.in:3 msgid "Notification" -msgstr "Thông báo" +msgstr "" #: src/lib/fcitx-utils/key.cpp:54 msgctxt "Key name" msgid "NumLock" -msgstr "NumLock" +msgstr "" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "" @@ -2085,55 +1706,65 @@ msgctxt "Key name" msgid "Pause" msgstr "" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "" @@ -2141,29 +1772,29 @@ msgstr "" msgid "Presage" msgstr "" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "" @@ -2171,43 +1802,39 @@ msgstr "" msgid "Quick Phrase" msgstr "" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" -msgstr "Khởi động lại" +msgstr "" #: src/lib/fcitx-utils/key.cpp:43 msgctxt "Key name" @@ -2244,55 +1871,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" -msgstr "Lưu" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "" @@ -2309,89 +1932,74 @@ msgstr "" msgid "Select specific input method via keyboard" msgstr "" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "" @@ -2401,36 +2009,35 @@ msgctxt "Key name" msgid "Space" msgstr "" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "" @@ -2438,138 +2045,118 @@ msgstr "" msgid "Status Notifier" msgstr "" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" -msgstr "Thông tin hệ thống:" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" -msgstr "Yêu cầu hệ thống" +msgstr "" #: src/lib/fcitx-utils/key.cpp:41 msgctxt "Key name" msgid "Tab" msgstr "" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " "publicly." msgstr "" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2577,220 +2164,205 @@ msgid "" "freezing, see ${link2}." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" -msgstr "Gõ với Fcitx và Kimpanel" +msgstr "" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" -msgstr "Hoàn tác" +msgstr "" #: src/modules/unicode/unicode.conf.in.in:3 msgid "Unicode" -msgstr "Unicode" +msgstr "" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " -msgstr "Unicode:" +msgstr "" #: src/lib/fcitx-utils/key.cpp:48 msgctxt "Key name" msgid "Up" msgstr "" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" msgstr "" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" -msgstr "WWW" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2799,45 +2371,34 @@ msgstr "" #: src/modules/wayland/wayland.conf.in.in:3 msgid "Wayland" -msgstr "Wayland" - -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" msgstr "" #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" -msgstr "WebCam" - -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." msgstr "" -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "" @@ -2850,153 +2411,150 @@ msgstr "" msgid "XCB" msgstr "" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." msgstr "" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " "it will open config directory." msgstr "" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "thực thi:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "ở đây" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "tiến trình:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "phiên bản:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (Không khả dụng)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (Không khả dụng)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/zh_CN.po b/po/zh_CN.po index 7f4a28e5..f42230a2 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -4,18 +4,17 @@ # # Translators: # wwj402 , 2017 -# rocka, 2023 -# Lau YeeYu, 2024 -# csslayer , 2024 +# rocka, 2022 +# csslayer , 2022 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-14 20:24+0000\n" +"POT-Creation-Date: 2022-11-12 20:25+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: csslayer , 2024\n" -"Language-Team: Chinese (China) (https://app.transifex.com/fcitx/teams/12005/" +"Last-Translator: csslayer , 2022\n" +"Language-Team: Chinese (China) (https://www.transifex.com/fcitx/teams/12005/" "zh_CN/)\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" @@ -23,107 +22,91 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} 环境变量:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} 设置目录:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} 没有在运行。" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} 没有设定。" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} 设定为 ${2}。" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "${1} 未找到." -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} 工作正常。" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:394 msgid "(Not available)" msgstr "(不可用)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(输入编码或者描述来搜索 Unicode 字符)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Beginner%27s_Guide/zh-cn" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Hall_of_Shame_for_Linux_IME_Support" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Input_method_related_environment_variables/zh-cn" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Note_for_GNOME_Later_than_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM/zh-cn" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "0 表示永不清除密码。" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "<低半代理区>" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "<非专用高半代理区>" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "<专用高半代理区>" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "<专用区>" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "<未指派>" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "一个基于 DBus 的虚拟键盘后端" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "重点色" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "激活输入法" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "默认状态为激活" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "添加收藏" @@ -132,108 +115,104 @@ msgstr "添加收藏" msgid "Add Unicode Typing Support" msgstr "添加 Unicode 输入支持" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "插件配置文件目录:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "插件库: " -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "插件列表:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "调整亮度" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "所有" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "找到的全部 Gtk ${1} 输入法模块文件均存在。" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "所有插件所需的库都被找到。" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "全部可用 locale:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "允许重写系统 XKB 设置" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "允许重写系统 XKB 设置 (仅支持 KDE 5)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "允许在密码框中使用输入法" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "总是设置布局为只有分组布局" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "应用程序左" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "应用程序右" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "禁用长按的程序" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "音频循环音轨" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "音频随机播放" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "音频重复" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "作者" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "离开" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "后退" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "向后" @@ -242,11 +221,11 @@ msgstr "向后" msgid "Backends" msgstr "后端" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "背景" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "背景图片" @@ -255,86 +234,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "退格" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Bash 版本:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "电池" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "入门指南" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "行为" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "蓝" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "蓝牙" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "模糊区域边距" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" msgstr "模糊遮罩" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "书" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "边框颜色" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "边框宽度" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "按钮" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "底部居中" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "左下" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "右下" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "浏览器" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "计算器" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "取消" @@ -343,81 +318,81 @@ msgstr "取消" msgid "Candidates" msgstr "候选" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "无法连接到 ${1}。" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "无法确定桌面环境。" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "无法找到 ${1} 的插件配置目录。" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "无法找到 ${1} 的可执行文件!" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "无法在缓存中找到 gtk ${2} 的 ${1} 输入法模块。" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "无法找到 gtk ${2} 的 ${1} 输入法模块。" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "无法找到 ${2} 的 ${1} 输入法模块。" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "无法找到 gtk ${1} 的 ${2}。" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "找不到 DBus 名称 ${1} 的所有者。" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "无法找到一个图形界面的配置工具,请安装 ${1} 或 ${2}。" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "无法找到启用的 ${1} 用户界面!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "无法找到 fcitx5 可执行文件!" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "无法找到插件 ${2} 的文件 ${1}。" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "无法找到插件 ${2} 所需的库 ${1}。" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "无法找到 gtk ${1} 的输入法模块缓存" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "无法找到 kimpanel dbus 接口或非 kimpanel 用户界面." -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "找不到 DBus 名称 ${1} 的 pid 所有者。" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "无法在根窗口找到 xim_server。" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "无法解析 XMODIFIERS: ${1}." @@ -426,15 +401,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "大写锁定" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "居中" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "左侧居中" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "右侧居中" @@ -442,11 +417,11 @@ msgstr "右侧居中" msgid "Change Fcitx 5 Configuration" msgstr "修改 Fcitx 5 配置" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "复选框" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "选词修饰键" @@ -454,12 +429,12 @@ msgstr "选词修饰键" msgid "Classic User Interface" msgstr "经典用户界面" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "清空" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "点击区域边距" @@ -467,105 +442,105 @@ msgstr "点击区域边距" msgid "Clipboard" msgstr "剪贴板" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "剪贴板 (按退格/删除键清空历史): " -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "关闭" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "代码输入" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "颜色" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "社区" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "补全" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "补全已禁用。" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "已暂时启用补全。" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "已启用补全。" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "未找到 gtk${1} 的配置界面." -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "用于 gtk${1} 的配置界面:" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "KDE 的配置界面:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "未找到 qt 的配置界面。" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "Qt 的配置界面:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "配置工具封装:" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "配置:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "配置" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Control" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "复制" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "当前 ${1} 设置目录是 ${2} (${3})。" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "当前 locale:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "当前用户:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "${1} 的当前值是 ${2} (${3})。" @@ -573,11 +548,11 @@ msgstr "${1} 的当前值是 ${2} (${3})。" msgid "Custom" msgstr "自定义" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "自定义 Xkb 选项" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "剪切" @@ -590,123 +565,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "DBus 前端" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "DBus 虚拟键盘" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "基于 DBus 的新 Freedesktop.org 托盘图标" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "DBus 界面:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "深色主题" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "取消激活输入法" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "来自 dbus 的调试信息:" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:341 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "默认" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "默认深色" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "默认跳转下一个候选词" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "默认下一页" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "默认跳转前一个候选词" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "默认上一页" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "默认页大小" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "删除" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "描述" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "桌面环境:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "桌面环境为 ${1}。" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"检测到设置了 GTK_IM_MODULE 和 QT_IM_MODULE 而且 Wayland 输入法前端正在正常工" -"作。推荐不设置 GTK_IM_MODULE 和 QT_IM_MODULE 从而使用 Wayland 输入法前端。更" -"多信息请参见 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" -"检测到设置了 GTK_IM_MODULE,并且 Wayland 输入法前端可以正常工作。推荐取消设" -"置 GTK_IM_MODULE 以使用 Wayland 输入法前端。" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "检测当前运行的程序 (需要重启)" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "目录:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "显示" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "不要再显示" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "不要显示密码管理工具中的密码" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "文档" @@ -716,21 +651,21 @@ msgctxt "Key name" msgid "Down" msgstr "下" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "编辑器" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "英数 Shift" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "英数切换" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "弹出" @@ -743,27 +678,23 @@ msgstr "颜文字" msgid "Enable" msgstr "启用" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "KWin 下启用模糊" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "启用拼写检查" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "在输入提示中启用 Emoji" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "在快速输入中启用颜文字" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "在 Wayland 下启用分数缩放" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "默认启用提示" @@ -780,27 +711,27 @@ msgstr "行尾" msgid "Entries" msgstr "项目" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "向后切换输入法" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "向前切换输入法" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "向后切换输入法分组" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "向前切换输入分组" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "反复按切换键时进行轮换" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -808,62 +739,58 @@ msgstr "" "环境变量 ${1} 的值被设为了“${2}”而不是“${3}”。请检查您是否在某个初始化文件中" "错误的设置了它的值。" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "环境变量 ${1} 没有设定。" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "环境变量 ${1} 已经正确地设为了“${2}”。" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "环境变量 ${1} 是设定为 ${2} 。" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "环境:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "运行 ${1} 时发生错误. 请检查您的区域设置." -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Escape" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "执行" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "退出" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "无法输入法模块缓存 ${2} 中找到 ${1}" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "无法在 ${2} 的输出中找到 ${1}。" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "备选拼写检查语言" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "收藏" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "Fcitx" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -873,23 +800,19 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Fcitx 5 配置" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "Fcitx 5 Wayland 启动器 (实验性)" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Fcitx 插件:" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Fcitx 配置界面:" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Fcitx 状态:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " @@ -898,23 +821,7 @@ msgstr "" "Fcitx 是一个输入法框架。它可以帮助您输入您需要的语言。它也支持许多不同的附加" "组件来改善输入体验。" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"Fcitx 在 KDE Wayland 应由 KWin 启动从而使用 Wayland 输入法前端。这可以改善在 " -"Wayland 下使用 Fcitx 的体验。您需要打开“系统设置” -> “虚拟键盘” 然后从中选" -"择“Fcitx 5”。您也许同时还需要禁用那些启动输入法的工具,例如 Fedora 上的 " -"imsettings,或者 Debian/Ubuntu 上的 im-config。更多信息请参见 https://fcitx-" -"im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Fcitx 版本: ${1}" @@ -922,44 +829,32 @@ msgstr "Fcitx 版本: ${1}" msgid "Fcitx4 Frontend" msgstr "Fcitx4 前端" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "金融" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "查找" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "第一候选词" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "当被主题和桌面支持时使用系统的重点色" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "跟随系统浅色/深色设置" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " "you do not use any Qt application with certain version of Qt or you are " "using text-input support by Qt under Wayland." msgstr "" -"下列错误也许并不准确,因为对路径所对应的 Qt 版本的猜测取决于发行版如何打包 " -"Qt。如果您不使用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-" -"input 支持,下列错误也不是严重问题。" +"下列错误也许并不准确,因为对 Qt 版本的猜测取决于发行版如何打包 Qt。如果您不使" +"用任何对应版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列错" +"误也也不是严重问题。" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "字体" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " @@ -968,85 +863,78 @@ msgstr "" "例如,用拼音时显示中文的异体字,用 Anthy 时显示日语的异体字。字体配置需要支持" "这个功能。" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "更多细节请参见 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "固定 Wayland 的字体 DPI" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "向前" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "按键事件未处理时转发按键而不是提交文本" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "找到了 ${1} ${2} 模块:${3}。" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "找到了 ${1} 个 ${2} 进程:" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "找到了 ${1} 个 ${2} 进程:" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "找到了 ${1} 的插件配置目录:${2}。" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "在 ${2} 找到了 ${1}。" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "找到了 ${1} 个被禁用的插件:" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "找到了 ${1} 个已启用的插件:" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "找到了 ${1} 个已启用的用户界面插件:" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "已找到 gtk ${2} 的 ${1} 输入法模块。" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "找到了 ${1} 的 kcm 模块。" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "在 ${1} 找到了未知 gtk 版本的 ${2}。" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "在 ${2} 找到了 gtk ${1} 的 ${3}。" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "找到了 ${3} 的 ${2} 输入法模块:${1}。" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "在 ${1} 找到了未知 gtk 版本的输入法模块缓存." -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "在 ${2} 找到了 gtk ${1} 的输入法模块缓存。" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "找到了未知的 ${1} qt 模块:${2}。" @@ -1054,174 +942,168 @@ msgstr "找到了未知的 ${1} qt 模块:${2}。" msgid "Freedesktop.org Notification Support" msgstr "Freedesktop.org 桌面通知支持" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "前端设置:" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "游戏" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "去" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "绿" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "分组" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:398 msgid "Group {0}: {1}" msgstr "分组 {0}:{1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:343 msgid "Group {}" msgstr "分组 {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "Gtk ${1} 输入法模块文件 ${2} 不存在。" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "Gtk 输入法模块缓存:" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "Gtk 输入法模块文件:" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Linux 输入法支持耻辱堂" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "韩文" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "韩文半角" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "谚文结束" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "谚文汉字" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "谚文字母" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "韩文前" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "韩文后汉字" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "韩文预汉字" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "韩文罗马字" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "韩文特殊" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "韩文开始" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "半角" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "帮助" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "变换" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "休眠" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "隐藏通知" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "隐藏剪贴板中包含密码的内容" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "显示区域不足时隐藏覆盖图片" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "高亮背景" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "高亮背景颜色" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "高亮候选词颜色" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "高亮点击边距" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "高亮文字颜色" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "平假名" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "平假名片假名" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "历史" @@ -1231,39 +1113,39 @@ msgctxt "Key name" msgid "Home" msgstr "行首" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "主办公室" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "主页" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "主目录:" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "热门链接" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "快捷键" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "切换到当前输入法到第...个输入法的按键" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "切换到当前局部输入法到第...个输入法的按键" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "Hyper" @@ -1272,13 +1154,7 @@ msgstr "Hyper" msgid "IBus Frontend" msgstr "IBus 前端" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "如果值为 0,那么用户数据仅会在 fctix 退出(比如您登出用户)时保存" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1287,7 +1163,7 @@ msgstr "" "如果您正在使用 ${1}, 您可能需要卸载 ${2} 或者删除 ${3} 已使用除 ${2} 之外的任" "何输入法. 更多细节和其它的解决方法参见 ${link}。" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1297,16 +1173,15 @@ msgstr "" "${g36_disable_ibus} 禁用 IBus 集成已使用除 ${2} 之外的任何输入法. 更多细节参" "见 ${link}。" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "图片" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:432 +#: src/lib/fcitx/instance.cpp:650 src/lib/fcitx/instance.cpp:816 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/notificationitem/notificationitem.cpp:196 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "输入法" @@ -1315,43 +1190,23 @@ msgstr "输入法" msgid "Input Method Configuration" msgstr "输入法配置" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "输入法相关的环境变量:" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "输入法:" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "输入面板" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "输入框背景" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "输入框边框" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "输入框高亮" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "输入框高亮候选词背景" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "输入框高亮候选词边框" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "输入法选择器" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." @@ -1359,20 +1214,16 @@ msgstr "" "输入法也许在自身配置中有不同的设置。 这个选项主要用于模块例如剪贴板和快速输" "入。" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "插入" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "保存用户数据的时间间隔(以分钟为单位)" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "无效的插件配置文件: ${1}。" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." @@ -1380,42 +1231,30 @@ msgstr "" "如果您的混成器完全支持 ${1} 使用的 text-input 协议,您也可以使用 ${1} 内置的 " "Wayland 模块。" -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" -"推荐安装输入法面板这个 GNOME Shell 扩展。https://extensions.gnome.org/" -"extension/261/kimpanel/ 否则您可能无法在 GNOME Shell 的活动界面看到输入法窗" -"口。更多细节请参见 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" - #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "KDE 输入法面板" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" msgstr "KDE Plasma (实验性)" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "假名锁定" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "假名 Shift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "汉字" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "片假名" @@ -1424,308 +1263,127 @@ msgstr "片假名" msgid "Key" msgstr "按键" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "键盘" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "键盘 - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "键盘 - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "减小键盘背光亮度" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "增加键盘背光亮度" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "键盘布局:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "键盘背光开关" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "键盘菜单" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "小键盘 *" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "小键盘 +" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "小键盘 ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Kimpanel 进程:" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "小键盘 -" +msgid "Launch (0)" +msgstr "启动 (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "小键盘 ." +msgid "Launch (1)" +msgstr "启动 (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "小键盘 /" +msgid "Launch (2)" +msgstr "启动 (2)" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" -msgstr "小键盘 0" +msgid "Launch (3)" +msgstr "启动 (3)" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" -msgstr "小键盘 1" +msgid "Launch (4)" +msgstr "启动 (4)" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" -msgstr "小键盘 2" +msgid "Launch (5)" +msgstr "启动 (5)" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" -msgstr "小键盘 3" +msgid "Launch (6)" +msgstr "启动 (6)" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" -msgstr "小键盘 4" +msgid "Launch (7)" +msgstr "启动 (7)" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" -msgstr "小键盘 5" +msgid "Launch (8)" +msgstr "启动 (8)" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" -msgstr "小键盘 6" +msgid "Launch (9)" +msgstr "启动 (9)" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" -msgstr "小键盘 7" +msgid "Launch (A)" +msgstr "启动 (A)" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "小键盘 8" +msgid "Launch (B)" +msgstr "启动 (B)" #: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" -msgid "Keypad 9" -msgstr "小键盘 9" +msgid "Launch (C)" +msgstr "启动 (C)" -#: src/lib/fcitx-utils/key.cpp:73 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" -msgid "Keypad =" -msgstr "小键盘 =" +msgid "Launch (D)" +msgstr "启动 (D)" -#: src/lib/fcitx-utils/key.cpp:70 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" -msgid "Keypad Begin" -msgstr "小键盘开始" +msgid "Launch (E)" +msgstr "启动 (E)" -#: src/lib/fcitx-utils/key.cpp:72 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" -msgid "Keypad Delete" -msgstr "小键盘删除" +msgid "Launch (F)" +msgstr "启动 (F)" -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "小键盘下" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "小键盘行尾" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "小键盘回车" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "小键盘 F1" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "小键盘 F2" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "小键盘 F3" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "小键盘 F4" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "小键盘行首" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "小键盘插入" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "小键盘左" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "小键盘下一页" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "小键盘上一页" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "小键盘右" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "小键盘空格" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "小键盘 Tab" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "小键盘上" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Kimpanel 进程:" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "上一个候选词" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "启动 (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "启动 (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "启动 (2)" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "启动 (3)" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "启动 (4)" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "启动 (5)" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "启动 (6)" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "启动 (7)" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "启动 (8)" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "启动 (9)" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "启动 (A)" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" -msgid "Launch (B)" -msgstr "启动 (B)" - -#: src/lib/fcitx-utils/key.cpp:124 -msgctxt "Key name" -msgid "Launch (C)" -msgstr "启动 (C)" - -#: src/lib/fcitx-utils/key.cpp:125 -msgctxt "Key name" -msgid "Launch (D)" -msgstr "启动 (D)" - -#: src/lib/fcitx-utils/key.cpp:126 -msgctxt "Key name" -msgid "Launch (E)" -msgstr "启动 (E)" - -#: src/lib/fcitx-utils/key.cpp:127 -msgctxt "Key name" -msgid "Launch (F)" -msgstr "启动 (F)" - -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "启动邮件" @@ -1760,237 +1418,217 @@ msgctxt "Key name" msgid "Left Super" msgstr "左 Super" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "灯泡" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "Locale:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "日志:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "注销" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "长按行为" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "转发邮件" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "边距" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "底部边距" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "左侧边距" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "右侧边距" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "顶部边距" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "内容周围边界" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "文本周围边距" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "市场" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "抹消" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "媒体快进" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "媒体下一首" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "媒体暂停" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "媒体播放" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "媒体上一首" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "媒体录制" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "媒体倒带" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "媒体停止" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "会议" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "菜单" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "菜单" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "菜单背景" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "菜单边框" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "菜单字体" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "菜单 PB" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "菜单选中项背景" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "菜单选中项边框" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "菜单分隔符" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "即时通信" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "元数据" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "麦克风静音" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "减小屏幕亮度" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "增加屏幕亮度" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "无变换" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "多个候选" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "音乐" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "我的站点" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "名称" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "新建" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "新闻" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "下一个候选词" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "下一页按钮" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "否" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "无剪贴板历史。" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "无" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "一般文字颜色" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " @@ -1999,11 +1637,11 @@ msgstr "" "通常 Wayland 使用 96 作为字体 DPI,同时和屏幕的缩放倍数组合调整文字大小。这个" "选项允许你覆盖字体的 DPI。如果设置为 0,这个选项将被禁用。" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "不可用" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "有关 3.6 之后版本 GNOME 的备注" @@ -2016,88 +1654,74 @@ msgctxt "Key name" msgid "NumLock" msgstr "数字锁定" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "项目个数" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "" "只找到了颜文字支持。想要启用拼写检查,您需要安装语言对应的拼写检查数据。" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "打开" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "打开 URL" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "选项" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "覆盖图片裁剪边界" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "覆盖图片" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "覆盖图片 X 偏移" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "覆盖图片 Y 偏移" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "覆盖图片位置" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "覆盖 Xkb 选项" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "DBus 名称 ${1} 的所有者是 ${2}。" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "DBus 名称 ${1} 的 PID 所有者是 ${2}。" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "下一页" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "上一页" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "页面按钮垂直对齐" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "页大小" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "粘贴" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "粘贴主选区" @@ -2106,27 +1730,37 @@ msgctxt "Key name" msgid "Pause" msgstr "暂停" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "下一页" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "上一页" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "电话" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "图片" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "请访问 ${1} 查看如何安装 fcitx5。" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." msgstr "请访问 ${1} 页面上对应您发行版的配置链接查看如何配置 ${2} 的自动启动." -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." @@ -2134,29 +1768,29 @@ msgstr "" "请使用您发行版提供的工具将环境变量 ${env_name} 设为 \"${value}\" 或者将 ${1} " "添加到您的 ${2} 中。参见 ${link}。" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "关机" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "关机" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:816 msgid "Preedit" msgstr "预编辑" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:818 msgid "Preedit disabled" msgstr "预编辑已禁用" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:817 msgid "Preedit enabled" msgstr "预编辑已启用" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "优先使用文字图标" @@ -2164,29 +1798,29 @@ msgstr "优先使用文字图标" msgid "Presage" msgstr "Presage" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "上一个候选词" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "上一页按钮" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "上一个候选词" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "截屏" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "程序" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Qt 输入法模块文件:" @@ -2194,41 +1828,37 @@ msgstr "Qt 输入法模块文件:" msgid "Quick Phrase" msgstr "快速输入" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "快速输入: " -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "红" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "重做" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "刷新" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "重载" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "回复" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "重新聚焦时重置状态" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "重新启动" @@ -2267,55 +1897,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "右 Super" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "罗马字" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "旋转窗口" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "Rotation KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "Rotation PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "以管理员运行:" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "保存" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "屏保" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "滚动锁定" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "搜索" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "自动清除密码的秒数" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "选择" @@ -2332,67 +1958,54 @@ msgstr "选择局部输入法:" msgid "Select specific input method via keyboard" msgstr "通过键盘选择特定的输入法" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "选中项文本颜色" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "发送" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" -"当前桌面不支持由 Fcitx 将键盘布局配置发送给 wayland 混成器。您仍可以通过将布" -"局作为输入法添加到输入法分组来使用 Fcitx 内部的布局转换。" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "分隔符背景" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" msgstr "阴影边距" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "共享输入状态" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Shift" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "购物" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "在焦点更改时显示输入法信息" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "切换输入法时显示输入法信息" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "在图标中显示布局名称" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "显示紧凑的输入法信息" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "显示第一个输入法的信息" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." @@ -2400,25 +2013,21 @@ msgstr "" "如果有超过一个活动布局,则在图标中显示布局名称。如果优先使用文字图标已启用," "这个选项将会被忽略" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "在程序中显示预编辑文本" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "输入密码时显示预编辑文本" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." msgstr "使用组合键时显示预编辑,并且在没有匹配序列时提交死键对应符号" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "轮换输入法时跳过第一个输入法" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "睡眠" @@ -2428,36 +2037,35 @@ msgctxt "Key name" msgid "Space" msgstr "空格" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "间隔" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "拼写" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "拼写检查" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "分割屏幕" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "电子表格" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "待机" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "启动输入法" @@ -2465,59 +2073,57 @@ msgstr "启动输入法" msgid "Status Notifier" msgstr "状态提示器" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "停止" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "子菜单" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "副标题" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "支持" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "睡眠" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:433 src/lib/fcitx/instance.cpp:651 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "切换分组" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:434 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "切换到分组 {0}" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:652 msgid "Switched group to {0}" msgstr "已切换到分组 {0}" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "系统信息:" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "系统请求" @@ -2527,67 +2133,46 @@ msgctxt "Key name" msgid "Tab" msgstr "Tab" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "任务栏" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "临时在当前和第一个输入法之间切换" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "终端" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" -"此脚本检查的环境变量仅能显示当前命令行的环境。仍有可能您的环境并没有应用于整" -"个桌面。您可以通过使用命令对某个无法正常工作的进程使用命令 `xargs -0 -L1 /" -"proc/$PID/environ` 检查此进程的实际的环境变量。" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "列表中第 n 个按键选择第 n 个对应输入法。" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "脚本作为 ${1} (${2}) 运行。" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "主题" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "这只在托盘为 xembed 时有效。" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "此选项仅在图片没有设置时生效。" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "此选项需要 Wayland 混成器 (Wayland compositor) 支持。" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "在 XWayland 上,此选项将始终被禁用。" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "这个值应该小于任何边距。" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " @@ -2596,12 +2181,12 @@ msgstr "" "尽管这些信息对于开发者诊断问题有帮助,请在公开发送到在线网站前检查并且根据需" "要移除的对应信息。" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "时间" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " @@ -2611,112 +2196,108 @@ msgstr "" "您可以在 ${link1} 找到一些会在使用 xim 时出现问题的应用程序。包括应用程序卡死" "在内的更多使用 xim 可能出现的普遍问题请参见 ${link2}。" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "切换是否使用嵌入预编辑" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "工具" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "顶部" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "顶部居中" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "左上" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "顶部菜单" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "右上" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "关闭触摸板" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "启用触摸板" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "切换触摸板" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "注册" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "旅行" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "托盘字体" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "托盘标签轮廓颜色" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "托盘标签文本颜色" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "切换启用/禁用输入法" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "触发键" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "当前输入上下文的触发键" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "切换提示模式" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "触发一次提示模式" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "用长按来输入特殊字符" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" msgstr "使用十六进制数字输入 Unicode 字符" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "用 Fcitx 和 Kimpanel 输入" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "无法找到程序检查 dbus。" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "撤销" @@ -2725,7 +2306,7 @@ msgstr "撤销" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode:" @@ -2734,97 +2315,86 @@ msgctxt "Key name" msgid "Up" msgstr "上" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "使用 On The Spot 风格 (需要重启)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "在 X11 上针对不同屏幕使用单独的 DPI" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "按每个屏幕 DPI 显示" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "竖排列表时使用所有横向空间高亮" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "使用输入法的语言来显示文字" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "使用鼠标滚轮翻页" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" msgstr "使用新的组合键行为" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "用户界面:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "使用 ${1} 来检查 dbus。" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "使用 ${1} 来检查在当前环境下将被实际使用的输入法模块:" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "版本" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "版本行:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "垂直候选列表" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "视频" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "查看" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "空符号" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "音量减小" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "静音" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "音量增大" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "WWW" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "唤醒" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2837,27 +2407,16 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "Wayland 诊断" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Wayland 输入法前端" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "摄像头" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "如果密码管理工具支持,那么剪贴板会忽略从密码管理工具复制的密码。" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " @@ -2866,16 +2425,16 @@ msgstr "" "是否覆盖来自显示服务器的 Xkb 选项。它不会影响发送给显示服务的 Xkb 选项,仅会" "影响自定义的 Xkb 布局" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "以 root 身份运行不好的原因" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "无线" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "文字处理器" @@ -2888,51 +2447,51 @@ msgstr "X 输入法前端" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "XDG 会话类型:" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM 编码:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "用于 Emacs 的 XIM:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "根窗口上的 XIM_SERVERS:" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS 没有设置" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "从环境变量中获取的 Xim 服务名称为 ${1}." -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "Xim 服务的名称与环境变量中设置的相同。" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." msgstr "Xim 服务名称:“${1}”与环境变量中设置的值“${2}”不同。" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "黄" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " @@ -2941,7 +2500,7 @@ msgstr "" "你可能以 ${1} 或者 ${2} 登录运行此脚本。这意味着两种情况,要么你有安全问题或" "该脚本的结果可能不准确。有关更多信息,请参见 ${3} 或者 ${4} 。" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." @@ -2949,15 +2508,15 @@ msgstr "" "你可能正在使用 ${1} 运行此脚本。这意味着这个脚本的结果可能不准确。见 ${2} 以" "获取更多信息。" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "您正在 ${1} 程序中使用 xim。" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "您可能会在 ${1} 程序中使用 fcitx 时遇到问题." -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -2965,7 +2524,7 @@ msgstr "" "您当前正在使用图形界面运行 Fcitx,但是无法找到 fcitx5-config-qt。现在将打开配" "置目录。" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -2974,7 +2533,7 @@ msgstr "" "您正在运行 KDE,但是 fcitx 的 KCModule 未被找到,此 KCModule 的软件包名通常" "为 kcm-fcitx 或 kde-config-fcitx。现在将打开配置目录。" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " @@ -2983,7 +2542,7 @@ msgstr "" "您的 LC_CTYPE 设置为 ${1} 而不是 zh, ja, ko 之一。您可能无法在 Emacs 中使用输" "入法,其根本是源自上游拒绝修复多年的一个超老的故障。" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." @@ -2991,62 +2550,59 @@ msgstr "" "您的 LC_CTYPE 设置为 ${1},它的编码不是 UTF-8。您可能会在使用 XIM 提交字符串" "时遇到问题。" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "全角" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "全角半角" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "放大" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "缩小" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "可执行文件:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "这里" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "进程:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "sudo 的环境变量" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "版本:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (不可用)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:392 msgid "{0} (Not available)" msgstr "{0} (不可用)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:389 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/po/zh_TW.po b/po/zh_TW.po index 04e570e5..5cd73316 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -3,24 +3,22 @@ # This file is distributed under the same license as the fcitx5 package. # # Translators: +# csslayer , 2017 # 黃柏諺 , 2017 # pan93412 , 2019 # bruh, 2020 # Steve Nian, 2022 # 菘菘 , 2022 # yan12125, 2022 -# Neko ◣ 0xFF, 2022 -# csslayer , 2023 -# Lau YeeYu, 2024 # msgid "" msgstr "" "Project-Id-Version: fcitx5\n" "Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n" -"POT-Creation-Date: 2024-04-09 20:24+0000\n" +"POT-Creation-Date: 2022-11-14 20:25+0000\n" "PO-Revision-Date: 2017-11-23 04:14+0000\n" -"Last-Translator: Lau YeeYu, 2024\n" -"Language-Team: Chinese (Taiwan) (https://app.transifex.com/fcitx/teams/12005/" +"Last-Translator: yan12125, 2022\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/fcitx/teams/12005/" "zh_TW/)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" @@ -28,107 +26,91 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: data/fcitx5-diagnose.sh:900 +#: data/fcitx5-diagnose.sh:883 msgid "${1} Environment Variables:" msgstr "${1} 環境變數:" -#: data/fcitx5-diagnose.sh:886 +#: data/fcitx5-diagnose.sh:869 msgid "${1} Settings Directory:" msgstr "${1} 設定目錄:" -#: data/fcitx5-diagnose.sh:960 +#: data/fcitx5-diagnose.sh:943 msgid "${1} is not running." msgstr "${1} 未執行。" -#: data/fcitx5-diagnose.sh:909 +#: data/fcitx5-diagnose.sh:892 msgid "${1} is not set." msgstr "${1} 未設定。" -#: data/fcitx5-diagnose.sh:906 +#: data/fcitx5-diagnose.sh:889 msgid "${1} is set to ${2}." msgstr "${1} 被設定為 ${2}。" -#: data/fcitx5-diagnose.sh:565 +#: data/fcitx5-diagnose.sh:548 msgid "${1} not found." msgstr "找不到 ${1}。" -#: data/fcitx5-diagnose.sh:977 +#: data/fcitx5-diagnose.sh:960 msgid "${1} works properly." msgstr "${1} 運作正常。" -#: src/lib/fcitx/instance.cpp:413 +#: src/lib/fcitx/instance.cpp:404 msgid "(Not available)" msgstr "(無法使用)" -#: src/modules/unicode/unicode.cpp:457 +#: src/modules/unicode/unicode.cpp:459 msgid "(Type to search unicode by code or description)" msgstr "(輸入編碼或者描述來搜尋 Unicode 字元)" -#: data/fcitx5-diagnose.sh:707 +#: data/fcitx5-diagnose.sh:690 msgid "/Beginner%27s_Guide" msgstr "/Beginner%27s_Guide" -#: data/fcitx5-diagnose.sh:754 +#: data/fcitx5-diagnose.sh:737 msgid "/Hall_of_Shame_for_Linux_IME_Support" msgstr "/Hall_of_Shame_for_Linux_IME_Support" -#: data/fcitx5-diagnose.sh:718 +#: data/fcitx5-diagnose.sh:701 msgid "/Input_method_related_environment_variables" msgstr "/Input_method_related_environment_variables" -#: data/fcitx5-diagnose.sh:734 +#: data/fcitx5-diagnose.sh:717 msgid "/Note_for_GNOME_Later_than_3.6" msgstr "/Note_for_GNOME_Later_than_3.6" -#: data/fcitx5-diagnose.sh:758 +#: data/fcitx5-diagnose.sh:741 msgid "/XIM" msgstr "/XIM" -#: src/modules/clipboard/clipboard.h:80 -msgid "0 means never clear password." -msgstr "0 表示永不清除密碼。" - -#: src/modules/unicode/charselectdata.cpp:213 +#: src/modules/unicode/charselectdata.cpp:215 msgid "" msgstr "<低半代理區>" -#: src/modules/unicode/charselectdata.cpp:209 +#: src/modules/unicode/charselectdata.cpp:211 msgid "" msgstr "<非專用高半代理區>" -#: src/modules/clipboard/clipboard.cpp:116 -msgid "" -msgstr "" - -#: src/modules/unicode/charselectdata.cpp:211 +#: src/modules/unicode/charselectdata.cpp:213 msgid "" msgstr "<專用高半代理區>" -#: src/modules/unicode/charselectdata.cpp:215 +#: src/modules/unicode/charselectdata.cpp:217 msgid "" msgstr "<專用區>" -#: src/modules/unicode/charselectdata.cpp:245 +#: src/modules/unicode/charselectdata.cpp:247 msgid "" msgstr "<未指定>" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:4 -msgid "A virtual keyboard backend based on DBus" -msgstr "一個基於 DBus 的虛擬鍵盤後端" - -#: src/ui/classic/theme.h:202 -msgid "Accent Colors" -msgstr "重點色" - -#: src/lib/fcitx/globalconfig.cpp:83 +#: src/lib/fcitx/globalconfig.cpp:81 msgid "Activate Input Method" msgstr "啟用輸入法" -#: src/lib/fcitx/globalconfig.cpp:139 +#: src/lib/fcitx/globalconfig.cpp:137 msgid "Active By Default" msgstr "預設啟用" -#: src/lib/fcitx-utils/key.cpp:144 +#: src/lib/fcitx-utils/key.cpp:109 msgctxt "Key name" msgid "Add Favorite" msgstr "加入收藏" @@ -137,108 +119,104 @@ msgstr "加入收藏" msgid "Add Unicode Typing Support" msgstr "加入 Unicode 輸入支援" -#: data/fcitx5-diagnose.sh:1565 +#: data/fcitx5-diagnose.sh:1583 msgid "Addon Config Dir:" msgstr "附加元件設定目錄:" -#: data/fcitx5-diagnose.sh:1650 +#: data/fcitx5-diagnose.sh:1668 msgid "Addon Libraries:" msgstr "附加元件函式庫:" -#: data/fcitx5-diagnose.sh:1593 +#: data/fcitx5-diagnose.sh:1611 msgid "Addon List:" msgstr "附加元件清單:" -#: src/lib/fcitx-utils/key.cpp:146 +#: src/lib/fcitx-utils/key.cpp:111 msgctxt "Key name" msgid "Adjust Brightness" msgstr "調整亮度" -#: src/lib/fcitx/globalconfig.cpp:27 +#: src/lib/fcitx/globalconfig.cpp:25 msgid "All" msgstr "全部" -#: data/fcitx5-diagnose.sh:1367 +#: data/fcitx5-diagnose.sh:1346 msgid "All found Gtk ${1} immodule files exist." msgstr "所有找到的 gtk ${1} 輸入法模組檔案皆存在。" -#: data/fcitx5-diagnose.sh:1676 +#: data/fcitx5-diagnose.sh:1694 msgid "All libraries for all addons are found." msgstr "找到了所有附加元件的函式庫。" -#: data/fcitx5-diagnose.sh:854 +#: data/fcitx5-diagnose.sh:837 msgid "All locales:" msgstr "全部可用 locale:" -#: src/modules/xcb/xcbmodule.h:26 +#: src/modules/xcb/xcbmodule.h:30 msgid "Allow Overriding System XKB Settings" msgstr "允許覆寫系統 XKB 設定" -#: src/modules/wayland/waylandmodule.h:35 +#: src/modules/wayland/waylandmodule.h:32 msgid "Allow Overriding System XKB Settings (Only support KDE 5)" msgstr "允許覆寫系統 XKB 設定 (僅支援 KDE 5)" -#: src/lib/fcitx/globalconfig.cpp:192 -msgid "Allow input method in the password field" -msgstr "允許在密碼輸入框中使用輸入法" - -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:29 msgid "Alt" msgstr "Alt" -#: src/lib/fcitx-utils/key.cpp:561 +#: src/lib/fcitx-utils/key.cpp:509 msgctxt "Key name" msgid "Alt" msgstr "Alt" -#: src/modules/xcb/xcbmodule.h:29 +#: src/modules/xcb/xcbmodule.h:33 msgid "Always set layout to be only group layout" msgstr "總是設定佈局為僅有分組佈局" -#: src/lib/fcitx-utils/key.cpp:151 +#: src/lib/fcitx-utils/key.cpp:116 msgctxt "Key name" msgid "Application Left" msgstr "應用程式左" -#: src/lib/fcitx-utils/key.cpp:152 +#: src/lib/fcitx-utils/key.cpp:117 msgctxt "Key name" msgid "Application Right" msgstr "應用程式右" -#: src/im/keyboard/keyboard.h:85 +#: src/im/keyboard/keyboard.h:87 msgid "Applications disabled for long press" msgstr "禁用長按的應用程式" -#: src/lib/fcitx-utils/key.cpp:211 +#: src/lib/fcitx-utils/key.cpp:176 msgctxt "Key name" msgid "Audio Cycle Track" msgstr "音訊循環音軌" -#: src/lib/fcitx-utils/key.cpp:209 +#: src/lib/fcitx-utils/key.cpp:174 msgctxt "Key name" msgid "Audio Random Play" msgstr "音訊隨機播放" -#: src/lib/fcitx-utils/key.cpp:208 +#: src/lib/fcitx-utils/key.cpp:173 msgctxt "Key name" msgid "Audio Repeat" msgstr "音訊重複" -#: src/ui/classic/theme.h:191 +#: src/ui/classic/theme.h:154 msgid "Author" msgstr "作者" -#: src/lib/fcitx-utils/key.cpp:198 +#: src/lib/fcitx-utils/key.cpp:163 msgctxt "Key name" msgid "Away" msgstr "離開" -#: src/lib/fcitx-utils/key.cpp:93 +#: src/lib/fcitx-utils/key.cpp:58 msgctxt "Key name" msgid "Back" msgstr "返回" -#: src/lib/fcitx-utils/key.cpp:150 +#: src/lib/fcitx-utils/key.cpp:115 msgctxt "Key name" msgid "Back Forward" msgstr "往後" @@ -247,11 +225,11 @@ msgstr "往後" msgid "Backends" msgstr "後端" -#: src/ui/classic/theme.h:156 src/ui/classic/theme.h:176 +#: src/ui/classic/theme.h:119 src/ui/classic/theme.h:139 msgid "Background" msgstr "背景" -#: src/ui/classic/theme.h:83 +#: src/ui/classic/theme.h:50 msgid "Background Image" msgstr "背景圖片" @@ -260,86 +238,82 @@ msgctxt "Key name" msgid "Backspace" msgstr "Backspace" -#: data/fcitx5-diagnose.sh:827 +#: data/fcitx5-diagnose.sh:810 msgid "Bash Version:" msgstr "Bash 版本:" -#: src/lib/fcitx-utils/key.cpp:204 +#: src/lib/fcitx-utils/key.cpp:169 msgctxt "Key name" msgid "Battery" msgstr "電池" -#: data/fcitx5-diagnose.sh:706 +#: data/fcitx5-diagnose.sh:689 msgid "Beginner's Guide" msgstr "新手指南" -#: src/lib/fcitx/globalconfig.cpp:209 +#: src/lib/fcitx/globalconfig.cpp:186 msgid "Behavior" msgstr "行為" -#: src/lib/fcitx-utils/key.cpp:222 +#: src/lib/fcitx-utils/key.cpp:187 msgctxt "Key name" msgid "Blue" msgstr "藍色" -#: src/lib/fcitx-utils/key.cpp:205 +#: src/lib/fcitx-utils/key.cpp:170 msgctxt "Key name" msgid "Bluetooth" msgstr "藍牙" -#: src/ui/classic/theme.h:146 +#: src/ui/classic/theme.h:108 msgid "Blur Margin" msgstr "模糊邊緣" -#: src/ui/classic/theme.h:145 +#: src/ui/classic/theme.h:107 msgid "Blur mask" -msgstr "遮罩模糊" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:153 +#: src/lib/fcitx-utils/key.cpp:118 msgctxt "Key name" msgid "Book" msgstr "書籍" -#: src/ui/classic/theme.h:95 +#: src/ui/classic/theme.h:62 msgid "Border Color" msgstr "邊框顏色" -#: src/ui/classic/theme.h:103 +#: src/ui/classic/theme.h:70 msgid "Border width" msgstr "邊框寬度" -#: src/ui/classic/theme.h:48 -msgid "Bottom" -msgstr "按鈕" - -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Center" msgstr "底部居中" -#: src/ui/classic/theme.h:36 +#: src/ui/classic/theme.h:34 msgid "Bottom Left" msgstr "左下" -#: src/ui/classic/theme.h:37 +#: src/ui/classic/theme.h:35 msgid "Bottom Right" msgstr "右下" -#: src/lib/fcitx-utils/key.cpp:164 +#: src/lib/fcitx-utils/key.cpp:129 msgctxt "Key name" msgid "Browser" msgstr "瀏覽器" -#: src/lib/fcitx-utils/key.cpp:154 +#: src/lib/fcitx-utils/key.cpp:119 msgctxt "Key name" msgid "CD" msgstr "CD 光碟" -#: src/lib/fcitx-utils/key.cpp:155 +#: src/lib/fcitx-utils/key.cpp:120 msgctxt "Key name" msgid "Calculator" msgstr "計算機" -#: src/lib/fcitx-utils/key.cpp:264 +#: src/lib/fcitx-utils/key.cpp:229 msgctxt "Key name" msgid "Cancel" msgstr "取消" @@ -348,81 +322,81 @@ msgstr "取消" msgid "Candidates" msgstr "候選" -#: data/fcitx5-diagnose.sh:975 +#: data/fcitx5-diagnose.sh:958 msgid "Cannot connect to ${1} correctly." msgstr "無法正確連接 ${1}。" -#: data/fcitx5-diagnose.sh:820 +#: data/fcitx5-diagnose.sh:803 msgid "Cannot determine desktop environment." msgstr "無法確認桌面環境。" -#: data/fcitx5-diagnose.sh:1584 +#: data/fcitx5-diagnose.sh:1602 msgid "Cannot find ${1} addon config directory." msgstr "找不到附加元件 ${1} 設定目錄。" -#: data/fcitx5-diagnose.sh:1099 +#: data/fcitx5-diagnose.sh:1082 msgid "Cannot find ${1} executable!" msgstr "找不到 ${1} 可執行檔!" -#: data/fcitx5-diagnose.sh:1517 +#: data/fcitx5-diagnose.sh:1496 data/fcitx5-diagnose.sh:1549 msgid "Cannot find ${1} im module for gtk ${2} in cache." msgstr "在快取中找不到 gtk ${2} 的 ${1} 輸入法模組。" -#: data/fcitx5-diagnose.sh:1434 +#: data/fcitx5-diagnose.sh:1413 msgid "Cannot find ${1} im module for gtk ${2}." msgstr "找不到 gtk ${2} 的 ${1} 輸入法模組。" -#: data/fcitx5-diagnose.sh:1288 data/fcitx5-diagnose.sh:1293 -#: data/fcitx5-diagnose.sh:1298 +#: data/fcitx5-diagnose.sh:1267 data/fcitx5-diagnose.sh:1272 +#: data/fcitx5-diagnose.sh:1277 msgid "Cannot find ${1} input method module for ${2}." msgstr "找不到 ${2} 的 ${1} 輸入法模組。" -#: data/fcitx5-diagnose.sh:1428 +#: data/fcitx5-diagnose.sh:1407 msgid "Cannot find ${2} for gtk ${1}" msgstr "找不到 gtk ${1} 的 ${2}" -#: data/fcitx5-diagnose.sh:995 +#: data/fcitx5-diagnose.sh:978 msgid "Cannot find DBus name ${1} owner." msgstr "找不到 DBus 名稱 ${1} 的擁有者。" -#: data/fcitx5-diagnose.sh:1109 +#: data/fcitx5-diagnose.sh:1092 msgid "Cannot find a GUI config tool, please install one of ${1}, or ${2}." msgstr "找不到設定介面,請安裝 ${1} 或 ${2} 其中之一。" -#: data/fcitx5-diagnose.sh:1679 +#: data/fcitx5-diagnose.sh:1697 msgid "Cannot find enabled ${1} user interface!" msgstr "找不到啟用的 ${1} 使用者介面!" -#: data/fcitx5-diagnose.sh:938 +#: data/fcitx5-diagnose.sh:921 msgid "Cannot find fcitx5 executable!" msgstr "找不到 fcitx5 可執行檔!" -#: data/fcitx5-diagnose.sh:1658 +#: data/fcitx5-diagnose.sh:1676 msgid "Cannot find file ${1} of addon ${2}." msgstr "找不到附加元件 ${2} 的檔案 ${1}。" -#: data/fcitx5-diagnose.sh:1668 +#: data/fcitx5-diagnose.sh:1686 msgid "Cannot find following required libraries for ${1} of addon ${2}." msgstr "找不到附加元件 ${2} 的 ${1} 所需之以下函式庫。" -#: data/fcitx5-diagnose.sh:1512 +#: data/fcitx5-diagnose.sh:1491 data/fcitx5-diagnose.sh:1544 msgid "Cannot find immodules cache for gtk ${1}" msgstr "找不到 gtk ${1} 的輸入法模組快取" -#: data/fcitx5-diagnose.sh:1698 +#: data/fcitx5-diagnose.sh:1716 msgid "" "Cannot find kimpanel dbus interface or enabled non-kimpanel user interface." msgstr "找不到 kimpanel dbus 介面或非 kimpanel 使用者介面。" -#: data/fcitx5-diagnose.sh:1003 +#: data/fcitx5-diagnose.sh:986 msgid "Cannot find pid of DBus name ${1} owner." msgstr "找不到 DBus 名稱 ${1} PID 的擁有者。" -#: data/fcitx5-diagnose.sh:1175 +#: data/fcitx5-diagnose.sh:1158 msgid "Cannot find xim_server on root window." msgstr "在 root 視窗找不到 xim_server。" -#: data/fcitx5-diagnose.sh:1149 +#: data/fcitx5-diagnose.sh:1132 msgid "Cannot interpret XMODIFIERS: ${1}." msgstr "無法解析 XMODIFIERS:${1}。" @@ -431,15 +405,15 @@ msgctxt "Key name" msgid "CapsLock" msgstr "大寫鎖定 (CapsLock)" -#: src/ui/classic/theme.h:35 src/ui/classic/theme.h:47 +#: src/ui/classic/theme.h:33 msgid "Center" msgstr "正中" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Center Left" msgstr "左側居中" -#: src/ui/classic/theme.h:35 +#: src/ui/classic/theme.h:33 msgid "Center Right" msgstr "右側居中" @@ -447,11 +421,11 @@ msgstr "右側居中" msgid "Change Fcitx 5 Configuration" msgstr "變更 Fcitx 5 設定" -#: src/ui/classic/theme.h:181 +#: src/ui/classic/theme.h:144 msgid "Check box" msgstr "複選框" -#: src/im/keyboard/keyboard.h:54 src/modules/quickphrase/quickphrase.h:38 +#: src/im/keyboard/keyboard.h:56 src/modules/quickphrase/quickphrase.h:41 msgid "Choose key modifier" msgstr "選擇輔助按鍵" @@ -459,12 +433,12 @@ msgstr "選擇輔助按鍵" msgid "Classic User Interface" msgstr "經典使用者介面" -#: src/lib/fcitx-utils/key.cpp:156 +#: src/lib/fcitx-utils/key.cpp:121 msgctxt "Key name" msgid "Clear" msgstr "清空" -#: src/ui/classic/theme.h:129 +#: src/ui/classic/theme.h:96 msgid "Click Margin" msgstr "按區域邊距" @@ -472,105 +446,105 @@ msgstr "按區域邊距" msgid "Clipboard" msgstr "剪貼簿" -#: src/modules/clipboard/clipboard.cpp:369 +#: src/modules/clipboard/clipboard.cpp:353 msgid "Clipboard (Press BackSpace/Delete to clear history):" msgstr "剪貼簿(按 BackSpace/Delete 清除歷史記錄):" -#: src/lib/fcitx-utils/key.cpp:157 +#: src/lib/fcitx-utils/key.cpp:122 msgctxt "Key name" msgid "Close" msgstr "關閉" -#: src/lib/fcitx-utils/key.cpp:250 +#: src/lib/fcitx-utils/key.cpp:215 msgctxt "Key name" msgid "Code input" msgstr "字碼輸入" -#: src/ui/classic/theme.h:87 +#: src/ui/classic/theme.h:54 msgid "Color" msgstr "顏色" -#: src/lib/fcitx-utils/key.cpp:148 +#: src/lib/fcitx-utils/key.cpp:113 msgctxt "Key name" msgid "Community" msgstr "社群" -#: src/im/keyboard/keyboard.cpp:678 +#: src/im/keyboard/keyboard.cpp:648 msgid "Completion" msgstr "補全" -#: src/im/keyboard/keyboard.cpp:669 +#: src/im/keyboard/keyboard.cpp:639 msgid "Completion is disabled." msgstr "補全已停用。" -#: src/im/keyboard/keyboard.cpp:672 +#: src/im/keyboard/keyboard.cpp:642 msgid "Completion is enabled temporarily." msgstr "補全暫時啟用。" -#: src/im/keyboard/keyboard.cpp:674 +#: src/im/keyboard/keyboard.cpp:644 msgid "Completion is enabled." msgstr "已啟用補全。" -#: data/fcitx5-diagnose.sh:1051 +#: data/fcitx5-diagnose.sh:1034 msgid "Config GUI for gtk${1} not found." msgstr "找不到 gtk${1} 的設定介面。" -#: data/fcitx5-diagnose.sh:1047 +#: data/fcitx5-diagnose.sh:1030 msgid "Config GUI for gtk${1}:" msgstr "gtk${1} 的設定介面:" -#: data/fcitx5-diagnose.sh:1081 +#: data/fcitx5-diagnose.sh:1064 msgid "Config GUI for kde:" msgstr "KDE 的設定介面:" -#: data/fcitx5-diagnose.sh:1070 +#: data/fcitx5-diagnose.sh:1053 msgid "Config GUI for qt not found." msgstr "找不到 Qt 的設定介面。" -#: data/fcitx5-diagnose.sh:1068 +#: data/fcitx5-diagnose.sh:1051 msgid "Config GUI for qt:" msgstr "Qt 的設定介面:" -#: data/fcitx5-diagnose.sh:1097 +#: data/fcitx5-diagnose.sh:1080 msgid "Config Tool Wrapper:" msgstr "設定工具封裝:" -#: data/fcitx5-diagnose.sh:1793 +#: data/fcitx5-diagnose.sh:1810 msgid "Configuration:" msgstr "設定:" #: src/ui/classic/xcbtraywindow.cpp:38 -#: src/modules/notificationitem/dbusmenu.cpp:253 +#: src/modules/notificationitem/dbusmenu.cpp:247 msgid "Configure" msgstr "設定" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Control" msgstr "控制" -#: src/lib/fcitx-utils/key.cpp:560 +#: src/lib/fcitx-utils/key.cpp:508 msgctxt "Key name" msgid "Control" msgstr "Control 鍵" -#: src/lib/fcitx-utils/key.cpp:158 +#: src/lib/fcitx-utils/key.cpp:123 msgctxt "Key name" msgid "Copy" msgstr "複製" -#: data/fcitx5-diagnose.sh:888 +#: data/fcitx5-diagnose.sh:871 msgid "Current ${1} settings directory is ${2} (${3})." msgstr "目前的 ${1} 設定目錄為 ${2} (${3})。" -#: data/fcitx5-diagnose.sh:856 +#: data/fcitx5-diagnose.sh:839 msgid "Current locale:" msgstr "目前地區設定:" -#: data/fcitx5-diagnose.sh:894 +#: data/fcitx5-diagnose.sh:877 msgid "Current user:" msgstr "目前使用者:" -#: data/fcitx5-diagnose.sh:882 +#: data/fcitx5-diagnose.sh:865 msgid "Current value of ${1} is ${2} (${3})." msgstr "${1} 目前的值為 ${2} (${3})。" @@ -578,11 +552,11 @@ msgstr "${1} 目前的值為 ${2} (${3})。" msgid "Custom" msgstr "自訂" -#: src/lib/fcitx/globalconfig.cpp:182 +#: src/lib/fcitx/globalconfig.cpp:174 msgid "Custom Xkb Option" msgstr "自定 Xkb 選項" -#: src/lib/fcitx-utils/key.cpp:159 +#: src/lib/fcitx-utils/key.cpp:124 msgctxt "Key name" msgid "Cut" msgstr "剪下" @@ -595,125 +569,83 @@ msgstr "DBus" msgid "DBus Frontend" msgstr "DBus 前端" -#: src/ui/virtualkeyboard/virtualkeyboard.conf.in.in:3 -msgid "DBus Virtual Keyboard" -msgstr "DBus 虛擬鍵盤" - #: src/modules/notificationitem/notificationitem.conf.in.in:4 msgid "DBus based new Freedesktop.org tray icon" msgstr "基於 DBus 的新 Freedesktop.org 工具列圖示" -#: data/fcitx5-diagnose.sh:983 +#: data/fcitx5-diagnose.sh:966 msgid "DBus interface:" msgstr "DBus 介面:" -#: src/lib/fcitx-utils/key.cpp:161 +#: src/lib/fcitx-utils/key.cpp:126 msgctxt "Key name" msgid "DOS" msgstr "DOS" -#: src/ui/classic/classicui.h:155 -msgid "Dark Theme" -msgstr "深色模式" - -#: src/lib/fcitx/globalconfig.cpp:92 +#: src/lib/fcitx/globalconfig.cpp:90 msgid "Deactivate Input Method" msgstr "停用輸入法" -#: data/fcitx5-diagnose.sh:1007 +#: data/fcitx5-diagnose.sh:990 msgid "Debug information from dbus:" msgstr "來自 dbus 的除錯訊息:" -#: src/lib/fcitx/inputmethodmanager.cpp:137 src/lib/fcitx/instance.cpp:360 +#: src/lib/fcitx/inputmethodmanager.cpp:138 src/lib/fcitx/instance.cpp:351 #: src/ui/classic/themes/default/theme.conf.in:3 msgid "Default" msgstr "預設" -#: src/ui/classic/themes/default-dark/theme-dark.conf.in:3 -msgid "Default Dark" -msgstr "預設深色" - -#: src/lib/fcitx/globalconfig.cpp:128 +#: src/lib/fcitx/globalconfig.cpp:126 msgid "Default Next Candidate" msgstr "預設下一個候選字" -#: src/lib/fcitx/globalconfig.cpp:112 +#: src/lib/fcitx/globalconfig.cpp:110 msgid "Default Next page" msgstr "預設下一頁" -#: src/lib/fcitx/globalconfig.cpp:122 +#: src/lib/fcitx/globalconfig.cpp:120 msgid "Default Previous Candidate" msgstr "預設上一個候選字" -#: src/lib/fcitx/globalconfig.cpp:100 +#: src/lib/fcitx/globalconfig.cpp:98 msgid "Default Previous page" msgstr "預設上一頁" -#: src/lib/fcitx/globalconfig.cpp:166 +#: src/lib/fcitx/globalconfig.cpp:158 msgid "Default page size" msgstr "預設頁面大小" -#: src/lib/fcitx-utils/key.cpp:230 +#: src/lib/fcitx-utils/key.cpp:195 msgctxt "Key name" msgid "Delete" msgstr "刪除" -#: src/ui/classic/theme.h:193 +#: src/ui/classic/theme.h:156 msgid "Description" msgstr "說明" -#: data/fcitx5-diagnose.sh:817 +#: data/fcitx5-diagnose.sh:800 msgid "Desktop Environment:" msgstr "桌面環境:" -#: data/fcitx5-diagnose.sh:822 +#: data/fcitx5-diagnose.sh:805 msgid "Desktop environment is ${1}." msgstr "桌面環境為 ${1}。" -#: src/modules/wayland/waylandmodule.cpp:616 -msgid "" -"Detect GTK_IM_MODULE and QT_IM_MODULE being set and Wayland Input method " -"frontend is working. It is recommended to unset GTK_IM_MODULE and " -"QT_IM_MODULE and use Wayland input method frontend instead. For more details " -"see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"偵測到已設定 GTK_IM_MODULE 和 QT_IM_MODULE 環境變數,且 Wayland 輸入法前端正" -"在運行。推薦取消設定 GTK_IM_MODULE 和 QT_IM_MODULE 環境變數,從而使用 " -"Wayland 輸入法前端。更多信息請參見 https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: src/modules/wayland/waylandmodule.cpp:645 -msgid "" -"Detect GTK_IM_MODULE being set and Wayland Input method frontend is working. " -"It is recommended to unset GTK_IM_MODULE and use Wayland input method " -"frontend instead." -msgstr "" -"偵測到已設定 GTK_IM_MODULE 環境變數,且 Wayland 輸入法前端正在運行。推薦取消" -"設定 GTK_IM_MODULE 環境變數,從而使用 Wayland 輸入法前端。更多信息請參見 " -"https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: src/frontend/waylandim/waylandim.h:28 -msgid "Detect current running application (Need restart)" -msgstr "檢測當前運行的程式 (需要重新啟動)" - -#: data/fcitx5-diagnose.sh:868 +#: data/fcitx5-diagnose.sh:851 msgid "Directories:" msgstr "目錄:" -#: src/lib/fcitx-utils/key.cpp:160 +#: src/lib/fcitx-utils/key.cpp:125 msgctxt "Key name" msgid "Display" msgstr "顯示" -#: src/modules/notifications/notifications.cpp:201 +#: src/modules/notifications/notifications.cpp:203 msgid "Do not show again" msgstr "不再顯示" -#: src/modules/clipboard/clipboard.h:61 -msgid "Do not show password from password managers" -msgstr "不要顯示密碼管理工具中的密碼" - -#: src/lib/fcitx-utils/key.cpp:162 +#: src/lib/fcitx-utils/key.cpp:127 msgctxt "Key name" msgid "Documents" msgstr "文件" @@ -723,21 +655,21 @@ msgctxt "Key name" msgid "Down" msgstr "下" -#: src/modules/quickphrase/quickphrase.h:44 +#: src/modules/quickphrase/quickphrase.h:47 msgid "Editor" msgstr "編輯器" -#: src/lib/fcitx-utils/key.cpp:248 +#: src/lib/fcitx-utils/key.cpp:213 msgctxt "Key name" msgid "Eisu Shift" msgstr "英數 Shift" -#: src/lib/fcitx-utils/key.cpp:249 +#: src/lib/fcitx-utils/key.cpp:214 msgctxt "Key name" msgid "Eisu toggle" msgstr "英數切換" -#: src/lib/fcitx-utils/key.cpp:137 +#: src/lib/fcitx-utils/key.cpp:102 msgctxt "Key name" msgid "Eject" msgstr "退出" @@ -750,27 +682,23 @@ msgstr "顏文字" msgid "Enable" msgstr "啟用" -#: src/ui/classic/theme.h:143 +#: src/ui/classic/theme.h:105 msgid "Enable Blur on KWin" msgstr "在 KWin 啟用模糊" -#: src/modules/quickphrase/quickphrase.h:40 +#: src/modules/quickphrase/quickphrase.h:43 msgid "Enable Spell check" msgstr "啟用拼字檢查" -#: src/im/keyboard/keyboard.h:49 +#: src/im/keyboard/keyboard.h:51 msgid "Enable emoji in hint" msgstr "在提示中啟用表情符號" -#: src/im/keyboard/keyboard.h:52 +#: src/im/keyboard/keyboard.h:54 msgid "Enable emoji in quickphrase" msgstr "在快速片語中啟用表情符號" -#: src/ui/classic/classicui.h:187 -msgid "Enable fractional scale under Wayland" -msgstr "在 Wayland 下啟用分數縮放" - -#: src/im/keyboard/keyboard.h:57 +#: src/im/keyboard/keyboard.h:59 msgid "Enable hint by default" msgstr "預設啟用提示" @@ -787,27 +715,27 @@ msgstr "End 鍵" msgid "Entries" msgstr "項目" -#: src/lib/fcitx/globalconfig.cpp:59 +#: src/lib/fcitx/globalconfig.cpp:57 msgid "Enumerate Input Method Backward" msgstr "枚舉輸入法向後" -#: src/lib/fcitx/globalconfig.cpp:52 +#: src/lib/fcitx/globalconfig.cpp:50 msgid "Enumerate Input Method Forward" msgstr "枚舉輸入法向前" -#: src/lib/fcitx/globalconfig.cpp:76 +#: src/lib/fcitx/globalconfig.cpp:74 msgid "Enumerate Input Method Group Backward" msgstr "枚舉輸入法群組向後" -#: src/lib/fcitx/globalconfig.cpp:69 +#: src/lib/fcitx/globalconfig.cpp:67 msgid "Enumerate Input Method Group Forward" msgstr "枚舉輸入法群組向前" -#: src/lib/fcitx/globalconfig.cpp:41 +#: src/lib/fcitx/globalconfig.cpp:39 msgid "Enumerate when press trigger key repeatedly" msgstr "重複觸發鍵時枚舉輸入法" -#: data/fcitx5-diagnose.sh:1127 +#: data/fcitx5-diagnose.sh:1110 msgid "" "Environment variable ${1} is \"${2}\" instead of \"${3}\". Please check if " "you have exported it incorrectly in any of your init files." @@ -815,62 +743,58 @@ msgstr "" "環境變數 ${1} 的值為「${2}」而不是「${3}」。請檢查您是否在某個初始化檔中設定" "了錯誤的值。" -#: data/fcitx5-diagnose.sh:874 +#: data/fcitx5-diagnose.sh:857 msgid "Environment variable ${1} is not set." msgstr "環境變數 ${1} 未設定。" -#: data/fcitx5-diagnose.sh:1121 +#: data/fcitx5-diagnose.sh:1104 msgid "Environment variable ${1} is set to \"${2}\" correctly." msgstr "環境變數 ${1} 正確地設定為「${2}」。" -#: data/fcitx5-diagnose.sh:878 +#: data/fcitx5-diagnose.sh:861 msgid "Environment variable ${1} is set to ${2}." msgstr "環境變數 ${1} 被設定為 ${2}。" -#: data/fcitx5-diagnose.sh:832 +#: data/fcitx5-diagnose.sh:815 msgid "Environment:" msgstr "環境:" -#: data/fcitx5-diagnose.sh:860 +#: data/fcitx5-diagnose.sh:843 msgid "Error occurs when running ${1}. Please check your locale settings." msgstr "執行 ${1} 時發生錯誤。請檢查您的地區設定。" -#: src/lib/fcitx-utils/key.cpp:231 +#: src/lib/fcitx-utils/key.cpp:196 msgctxt "Key name" msgid "Escape" msgstr "Esc 鍵" -#: src/lib/fcitx-utils/key.cpp:265 +#: src/lib/fcitx-utils/key.cpp:230 msgctxt "Key name" msgid "Execute" msgstr "執行" #: src/ui/classic/xcbtraywindow.cpp:40 -#: src/modules/notificationitem/dbusmenu.cpp:267 +#: src/modules/notificationitem/dbusmenu.cpp:261 msgid "Exit" msgstr "離開" -#: data/fcitx5-diagnose.sh:1506 +#: data/fcitx5-diagnose.sh:1485 data/fcitx5-diagnose.sh:1538 msgid "Failed to find ${1} in immodule cache at ${2}" msgstr "無法在 ${2} 的輸入法模組快取中找到 ${1}" -#: data/fcitx5-diagnose.sh:1422 +#: data/fcitx5-diagnose.sh:1401 msgid "Failed to find ${1} in the output of ${2}" msgstr "無法在 ${2} 的輸出中找到 ${1}。" -#: src/modules/quickphrase/quickphrase.h:42 +#: src/modules/quickphrase/quickphrase.h:45 msgid "Fallback Spell check language" msgstr "備用拼字檢查語言" -#: src/lib/fcitx-utils/key.cpp:107 +#: src/lib/fcitx-utils/key.cpp:72 msgctxt "Key name" msgid "Favorites" msgstr "收藏" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Fcitx" -msgstr "Fcitx" - #: data/org.fcitx.Fcitx5.desktop.in.in:3 #: data/org.fcitx.Fcitx5.metainfo.xml.in:6 msgid "Fcitx 5" @@ -880,23 +804,19 @@ msgstr "Fcitx 5" msgid "Fcitx 5 Configuration" msgstr "Fcitx 5 設定" -#: data/fcitx5-wayland-launcher.desktop.in.in:3 -msgid "Fcitx 5 Wayland Launcher (Experimental)" -msgstr "Fcitx 5 Wayland 啟動器(實驗性)" - -#: data/fcitx5-diagnose.sh:1564 +#: data/fcitx5-diagnose.sh:1582 msgid "Fcitx Addons:" msgstr "Fcitx 附加元件:" -#: data/fcitx5-diagnose.sh:1096 +#: data/fcitx5-diagnose.sh:1079 msgid "Fcitx Configure UI:" msgstr "Fcitx 設定介面:" -#: data/fcitx5-diagnose.sh:935 +#: data/fcitx5-diagnose.sh:918 msgid "Fcitx State:" msgstr "Fcitx 狀態:" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:12 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:9 msgid "" "Fcitx is an input method framework. It can help you to type your own " "language. It also features variant choice of addons that improve your typing " @@ -905,23 +825,7 @@ msgstr "" "Fcitx 是輸入法框架。它能幫助您輸入自己的語言。它還具有多種插件選擇,可改善您" "的打字體驗。" -#: src/modules/wayland/waylandmodule.cpp:603 -msgid "" -"Fcitx should be launched by KWin under KDE Wayland in order to use Wayland " -"input method frontend. This can improve the experience when using Fcitx on " -"Wayland. To configure this, you need to go to \"System Settings\" -> " -"\"Virtual keyboard\" and select \"Fcitx 5\" from it. You may also need to " -"disable tools that launches input method, such as imsettings on Fedora, or " -"im-config on Debian/Ubuntu. For more details see https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#KDE_Plasma" -msgstr "" -"Fcitx 在 KDE Wayland 下應當由 KWin 啟動以使用 Wayland 輸入法前端。這可以改善 " -"Wayland 下使用 Fcitx 的體驗。您需要打開“系統設定” -> “虛擬鍵盤”並選" -"擇“Fcitx5”來完成此項設定。您可能需要禁用那些啟動輸入法的工具,如 Fedora 上的 " -"imsettings,或者 Debian/Ubuntu 上的 im-config。更多信息請參見 https://fcitx-" -"im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma" - -#: data/fcitx5-diagnose.sh:949 +#: data/fcitx5-diagnose.sh:932 msgid "Fcitx version: ${1}" msgstr "Fcitx 版本:${1}" @@ -929,44 +833,29 @@ msgstr "Fcitx 版本:${1}" msgid "Fcitx4 Frontend" msgstr "Fcitx4 前端" -#: src/lib/fcitx-utils/key.cpp:147 +#: src/lib/fcitx-utils/key.cpp:112 msgctxt "Key name" msgid "Finance" msgstr "金融" -#: src/lib/fcitx-utils/key.cpp:225 +#: src/lib/fcitx-utils/key.cpp:190 msgctxt "Key name" msgid "Find" msgstr "尋找" -#: src/ui/classic/theme.h:47 -msgid "First Candidate" -msgstr "第一候選詞" - -#: src/ui/classic/classicui.h:161 -msgid "Follow system accent color if it is supported by theme and desktop" -msgstr "在主題與桌面支援時使用系統重點色" - -#: src/ui/classic/classicui.h:157 -msgid "Follow system light/dark color scheme" -msgstr "跟隨系統淺色/深色設定" - -#: data/fcitx5-diagnose.sh:1284 +#: data/fcitx5-diagnose.sh:1263 msgid "" "Following error may not be accurate because guessing Qt version from path " "depends on how your distribution packages Qt. It is not a critical error if " "you do not use any Qt application with certain version of Qt or you are " "using text-input support by Qt under Wayland." msgstr "" -"下列錯誤也許並不准確,因為對 Qt 版本的猜測取決於發行版如何打包 Qt。如果您不使" -"用任何對應版本的 Qt 程序,或者在 Wayland 下使用 Qt 的 text-input 支持,下列錯" -"誤也不是嚴重問題。" -#: src/ui/classic/classicui.h:117 +#: src/ui/classic/classicui.h:107 msgid "Font" msgstr "字體" -#: src/ui/classic/classicui.h:147 +#: src/ui/classic/classicui.h:137 msgid "" "For example, display character with Chinese variant when using Pinyin and " "Japanese variant when using Anthy. The font configuration needs to support " @@ -975,85 +864,78 @@ msgstr "" "例如,使用拼音時顯示中文異體字,使用 Anthy 時顯示日文異體字。 字體配置需要支" "持此功能才能使用此功能。" -#: src/modules/wayland/waylandmodule.cpp:671 -msgid "For more details see https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" -msgstr "更多細節請參見 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland" - -#: src/ui/classic/classicui.h:175 +#: src/ui/classic/classicui.h:147 msgid "Force font DPI on Wayland" msgstr "在 Wayland 上強制使用字型 DPI" -#: src/lib/fcitx-utils/key.cpp:94 +#: src/lib/fcitx-utils/key.cpp:59 msgctxt "Key name" msgid "Forward" msgstr "往前" -#: src/frontend/waylandim/waylandim.h:31 -msgid "Forward key event instead of commiting text if it is not handled" -msgstr "在按鍵事件未處理時轉發按鍵而非提交文本" - -#: data/fcitx5-diagnose.sh:1276 +#: data/fcitx5-diagnose.sh:1255 msgid "Found ${1} ${2} module: ${3}." msgstr "找到了 ${1} 的 ${2} 模組:${3}。" -#: data/fcitx5-diagnose.sh:969 +#: data/fcitx5-diagnose.sh:952 msgid "Found ${1} ${2} process:" msgstr "找到 ${1} 個 ${2} 程序:" -#: data/fcitx5-diagnose.sh:967 +#: data/fcitx5-diagnose.sh:950 msgid "Found ${1} ${2} processes:" msgstr "找到 ${1} 個 ${2} 程序:" -#: data/fcitx5-diagnose.sh:1587 +#: data/fcitx5-diagnose.sh:1605 msgid "Found ${1} addon config directory: ${2}." msgstr "找到 ${1} 附加元件設定目錄:${2}。" -#: data/fcitx5-diagnose.sh:944 data/fcitx5-diagnose.sh:1060 -#: data/fcitx5-diagnose.sh:1073 data/fcitx5-diagnose.sh:1101 +#: data/fcitx5-diagnose.sh:927 data/fcitx5-diagnose.sh:1043 +#: data/fcitx5-diagnose.sh:1056 data/fcitx5-diagnose.sh:1084 msgid "Found ${1} at ${2}." msgstr "在 ${2} 找到了 ${1}。" -#: data/fcitx5-diagnose.sh:1640 +#: data/fcitx5-diagnose.sh:1658 msgid "Found ${1} disabled addons:" msgstr "找到 ${1} 個停用的附加元件:" -#: data/fcitx5-diagnose.sh:1631 +#: data/fcitx5-diagnose.sh:1649 msgid "Found ${1} enabled addons:" msgstr "找到 ${1} 個啟用的附加元件:" -#: data/fcitx5-diagnose.sh:1681 +#: data/fcitx5-diagnose.sh:1699 msgid "Found ${1} enabled user interface addons:" msgstr "找到 ${1} 個啟用的使用者介面附加元件:" -#: data/fcitx5-diagnose.sh:1416 data/fcitx5-diagnose.sh:1500 +#: data/fcitx5-diagnose.sh:1395 data/fcitx5-diagnose.sh:1479 +#: data/fcitx5-diagnose.sh:1532 msgid "Found ${1} im modules for gtk ${2}." msgstr "找到了 gtk ${2} 的 ${1} 輸入法模組。" -#: data/fcitx5-diagnose.sh:1087 +#: data/fcitx5-diagnose.sh:1070 msgid "Found ${1} kcm module." msgstr "找到了 ${1} 的 kcm 模組。" -#: data/fcitx5-diagnose.sh:1408 +#: data/fcitx5-diagnose.sh:1387 msgid "Found ${2} for unknown gtk version at ${1}." msgstr "在 ${1} 找到未知 gtk 版本的 ${2}。" -#: data/fcitx5-diagnose.sh:1400 +#: data/fcitx5-diagnose.sh:1379 msgid "Found ${3} for gtk ${1} at ${2}." msgstr "在 ${2} 找到 gtk ${1} 的 ${3}。" -#: data/fcitx5-diagnose.sh:1263 data/fcitx5-diagnose.sh:1268 +#: data/fcitx5-diagnose.sh:1242 data/fcitx5-diagnose.sh:1247 msgid "Found ${3} im module for ${2}: ${1}." msgstr "找到了 ${2} 的 ${3} 輸入法模組:${1}。" -#: data/fcitx5-diagnose.sh:1493 +#: data/fcitx5-diagnose.sh:1472 msgid "Found immodule cache for unknown gtk version at ${1}." msgstr "在 ${1} 找到未知 gtk 版本的輸入法模組快取。" -#: data/fcitx5-diagnose.sh:1485 +#: data/fcitx5-diagnose.sh:1464 data/fcitx5-diagnose.sh:1525 msgid "Found immodules cache for gtk ${1} at ${2}." msgstr "在 ${2} 找到 gtk ${1} 的輸入法模組快取。" -#: data/fcitx5-diagnose.sh:1279 +#: data/fcitx5-diagnose.sh:1258 msgid "Found unknown ${1} qt module: ${2}." msgstr "找到未知的 ${1} qt 模組:${2}。" @@ -1061,174 +943,168 @@ msgstr "找到未知的 ${1} qt 模組:${2}。" msgid "Freedesktop.org Notification Support" msgstr "Freedesktop.org 通知支援" -#: data/fcitx5-diagnose.sh:1785 +#: data/fcitx5-diagnose.sh:1803 msgid "Frontends setup:" msgstr "前端設定:" -#: src/lib/fcitx-utils/key.cpp:165 +#: src/lib/fcitx-utils/key.cpp:130 msgctxt "Key name" msgid "Game" msgstr "遊戲" -#: src/lib/fcitx-utils/key.cpp:166 +#: src/lib/fcitx-utils/key.cpp:131 msgctxt "Key name" msgid "Go" msgstr "前往" -#: src/lib/fcitx-utils/key.cpp:220 +#: src/lib/fcitx-utils/key.cpp:185 msgctxt "Key name" msgid "Green" msgstr "綠色" #: src/ui/classic/xcbtraywindow.cpp:36 -#: src/modules/notificationitem/dbusmenu.cpp:243 +#: src/modules/notificationitem/dbusmenu.cpp:237 msgid "Group" msgstr "群組" -#: src/lib/fcitx/instance.cpp:417 -#, c++-format +#: src/lib/fcitx/instance.cpp:408 msgid "Group {0}: {1}" msgstr "群組 {0}:{1}" -#: src/lib/fcitx/instance.cpp:362 -#, c++-format +#: src/lib/fcitx/instance.cpp:353 msgid "Group {}" msgstr "群組 {}" -#: data/fcitx5-diagnose.sh:1361 +#: data/fcitx5-diagnose.sh:1340 msgid "Gtk ${1} immodule file ${2} does not exist." msgstr "Gtk ${1} 輸入法模組檔案 ${2} 不存在。" -#: data/fcitx5-diagnose.sh:1545 +#: data/fcitx5-diagnose.sh:1562 msgid "Gtk IM module cache:" msgstr "Gtk 輸入法模組快取:" -#: data/fcitx5-diagnose.sh:1550 +#: data/fcitx5-diagnose.sh:1568 msgid "Gtk IM module files:" msgstr "Gtk 輸入法模組檔案:" -#: data/fcitx5-diagnose.sh:753 +#: data/fcitx5-diagnose.sh:736 msgid "Hall of Shame for Linux IME Support" msgstr "Linux 程式的輸入法支援問題" -#: src/lib/fcitx-utils/key.cpp:253 +#: src/lib/fcitx-utils/key.cpp:218 msgctxt "Key name" msgid "Hangul" msgstr "諺文" -#: src/lib/fcitx-utils/key.cpp:260 +#: src/lib/fcitx-utils/key.cpp:225 msgctxt "Key name" msgid "Hangul Banja" msgstr "諺文半形" -#: src/lib/fcitx-utils/key.cpp:255 +#: src/lib/fcitx-utils/key.cpp:220 msgctxt "Key name" msgid "Hangul End" msgstr "諺文結束" -#: src/lib/fcitx-utils/key.cpp:256 +#: src/lib/fcitx-utils/key.cpp:221 msgctxt "Key name" msgid "Hangul Hanja" msgstr "諺文漢字" -#: src/lib/fcitx-utils/key.cpp:257 +#: src/lib/fcitx-utils/key.cpp:222 msgctxt "Key name" msgid "Hangul Jamo" msgstr "諺文字母" -#: src/lib/fcitx-utils/key.cpp:259 +#: src/lib/fcitx-utils/key.cpp:224 msgctxt "Key name" msgid "Hangul Jeonja" msgstr "諺文前" -#: src/lib/fcitx-utils/key.cpp:262 +#: src/lib/fcitx-utils/key.cpp:227 msgctxt "Key name" msgid "Hangul PostHanja" msgstr "諺文後漢字" -#: src/lib/fcitx-utils/key.cpp:261 +#: src/lib/fcitx-utils/key.cpp:226 msgctxt "Key name" msgid "Hangul PreHanja" msgstr "諺文預先漢字" -#: src/lib/fcitx-utils/key.cpp:258 +#: src/lib/fcitx-utils/key.cpp:223 msgctxt "Key name" msgid "Hangul Romaja" msgstr "諺文羅馬字" -#: src/lib/fcitx-utils/key.cpp:263 +#: src/lib/fcitx-utils/key.cpp:228 msgctxt "Key name" msgid "Hangul Special" msgstr "諺文特殊" -#: src/lib/fcitx-utils/key.cpp:254 +#: src/lib/fcitx-utils/key.cpp:219 msgctxt "Key name" msgid "Hangul Start" msgstr "諺文開始" -#: src/lib/fcitx-utils/key.cpp:242 +#: src/lib/fcitx-utils/key.cpp:207 msgctxt "Key name" msgid "Hankaku" msgstr "半形" -#: src/lib/fcitx-utils/key.cpp:92 +#: src/lib/fcitx-utils/key.cpp:57 msgctxt "Key name" msgid "Help" msgstr "說明" -#: src/lib/fcitx-utils/key.cpp:236 +#: src/lib/fcitx-utils/key.cpp:201 msgctxt "Key name" msgid "Henkan" msgstr "變換" -#: src/lib/fcitx-utils/key.cpp:213 +#: src/lib/fcitx-utils/key.cpp:178 msgctxt "Key name" msgid "Hibernate" msgstr "休眠" -#: src/modules/notifications/notifications.h:26 +#: src/modules/notifications/notifications.h:28 msgid "Hidden Notifications" msgstr "隱藏通知" -#: src/modules/clipboard/clipboard.h:70 -msgid "Hidden clipboard content that contains a password" -msgstr "隱藏剪貼簿中包含密碼的內容" - -#: src/ui/classic/theme.h:114 +#: src/ui/classic/theme.h:81 msgid "Hide overlay if size does not fit" msgstr "如果尺寸不合適,隱藏疊加層" -#: src/ui/classic/theme.h:158 src/ui/classic/theme.h:178 +#: src/ui/classic/theme.h:121 src/ui/classic/theme.h:141 msgid "Highlight Background" msgstr "高亮背景" -#: src/ui/classic/theme.h:138 +#: src/ui/classic/theme.h:116 msgid "Highlight Background color" msgstr "高亮背景顏色" -#: src/ui/classic/theme.h:141 +#: src/ui/classic/theme.h:103 src/ui/classic/theme.h:135 msgid "Highlight Candidate Color" msgstr "高亮候選詞顏色" -#: src/ui/classic/theme.h:124 +#: src/ui/classic/theme.h:91 msgid "Highlight Click Margin" msgstr "高亮點擊邊距" -#: src/ui/classic/theme.h:136 +#: src/ui/classic/theme.h:114 msgid "Highlight text color" msgstr "高亮文字顏色" -#: src/lib/fcitx-utils/key.cpp:238 +#: src/lib/fcitx-utils/key.cpp:203 msgctxt "Key name" msgid "Hiragana" msgstr "平假名" -#: src/lib/fcitx-utils/key.cpp:240 +#: src/lib/fcitx-utils/key.cpp:205 msgctxt "Key name" msgid "Hiragana Katakana" msgstr "平假名片假名" -#: src/lib/fcitx-utils/key.cpp:143 +#: src/lib/fcitx-utils/key.cpp:108 msgctxt "Key name" msgid "History" msgstr "歷史記錄" @@ -1238,39 +1114,39 @@ msgctxt "Key name" msgid "Home" msgstr "Home 鍵" -#: src/lib/fcitx-utils/key.cpp:175 +#: src/lib/fcitx-utils/key.cpp:140 msgctxt "Key name" msgid "Home Office" msgstr "家庭辦公室" -#: src/lib/fcitx-utils/key.cpp:106 +#: src/lib/fcitx-utils/key.cpp:71 msgctxt "Key name" msgid "Home Page" msgstr "首頁" -#: data/fcitx5-diagnose.sh:870 +#: data/fcitx5-diagnose.sh:853 msgid "Home:" msgstr "家目錄:" -#: src/lib/fcitx-utils/key.cpp:145 +#: src/lib/fcitx-utils/key.cpp:110 msgctxt "Key name" msgid "Hot Links" msgstr "熱門連結" -#: src/lib/fcitx/globalconfig.cpp:207 +#: src/lib/fcitx/globalconfig.cpp:184 msgid "Hotkey" msgstr "快捷鍵" -#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:35 msgid "Hotkey for switching to the N-th input method" msgstr "切換到第 N 個輸入法的快速鍵" -#: src/modules/imselector/imselector.h:49 +#: src/modules/imselector/imselector.h:44 msgid "" "Hotkey for switching to the N-th input method for only current input context" msgstr "僅用於目前輸入上下文切換到第 N 種輸入法的快捷鍵" -#: src/lib/fcitx-utils/key.cpp:565 +#: src/lib/fcitx-utils/key.cpp:512 msgctxt "Key name" msgid "Hyper" msgstr "Hyper 鍵" @@ -1279,13 +1155,7 @@ msgstr "Hyper 鍵" msgid "IBus Frontend" msgstr "IBus 前端" -#: src/lib/fcitx/globalconfig.cpp:203 -msgid "" -"If value is 0, the user data may only be saved when fcitx quits (e.g. " -"logout)." -msgstr "如果值為 0,則使用者數據僅會在 fcitx 退出(比如您登出)時保存" - -#: data/fcitx5-diagnose.sh:742 +#: data/fcitx5-diagnose.sh:725 msgid "" "If you are using ${1}, you may want to uninstall ${2} or remove ${3} in " "order to use any input method other than ${2}. See ${link} for more detail " @@ -1294,7 +1164,7 @@ msgstr "" "如果您正在使用 ${1},您可能需要反安裝 ${2} 或者移除 ${3} 以使用 ${2} 以外的任" "何輸入法。更多細節和其它的解決方法參見 ${link}。" -#: data/fcitx5-diagnose.sh:740 +#: data/fcitx5-diagnose.sh:723 msgid "" "If you are using ${1}, you may want to uninstall ${2}, remove ${3} or use " "the command ${g36_disable_ibus} to disable IBus integration in order to use " @@ -1304,16 +1174,15 @@ msgstr "" "${g36_disable_ibus} 指令停用 IBus 整合以使用 ${2} 以外的任何輸入法。更多細節" "參見 ${link}。" -#: src/ui/classic/theme.h:127 +#: src/ui/classic/theme.h:94 msgid "Image" msgstr "圖片" -#: src/im/keyboard/keyboard.cpp:677 src/lib/fcitx/instance.cpp:452 -#: src/lib/fcitx/instance.cpp:679 src/lib/fcitx/instance.cpp:841 -#: src/modules/notificationitem/notificationitem.cpp:142 -#: src/modules/notificationitem/notificationitem.cpp:230 -#: src/modules/xcb/xcbconnection.cpp:555 data/org.fcitx.Fcitx5.desktop.in.in:4 -#: data/fcitx5-wayland-launcher.desktop.in.in:4 +#: src/im/keyboard/keyboard.cpp:647 src/lib/fcitx/instance.cpp:442 +#: src/lib/fcitx/instance.cpp:660 src/lib/fcitx/instance.cpp:820 +#: src/modules/notificationitem/notificationitem.cpp:115 +#: src/modules/notificationitem/notificationitem.cpp:196 +#: src/modules/xcb/xcbconnection.cpp:406 data/org.fcitx.Fcitx5.desktop.in.in:4 #: data/org.fcitx.Fcitx5.metainfo.xml.in:7 msgid "Input Method" msgstr "輸入法" @@ -1322,43 +1191,23 @@ msgstr "輸入法" msgid "Input Method Configuration" msgstr "輸入法設定" -#: data/fcitx5-diagnose.sh:717 +#: data/fcitx5-diagnose.sh:700 msgid "Input Method Related Environment Variables: " msgstr "輸入法相關環境變數:" -#: data/fcitx5-diagnose.sh:1704 +#: data/fcitx5-diagnose.sh:1722 msgid "Input Methods:" msgstr "輸入法:" -#: src/ui/classic/theme.h:199 +#: src/ui/classic/theme.h:162 msgid "Input Panel" msgstr "輸入面板" -#: src/ui/classic/theme.h:63 -msgid "Input Panel Background" -msgstr "輸入框背景" - -#: src/ui/classic/theme.h:63 -msgid "Input Panel Border" -msgstr "輸入框邊框" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight" -msgstr "輸入框高亮" - -#: src/ui/classic/theme.h:64 -msgid "Input Panel Highlight Candidate Background" -msgstr "輸入框高亮候選詞背景" - -#: src/ui/classic/theme.h:65 -msgid "Input Panel Highlight Candidate Border" -msgstr "輸入框高亮候選詞邊框" - #: src/modules/imselector/imselector.conf.in.in:3 msgid "Input method selector" msgstr "輸入法選擇器" -#: src/lib/fcitx/globalconfig.cpp:104 src/lib/fcitx/globalconfig.cpp:116 +#: src/lib/fcitx/globalconfig.cpp:102 src/lib/fcitx/globalconfig.cpp:114 msgid "" "Input methods may have different setup in their own configuration. This is " "commonly used by modules like clipboard or quickphrase." @@ -1366,64 +1215,45 @@ msgstr "" "輸入法在它們自己的設定中可能有不同的設定。這通常由剪貼板或快速短語等模塊使" "用。" -#: src/lib/fcitx-utils/key.cpp:229 +#: src/lib/fcitx-utils/key.cpp:194 msgctxt "Key name" msgid "Insert" msgstr "插入" -#: src/lib/fcitx/globalconfig.cpp:199 -msgid "Interval of saving user data in minutes" -msgstr "儲存使用者數據的時間間隔(以分鐘為單位)" - -#: data/fcitx5-diagnose.sh:1599 +#: data/fcitx5-diagnose.sh:1617 msgid "Invalid addon config file ${1}." msgstr "不正確的附加元件設定檔:${1}。" -#: data/fcitx5-diagnose.sh:1205 +#: data/fcitx5-diagnose.sh:1188 msgid "" "It is OK to use ${1} built-in Wayland im module if your compositor fully " "supports text-input protocol used by ${1}." msgstr "" -"如果您的混成器完全支持 ${1}使用的 text-input 協議,您也可以使用 ${1} 內置的 " -"Wayland 模塊。" - -#: src/modules/wayland/waylandmodule.cpp:628 -msgid "" -"It is recommended to install Input Method Panel GNOME Shell Extensions to " -"provide the input method popup. https://extensions.gnome.org/extension/261/" -"kimpanel/ Otherwise you may not be able to see input method popup when " -"typing in GNOME Shell's activities search box. For more details see https://" -"fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#GNOME" -msgstr "" -"推薦安裝輸入法面板 GNOME Shell 擴充套件以提供輸入法顯示。https://extensions." -"gnome.org/extension/261/kimpanel/ 否則您可能無法在 GNOME Shell 的活動界面看到" -"輸入法窗口。更多細節請參見 https://fcitx-im.org/wiki/" -"Using_Fcitx_5_on_Wayland#GNOME" #: src/ui/kimpanel/kimpanel.conf.in.in:3 msgid "KDE Input Method Panel" msgstr "KDE 輸入法面板" -#: src/ui/classic/classicui.cpp:278 +#: src/ui/classic/classicui.cpp:145 msgid "KDE Plasma (Experimental)" -msgstr "KDE Plasma (實驗性)" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:246 +#: src/lib/fcitx-utils/key.cpp:211 msgctxt "Key name" msgid "Kana Lock" msgstr "假名鎖定" -#: src/lib/fcitx-utils/key.cpp:247 +#: src/lib/fcitx-utils/key.cpp:212 msgctxt "Key name" msgid "Kana Shift" msgstr "假名 Shift" -#: src/lib/fcitx-utils/key.cpp:234 +#: src/lib/fcitx-utils/key.cpp:199 msgctxt "Key name" msgid "Kanji" msgstr "漢字" -#: src/lib/fcitx-utils/key.cpp:239 +#: src/lib/fcitx-utils/key.cpp:204 msgctxt "Key name" msgid "Katakana" msgstr "片假名" @@ -1432,308 +1262,127 @@ msgstr "片假名" msgid "Key" msgstr "按鍵" -#: src/im/keyboard/keyboard.cpp:308 src/im/keyboard/keyboard.conf.in.in:3 +#: src/im/keyboard/keyboard.cpp:288 src/im/keyboard/keyboard.conf.in.in:3 msgid "Keyboard" msgstr "鍵盤" -#: src/im/keyboard/keyboard.cpp:224 -#, c++-format +#: src/im/keyboard/keyboard.cpp:214 msgid "Keyboard - {0}" msgstr "鍵盤 - {0}" -#: src/im/keyboard/keyboard.cpp:243 -#, c++-format +#: src/im/keyboard/keyboard.cpp:233 msgid "Keyboard - {0} - {1}" msgstr "鍵盤 - {0} - {1}" -#: src/lib/fcitx-utils/key.cpp:134 +#: src/lib/fcitx-utils/key.cpp:99 msgctxt "Key name" msgid "Keyboard Brightness Down" msgstr "鍵盤亮度降低" -#: src/lib/fcitx-utils/key.cpp:132 +#: src/lib/fcitx-utils/key.cpp:97 msgctxt "Key name" msgid "Keyboard Brightness Up" msgstr "鍵盤亮度增加" -#: data/fcitx5-diagnose.sh:836 +#: data/fcitx5-diagnose.sh:819 msgid "Keyboard Layout:" msgstr "鍵盤配置:" -#: src/lib/fcitx-utils/key.cpp:131 +#: src/lib/fcitx-utils/key.cpp:96 msgctxt "Key name" msgid "Keyboard Light On/Off" msgstr "鍵盤背光開關" -#: src/lib/fcitx-utils/key.cpp:171 +#: src/lib/fcitx-utils/key.cpp:136 msgctxt "Key name" msgid "Keyboard Menu" msgstr "鍵盤選單" -#: src/lib/fcitx-utils/key.cpp:74 -msgctxt "Key name" -msgid "Keypad *" -msgstr "數字鍵盤 *" - -#: src/lib/fcitx-utils/key.cpp:75 -msgctxt "Key name" -msgid "Keypad +" -msgstr "數字鍵盤 +" - -#: src/lib/fcitx-utils/key.cpp:76 -msgctxt "Key name" -msgid "Keypad ," -msgstr "數字鍵盤 ," +#: data/fcitx5-diagnose.sh:1708 +msgid "Kimpanel process:" +msgstr "Kimpanel 程序:" #: src/lib/fcitx-utils/key.cpp:77 msgctxt "Key name" -msgid "Keypad -" -msgstr "數字鍵盤 -" +msgid "Launch (0)" +msgstr "啟動 (0)" #: src/lib/fcitx-utils/key.cpp:78 msgctxt "Key name" -msgid "Keypad ." -msgstr "數字鍵盤 ." +msgid "Launch (1)" +msgstr "啟動 (1)" #: src/lib/fcitx-utils/key.cpp:79 msgctxt "Key name" -msgid "Keypad /" -msgstr "數字鍵盤 /" +msgid "Launch (2)" +msgstr "啟動 (2)" #: src/lib/fcitx-utils/key.cpp:80 msgctxt "Key name" -msgid "Keypad 0" -msgstr "數字鍵盤 0" +msgid "Launch (3)" +msgstr "啟動 (3)" #: src/lib/fcitx-utils/key.cpp:81 msgctxt "Key name" -msgid "Keypad 1" -msgstr "數字鍵盤 1" +msgid "Launch (4)" +msgstr "啟動 (4)" #: src/lib/fcitx-utils/key.cpp:82 msgctxt "Key name" -msgid "Keypad 2" -msgstr "數字鍵盤 2" +msgid "Launch (5)" +msgstr "啟動 (5)" #: src/lib/fcitx-utils/key.cpp:83 msgctxt "Key name" -msgid "Keypad 3" -msgstr "數字鍵盤 3" +msgid "Launch (6)" +msgstr "啟動 (6)" #: src/lib/fcitx-utils/key.cpp:84 msgctxt "Key name" -msgid "Keypad 4" -msgstr "數字鍵盤 4" +msgid "Launch (7)" +msgstr "啟動 (7)" #: src/lib/fcitx-utils/key.cpp:85 msgctxt "Key name" -msgid "Keypad 5" -msgstr "數字鍵盤 5" +msgid "Launch (8)" +msgstr "啟動 (8)" #: src/lib/fcitx-utils/key.cpp:86 msgctxt "Key name" -msgid "Keypad 6" -msgstr "數字鍵盤 6" +msgid "Launch (9)" +msgstr "啟動 (9)" #: src/lib/fcitx-utils/key.cpp:87 msgctxt "Key name" -msgid "Keypad 7" -msgstr "數字鍵盤 7" +msgid "Launch (A)" +msgstr "啟動 (A)" #: src/lib/fcitx-utils/key.cpp:88 msgctxt "Key name" -msgid "Keypad 8" -msgstr "數字鍵盤 8" +msgid "Launch (B)" +msgstr "啟動 (B)" #: src/lib/fcitx-utils/key.cpp:89 msgctxt "Key name" -msgid "Keypad 9" -msgstr "數字鍵盤 9" +msgid "Launch (C)" +msgstr "啟動 (C)" -#: src/lib/fcitx-utils/key.cpp:73 +#: src/lib/fcitx-utils/key.cpp:90 msgctxt "Key name" -msgid "Keypad =" -msgstr "數字鍵盤 =" +msgid "Launch (D)" +msgstr "啟動 (D)" -#: src/lib/fcitx-utils/key.cpp:70 +#: src/lib/fcitx-utils/key.cpp:91 msgctxt "Key name" -msgid "Keypad Begin" -msgstr "數字鍵盤開始鍵" +msgid "Launch (E)" +msgstr "啟動 (E)" -#: src/lib/fcitx-utils/key.cpp:72 -msgctxt "Key name" -msgid "Keypad Delete" -msgstr "數字鍵盤刪除鍵" - -#: src/lib/fcitx-utils/key.cpp:66 -msgctxt "Key name" -msgid "Keypad Down" -msgstr "數字鍵盤向上鍵" - -#: src/lib/fcitx-utils/key.cpp:69 -msgctxt "Key name" -msgid "Keypad End" -msgstr "數字鍵盤 End 鍵" - -#: src/lib/fcitx-utils/key.cpp:57 -msgctxt "Key name" -msgid "Keypad Enter" -msgstr "數字鍵盤確認鍵" - -#: src/lib/fcitx-utils/key.cpp:58 -msgctxt "Key name" -msgid "Keypad F1" -msgstr "數字鍵盤 F1" - -#: src/lib/fcitx-utils/key.cpp:59 -msgctxt "Key name" -msgid "Keypad F2" -msgstr "數字鍵盤 F2" - -#: src/lib/fcitx-utils/key.cpp:60 -msgctxt "Key name" -msgid "Keypad F3" -msgstr "數字鍵盤 F3" - -#: src/lib/fcitx-utils/key.cpp:61 -msgctxt "Key name" -msgid "Keypad F4" -msgstr "數字鍵盤 F4" - -#: src/lib/fcitx-utils/key.cpp:62 -msgctxt "Key name" -msgid "Keypad Home" -msgstr "數字鍵盤 Home 鍵" - -#: src/lib/fcitx-utils/key.cpp:71 -msgctxt "Key name" -msgid "Keypad Insert" -msgstr "數字鍵盤插入鍵" - -#: src/lib/fcitx-utils/key.cpp:63 -msgctxt "Key name" -msgid "Keypad Left" -msgstr "數字鍵盤向左鍵" - -#: src/lib/fcitx-utils/key.cpp:68 -msgctxt "Key name" -msgid "Keypad Page Down" -msgstr "數字鍵盤下一頁" - -#: src/lib/fcitx-utils/key.cpp:67 -msgctxt "Key name" -msgid "Keypad Page Up" -msgstr "數字鍵盤上一頁" - -#: src/lib/fcitx-utils/key.cpp:65 -msgctxt "Key name" -msgid "Keypad Right" -msgstr "數字鍵盤向右鍵" - -#: src/lib/fcitx-utils/key.cpp:55 -msgctxt "Key name" -msgid "Keypad Space" -msgstr "數字鍵盤空格" - -#: src/lib/fcitx-utils/key.cpp:56 -msgctxt "Key name" -msgid "Keypad Tab" -msgstr "數字鍵盤 Tab" - -#: src/lib/fcitx-utils/key.cpp:64 -msgctxt "Key name" -msgid "Keypad Up" -msgstr "數字鍵盤向上鍵" - -#: data/fcitx5-diagnose.sh:1690 -msgid "Kimpanel process:" -msgstr "Kimpanel 程序:" - -#: src/ui/classic/theme.h:48 -msgid "Last Candidate" -msgstr "上一個候選詞" - -#: src/lib/fcitx-utils/key.cpp:112 -msgctxt "Key name" -msgid "Launch (0)" -msgstr "啟動 (0)" - -#: src/lib/fcitx-utils/key.cpp:113 -msgctxt "Key name" -msgid "Launch (1)" -msgstr "啟動 (1)" - -#: src/lib/fcitx-utils/key.cpp:114 -msgctxt "Key name" -msgid "Launch (2)" -msgstr "啟動 (2)" - -#: src/lib/fcitx-utils/key.cpp:115 -msgctxt "Key name" -msgid "Launch (3)" -msgstr "啟動 (3)" - -#: src/lib/fcitx-utils/key.cpp:116 -msgctxt "Key name" -msgid "Launch (4)" -msgstr "啟動 (4)" - -#: src/lib/fcitx-utils/key.cpp:117 -msgctxt "Key name" -msgid "Launch (5)" -msgstr "啟動 (5)" - -#: src/lib/fcitx-utils/key.cpp:118 -msgctxt "Key name" -msgid "Launch (6)" -msgstr "啟動 (6)" - -#: src/lib/fcitx-utils/key.cpp:119 -msgctxt "Key name" -msgid "Launch (7)" -msgstr "啟動 (7)" - -#: src/lib/fcitx-utils/key.cpp:120 -msgctxt "Key name" -msgid "Launch (8)" -msgstr "啟動 (8)" - -#: src/lib/fcitx-utils/key.cpp:121 -msgctxt "Key name" -msgid "Launch (9)" -msgstr "啟動 (9)" - -#: src/lib/fcitx-utils/key.cpp:122 -msgctxt "Key name" -msgid "Launch (A)" -msgstr "啟動 (A)" - -#: src/lib/fcitx-utils/key.cpp:123 -msgctxt "Key name" -msgid "Launch (B)" -msgstr "啟動 (B)" - -#: src/lib/fcitx-utils/key.cpp:124 -msgctxt "Key name" -msgid "Launch (C)" -msgstr "啟動 (C)" - -#: src/lib/fcitx-utils/key.cpp:125 -msgctxt "Key name" -msgid "Launch (D)" -msgstr "啟動 (D)" - -#: src/lib/fcitx-utils/key.cpp:126 -msgctxt "Key name" -msgid "Launch (E)" -msgstr "啟動 (E)" - -#: src/lib/fcitx-utils/key.cpp:127 +#: src/lib/fcitx-utils/key.cpp:92 msgctxt "Key name" msgid "Launch (F)" msgstr "啟動 (F)" -#: src/lib/fcitx-utils/key.cpp:111 +#: src/lib/fcitx-utils/key.cpp:76 msgctxt "Key name" msgid "Launch Mail" msgstr "啟動郵件程式" @@ -1768,250 +1417,228 @@ msgctxt "Key name" msgid "Left Super" msgstr "左 Super 鍵" -#: src/lib/fcitx-utils/key.cpp:141 +#: src/lib/fcitx-utils/key.cpp:106 msgctxt "Key name" msgid "LightBulb" msgstr "燈泡" -#: data/fcitx5-diagnose.sh:851 +#: data/fcitx5-diagnose.sh:834 msgid "Locale:" msgstr "地區設定:" -#: data/fcitx5-diagnose.sh:1799 +#: data/fcitx5-diagnose.sh:1816 msgid "Log:" msgstr "日誌:" -#: src/lib/fcitx-utils/key.cpp:168 +#: src/lib/fcitx-utils/key.cpp:133 msgctxt "Key name" msgid "Logoff" msgstr "登出" -#: src/im/keyboard/keyboard.h:87 +#: src/im/keyboard/keyboard.h:89 msgid "Long Press behavior" msgstr "長按行為" -#: src/lib/fcitx-utils/key.cpp:201 +#: src/lib/fcitx-utils/key.cpp:166 msgctxt "Key name" msgid "Mail Forward" msgstr "轉寄信件" -#: src/ui/classic/theme.h:116 +#: src/ui/classic/theme.h:83 msgid "Margin" msgstr "邊距" -#: src/ui/classic/theme.h:78 +#: src/ui/classic/theme.h:45 msgid "Margin Bottom" msgstr "底部邊距" -#: src/ui/classic/theme.h:72 +#: src/ui/classic/theme.h:39 msgid "Margin Left" msgstr "左側邊距" -#: src/ui/classic/theme.h:74 +#: src/ui/classic/theme.h:41 msgid "Margin Right" msgstr "右側邊距" -#: src/ui/classic/theme.h:76 +#: src/ui/classic/theme.h:43 msgid "Margin Top" msgstr "頂部邊距" -#: src/ui/classic/theme.h:160 src/ui/classic/theme.h:184 +#: src/ui/classic/theme.h:123 src/ui/classic/theme.h:147 msgid "Margin around all content" msgstr "內容周圍邊界" -#: src/ui/classic/theme.h:162 src/ui/classic/theme.h:186 +#: src/ui/classic/theme.h:125 src/ui/classic/theme.h:149 msgid "Margin around text" msgstr "內容周圍邊界" -#: src/lib/fcitx-utils/key.cpp:169 +#: src/lib/fcitx-utils/key.cpp:134 msgctxt "Key name" msgid "Market" msgstr "市場" -#: src/lib/fcitx-utils/key.cpp:245 +#: src/lib/fcitx-utils/key.cpp:210 msgctxt "Key name" msgid "Massyo" msgstr "Massyo" -#: src/lib/fcitx-utils/key.cpp:207 +#: src/lib/fcitx-utils/key.cpp:172 msgctxt "Key name" msgid "Media Fast Forward" msgstr "媒體快轉" -#: src/lib/fcitx-utils/key.cpp:103 +#: src/lib/fcitx-utils/key.cpp:68 msgctxt "Key name" msgid "Media Next" msgstr "媒體下一首" -#: src/lib/fcitx-utils/key.cpp:105 +#: src/lib/fcitx-utils/key.cpp:70 msgctxt "Key name" msgid "Media Pause" msgstr "媒體暫停" -#: src/lib/fcitx-utils/key.cpp:100 +#: src/lib/fcitx-utils/key.cpp:65 msgctxt "Key name" msgid "Media Play" msgstr "媒體播放" -#: src/lib/fcitx-utils/key.cpp:102 +#: src/lib/fcitx-utils/key.cpp:67 msgctxt "Key name" msgid "Media Previous" msgstr "媒體上一首" -#: src/lib/fcitx-utils/key.cpp:104 +#: src/lib/fcitx-utils/key.cpp:69 msgctxt "Key name" msgid "Media Record" msgstr "媒體錄影" -#: src/lib/fcitx-utils/key.cpp:149 +#: src/lib/fcitx-utils/key.cpp:114 msgctxt "Key name" msgid "Media Rewind" msgstr "媒體倒轉" -#: src/lib/fcitx-utils/key.cpp:101 +#: src/lib/fcitx-utils/key.cpp:66 msgctxt "Key name" msgid "Media Stop" msgstr "媒體停止" -#: src/lib/fcitx-utils/key.cpp:170 +#: src/lib/fcitx-utils/key.cpp:135 msgctxt "Key name" msgid "Meeting" msgstr "會議" -#: src/ui/classic/theme.h:200 +#: src/ui/classic/theme.h:163 msgid "Menu" msgstr "選單" -#: src/lib/fcitx-utils/key.cpp:91 +#: src/lib/fcitx-utils/key.cpp:56 msgctxt "Key name" msgid "Menu" msgstr "選單" -#: src/ui/classic/theme.h:66 -msgid "Menu Background" -msgstr "選單背景" - -#: src/ui/classic/theme.h:66 -msgid "Menu Border" -msgstr "選單邊框" - -#: src/ui/classic/classicui.h:119 +#: src/ui/classic/classicui.h:109 msgid "Menu Font" msgstr "功能表字體" -#: src/lib/fcitx-utils/key.cpp:172 +#: src/lib/fcitx-utils/key.cpp:137 msgctxt "Key name" msgid "Menu PB" msgstr "選單 PB" -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Background" -msgstr "選單選中項背景" - -#: src/ui/classic/theme.h:67 -msgid "Menu Selected Item Border" -msgstr "選單選中項邊框" - -#: src/ui/classic/theme.h:68 -msgid "Menu Separator" -msgstr "選單分隔符" - -#: src/lib/fcitx-utils/key.cpp:199 +#: src/lib/fcitx-utils/key.cpp:164 msgctxt "Key name" msgid "Messenger" msgstr "即時通訊工具" -#: src/ui/classic/theme.h:197 +#: src/ui/classic/theme.h:160 msgid "Metadata" msgstr "元數據" -#: src/lib/fcitx-utils/key.cpp:218 +#: src/lib/fcitx-utils/key.cpp:183 msgctxt "Key name" msgid "Microphone Mute" msgstr "靜音麥克風" -#: src/lib/fcitx-utils/key.cpp:130 +#: src/lib/fcitx-utils/key.cpp:95 msgctxt "Key name" msgid "Monitor Brightness Down" msgstr "顯示器亮度降低" -#: src/lib/fcitx-utils/key.cpp:128 +#: src/lib/fcitx-utils/key.cpp:93 msgctxt "Key name" msgid "Monitor Brightness Up" msgstr "顯示器亮度增加" -#: src/lib/fcitx-utils/key.cpp:235 +#: src/lib/fcitx-utils/key.cpp:200 msgctxt "Key name" msgid "Muhenkan" msgstr "無變換" -#: src/lib/fcitx-utils/key.cpp:251 +#: src/lib/fcitx-utils/key.cpp:216 msgctxt "Key name" msgid "Multiple Candidate" msgstr "多個候選字" -#: src/lib/fcitx-utils/key.cpp:203 +#: src/lib/fcitx-utils/key.cpp:168 msgctxt "Key name" msgid "Music" msgstr "音樂" -#: src/lib/fcitx-utils/key.cpp:173 +#: src/lib/fcitx-utils/key.cpp:138 msgctxt "Key name" msgid "My Sites" msgstr "個人站台" -#: src/ui/classic/theme.h:189 +#: src/ui/classic/theme.h:152 msgid "Name" msgstr "名稱" -#: src/lib/fcitx-utils/key.cpp:223 +#: src/lib/fcitx-utils/key.cpp:188 msgctxt "Key name" msgid "New" msgstr "新增" -#: src/lib/fcitx-utils/key.cpp:174 +#: src/lib/fcitx-utils/key.cpp:139 msgctxt "Key name" msgid "News" msgstr "新聞" -#: src/im/keyboard/keyboard.h:46 +#: src/im/keyboard/keyboard.h:48 msgid "Next Candidate" msgstr "下一個候選字" -#: src/ui/classic/theme.h:164 +#: src/ui/classic/theme.h:127 msgid "Next Page Button" msgstr "下一頁按鈕" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "No" msgstr "否" -#: src/modules/clipboard/clipboard.cpp:371 +#: src/modules/clipboard/clipboard.cpp:355 msgid "No clipboard history." msgstr "沒有輸入法歷史" -#: src/im/keyboard/keyboard.h:30 src/modules/quickphrase/quickphrase.h:25 +#: src/im/keyboard/keyboard.h:32 src/modules/quickphrase/quickphrase.h:28 msgid "None" msgstr "無" -#: src/ui/classic/theme.h:133 src/ui/classic/theme.h:169 +#: src/ui/classic/theme.h:100 src/ui/classic/theme.h:132 msgid "Normal text color" msgstr "一般文字顏色" -#: src/ui/classic/classicui.h:179 +#: src/ui/classic/classicui.h:151 msgid "" "Normally Wayland uses 96 as font DPI in combinition with the screen scale " "factor. This option allows you to override the font DPI. If the value is 0, " "it means this option is disabled." msgstr "" -"通常 Wayland 使用 96 作為字體 DPI,同時和螢幕的縮放倍數組合調整文字大小。這個" -"選項允許你覆蓋字體的 DPI。如果設置為 0,這個選項將被禁用。" -#: src/ui/kimpanel/kimpanel.cpp:407 +#: src/ui/kimpanel/kimpanel.cpp:367 msgid "Not available" msgstr "無法使用" -#: data/fcitx5-diagnose.sh:733 +#: data/fcitx5-diagnose.sh:716 msgid "Note for GNOME Later than 3.6" msgstr "給 GNOME 3.6 以上版本的註記" @@ -2024,87 +1651,73 @@ msgctxt "Key name" msgid "NumLock" msgstr "數字鎖定 (NumLock)" -#: src/modules/clipboard/clipboard.h:54 +#: src/modules/clipboard/clipboard.h:48 msgid "Number of entries" msgstr "項目數" -#: src/im/keyboard/keyboard.cpp:663 +#: src/im/keyboard/keyboard.cpp:633 msgid "" "Only emoji support is found. To enable spell checking, you may need to " "install spell check data for the language." msgstr "只找到表情符號支持。要啟用拼寫檢查,您需要安裝該語言的拼寫檢查資料。" -#: src/lib/fcitx-utils/key.cpp:224 +#: src/lib/fcitx-utils/key.cpp:189 msgctxt "Key name" msgid "Open" msgstr "開啟" -#: src/lib/fcitx-utils/key.cpp:110 +#: src/lib/fcitx-utils/key.cpp:75 msgctxt "Key name" msgid "Open URL" msgstr "開啟網址" -#: src/lib/fcitx-utils/key.cpp:176 +#: src/lib/fcitx-utils/key.cpp:141 msgctxt "Key name" msgid "Option" msgstr "選項" -#: src/ui/classic/theme.h:118 +#: src/ui/classic/theme.h:85 msgid "Overlay Clip Margin" msgstr "覆蓋圖片裁剪邊界" -#: src/ui/classic/theme.h:108 +#: src/ui/classic/theme.h:75 msgid "Overlay Image" msgstr "覆蓋圖片" -#: src/ui/classic/theme.h:111 +#: src/ui/classic/theme.h:78 msgid "Overlay X offset" msgstr "覆蓋 X 位移" -#: src/ui/classic/theme.h:112 +#: src/ui/classic/theme.h:79 msgid "Overlay Y offset" msgstr "覆蓋 Y 位移" -#: src/ui/classic/theme.h:110 +#: src/ui/classic/theme.h:77 msgid "Overlay position" msgstr "覆蓋圖片位置" -#: src/lib/fcitx/globalconfig.cpp:173 +#: src/lib/fcitx/globalconfig.cpp:165 msgid "Override Xkb Option" msgstr "覆蓋 Xkb 選項" -#: data/fcitx5-diagnose.sh:991 +#: data/fcitx5-diagnose.sh:974 msgid "Owner of DBus name ${1} is ${2}." msgstr "DBus 名稱 ${1} 的擁有者是 ${2}。" -#: data/fcitx5-diagnose.sh:999 +#: data/fcitx5-diagnose.sh:982 msgid "PID of DBus name ${1} owner is ${2}." msgstr "DBus 名稱 ${1} PID 的擁有者是 ${2}。" -#: src/lib/fcitx-utils/key.cpp:52 -msgctxt "Key name" -msgid "Page Down" -msgstr "下一頁" - -#: src/lib/fcitx-utils/key.cpp:51 -msgctxt "Key name" -msgid "Page Up" -msgstr "上一頁" - -#: src/ui/classic/theme.h:153 -msgid "Page button vertical alignment" -msgstr "頁面按鈕垂直對齊" - -#: src/im/keyboard/keyboard.h:35 +#: src/im/keyboard/keyboard.h:37 msgid "Page size" msgstr "頁面大小" -#: src/lib/fcitx-utils/key.cpp:177 +#: src/lib/fcitx-utils/key.cpp:142 msgctxt "Key name" msgid "Paste" msgstr "貼上" -#: src/modules/clipboard/clipboard.h:52 +#: src/modules/clipboard/clipboard.h:46 msgid "Paste Primary" msgstr "貼上主選區" @@ -2113,57 +1726,65 @@ msgctxt "Key name" msgid "Pause" msgstr "暫停" -#: src/lib/fcitx-utils/key.cpp:178 +#: src/lib/fcitx-utils/key.cpp:52 +msgctxt "Key name" +msgid "PgDown" +msgstr "PgDown 鍵" + +#: src/lib/fcitx-utils/key.cpp:51 +msgctxt "Key name" +msgid "PgUp" +msgstr "PgUp 鍵" + +#: src/lib/fcitx-utils/key.cpp:143 msgctxt "Key name" msgid "Phone" msgstr "電話" -#: src/lib/fcitx-utils/key.cpp:202 +#: src/lib/fcitx-utils/key.cpp:167 msgctxt "Key name" msgid "Pictures" msgstr "圖片" -#: data/fcitx5-diagnose.sh:940 +#: data/fcitx5-diagnose.sh:923 msgid "Please check ${1} for how to install fcitx5." msgstr "如何安裝 fcitx5 請查閱 ${1}。" -#: data/fcitx5-diagnose.sh:962 +#: data/fcitx5-diagnose.sh:945 msgid "" "Please check the Configure link of your distribution in ${1} for how to " "setup ${2} autostart." -msgstr "請在 ${1} 檢查您的發行版的設定連結是如何設定 ${2}自動啟動。" +msgstr "" -#: data/fcitx5-diagnose.sh:714 +#: data/fcitx5-diagnose.sh:697 msgid "" "Please set environment variable ${env_name} to \"${value}\" using the tool " "your distribution provides or add ${1} to your ${2}. See ${link}." msgstr "" -"請設定環境變數 ${env_name} 到「${value}」,使用您的發行版提供的工具或加入 " -"${1} 到您的 ${2}。請參閱 ${link}。" -#: src/lib/fcitx-utils/key.cpp:216 +#: src/lib/fcitx-utils/key.cpp:181 msgctxt "Key name" msgid "Power Down" msgstr "關機" -#: src/lib/fcitx-utils/key.cpp:135 +#: src/lib/fcitx-utils/key.cpp:100 msgctxt "Key name" msgid "Power Off" msgstr "關機" -#: src/lib/fcitx/instance.cpp:841 +#: src/lib/fcitx/instance.cpp:820 msgid "Preedit" msgstr "預編輯" -#: src/lib/fcitx/instance.cpp:843 +#: src/lib/fcitx/instance.cpp:822 msgid "Preedit disabled" msgstr "預編輯已停用" -#: src/lib/fcitx/instance.cpp:842 +#: src/lib/fcitx/instance.cpp:821 msgid "Preedit enabled" msgstr "預編輯已啟用" -#: src/ui/classic/classicui.h:127 src/ui/kimpanel/kimpanel.h:28 +#: src/ui/classic/classicui.h:117 msgid "Prefer Text Icon" msgstr "首選文字圖示" @@ -2171,29 +1792,29 @@ msgstr "首選文字圖示" msgid "Presage" msgstr "Presage" -#: src/im/keyboard/keyboard.h:40 +#: src/im/keyboard/keyboard.h:42 msgid "Prev Candidate" msgstr "上一個候選字" -#: src/ui/classic/theme.h:163 +#: src/ui/classic/theme.h:126 msgid "Prev Page Button" msgstr "上一頁按鈕" -#: src/lib/fcitx-utils/key.cpp:252 +#: src/lib/fcitx-utils/key.cpp:217 msgctxt "Key name" msgid "Previous Candidate" msgstr "上一個候選字" -#: src/lib/fcitx-utils/key.cpp:228 +#: src/lib/fcitx-utils/key.cpp:193 msgctxt "Key name" msgid "Print Screen" msgstr "截圖 (PrtSc)" -#: src/lib/fcitx/globalconfig.cpp:28 +#: src/lib/fcitx/globalconfig.cpp:26 msgid "Program" msgstr "程式" -#: data/fcitx5-diagnose.sh:1249 +#: data/fcitx5-diagnose.sh:1228 msgid "Qt IM module files:" msgstr "Qt IM 模組檔案:" @@ -2201,41 +1822,37 @@ msgstr "Qt IM 模組檔案:" msgid "Quick Phrase" msgstr "快速片語" -#: src/modules/quickphrase/quickphrase.cpp:467 +#: src/modules/quickphrase/quickphrase.cpp:408 msgid "Quick Phrase: " msgstr "快速輸入:" -#: src/lib/fcitx-utils/key.cpp:219 +#: src/lib/fcitx-utils/key.cpp:184 msgctxt "Key name" msgid "Red" msgstr "紅色" -#: src/lib/fcitx-utils/key.cpp:227 +#: src/lib/fcitx-utils/key.cpp:192 msgctxt "Key name" msgid "Redo" msgstr "重作" -#: src/lib/fcitx-utils/key.cpp:96 +#: src/lib/fcitx-utils/key.cpp:61 msgctxt "Key name" msgid "Refresh" msgstr "重新整理" -#: src/lib/fcitx-utils/key.cpp:180 +#: src/lib/fcitx-utils/key.cpp:145 msgctxt "Key name" msgid "Reload" msgstr "重新載入" -#: src/lib/fcitx-utils/key.cpp:179 +#: src/lib/fcitx-utils/key.cpp:144 msgctxt "Key name" msgid "Reply" msgstr "回覆" -#: src/lib/fcitx/globalconfig.cpp:143 -msgid "Reset state on Focus In" -msgstr "重新聚焦時重置狀態" - #: src/ui/classic/xcbtraywindow.cpp:39 -#: src/modules/notificationitem/dbusmenu.cpp:261 +#: src/modules/notificationitem/dbusmenu.cpp:255 msgid "Restart" msgstr "重新啟動" @@ -2274,55 +1891,51 @@ msgctxt "Key name" msgid "Right Super" msgstr "右 Super 鍵" -#: src/lib/fcitx-utils/key.cpp:237 +#: src/lib/fcitx-utils/key.cpp:202 msgctxt "Key name" msgid "Romaji" msgstr "羅馬音" -#: src/lib/fcitx-utils/key.cpp:181 +#: src/lib/fcitx-utils/key.cpp:146 msgctxt "Key name" msgid "Rotate Windows" msgstr "旋轉視窗" -#: src/lib/fcitx-utils/key.cpp:183 +#: src/lib/fcitx-utils/key.cpp:148 msgctxt "Key name" msgid "Rotation KB" msgstr "旋轉 KB" -#: src/lib/fcitx-utils/key.cpp:182 +#: src/lib/fcitx-utils/key.cpp:147 msgctxt "Key name" msgid "Rotation PB" msgstr "旋轉 PB" -#: data/fcitx5-diagnose.sh:916 +#: data/fcitx5-diagnose.sh:899 msgid "Running as root:" msgstr "以 root 執行:" -#: src/lib/fcitx-utils/key.cpp:184 +#: src/lib/fcitx-utils/key.cpp:149 msgctxt "Key name" msgid "Save" msgstr "儲存" -#: src/lib/fcitx-utils/key.cpp:138 +#: src/lib/fcitx-utils/key.cpp:103 msgctxt "Key name" msgid "Screensaver" msgstr "螢幕保護程式" -#: src/lib/fcitx-utils/key.cpp:90 +#: src/lib/fcitx-utils/key.cpp:55 msgctxt "Key name" msgid "ScrollLock" msgstr "捲動鎖定 (ScrollLock)" -#: src/lib/fcitx-utils/key.cpp:108 +#: src/lib/fcitx-utils/key.cpp:73 msgctxt "Key name" msgid "Search" msgstr "搜尋" -#: src/modules/clipboard/clipboard.h:76 -msgid "Seconds before clearing password" -msgstr "自動清除密碼的時間間隔(單位:秒)" - -#: src/lib/fcitx-utils/key.cpp:233 +#: src/lib/fcitx-utils/key.cpp:198 msgctxt "Key name" msgid "Select" msgstr "選取" @@ -2339,67 +1952,54 @@ msgstr "選擇區域輸入法:" msgid "Select specific input method via keyboard" msgstr "通過鍵盤選擇特定的輸入法" -#: src/ui/classic/theme.h:172 -msgid "Selected Item text color" -msgstr "選中項文本顏色" - -#: src/lib/fcitx-utils/key.cpp:185 +#: src/lib/fcitx-utils/key.cpp:150 msgctxt "Key name" msgid "Send" msgstr "傳送" -#: src/modules/wayland/waylandmodule.cpp:660 -msgid "" -"Sending keyboard layout configuration to wayland compositor from Fcitx is " -"not yet supported on current desktop. You may still use Fcitx's internal " -"layout conversion by adding layout as input method to the input method group." -msgstr "" -"目前桌面不支援由 Fcitx 將鍵盤佈局配置傳送給 wayland 混成器。您仍可以透過將佈" -"局作為輸入法添加至輸入法分組以使用 Fcitx 內的佈局轉換。" - -#: src/ui/classic/theme.h:180 +#: src/ui/classic/theme.h:143 msgid "Separator Background" msgstr "分隔符背景" -#: src/ui/classic/theme.h:166 +#: src/ui/classic/theme.h:129 msgid "Shadow Margin" -msgstr "陰影邊緣" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:147 +#: src/lib/fcitx/globalconfig.cpp:140 msgid "Share Input State" msgstr "共享輸入法狀態" -#: src/lib/fcitx-utils/key.cpp:562 +#: src/lib/fcitx-utils/key.cpp:510 msgctxt "Key name" msgid "Shift" msgstr "Shift 鍵" -#: src/lib/fcitx-utils/key.cpp:142 +#: src/lib/fcitx-utils/key.cpp:107 msgctxt "Key name" msgid "Shop" msgstr "商店" -#: src/lib/fcitx/globalconfig.cpp:158 +#: src/lib/fcitx/globalconfig.cpp:150 msgid "Show Input Method Information when changing focus" msgstr "當切換輸入焦點時顯示輸入法資訊" -#: src/lib/fcitx/globalconfig.cpp:155 +#: src/lib/fcitx/globalconfig.cpp:147 msgid "Show Input Method Information when switch input method" msgstr "當切換輸入法時顯示輸入法資訊" -#: src/ui/classic/classicui.h:132 +#: src/ui/classic/classicui.h:122 msgid "Show Layout Name In Icon" msgstr "在圖示顯示佈局名稱" -#: src/lib/fcitx/globalconfig.cpp:161 +#: src/lib/fcitx/globalconfig.cpp:153 msgid "Show compact input method information" msgstr "顯示緊湊的輸入法訊息" -#: src/lib/fcitx/globalconfig.cpp:164 +#: src/lib/fcitx/globalconfig.cpp:156 msgid "Show first input method information" msgstr "顯示第一個輸入法資訊" -#: src/ui/classic/classicui.h:136 +#: src/ui/classic/classicui.h:126 msgid "" "Show layout name in icon if there is more than one active layout. If prefer " "text icon is set to true, this option will be ignored." @@ -2407,25 +2007,21 @@ msgstr "" "如果有多個活動佈局,則在圖示中顯示佈局名稱。如果首選文字圖示設定為 true,則此" "選項將被忽略。" -#: src/lib/fcitx/globalconfig.cpp:151 +#: src/lib/fcitx/globalconfig.cpp:143 msgid "Show preedit in application" msgstr "在應用程式中顯示預編輯" -#: src/lib/fcitx/globalconfig.cpp:195 -msgid "Show preedit text when typing password" -msgstr "輸入密碼時顯示預編輯文本" - -#: src/im/keyboard/keyboard.h:75 +#: src/im/keyboard/keyboard.h:77 msgid "" "Show preedit when composing, and commit dead key if there is no matching " "sequence." -msgstr "使用組合鍵時顯示預編輯,並且在沒有匹配序列時提交死鍵對應符號" +msgstr "" -#: src/lib/fcitx/globalconfig.cpp:65 +#: src/lib/fcitx/globalconfig.cpp:63 msgid "Skip first input method while enumerating" msgstr "枚舉時略過第一個輸入法" -#: src/lib/fcitx-utils/key.cpp:140 +#: src/lib/fcitx-utils/key.cpp:105 msgctxt "Key name" msgid "Sleep" msgstr "睡眠" @@ -2435,36 +2031,35 @@ msgctxt "Key name" msgid "Space" msgstr "空格" -#: src/ui/classic/theme.h:174 +#: src/ui/classic/theme.h:137 msgid "Spacing" msgstr "間隔" -#: src/im/keyboard/keyboard.h:77 src/modules/spell/spell.conf.in.in:3 +#: src/im/keyboard/keyboard.h:79 src/modules/spell/spell.conf.in.in:3 msgid "Spell" msgstr "拼寫" -#: src/lib/fcitx-utils/key.cpp:186 +#: src/lib/fcitx-utils/key.cpp:151 msgctxt "Key name" msgid "Spellchecker" msgstr "拼字檢查" -#: src/lib/fcitx-utils/key.cpp:187 +#: src/lib/fcitx-utils/key.cpp:152 msgctxt "Key name" msgid "Split Screen" msgstr "分割螢幕" -#: src/lib/fcitx-utils/key.cpp:163 +#: src/lib/fcitx-utils/key.cpp:128 msgctxt "Key name" msgid "Spreadsheet" msgstr "試算表" -#: src/lib/fcitx-utils/key.cpp:109 +#: src/lib/fcitx-utils/key.cpp:74 msgctxt "Key name" msgid "Standby" msgstr "待機" #: data/org.fcitx.Fcitx5.desktop.in.in:5 -#: data/fcitx5-wayland-launcher.desktop.in.in:5 msgid "Start Input Method" msgstr "啟動輸入法" @@ -2472,59 +2067,57 @@ msgstr "啟動輸入法" msgid "Status Notifier" msgstr "狀態指示器" -#: src/lib/fcitx-utils/key.cpp:95 +#: src/lib/fcitx-utils/key.cpp:60 msgctxt "Key name" msgid "Stop" msgstr "停止" -#: src/ui/classic/theme.h:182 +#: src/ui/classic/theme.h:145 msgid "Sub Menu" msgstr "子功能表" -#: src/lib/fcitx-utils/key.cpp:210 +#: src/lib/fcitx-utils/key.cpp:175 msgctxt "Key name" msgid "Subtitle" msgstr "副標題" -#: src/im/keyboard/keyboard.h:31 src/modules/quickphrase/quickphrase.h:26 +#: src/im/keyboard/keyboard.h:33 src/modules/quickphrase/quickphrase.h:29 msgid "Super" msgstr "超級" -#: src/lib/fcitx-utils/key.cpp:563 +#: src/lib/fcitx-utils/key.cpp:511 msgctxt "Key name" msgid "Super" msgstr "Super 鍵" -#: src/lib/fcitx-utils/key.cpp:188 +#: src/lib/fcitx-utils/key.cpp:153 msgctxt "Key name" msgid "Support" msgstr "支援" -#: src/lib/fcitx-utils/key.cpp:217 +#: src/lib/fcitx-utils/key.cpp:182 msgctxt "Key name" msgid "Suspend" msgstr "暫停" -#: src/lib/fcitx/instance.cpp:453 src/lib/fcitx/instance.cpp:680 -#: src/modules/xcb/xcbconnection.cpp:556 +#: src/lib/fcitx/instance.cpp:443 src/lib/fcitx/instance.cpp:661 +#: src/modules/xcb/xcbconnection.cpp:407 msgid "Switch group" msgstr "切換分組" -#: src/lib/fcitx/instance.cpp:454 src/modules/xcb/xcbconnection.cpp:557 -#, c++-format +#: src/lib/fcitx/instance.cpp:444 src/modules/xcb/xcbconnection.cpp:408 msgid "Switch group to {0}" msgstr "切換分組到 {0}" -#: src/lib/fcitx/instance.cpp:681 -#, c++-format +#: src/lib/fcitx/instance.cpp:662 msgid "Switched group to {0}" msgstr "已切換分組到 {0}" -#: data/fcitx5-diagnose.sh:789 +#: data/fcitx5-diagnose.sh:772 msgid "System Info:" msgstr "系統資訊:" -#: src/lib/fcitx-utils/key.cpp:232 +#: src/lib/fcitx-utils/key.cpp:197 msgctxt "Key name" msgid "System Request" msgstr "系統請求" @@ -2534,67 +2127,46 @@ msgctxt "Key name" msgid "Tab" msgstr "定格鍵 (Tab)" -#: src/lib/fcitx-utils/key.cpp:189 +#: src/lib/fcitx-utils/key.cpp:154 msgctxt "Key name" msgid "Task Panel" msgstr "工作列" -#: src/lib/fcitx/globalconfig.cpp:45 +#: src/lib/fcitx/globalconfig.cpp:43 msgid "Temporally switch between first and current Input Method" msgstr "臨時在第一個與當前輸入法中切換" -#: src/lib/fcitx-utils/key.cpp:190 +#: src/lib/fcitx-utils/key.cpp:155 msgctxt "Key name" msgid "Terminal" msgstr "終端機" -#: data/fcitx5-diagnose.sh:1786 -#, sh-format -msgid "" -"The environment variable checked by this script only shows the environment " -"under current shell. It is still possible that you did not set the " -"environment to the whole graphic desktop session. You may inspect the actual " -"environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/" -"environ` for a certain process that you find not working." -msgstr "" -"本腳本所檢查之環境變數僅包含目前殼層的環境。仍可能出現您並未將環境套用至整個" -"圖形桌面。您可以對某個無法正常工作的行程執行 `xargs -0 -L1 /proc/$PID/" -"environ` 以檢查其實際環境變數。" - -#: src/modules/imselector/imselector.h:45 -#: src/modules/imselector/imselector.h:55 +#: src/modules/imselector/imselector.h:40 +#: src/modules/imselector/imselector.h:50 msgid "The n-th hotkey in the list selects the n-th input method." msgstr "列表中第 n 個快速鍵選擇第 n 個輸入法。" -#: data/fcitx5-diagnose.sh:895 +#: data/fcitx5-diagnose.sh:878 msgid "The script is run as ${1} (${2})." msgstr "此腳本以 ${1} (${2}) 執行。" -#: src/ui/classic/classicui.h:152 +#: src/ui/classic/classicui.h:142 msgid "Theme" msgstr "主題" -#: src/ui/classic/classicui.h:98 +#: src/ui/classic/classicui.h:86 msgid "This is only effective when the tray icon is xembed." msgstr "這只在托盤圖示為 xembed 時有效。" -#: src/ui/classic/theme.h:91 src/ui/classic/theme.h:99 +#: src/ui/classic/theme.h:58 src/ui/classic/theme.h:66 msgid "This option is only effective if image is not set." msgstr "此選項僅在圖片沒有設定時有效。" -#: src/ui/classic/classicui.h:191 -msgid "This option require support from wayland compositor." -msgstr "此選項需要 Wayland 混成器 (Wayland compositor) 支援。" - -#: src/ui/classic/classicui.h:170 -msgid "This option will be always disabled on XWayland." -msgstr "在 XWayland 上,此選項將始終被禁用。" - -#: src/ui/classic/theme.h:107 +#: src/ui/classic/theme.h:74 msgid "This value should be less than any of margin value." msgstr "這個值應該小於任何邊距值。" -#: data/fcitx5-diagnose.sh:1805 +#: data/fcitx5-diagnose.sh:1822 msgid "" "Though such information can be helpful to developers for diagnostic purpose, " "please double check and remove as necessary before posting it online " @@ -2603,127 +2175,121 @@ msgstr "" "儘管這些訊息對開發人員的診斷有幫助,但在公開發佈到網上之前,請仔細檢查並根據" "需要刪除信息。" -#: src/lib/fcitx-utils/key.cpp:212 +#: src/lib/fcitx-utils/key.cpp:177 msgctxt "Key name" msgid "Time" msgstr "時間" -#: data/fcitx5-diagnose.sh:750 +#: data/fcitx5-diagnose.sh:733 #, sh-format msgid "" "To see some application specific problems you may have when using xim, check " "${link1}. For other more general problems of using XIM including application " "freezing, see ${link2}." msgstr "" -"若要查看您在使用 xim 時,一些應用程式的特定問題,請檢查 ${link1}。使用 XIM 的" -"其他一般性的問題包括應用程式凍結,請參閱 ${link2}。" -#: src/lib/fcitx/globalconfig.cpp:133 +#: src/lib/fcitx/globalconfig.cpp:131 msgid "Toggle embedded preedit" msgstr "切換內嵌預編輯區域" -#: src/lib/fcitx-utils/key.cpp:191 +#: src/lib/fcitx-utils/key.cpp:156 msgctxt "Key name" msgid "Tools" msgstr "工具" -#: src/ui/classic/theme.h:46 -msgid "Top" -msgstr "頂部" - -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Center" msgstr "頂部居中" -#: src/ui/classic/theme.h:33 +#: src/ui/classic/theme.h:31 msgid "Top Left" msgstr "左上" -#: src/lib/fcitx-utils/key.cpp:215 +#: src/lib/fcitx-utils/key.cpp:180 msgctxt "Key name" msgid "Top Menu" msgstr "頂部選單" -#: src/ui/classic/theme.h:34 +#: src/ui/classic/theme.h:32 msgid "Top Right" msgstr "右上" -#: src/lib/fcitx-utils/key.cpp:268 +#: src/lib/fcitx-utils/key.cpp:233 msgctxt "Key name" msgid "Touchpad Off" msgstr "關閉觸控板" -#: src/lib/fcitx-utils/key.cpp:267 +#: src/lib/fcitx-utils/key.cpp:232 msgctxt "Key name" msgid "Touchpad On" msgstr "啟用觸控板" -#: src/lib/fcitx-utils/key.cpp:266 +#: src/lib/fcitx-utils/key.cpp:231 msgctxt "Key name" msgid "Touchpad Toggle" msgstr "切換觸控板" -#: src/lib/fcitx-utils/key.cpp:244 +#: src/lib/fcitx-utils/key.cpp:209 msgctxt "Key name" msgid "Touroku" msgstr "登錄" -#: src/lib/fcitx-utils/key.cpp:192 +#: src/lib/fcitx-utils/key.cpp:157 msgctxt "Key name" msgid "Travel" msgstr "旅行" -#: src/ui/classic/classicui.h:121 +#: src/ui/classic/classicui.h:111 msgid "Tray Font" msgstr "托盤字體" -#: src/ui/classic/classicui.h:123 +#: src/ui/classic/classicui.h:113 msgid "Tray Label Outline Color" msgstr "托盤標簽輪廓顏色" -#: src/ui/classic/classicui.h:126 +#: src/ui/classic/classicui.h:116 msgid "Tray Label Text Color" msgstr "托盤標簽文字顏色" -#: src/lib/fcitx/globalconfig.cpp:35 +#: src/lib/fcitx/globalconfig.cpp:33 msgid "Trigger Input Method" msgstr "切換啟用或非啟用輸入法" -#: src/modules/imselector/imselector.h:28 -#: src/modules/quickphrase/quickphrase.h:33 src/modules/unicode/unicode.h:28 -#: src/modules/clipboard/clipboard.h:48 +#: src/modules/imselector/imselector.h:25 +#: src/modules/quickphrase/quickphrase.h:36 src/modules/unicode/unicode.h:31 +#: src/modules/clipboard/clipboard.h:42 msgid "Trigger Key" msgstr "觸發鍵" -#: src/modules/imselector/imselector.h:34 +#: src/modules/imselector/imselector.h:29 msgid "Trigger Key for only current input context" msgstr "只針對當前輸入環境的觸發鍵" -#: src/im/keyboard/keyboard.h:60 +#: src/im/keyboard/keyboard.h:62 msgid "Trigger hint mode" msgstr "切換提示模式" -#: src/im/keyboard/keyboard.h:65 +#: src/im/keyboard/keyboard.h:67 msgid "Trigger hint mode for one time" msgstr "一次性觸發提示模式" -#: src/im/keyboard/keyboard.h:80 +#: src/im/keyboard/keyboard.h:82 msgid "Type special characters with long press" msgstr "使用長按來輸入特殊字元" -#: src/modules/unicode/unicode.h:33 +#: src/modules/unicode/unicode.h:36 msgid "Type unicode in Hex number" -msgstr "使用十六進制數值來輸入 Unicode 字符" +msgstr "" -#: data/org.fcitx.Fcitx5.metainfo.xml.in:26 +#: data/org.fcitx.Fcitx5.metainfo.xml.in:20 msgid "Typing with Fcitx and Kimpanel" msgstr "使用 Fcitx 和 Kimpanel 輸入" -#: data/fcitx5-diagnose.sh:1011 +#: data/fcitx5-diagnose.sh:994 msgid "Unable to find a program to check dbus." msgstr "找不到程式檢查 dbus。" -#: src/lib/fcitx-utils/key.cpp:226 +#: src/lib/fcitx-utils/key.cpp:191 msgctxt "Key name" msgid "Undo" msgstr "復原" @@ -2732,7 +2298,7 @@ msgstr "復原" msgid "Unicode" msgstr "Unicode" -#: src/modules/unicode/unicode.cpp:455 +#: src/modules/unicode/unicode.cpp:457 msgid "Unicode: " msgstr "Unicode:" @@ -2741,97 +2307,86 @@ msgctxt "Key name" msgid "Up" msgstr "上" -#: src/frontend/xim/xim.h:27 +#: src/frontend/xim/xim.h:33 msgid "Use On The Spot Style (Needs restarting)" msgstr "使用 On The Spot 風格 (需要重新啟動)" -#: src/ui/classic/classicui.h:166 -msgid "Use Per Screen DPI on X11" -msgstr "在 X11 上對不同螢幕使用單獨的 DPI" +#: src/ui/classic/classicui.h:100 +msgid "Use Per Screen DPI" +msgstr "依每個螢幕的 DPI 使用" -#: src/ui/classic/theme.h:149 +#: src/ui/classic/theme.h:111 msgid "Use all horizontal space for highlight when it is vertical list" msgstr "當它是垂直列表時,使用所有橫向空間高亮顯示" -#: src/ui/classic/classicui.h:143 +#: src/ui/classic/classicui.h:133 msgid "Use input method language to display text" msgstr "使用輸入法語言來顯示文字" -#: src/ui/classic/classicui.h:113 +#: src/ui/classic/classicui.h:103 msgid "Use mouse wheel to go to prev or next page" msgstr "使用滑鼠滾輪到上一頁或下一頁" -#: src/im/keyboard/keyboard.h:71 +#: src/im/keyboard/keyboard.h:73 msgid "Use new compose behavior" -msgstr "使用新的撰寫行為" +msgstr "" -#: data/fcitx5-diagnose.sh:1677 +#: data/fcitx5-diagnose.sh:1695 msgid "User Interface:" msgstr "使用者介面:" -#: data/fcitx5-diagnose.sh:986 +#: data/fcitx5-diagnose.sh:969 msgid "Using ${1} to check dbus." msgstr "使用 ${1}檢查 dbus。" -#: data/fcitx5-diagnose.sh:256 -msgid "" -"Using ${1} to check the actual im module to be used under current " -"environment:" -msgstr "使用 ${1} 檢查目前環境下將被實際使用的輸入法模塊:" - -#: src/ui/classic/theme.h:190 +#: src/ui/classic/theme.h:153 msgid "Version" msgstr "版本" -#: data/fcitx5-diagnose.sh:1405 data/fcitx5-diagnose.sh:1489 +#: data/fcitx5-diagnose.sh:1384 data/fcitx5-diagnose.sh:1468 msgid "Version Line:" msgstr "版本行:" -#: src/ui/classic/classicui.h:111 +#: src/ui/classic/classicui.h:99 msgid "Vertical Candidate List" msgstr "垂直候選字列表" -#: src/lib/fcitx-utils/key.cpp:193 +#: src/lib/fcitx-utils/key.cpp:158 msgctxt "Key name" msgid "Video" msgstr "影片" -#: src/lib/fcitx-utils/key.cpp:214 +#: src/lib/fcitx-utils/key.cpp:179 msgctxt "Key name" msgid "View" msgstr "檢視" -#: src/lib/fcitx-utils/key.cpp:269 -msgctxt "Key name" -msgid "Void Symbol" -msgstr "空符號" - -#: src/lib/fcitx-utils/key.cpp:97 +#: src/lib/fcitx-utils/key.cpp:62 msgctxt "Key name" msgid "Volume Down" msgstr "音量降低" -#: src/lib/fcitx-utils/key.cpp:98 +#: src/lib/fcitx-utils/key.cpp:63 msgctxt "Key name" msgid "Volume Mute" msgstr "靜音" -#: src/lib/fcitx-utils/key.cpp:99 +#: src/lib/fcitx-utils/key.cpp:64 msgctxt "Key name" msgid "Volume Up" msgstr "音量提高" -#: src/lib/fcitx-utils/key.cpp:139 +#: src/lib/fcitx-utils/key.cpp:104 msgctxt "Key name" msgid "WWW" msgstr "全球資訊網 (WWW)" -#: src/lib/fcitx-utils/key.cpp:136 +#: src/lib/fcitx-utils/key.cpp:101 msgctxt "Key name" msgid "Wake Up" msgstr "喚醒" -#: data/fcitx5-diagnose.sh:1804 +#: data/fcitx5-diagnose.sh:1821 msgid "" "Warning: the output of fcitx5-diagnose contains sensitive information, " "including the distribution name, kernel version, name of currently running " @@ -2844,45 +2399,32 @@ msgstr "" msgid "Wayland" msgstr "Wayland" -#: src/modules/wayland/waylandmodule.cpp:588 -msgid "Wayland Diagnose" -msgstr "Wayland 診斷" - #: src/frontend/waylandim/waylandim.conf.in.in:3 msgid "Wayland Input method frontend" msgstr "Wayland 輸入法前端" -#: src/lib/fcitx-utils/key.cpp:200 +#: src/lib/fcitx-utils/key.cpp:165 msgctxt "Key name" msgid "WebCam" msgstr "網路攝影機" -#: src/modules/clipboard/clipboard.h:65 -msgid "" -"When copying password from a password manager, if the password manager " -"supports marking the clipboard content as password, this clipboard update " -"will be ignored." -msgstr "如果密碼管理工具支持,那麼剪貼簿會忽略從密碼管理工具複製的密碼。" - -#: src/lib/fcitx/globalconfig.cpp:177 +#: src/lib/fcitx/globalconfig.cpp:169 msgid "" "Whether to override the xkb option from display server. It will not affect " "the xkb option send to display, but just the xkb options for custom xkb " "layout." msgstr "" -"是否覆蓋來自顯示伺服器的 Xkb 選項。它不會影響發送給顯示服務的 Xkb 選項,僅會" -"影響自定義的 Xkb 佈局" -#: data/fcitx5-diagnose.sh:926 +#: data/fcitx5-diagnose.sh:909 msgid "Why is it bad to run as root" msgstr "以 root 執行是不好的原因" -#: src/lib/fcitx-utils/key.cpp:206 +#: src/lib/fcitx-utils/key.cpp:171 msgctxt "Key name" msgid "Wireless" msgstr "無線" -#: src/lib/fcitx-utils/key.cpp:194 +#: src/lib/fcitx-utils/key.cpp:159 msgctxt "Key name" msgid "Word Processor" msgstr "文書處理器" @@ -2895,75 +2437,72 @@ msgstr "X 輸入法前端" msgid "XCB" msgstr "XCB" -#: data/fcitx5-diagnose.sh:825 +#: data/fcitx5-diagnose.sh:808 msgid "XDG SESSION TYPE:" msgstr "XDG 會話類型:" -#: src/lib/fcitx-utils/key.cpp:195 +#: src/lib/fcitx-utils/key.cpp:160 msgctxt "Key name" msgid "XFer" msgstr "XFer" -#: data/fcitx5-diagnose.sh:1188 +#: data/fcitx5-diagnose.sh:1171 msgid "XIM encoding:" msgstr "XIM 編碼:" -#: data/fcitx5-diagnose.sh:1183 +#: data/fcitx5-diagnose.sh:1166 msgid "XIM for Emacs:" msgstr "用於 Emacs 的 XIM:" -#: data/fcitx5-diagnose.sh:1159 +#: data/fcitx5-diagnose.sh:1142 msgid "XIM_SERVERS on root window:" msgstr "在根視窗的 XIM_SERVERS:" -#: data/fcitx5-diagnose.sh:1136 +#: data/fcitx5-diagnose.sh:1119 msgid "XMODIFIERS is not set" msgstr "XMODIFIERS 未設定" -#: data/fcitx5-diagnose.sh:1157 +#: data/fcitx5-diagnose.sh:1140 msgid "Xim Server Name from Environment variable is ${1}." msgstr "從環境變數中取得的 Xim 伺服器名稱為 ${1}。" -#: data/fcitx5-diagnose.sh:1169 +#: data/fcitx5-diagnose.sh:1152 msgid "Xim server name is the same with that set in the environment variable." msgstr "Xim 伺服器名稱與環境變數中設定的名稱相同。" -#: data/fcitx5-diagnose.sh:1171 +#: data/fcitx5-diagnose.sh:1154 msgid "" "Xim server name: \"${1}\" is different from that set in the environment " "variable: \"${2}\"." -msgstr "xim 伺服器名稱:\"${1}\" 與環境變量中設置的不同:\"${2}\"。" +msgstr "" -#: src/lib/fcitx-utils/key.cpp:221 +#: src/lib/fcitx-utils/key.cpp:186 msgctxt "Key name" msgid "Yellow" msgstr "黃色" -#: data/fcitx5-diagnose.sh:924 +#: data/fcitx5-diagnose.sh:907 msgid "" "You are probably logging in as ${1} or using ${2} to run this script. This " "either means you have security problems or the result of this script may not " "be accurate. See ${3} or ${4} for more information." msgstr "" -"您可能正登入為 ${1} 或以 ${2} 執行這個腳本。這可能表示有安全問題或是此腳本的" -"結果不準確。詳情請參照 ${3} 或 ${4}。" -#: data/fcitx5-diagnose.sh:919 +#: data/fcitx5-diagnose.sh:902 msgid "" "You are probably using ${1} to run this script. This means the result of " "this script may not be accurate. See ${2} for more information." msgstr "" -"您可能正以 ${1} 執行這個腳本。這表示此腳本的結果可能不準確。詳情請參照 ${2}。" -#: data/fcitx5-diagnose.sh:1213 +#: data/fcitx5-diagnose.sh:1196 msgid "You are using xim in ${1} programs." msgstr "您正在 ${1}程式中使用 xim。" -#: data/fcitx5-diagnose.sh:1218 +#: data/fcitx5-diagnose.sh:1201 msgid "You may have trouble using fcitx in ${1} programs." msgstr "您可能會在 ${1}程式中使用 fcitx 時遇到問題。" -#: data/fcitx5-configtool.sh:137 +#: data/fcitx5-configtool.sh:134 msgid "" "You're currently running Fcitx with GUI, but fcitx5-config-qt couldn't be " "found. Now it will open config directory." @@ -2971,7 +2510,7 @@ msgstr "" "您目前在圖形介面執行 Fcitx,但是找不到 fcitx5-config-qt。現在它將打開設定目" "錄。" -#: data/fcitx5-configtool.sh:134 +#: data/fcitx5-configtool.sh:131 msgid "" "You're currently running KDE, but KCModule for fcitx couldn't be found, the " "package name of this KCModule is usually kcm-fcitx or kde-config-fcitx. Now " @@ -2980,79 +2519,72 @@ msgstr "" "您正在執行 KDE,但是找不到 fcitx 的 KCModule,此 KCModule 的套件名稱通常是 " "kcm-fcitx 或 kde-config-fcitx。現在將打開設定目錄。" -#: data/fcitx5-diagnose.sh:1185 +#: data/fcitx5-diagnose.sh:1168 msgid "" "Your LC_CTYPE is set to ${1} instead of one of zh, ja, ko. You may not be " "able to use input method in emacs because of an really old emacs bug that " "upstream refuse to fix for years." msgstr "" -"您的 LC_CTYPE 設定為 ${1} 而不是 zh, ja, ko 其中之一。您可能無法在 Emacs 中使" -"用輸入法,原因是上游多年來拒絕修復的一個古老 bug。" -#: data/fcitx5-diagnose.sh:1190 +#: data/fcitx5-diagnose.sh:1173 msgid "" "Your LC_CTYPE is set to ${1} whose encoding is not UTF-8. You may have " "trouble committing strings using XIM." msgstr "" -"您的 LC_CTYPE 設定為 ${1},它的編碼不是 UTF-8。您可能會在使用 XIM 提交字串時" -"遇到問題。" -#: src/lib/fcitx-utils/key.cpp:241 +#: src/lib/fcitx-utils/key.cpp:206 msgctxt "Key name" msgid "Zenkaku" msgstr "全形" -#: src/lib/fcitx-utils/key.cpp:243 +#: src/lib/fcitx-utils/key.cpp:208 msgctxt "Key name" msgid "Zenkaku Hankaku" msgstr "全形半形" -#: src/lib/fcitx-utils/key.cpp:196 +#: src/lib/fcitx-utils/key.cpp:161 msgctxt "Key name" msgid "Zoom In" msgstr "放大" -#: src/lib/fcitx-utils/key.cpp:197 +#: src/lib/fcitx-utils/key.cpp:162 msgctxt "Key name" msgid "Zoom Out" msgstr "縮小" -#: data/fcitx5-diagnose.sh:936 +#: data/fcitx5-diagnose.sh:919 msgid "executable:" msgstr "可執行檔:" -#: data/fcitx5-diagnose.sh:757 +#: data/fcitx5-diagnose.sh:740 msgid "here" msgstr "這裡" -#: src/lib/fcitx-utils/key.cpp:167 +#: src/lib/fcitx-utils/key.cpp:132 msgctxt "Key name" msgid "iTouch" msgstr "iTouch" -#: data/fcitx5-diagnose.sh:950 +#: data/fcitx5-diagnose.sh:933 msgid "process:" msgstr "處理程序:" -#: data/fcitx5-diagnose.sh:921 data/fcitx5-diagnose.sh:927 +#: data/fcitx5-diagnose.sh:904 data/fcitx5-diagnose.sh:910 msgid "sudo environment variables" msgstr "sudo 的環境變數" -#: data/fcitx5-diagnose.sh:946 +#: data/fcitx5-diagnose.sh:929 msgid "version:" msgstr "版本:" -#: src/im/keyboard/keyboard.cpp:285 -#, c++-format +#: src/im/keyboard/keyboard.cpp:265 msgid "{0} (Not Available)" msgstr "{0} (無法使用)" -#: src/lib/fcitx/instance.cpp:411 -#, c++-format +#: src/lib/fcitx/instance.cpp:402 msgid "{0} (Not available)" msgstr "{0}(不可用)" -#: src/lib/fcitx/instance.cpp:408 -#, c++-format +#: src/lib/fcitx/instance.cpp:399 msgid "{0} ({1})" msgstr "{0} ({1})" diff --git a/src/frontend/CMakeLists.txt b/src/frontend/CMakeLists.txt index 74497d8a..2e678524 100644 --- a/src/frontend/CMakeLists.txt +++ b/src/frontend/CMakeLists.txt @@ -1,6 +1,4 @@ -if (ENABLE_X11) - add_subdirectory(xim) -endif() +add_subdirectory(xim) if (WAYLAND_FOUND) add_subdirectory(waylandim) diff --git a/src/frontend/dbusfrontend/dbusfrontend.cpp b/src/frontend/dbusfrontend/dbusfrontend.cpp index 20c04fff..eb96449c 100644 --- a/src/frontend/dbusfrontend/dbusfrontend.cpp +++ b/src/frontend/dbusfrontend/dbusfrontend.cpp @@ -27,12 +27,7 @@ namespace fcitx { namespace { -enum { - BATCHED_COMMIT_STRING = 0, - BATCHED_PREEDIT, - BATCHED_FORWARD_KEY, - BATCHED_DELETE_SURROUNDING -}; +enum { BATCHED_COMMIT_STRING = 0, BATCHED_PREEDIT, BATCHED_FORWARD_KEY }; using DBusBlockedEvent = dbus::DBusStruct; @@ -62,15 +57,6 @@ buildFormattedTextVector(const Text &text) { return vector; } -std::string -getArgument(const std::unordered_map &args, - const std::string &name, const std::string &defaultValue = "") { - if (auto *value = findValue(args, name)) { - return *value; - } - return defaultValue; -} - } // namespace class InputMethod1 : public dbus::ObjectVTable { @@ -105,9 +91,8 @@ class DBusInputContext1 : public InputContext, public dbus::ObjectVTable { public: DBusInputContext1(int id, InputContextManager &icManager, InputMethod1 *im, - const std::string &sender, - const std::unordered_map &args) - : InputContext(icManager, getArgument(args, "program")), + const std::string &sender, const std::string &program) + : InputContext(icManager, program), path_("/org/freedesktop/portal/inputcontext/" + std::to_string(id)), im_(im), handler_(im_->serviceWatcher().watchService( sender, @@ -126,26 +111,7 @@ class DBusInputContext1 : public InputContext, } return method(std::move(message)); }); - - setClientControlVirtualkeyboardShow( - getArgument(args, "clientControlVirtualkeyboardShow", "false") == - "true"); - setClientControlVirtualkeyboardHide( - getArgument(args, "clientControlVirtualkeyboardHide", "false") == - "true"); created(); - - setFocusGroup( - im->instance()->defaultFocusGroup(getArgument(args, "display"))); - - vkVisibilityChanged_ = im_->instance()->watchEvent( - EventType::VirtualKeyboardVisibilityChanged, - EventWatcherPhase::PreInputMethod, [this](Event &) { - virtualKeyboardVisibilityChangedTo( - name_, im_->instance() - ->userInterfaceManager() - .isVirtualKeyboardVisible()); - }); } ~DBusInputContext1() { InputContext::destroy(); } @@ -184,20 +150,15 @@ class DBusInputContext1 : public InputContext, } void deleteSurroundingTextImpl(int offset, unsigned int size) override { - if (blocked_) { - blockedEvents_.emplace_back( - BATCHED_DELETE_SURROUNDING, - dbus::DBusStruct(offset, size)); - } else { - deleteSurroundingTextDBusTo(name_, offset, size); - } + deleteSurroundingTextDBusTo(name_, offset, size); } void updateClientSideUIImpl() override { - auto instance = im_->instance(); - auto preedit = instance->outputFilter(this, inputPanel().preedit()); - auto auxUp = instance->outputFilter(this, inputPanel().auxUp()); - auto auxDown = instance->outputFilter(this, inputPanel().auxDown()); + auto preedit = + im_->instance()->outputFilter(this, inputPanel().preedit()); + auto auxUp = im_->instance()->outputFilter(this, inputPanel().auxUp()); + auto auxDown = + im_->instance()->outputFilter(this, inputPanel().auxDown()); auto candidateList = inputPanel().candidateList(); int cursorIndex = 0; @@ -219,9 +180,9 @@ class DBusInputContext1 : public InputContext, Text labelText = candidate.hasCustomLabel() ? candidate.customLabel() : candidateList->label(i); - labelText = instance->outputFilter(this, labelText); + labelText = im_->instance()->outputFilter(this, labelText); Text candidateText = - instance->outputFilter(this, candidate.textWithComment()); + im_->instance()->outputFilter(this, candidate.text()); candidates.emplace_back(std::make_tuple( labelText.toString(), candidateText.toString())); } @@ -397,28 +358,6 @@ class DBusInputContext1 : public InputContext, invokeAction(event); } - bool isVirtualKeyboardVisibleDBus() const { - CHECK_SENDER_OR_RETURN false; - - return isVirtualKeyboardVisible(); - } - - void showVirtualKeyboardDBus() { - CHECK_SENDER_OR_RETURN; - - if (!hasFocus()) { - focusIn(); - } - - showVirtualKeyboard(); - } - - void hideVirtualKeyboardDBus() const { - CHECK_SENDER_OR_RETURN; - - hideVirtualKeyboard(); - } - void setBlocked() { assert(!blocked_); blocked_ = true; @@ -430,8 +369,6 @@ class DBusInputContext1 : public InputContext, blockedEvents_.clear(); } - void sendFocusOut() { notifyFocusOutTo(name_); } - private: FCITX_OBJECT_VTABLE_METHOD(focusInDBus, "FocusIn", "", ""); FCITX_OBJECT_VTABLE_METHOD(focusOutDBus, "FocusOut", "", ""); @@ -457,13 +394,6 @@ class DBusInputContext1 : public InputContext, FCITX_OBJECT_VTABLE_METHOD(selectCandidate, "SelectCandidate", "i", ""); FCITX_OBJECT_VTABLE_METHOD(invokeActionDBus, "InvokeAction", "ui", ""); - FCITX_OBJECT_VTABLE_METHOD(isVirtualKeyboardVisibleDBus, - "IsVirtualKeyboardVisible", "", "b"); - FCITX_OBJECT_VTABLE_METHOD(showVirtualKeyboardDBus, "ShowVirtualKeyboard", - "", ""); - FCITX_OBJECT_VTABLE_METHOD(hideVirtualKeyboardDBus, "HideVirtualKeyboard", - "", ""); - FCITX_OBJECT_VTABLE_SIGNAL(commitStringDBus, "CommitString", "s"); FCITX_OBJECT_VTABLE_SIGNAL(currentIM, "CurrentIM", "sss"); FCITX_OBJECT_VTABLE_SIGNAL(updateFormattedPreedit, "UpdateFormattedPreedit", @@ -481,10 +411,6 @@ class DBusInputContext1 : public InputContext, FCITX_OBJECT_VTABLE_SIGNAL(updateClientSideUI, "UpdateClientSideUI", "a(si)ia(si)a(si)a(ss)iibb"); FCITX_OBJECT_VTABLE_SIGNAL(forwardKeyDBus, "ForwardKey", "uub"); - FCITX_OBJECT_VTABLE_SIGNAL(notifyFocusOut, "NotifyFocusOut", ""); - - FCITX_OBJECT_VTABLE_SIGNAL(virtualKeyboardVisibilityChanged, - "VirtualKeyboardVisibilityChanged", "b"); dbus::ObjectPath path_; InputMethod1 *im_; @@ -494,7 +420,6 @@ class DBusInputContext1 : public InputContext, std::optional supportedCapability_; bool blocked_ = false; std::vector blockedEvents_; - std::unique_ptr> vkVisibilityChanged_; }; std::tuple> @@ -505,11 +430,19 @@ InputMethod1::createInputContext( const auto &[key, value] = p.data(); strMap[key] = value; } + std::string program; + auto iter = strMap.find("program"); + if (iter != strMap.end()) { + program = iter->second; + } + + std::string *display = findValue(strMap, "display"); auto sender = currentMessage()->sender(); auto *ic = new DBusInputContext1(module_->nextIcIdx(), instance_->inputContextManager(), this, - sender, strMap); + sender, program); + ic->setFocusGroup(instance_->defaultFocusGroup(display ? *display : "")); bus_->addObjectVTable(ic->path().path(), FCITX_INPUTCONTEXT_DBUS_INTERFACE, *ic); @@ -564,7 +497,7 @@ DBusFrontendModule::DBusFrontendModule(Instance *instance) [this](Event &event) { auto &activated = static_cast(event); auto *ic = activated.inputContext(); - if (ic->frontendName() == "dbus") { + if (strcmp(ic->frontend(), "dbus") == 0) { if (const auto *entry = instance_->inputMethodManager().entry( activated.name())) { static_cast(ic)->updateIM(entry); @@ -574,24 +507,12 @@ DBusFrontendModule::DBusFrontendModule(Instance *instance) events_.emplace_back(instance_->watchEvent( EventType::UIChanged, EventWatcherPhase::Default, [this](Event &) { instance_->inputContextManager().foreach([](InputContext *ic) { - if (ic->frontendName() == "dbus") { + if (strcmp(ic->frontend(), "dbus") == 0) { static_cast(ic)->updateCapability(); } return true; }); })); - events_.emplace_back(instance_->watchEvent( - EventType::InputContextFocusOut, EventWatcherPhase::PreInputMethod, - [](Event &event) { - // Right now we do this regardless of it's coming from client or - // server. We may want to save some dbus message if we can - // distinguish between two different type of focus out event. - auto &focusOut = static_cast(event); - InputContext *ic = focusOut.inputContext(); - if (ic->frontendName() == "dbus") { - static_cast(ic)->sendFocusOut(); - } - })); } DBusFrontendModule::~DBusFrontendModule() { diff --git a/src/frontend/dbusfrontend/dbusfrontend.h b/src/frontend/dbusfrontend/dbusfrontend.h index 365a3fc0..6c5b57df 100644 --- a/src/frontend/dbusfrontend/dbusfrontend.h +++ b/src/frontend/dbusfrontend/dbusfrontend.h @@ -8,13 +8,17 @@ #define _FCITX_FRONTEND_DBUSFRONTEND_DBUSFRONTEND_H_ #include "fcitx-utils/dbus/servicewatcher.h" +#include "fcitx-utils/event.h" #include "fcitx/addonfactory.h" #include "fcitx/addoninstance.h" #include "fcitx/addonmanager.h" +#include "fcitx/focusgroup.h" #include "fcitx/instance.h" namespace fcitx { +class AddonInstance; +class Instance; class InputMethod1; class DBusFrontendModule : public AddonInstance { diff --git a/src/frontend/fcitx4frontend/fcitx4frontend.cpp b/src/frontend/fcitx4frontend/fcitx4frontend.cpp index e1b48947..c9a4ce77 100644 --- a/src/frontend/fcitx4frontend/fcitx4frontend.cpp +++ b/src/frontend/fcitx4frontend/fcitx4frontend.cpp @@ -6,15 +6,16 @@ */ #include "fcitx4frontend.h" +#include #include "fcitx-utils/dbus/message.h" #include "fcitx-utils/dbus/objectvtable.h" #include "fcitx-utils/dbus/servicewatcher.h" +#include "fcitx-utils/log.h" #include "fcitx-utils/metastring.h" #include "fcitx-utils/standardpath.h" #include "fcitx/inputcontext.h" #include "fcitx/inputmethodentry.h" #include "fcitx/inputmethodmanager.h" -#include "fcitx/inputpanel.h" #include "fcitx/instance.h" #include "fcitx/misc_p.h" #include "dbus_public.h" @@ -101,7 +102,7 @@ class Fcitx4InputMethod : public dbus::ObjectVTable { } } - ~Fcitx4InputMethod() override { + ~Fcitx4InputMethod() { if (!pathWrote_.empty()) { unlink(pathWrote_.data()); } @@ -144,7 +145,7 @@ class Fcitx4InputContext : public InputContext, created(); } - ~Fcitx4InputContext() override { InputContext::destroy(); } + ~Fcitx4InputContext() { InputContext::destroy(); } const char *frontend() const override { return "fcitx4"; } @@ -337,7 +338,7 @@ Fcitx4FrontendModule::Fcitx4FrontendModule(Instance *instance) [this](Event &event) { auto &activated = static_cast(event); auto *ic = activated.inputContext(); - if (ic->frontendName() == "fcitx4") { + if (strcmp(ic->frontend(), "fcitx4") == 0) { if (const auto *entry = instance_->inputMethodManager().entry( activated.name())) { static_cast(ic)->updateIM(entry); diff --git a/src/frontend/fcitx4frontend/fcitx4frontend.h b/src/frontend/fcitx4frontend/fcitx4frontend.h index b4a001c3..de945f9c 100644 --- a/src/frontend/fcitx4frontend/fcitx4frontend.h +++ b/src/frontend/fcitx4frontend/fcitx4frontend.h @@ -9,9 +9,11 @@ #define _FCITX5_FRONTEND_FCITX4FRONTEND_FCITX4FRONTEND_H_ #include "fcitx-utils/dbus/servicewatcher.h" +#include "fcitx-utils/event.h" #include "fcitx/addonfactory.h" #include "fcitx/addoninstance.h" #include "fcitx/addonmanager.h" +#include "fcitx/focusgroup.h" #include "fcitx/instance.h" #include "config.h" @@ -21,6 +23,8 @@ namespace fcitx { +class AddonInstance; +class Instance; class Fcitx4InputMethod; class Fcitx4FrontendModule : public AddonInstance { diff --git a/src/frontend/ibusfrontend/ibusfrontend.cpp b/src/frontend/ibusfrontend/ibusfrontend.cpp index 22bc4335..27082d71 100644 --- a/src/frontend/ibusfrontend/ibusfrontend.cpp +++ b/src/frontend/ibusfrontend/ibusfrontend.cpp @@ -7,50 +7,25 @@ #include "ibusfrontend.h" #include +#include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include #include #include "fcitx-config/iniparser.h" -#include "fcitx-config/rawconfig.h" -#include "fcitx-utils/capabilityflags.h" -#include "fcitx-utils/dbus/bus.h" #include "fcitx-utils/dbus/message.h" #include "fcitx-utils/dbus/objectvtable.h" #include "fcitx-utils/dbus/servicewatcher.h" #include "fcitx-utils/dbus/variant.h" -#include "fcitx-utils/event.h" -#include "fcitx-utils/flags.h" -#include "fcitx-utils/handlertable.h" -#include "fcitx-utils/key.h" #include "fcitx-utils/log.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/misc.h" -#include "fcitx-utils/rect.h" +#include "fcitx-utils/metastring.h" #include "fcitx-utils/standardpath.h" #include "fcitx-utils/stringutils.h" -#include "fcitx-utils/textformatflags.h" #include "fcitx-utils/utf8.h" #include "fcitx-utils/uuid_p.h" -#include "fcitx/addonfactory.h" -#include "fcitx/addoninstance.h" -#include "fcitx/event.h" #include "fcitx/inputcontext.h" -#include "fcitx/inputpanel.h" #include "fcitx/instance.h" #include "fcitx/misc_p.h" #include "dbus_public.h" @@ -71,6 +46,11 @@ namespace fcitx { namespace { +bool isInFlatpak() { + static bool inFlatpak = fs::isreg("/.flatpak-info"); + return inFlatpak; +} + std::string getSocketPath(bool isWayland) { auto *path = getenv("IBUS_ADDRESS_FILE"); if (path) { @@ -114,10 +94,9 @@ std::string getSocketPath(bool isWayland) { hostname, "-", displaynumber)); } -std::string getFullSocketPath(const StandardPath &standardPath, - bool isWayland) { +std::string getFullSocketPath(bool isWayland) { return stringutils::joinPath( - standardPath.userDirectory(StandardPath::Type::Config), + StandardPath::global().userDirectory(StandardPath::Type::Config), getSocketPath(isWayland)); } @@ -156,8 +135,8 @@ std::pair getAddress(const std::string &socketPath) { } pid_t runIBusExit() { - pid_t child_pid = fork(); - if (child_pid == -1) { + pid_t child_pid; + if ((child_pid = fork()) == -1) { perror("fork"); return -1; } @@ -267,6 +246,11 @@ class IBusInputContext : public InputContext, } })), name_(sender) { + processKeyEventMethod.setClosureFunction( + [this](dbus::Message message, const dbus::ObjectMethod &method) { + InputContextEventBlocker blocker(this); + return method(std::move(message)); + }); im->bus()->addObjectVTable(path().path(), IBUS_INPUTCONTEXT_DBUS_INTERFACE, *this); im->bus()->addObjectVTable(path().path(), IBUS_SERVICE_DBUS_INTERFACE, @@ -274,7 +258,7 @@ class IBusInputContext : public InputContext, created(); } - ~IBusInputContext() override { InputContext::destroy(); } + ~IBusInputContext() { InputContext::destroy(); } const char *frontend() const override { return "ibus"; } @@ -433,11 +417,8 @@ class IBusInputContext : public InputContext, void enable() {} void disable() {} static bool isEnabled() { return true; } - void propertyActivate(const std::string &name, int32_t state) { - FCITX_UNUSED(name); - FCITX_UNUSED(state); - } - void setEngine(const std::string &engine) { FCITX_UNUSED(engine); } + void propertyActivate(const std::string &, int32_t) {} + void setEngine(const std::string &) {} static dbus::Variant getEngine() { return dbus::Variant(0); } void setSurroundingText(const dbus::Variant &text, uint32_t cursor, uint32_t anchor) { @@ -538,7 +519,7 @@ class IBusInputContext : public InputContext, #define CASE_PURPOSE(_PURPOSE, _CAPABILITY) \ case _PURPOSE: \ - flag |= (_CAPABILITY); \ + flag |= _CAPABILITY; \ break; switch (purpose) { @@ -574,8 +555,8 @@ class IBusInputContext : public InputContext, }; #define CHECK_HINTS(_HINTS, _CAPABILITY) \ - if (hints & (_HINTS)) { \ - flag |= (_CAPABILITY); \ + if (hints & _HINTS) { \ + flag |= _CAPABILITY; \ } CHECK_HINTS(GTK_INPUT_HINT_SPELLCHECK, @@ -611,29 +592,12 @@ class IBusInputContext : public InputContext, clientCommitPreedit_ = std::get<0>(value); }), dbus::PropertyOption::Hidden); - FCITX_OBJECT_VTABLE_WRITABLE_PROPERTY( - effectivePostProcessKeyEvent, "EffectivePostProcessKeyEvent", "(b)", - ([this]() -> dbus::DBusStruct { - return {effectivePostProcessKeyEvent_}; - }), - ([this](dbus::DBusStruct value) { - effectivePostProcessKeyEvent_ = std::get<0>(value); - }), - dbus::PropertyOption::Hidden); - FCITX_OBJECT_VTABLE_PROPERTY( - postProcessKeyEvent, "PostProcessKeyEvent", "(a(yv))", - ([]() -> dbus::DBusStruct< - std::vector>> { - return {}; - }), - dbus::PropertyOption::Hidden); dbus::ObjectPath path_; IBusFrontend *im_; std::unique_ptr> handler_; std::string name_; bool clientCommitPreedit_ = false; - bool effectivePostProcessKeyEvent_ = false; IBusService service_{this}; }; @@ -654,13 +618,13 @@ IBusFrontend::createInputContext(const std::string & /* unused */) { return ic->path(); } -std::set allSocketPaths(const StandardPath &standardPath) { +std::set allSocketPaths() { std::set paths; if (isInFlatpak()) { // Flatpak always use DISPLAY=:99, which means we will need to guess // what files are available. - auto map = standardPath.locateWithFilter( - StandardPath::Type::Config, "ibus/bus", + auto map = StandardPath::global().multiOpenFilter( + StandardPath::Type::Config, "ibus/bus", O_RDONLY, [](const std::string &path, const std::string &, bool user) { if (!user) { return false; @@ -669,14 +633,14 @@ std::set allSocketPaths(const StandardPath &standardPath) { }); for (const auto &item : map) { - paths.insert(item.second); + paths.insert(item.second.path()); } // Make the guess that display is 0, it is the most common value that // people would have. if (paths.empty()) { - auto configHome = - standardPath.userDirectory(StandardPath::Type::Config); + auto configHome = StandardPath::global().userDirectory( + StandardPath::Type::Config); if (!configHome.empty()) { paths.insert(stringutils::joinPath( configHome, "ibus/bus", @@ -684,20 +648,20 @@ std::set allSocketPaths(const StandardPath &standardPath) { } } } else { - if (auto path = getFullSocketPath(standardPath, false); !path.empty()) { + if (auto path = getFullSocketPath(false); !path.empty()) { paths.insert(std::move(path)); } } // Also add wayland. - if (auto path = getFullSocketPath(standardPath, true); !path.empty()) { + if (auto path = getFullSocketPath(true); !path.empty()) { paths.insert(std::move(path)); } return paths; } IBusFrontendModule::IBusFrontendModule(Instance *instance) - : instance_(instance), socketPaths_(allSocketPaths(standardPath_)) { + : instance_(instance), socketPaths_(allSocketPaths()) { dbus::VariantTypeRegistry::defaultRegistry().registerType(); dbus::VariantTypeRegistry::defaultRegistry().registerType(); dbus::VariantTypeRegistry::defaultRegistry().registerType(); @@ -731,15 +695,7 @@ IBusFrontendModule::IBusFrontendModule(Instance *instance) FCITX_IBUS_WARN() << "Can not get portal ibus name right now."; } - // Add some delay for the initial check, since xcb may trigger a ibus - // restart on GNOME. - timeEvent_ = instance->eventLoop().addTimeEvent( - CLOCK_MONOTONIC, now(CLOCK_MONOTONIC) + 1000000, 0, - [this](EventSourceTime *, uint64_t) { - replaceIBus(/*recheck=*/true); - return true; - }); - ; + replaceIBus(/*recheck=*/true); } IBusFrontendModule::~IBusFrontendModule() { @@ -747,17 +703,17 @@ IBusFrontendModule::~IBusFrontendModule() { portalBus_->releaseName(IBUS_PORTAL_DBUS_SERVICE); } - if (addressWrote_.empty() || socketPaths_.empty()) { + if (addressWrote_.empty()) { return; } - // Writeback an empty invalid address file. - RawConfig config; - config.setValueByPath("IBUS_ADDRESS", ""); - config.setValueByPath("IBUS_DAEMON_PID", ""); for (const auto &path : socketPaths_) { auto address = getAddress(path); if (address.first == addressWrote_ && address.second == pidWrote_) { - standardPath_.safeSave( + // Writeback an empty invalid address file. + RawConfig config; + config.setValueByPath("IBUS_ADDRESS", ""); + config.setValueByPath("IBUS_DAEMON_PID", ""); + StandardPath::global().safeSave( StandardPath::Type::Config, path, [&config](int fd) { return writeAsIni(config, fd); }); } @@ -847,13 +803,13 @@ void IBusFrontendModule::replaceIBus(bool recheck) { return; } } else if (auto optionalAddress = readIBusInfo(socketPaths_)) { + auto address = *optionalAddress; auto pid = runIBusExit(); if (pid > 0) { FCITX_IBUS_DEBUG() << "Running ibus exit."; timeEvent_ = instance()->eventLoop().addTimeEvent( CLOCK_MONOTONIC, now(CLOCK_MONOTONIC) + 1000000, 0, - [this, pid, address = std::move(*optionalAddress), - recheck](EventSourceTime *, uint64_t) { + [this, pid, address, recheck](EventSourceTime *, uint64_t) { int stat = -1; pid_t ret; while ((ret = waitpid(pid, &stat, WNOHANG)) <= 0) { @@ -909,9 +865,10 @@ void IBusFrontendModule::becomeIBus(bool recheck) { auto address = bus()->address(); if (isInFlatpak()) { if (address.find("/run/flatpak/bus") != std::string::npos) { - auto userBus = stringutils::joinPath( - standardPath_.userDirectory(StandardPath::Type::Runtime), - "bus"); + auto userBus = + stringutils::joinPath(StandardPath::global().userDirectory( + StandardPath::Type::Runtime), + "bus"); struct stat statbuf; @@ -946,14 +903,14 @@ void IBusFrontendModule::becomeIBus(bool recheck) { FCITX_IBUS_DEBUG() << "Writing ibus daemon info."; for (const auto &path : socketPaths_) { - if (!standardPath_.safeSave( + if (!StandardPath::global().safeSave( StandardPath::Type::Config, path, [&config](int fd) { return writeAsIni(config, fd); })) { return; } } - addressWrote_ = std::move(address); + addressWrote_ = address; pidWrote_ = pidToWrite; if (!recheck) { diff --git a/src/frontend/ibusfrontend/ibusfrontend.h b/src/frontend/ibusfrontend/ibusfrontend.h index 43c21cc8..266ec824 100644 --- a/src/frontend/ibusfrontend/ibusfrontend.h +++ b/src/frontend/ibusfrontend/ibusfrontend.h @@ -8,20 +8,24 @@ #define _FCITX_FRONTEND_IBUSFRONTEND_IBUSFRONTEND_H_ #include -#include "fcitx-utils/dbus/bus.h" -#include "fcitx-utils/standardpath.h" +#include "fcitx-utils/dbus/servicewatcher.h" +#include "fcitx-utils/event.h" +#include "fcitx/addonfactory.h" #include "fcitx/addoninstance.h" #include "fcitx/addonmanager.h" +#include "fcitx/focusgroup.h" #include "fcitx/instance.h" namespace fcitx { +class AddonInstance; +class Instance; class IBusFrontend; class IBusFrontendModule : public AddonInstance { public: IBusFrontendModule(Instance *instance); - ~IBusFrontendModule() override; + ~IBusFrontendModule(); dbus::Bus *bus(); Instance *instance() { return instance_; } @@ -30,12 +34,9 @@ class IBusFrontendModule : public AddonInstance { FCITX_ADDON_DEPENDENCY_LOADER(dbus, instance_->addonManager()); void replaceIBus(bool recheck); - // Write socket file, call ensureIsIBus after a delay. void becomeIBus(bool recheck); - // Check if org.freedesktop.IBus is owned by us and socket file is ours. void ensureIsIBus(); - const StandardPath &standardPath_ = StandardPath::global(); Instance *instance_; std::unique_ptr portalBus_; std::unique_ptr inputMethod1_; diff --git a/src/frontend/waylandim/CMakeLists.txt b/src/frontend/waylandim/CMakeLists.txt index f462c7da..61054d8e 100644 --- a/src/frontend/waylandim/CMakeLists.txt +++ b/src/frontend/waylandim/CMakeLists.txt @@ -8,19 +8,9 @@ ecm_add_wayland_client_protocol(WAYLAND_IM_PROTOCOL_SRCS PROTOCOL ${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/text-input/text-input-unstable-v3.xml BASENAME text-input-unstable-v3) -add_library(waylandim MODULE - waylandim.cpp - waylandimserverbase.cpp - waylandimserver.cpp - waylandimserverv2.cpp - plasmaappmonitor.cpp - virtualinputcontext.cpp - wlrappmonitor.cpp - appmonitor.cpp - ${WAYLAND_IM_PROTOCOL_SRCS} -) +add_library(waylandim MODULE waylandim.cpp waylandimserver.cpp waylandimserverv2.cpp ${WAYLAND_IM_PROTOCOL_SRCS}) target_include_directories(waylandim PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -target_link_libraries(waylandim Fcitx5::Core Wayland::Client XKBCommon::XKBCommon Fcitx5::Wayland::PlasmaWindowManagement Fcitx5::Wayland::WLRForeignToplevelManagement Fcitx5::Module::Wayland Fcitx5::Wayland::Core Fcitx5::Wayland::InputMethod Fcitx5::Wayland::InputMethodV2) +target_link_libraries(waylandim Fcitx5::Core Wayland::Client XKBCommon::XKBCommon Fcitx5::Module::Wayland Fcitx5::Wayland::Core Fcitx5::Wayland::InputMethod Fcitx5::Wayland::InputMethodV2) install(TARGETS waylandim DESTINATION "${FCITX_INSTALL_ADDONDIR}") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/waylandim.conf.in.in ${CMAKE_CURRENT_BINARY_DIR}/waylandim.conf.in @ONLY) fcitx5_translate_desktop_file(${CMAKE_CURRENT_BINARY_DIR}/waylandim.conf.in waylandim.conf) diff --git a/src/frontend/waylandim/appmonitor.cpp b/src/frontend/waylandim/appmonitor.cpp deleted file mode 100644 index a5969394..00000000 --- a/src/frontend/waylandim/appmonitor.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#include "appmonitor.h" -#include - -namespace fcitx { - -AggregatedAppMonitor::AggregatedAppMonitor() = default; - -bool AggregatedAppMonitor::isAvailable() const { - return std::any_of( - subMonitors_.begin(), subMonitors_.end(), - [](const auto &monitor) { return monitor->isAvailable(); }); -} - -AppMonitor *AggregatedAppMonitor::activeMonitor() const { - auto iter = std::find_if( - subMonitors_.begin(), subMonitors_.end(), - [](const auto &subMonitor) { return subMonitor->isAvailable(); }); - return iter == subMonitors_.end() ? nullptr : iter->get(); -} - -void AggregatedAppMonitor::addSubMonitor(std::unique_ptr monitor) { - subMonitors_.emplace_back(std::move(monitor)); - - subMonitors_.back()->appUpdated.connect( - [this, monitor = subMonitors_.back().get()]( - const std::unordered_map &appState, - const std::optional &focus) { - if (activeMonitor() == monitor) { - appUpdated(appState, focus); - } - }); -} - -} // namespace fcitx \ No newline at end of file diff --git a/src/frontend/waylandim/appmonitor.h b/src/frontend/waylandim/appmonitor.h deleted file mode 100644 index 3b56423a..00000000 --- a/src/frontend/waylandim/appmonitor.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#ifndef _FCITX5_FRONTEND_WAYLANDIM_APPMONITOR_H_ -#define _FCITX5_FRONTEND_WAYLANDIM_APPMONITOR_H_ - -#include -#include -#include "fcitx-utils/signals.h" - -namespace fcitx { - -class AppMonitor { -public: - virtual ~AppMonitor() = default; - Signal &appState, - const std::optional &focus)> - appUpdated; - - virtual bool isAvailable() const = 0; -}; - -class AggregatedAppMonitor : public AppMonitor { -public: - AggregatedAppMonitor(); - - void addSubMonitor(std::unique_ptr monitor); - bool isAvailable() const override; - AppMonitor *activeMonitor() const; - -private: - std::vector> subMonitors_; -}; - -} // namespace fcitx - -#endif // _FCITX5_FRONTEND_WAYLANDIM_APPMONITOR_H_ diff --git a/src/frontend/waylandim/plasmaappmonitor.cpp b/src/frontend/waylandim/plasmaappmonitor.cpp deleted file mode 100644 index 38bb7fa7..00000000 --- a/src/frontend/waylandim/plasmaappmonitor.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#include "plasmaappmonitor.h" -#include -#include "plasma-window-management/org_kde_plasma_window.h" -#include "plasma-window-management/org_kde_plasma_window_management.h" - -namespace fcitx { -class PlasmaWindow { -public: - PlasmaWindow(PlasmaAppMonitor *parent, wayland::OrgKdePlasmaWindow *window, - const char *uuid) - : parent_(parent), window_(window), uuid_(uuid) { - conns_.emplace_back( - window->stateChanged().connect([this](uint32_t state) { - active_ = - (state & ORG_KDE_PLASMA_WINDOW_MANAGEMENT_STATE_ACTIVE); - parent_->refresh(); - })); - conns_.emplace_back( - window->appIdChanged().connect([this](const char *appId) { - appId_ = appId; - parent_->refresh(); - })); - } - - const auto &appId() const { return appId_; } - bool active() const { return active_; } - const auto &key() { return uuid_; } - -private: - PlasmaAppMonitor *parent_; - std::unique_ptr window_; - std::string uuid_; - bool active_ = false; - std::string appId_; - std::list conns_; -}; - -PlasmaAppMonitor::PlasmaAppMonitor(wayland::Display *display) { - display->requestGlobals(); - - globalConn_ = display->globalCreated().connect( - [this](const std::string &name, - const std::shared_ptr &management) { - if (name == wayland::OrgKdePlasmaWindowManagement::interface) { - setup(static_cast( - management.get())); - } - }); - - if (auto management = - display->getGlobal()) { - setup(management.get()); - } -} - -PlasmaAppMonitor::~PlasmaAppMonitor() = default; - -bool PlasmaAppMonitor::isAvailable() const { return windowConn_.connected(); } - -void PlasmaAppMonitor::setup( - wayland::OrgKdePlasmaWindowManagement *management) { - windowConn_ = management->windowWithUuid().connect( - [this, management](uint32_t, const char *uuid) { - auto *window = management->getWindowByUuid(uuid); - windows_[window] = - std::make_unique(this, window, uuid); - window->unmapped().connect([this, window]() { remove(window); }); - }); -} - -void PlasmaAppMonitor::remove(wayland::OrgKdePlasmaWindow *window) { - windows_.erase(window); - refresh(); -} - -void PlasmaAppMonitor::refresh() { - std::unordered_map state; - std::optional focus; - for (const auto &[_, plasmaWindow] : windows_) { - if (!plasmaWindow->appId().empty()) { - auto iter = - state.emplace(plasmaWindow->key(), plasmaWindow->appId()); - if (plasmaWindow->active() && !focus && iter.second) { - focus = iter.first->first; - } - } - } - appUpdated(state, focus); -} - -} // namespace fcitx \ No newline at end of file diff --git a/src/frontend/waylandim/plasmaappmonitor.h b/src/frontend/waylandim/plasmaappmonitor.h deleted file mode 100644 index eccdd40d..00000000 --- a/src/frontend/waylandim/plasmaappmonitor.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#ifndef _FCITX5_FRONTEND_WAYLANDIM_PLASMAAPPMONITOR_H_ -#define _FCITX5_FRONTEND_WAYLANDIM_PLASMAAPPMONITOR_H_ - -#include "fcitx-utils/signals.h" -#include "fcitx-wayland/core/display.h" -#include "appmonitor.h" - -namespace fcitx { -namespace wayland { -class OrgKdePlasmaWindowManagement; -class OrgKdePlasmaWindow; -} // namespace wayland -class PlasmaWindow; - -class PlasmaAppMonitor : public AppMonitor { -public: - PlasmaAppMonitor(wayland::Display *display); - ~PlasmaAppMonitor() override; - - void setup(wayland::OrgKdePlasmaWindowManagement *management); - void remove(wayland::OrgKdePlasmaWindow *window); - void refresh(); - bool isAvailable() const override; - -private: - ScopedConnection globalConn_; - ScopedConnection windowConn_; - std::unordered_map> - windows_; -}; - -} // namespace fcitx - -#endif // _FCITX5_FRONTEND_WAYLANDIM_PLASMAAPPMONITOR_H_ diff --git a/src/frontend/waylandim/virtualinputcontext.cpp b/src/frontend/waylandim/virtualinputcontext.cpp deleted file mode 100644 index 3e89e3c3..00000000 --- a/src/frontend/waylandim/virtualinputcontext.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#include "virtualinputcontext.h" -#include -#include "fcitx-utils/misc_p.h" -#include "fcitx/inputcontext.h" - -namespace fcitx { - -InputContext *VirtualInputContextGlue::delegatedInputContext() { - if (virtualICManager_) { - if (auto *virtualIC = virtualICManager_->focusedVirtualIC()) { - return virtualIC; - } - } - return this; -} - -void VirtualInputContextGlue::focusInWrapper() { - if (virtualICManager_) { - virtualICManager_->setRealFocus(true); - } else { - focusIn(); - } -} - -void VirtualInputContextGlue::focusOutWrapper() { - if (virtualICManager_) { - virtualICManager_->setRealFocus(false); - } else { - focusOut(); - } -} - -void VirtualInputContextGlue::updateSurroundingTextWrapper() { - updateSurroundingText(); - if (auto *ic = delegatedInputContext(); ic != this) { - ic->surroundingText() = surroundingText(); - ic->updateSurroundingText(); - } -} - -void VirtualInputContextGlue::setCapabilityFlagsWrapper(CapabilityFlags flags) { - setCapabilityFlags(flags); - if (auto *ic = delegatedInputContext(); ic != this) { - ic->setCapabilityFlags(flags); - } -} - -VirtualInputContextManager::VirtualInputContextManager( - InputContextManager *manager, VirtualInputContextGlue *parent, - AppMonitor *app) - : manager_(manager), parentIC_(parent), app_(app) { - conn_ = app_->appUpdated.connect( - [this](const std::unordered_map &appState, - const std::optional &focus) { - appUpdated(appState, focus); - }); - parent->setVirtualInputContextManager(this); -} - -VirtualInputContextManager::~VirtualInputContextManager() { - parentIC_->setVirtualInputContextManager(nullptr); -} - -void VirtualInputContextManager::setRealFocus(bool focus) { - parentIC_->setRealFocus(focus); - updateFocus(); -} - -void VirtualInputContextManager::updateFocus() { - InputContext *ic = nullptr; - if (focus_) { - if (auto *value = findValue(managed_, *focus_)) { - ic = value->get(); - } else { - auto result = managed_.emplace( - *focus_, - std::make_unique( - *manager_, *findValue(lastAppState_, *focus_), parentIC_)); - assert(result.second); - ic = result.first->second.get(); - } - } else { - ic = parentIC_; - } - assert(ic); - if (parentIC_->realFocus()) { - // forward capability flags on focus in. - if (ic != parentIC_) { - ic->setCapabilityFlags(parentIC_->capabilityFlags()); - ic->surroundingText() = parentIC_->surroundingText(); - ic->updateSurroundingText(); - } - ic->focusIn(); - } else { - parentIC_->focusOut(); - for (const auto &[_, ic] : managed_) { - ic->focusOut(); - } - } -} - -InputContext *VirtualInputContextManager::focusedVirtualIC() { - if (!focus_) { - return nullptr; - } - auto *inputContext = findValue(managed_, *focus_); - return inputContext ? inputContext->get() : nullptr; -} - -void VirtualInputContextManager::appUpdated( - const std::unordered_map &appState, - std::optional focus) { - assert(!focus || appState.count(*focus)); - lastAppState_ = appState; - for (auto iter = managed_.begin(); iter != managed_.end();) { - if (!findValue(lastAppState_, iter->first)) { - iter = managed_.erase(iter); - } else { - ++iter; - } - } - - focus_ = std::move(focus); - updateFocus(); -} - -} // namespace fcitx diff --git a/src/frontend/waylandim/virtualinputcontext.h b/src/frontend/waylandim/virtualinputcontext.h deleted file mode 100644 index f72931e7..00000000 --- a/src/frontend/waylandim/virtualinputcontext.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#ifndef _FCITX5_FRONTEND_WAYLANDIM_VIRTUALINPUTCONTEXT_H_ -#define _FCITX5_FRONTEND_WAYLANDIM_VIRTUALINPUTCONTEXT_H_ - -#include -#include -#include "fcitx-utils/capabilityflags.h" -#include "fcitx-utils/signals.h" -#include "appmonitor.h" - -namespace fcitx { - -class VirtualInputContextManager; - -class VirtualInputContextGlue : public InputContext { -public: - using InputContext::InputContext; - // Qualifier is const to ensure the state is read from ic. - virtual void commitStringDelegate(const InputContext *ic, - const std::string &text) const = 0; - virtual void deleteSurroundingTextDelegate(InputContext *ic, int offset, - unsigned int size) const = 0; - virtual void forwardKeyDelegate(InputContext *ic, - const ForwardKeyEvent &key) const = 0; - virtual void updatePreeditDelegate(InputContext *ic) const = 0; - - bool realFocus() const { - if (virtualICManager_) { - return realFocus_; - } - return hasFocus(); - } - void setRealFocus(bool focus) { realFocus_ = focus; } - - void setVirtualInputContextManager(VirtualInputContextManager *manager) { - virtualICManager_ = manager; - } - - InputContext *delegatedInputContext(); - - void focusInWrapper(); - void focusOutWrapper(); - void updateSurroundingTextWrapper(); - void setCapabilityFlagsWrapper(CapabilityFlags flags); - -private: - void commitStringImpl(const std::string &text) override { - return commitStringDelegate(this, text); - } - - void deleteSurroundingTextImpl(int offset, unsigned int size) override { - return deleteSurroundingTextDelegate(this, offset, size); - } - - void forwardKeyImpl(const ForwardKeyEvent &key) override { - return forwardKeyDelegate(this, key); - } - void updatePreeditImpl() override { return updatePreeditDelegate(this); } - - bool realFocus_ = false; - VirtualInputContextManager *virtualICManager_ = nullptr; -}; - -class VirtualInputContext : public InputContext { -public: - VirtualInputContext(InputContextManager &manager, - const std::string &program, - VirtualInputContextGlue *parent) - : InputContext(manager, program), parent_(parent) { - created(); - - setFocusGroup(parent->focusGroup()); - setCapabilityFlags(parent->capabilityFlags()); - } - - ~VirtualInputContext() override { destroy(); } - - const char *frontend() const override { return parent_->frontend(); } - InputContext *parent() const { return parent_; } - -protected: - void commitStringImpl(const std::string &text) override { - parent_->commitStringDelegate(this, text); - } - void deleteSurroundingTextImpl(int offset, unsigned int size) override { - parent_->deleteSurroundingTextDelegate(this, offset, size); - } - - void forwardKeyImpl(const ForwardKeyEvent &key) override { - parent_->forwardKeyDelegate(this, key); - } - - void updatePreeditImpl() override { parent_->updatePreeditDelegate(this); } - -private: - VirtualInputContextGlue *parent_; -}; - -class VirtualInputContextManager { - -public: - VirtualInputContextManager(InputContextManager *manager, - VirtualInputContextGlue *parent, - AppMonitor *app); - ~VirtualInputContextManager(); - - void setRealFocus(bool focus); - - InputContext *focusedVirtualIC(); - -private: - void - appUpdated(const std::unordered_map &appState, - std::optional focus); - - void updateFocus(); - - ScopedConnection conn_; - InputContextManager *manager_; - VirtualInputContextGlue *parentIC_; - AppMonitor *app_; - std::unordered_map lastAppState_; - std::unordered_map> managed_; - std::optional focus_; -}; - -} // namespace fcitx - -#endif // _FCITX5_FRONTEND_WAYLANDIM_VIRTUALINPUTCONTEXT_H_ diff --git a/src/frontend/waylandim/waylandim.conf.in.in b/src/frontend/waylandim/waylandim.conf.in.in index e70467d1..a98081ec 100644 --- a/src/frontend/waylandim/waylandim.conf.in.in +++ b/src/frontend/waylandim/waylandim.conf.in.in @@ -4,7 +4,6 @@ Type=SharedLibrary Library=libwaylandim Category=Frontend Version=@PROJECT_VERSION@ -Configurable=True [Addon/Dependencies] 0=wayland:@PROJECT_VERSION@ diff --git a/src/frontend/waylandim/waylandim.cpp b/src/frontend/waylandim/waylandim.cpp index bc4e6085..4cbbec13 100644 --- a/src/frontend/waylandim/waylandim.cpp +++ b/src/frontend/waylandim/waylandim.cpp @@ -5,30 +5,26 @@ * */ #include "waylandim.h" -#include -#include "fcitx-utils/misc_p.h" +#include +#include +#include +#include +#include "fcitx-utils/event.h" +#include "fcitx-utils/utf8.h" #include "fcitx/inputcontext.h" -#include "fcitx/misc_p.h" -#include "appmonitor.h" -#include "plasmaappmonitor.h" -#include "virtualinputcontext.h" -#include "wayland_public.h" +#include "display.h" #include "waylandimserver.h" #include "waylandimserverv2.h" -#include "wlrappmonitor.h" FCITX_DEFINE_LOG_CATEGORY(waylandim, "waylandim") namespace fcitx { WaylandIMModule::WaylandIMModule(Instance *instance) : instance_(instance) { - reloadConfig(); createdCallback_ = wayland()->call( [this](const std::string &name, wl_display *display, FocusGroup *group) { - displays_[name] = display; - appMonitor(name); WaylandIMServer *server = new WaylandIMServer(display, group, name, this); servers_[name].reset(server); @@ -41,66 +37,18 @@ WaylandIMModule::WaylandIMModule(Instance *instance) : instance_(instance) { [this](const std::string &name, wl_display *) { servers_.erase(name); serversV2_.erase(name); - appMonitors_.erase(name); }); } WaylandIMModule::~WaylandIMModule() {} wayland::ZwpInputMethodV2 *WaylandIMModule::getInputMethodV2(InputContext *ic) { - if (ic->frontendName() != "wayland_v2") { + if (ic->frontend() != std::string_view("wayland_v2")) { return nullptr; } - if (auto *v2IC = dynamic_cast(ic)) { - return v2IC->inputMethodV2(); - } - auto *vic = static_cast(ic); - return static_cast(vic->parent()) - ->inputMethodV2(); -} - -bool WaylandIMModule::hasKeyboardGrab(const std::string &display) const { - if (auto server = findValue(servers_, display); server && *server) { - if (server->get()->hasKeyboardGrab()) { - return true; - } - } - if (auto serverV2 = findValue(serversV2_, display); serverV2 && *serverV2) { - if (serverV2->get()->hasKeyboardGrab()) { - return true; - } - } - return false; -} - -AggregatedAppMonitor *WaylandIMModule::appMonitor(const std::string &display) { - if (!*config_.detectApplication) { - return nullptr; - } - - auto displayIter = displays_.find(display); - if (displayIter == displays_.end()) { - return nullptr; - } - - auto &appMonitorPtr = appMonitors_[display]; - if (!appMonitorPtr) { - auto *display = static_cast( - wl_display_get_user_data(displayIter->second)); - - auto plasmaMonitor = std::make_unique(display); - auto wlrMonitor = std::make_unique(display); - appMonitorPtr = std::make_unique(); - if (getDesktopType() == DesktopType::KDE5) { - appMonitorPtr->addSubMonitor(std::move(plasmaMonitor)); - appMonitorPtr->addSubMonitor(std::move(wlrMonitor)); - } else { - appMonitorPtr->addSubMonitor(std::move(wlrMonitor)); - appMonitorPtr->addSubMonitor(std::move(plasmaMonitor)); - } - } - return appMonitorPtr.get(); + auto *v2IC = static_cast(ic); + return v2IC->inputMethodV2(); } class WaylandIMModuleFactory : public AddonFactory { diff --git a/src/frontend/waylandim/waylandim.h b/src/frontend/waylandim/waylandim.h index d512a927..293d2aba 100644 --- a/src/frontend/waylandim/waylandim.h +++ b/src/frontend/waylandim/waylandim.h @@ -7,31 +7,17 @@ #ifndef _FCITX_FRONTEND_WAYLANDIM_WAYLANDIM_H_ #define _FCITX_FRONTEND_WAYLANDIM_WAYLANDIM_H_ -#include -#include -#include -#include #include #include #include #include -#include "appmonitor.h" #include "wayland_public.h" #include "waylandim_public.h" namespace fcitx { -FCITX_CONFIGURATION( - WaylandIMConfig, - Option detectApplication{ - this, "DetectApplication", - _("Detect current running application (Need restart)"), true}; - Option preferKeyEvent{ - this, "PreferKeyEvent", - _("Forward key event instead of commiting text if it is not handled"), - true};); - -constexpr int32_t repeatHackDelay = 3000; +constexpr int32_t repeatHackDelay = 1000; +class WaylandIMModule; class WaylandIMServer; class WaylandIMServerV2; @@ -45,30 +31,13 @@ class WaylandIMModule : public AddonInstance { wayland::ZwpInputMethodV2 *getInputMethodV2(InputContext *ic); - bool hasKeyboardGrab(const std::string &display) const; - - const Configuration *getConfig() const override { return &config_; } - void setConfig(const RawConfig &config) override { - config_.load(config, true); - safeSaveAsIni(config_, "conf/waylandim.conf"); - } - void reloadConfig() override { readAsIni(config_, "conf/waylandim.conf"); } - const auto &config() const { return config_; } - FCITX_ADDON_EXPORT_FUNCTION(WaylandIMModule, getInputMethodV2); - FCITX_ADDON_EXPORT_FUNCTION(WaylandIMModule, hasKeyboardGrab); - - AggregatedAppMonitor *appMonitor(const std::string &display); private: Instance *instance_; - WaylandIMConfig config_; - std::unordered_map displays_; std::unordered_map> servers_; std::unordered_map> serversV2_; - std::unordered_map> - appMonitors_; std::unique_ptr> createdCallback_; std::unique_ptr> closedCallback_; diff --git a/src/frontend/waylandim/waylandim_public.h b/src/frontend/waylandim/waylandim_public.h index 8a7b5a82..736c1bc5 100644 --- a/src/frontend/waylandim/waylandim_public.h +++ b/src/frontend/waylandim/waylandim_public.h @@ -13,16 +13,11 @@ #include #include #include - -namespace fcitx::wayland { -class ZwpInputMethodV2; -} +#include +#include "zwp_input_method_v2.h" FCITX_ADDON_DECLARE_FUNCTION( WaylandIMModule, getInputMethodV2, fcitx::wayland::ZwpInputMethodV2 *(fcitx::InputContext *)); -FCITX_ADDON_DECLARE_FUNCTION(WaylandIMModule, hasKeyboardGrab, - bool(const std::string &display)); - #endif // _FCITX5_FRONTEND_WAYLANDIM_WAYLANDIM_PUBLIC_H_ diff --git a/src/frontend/waylandim/waylandimserver.cpp b/src/frontend/waylandim/waylandimserver.cpp index c277a1fa..92f3a47b 100644 --- a/src/frontend/waylandim/waylandimserver.cpp +++ b/src/frontend/waylandim/waylandimserver.cpp @@ -6,15 +6,8 @@ */ #include "waylandimserver.h" #include -#include -#include -#include "fcitx-utils/macros.h" -#include "fcitx-utils/utf8.h" -#include "virtualinputcontext.h" -#include "wayland-text-input-unstable-v1-client-protocol.h" -#include "wayland_public.h" +#include #include "waylandim.h" -#include "wl_seat.h" #ifdef __linux__ #include @@ -27,13 +20,11 @@ namespace fcitx { -namespace { +constexpr CapabilityFlags baseFlags{CapabilityFlag::Preedit, + CapabilityFlag::FormattedPreedit, + CapabilityFlag::SurroundingText}; -constexpr CapabilityFlags baseFlags{ - CapabilityFlag::Preedit, CapabilityFlag::FormattedPreedit, - CapabilityFlag::SurroundingText, CapabilityFlag::ClientUnfocusCommit}; - -inline unsigned int waylandFormat(TextFormatFlags flags) { +static inline unsigned int waylandFormat(TextFormatFlags flags) { if (flags & TextFormatFlag::HighLight) { return ZWP_TEXT_INPUT_V1_PREEDIT_STYLE_HIGHLIGHT; } @@ -49,13 +40,12 @@ inline unsigned int waylandFormat(TextFormatFlags flags) { return ZWP_TEXT_INPUT_V1_PREEDIT_STYLE_NONE; } -} // namespace - WaylandIMServer::WaylandIMServer(wl_display *display, FocusGroup *group, const std::string &name, WaylandIMModule *waylandim) - : WaylandIMServerBase(display, group, name, waylandim), - inputMethodV1_(nullptr) { + : group_(group), name_(name), parent_(waylandim), inputMethodV1_(nullptr), + display_( + static_cast(wl_display_get_user_data(display))) { display_->requestGlobals(); globalConn_ = display_->globalCreated().connect( [this](const std::string &interface, const std::shared_ptr &) { @@ -67,7 +57,11 @@ WaylandIMServer::WaylandIMServer(wl_display *display, FocusGroup *group, init(); } -WaylandIMServer::~WaylandIMServer() { delete globalIc_.get(); } +WaylandIMServer::~WaylandIMServer() { + if (auto *globalIc = globalIc_.get()) { + delete globalIc; + } +} InputContextManager &WaylandIMServer::inputContextManager() { return parent_->instance()->inputContextManager(); @@ -79,8 +73,8 @@ void WaylandIMServer::init() { auto im = display_->getGlobal(); if (im && !inputMethodV1_) { WAYLANDIM_DEBUG() << "WAYLANDIM V1"; - inputMethodV1_ = std::move(im); - auto *globalIc = new WaylandIMInputContextV1( + inputMethodV1_ = im; + auto globalIc = new WaylandIMInputContextV1( parent_->instance()->inputContextManager(), this); globalIc->setFocusGroup(group_); globalIc->setCapabilityFlags(baseFlags); @@ -95,6 +89,7 @@ void WaylandIMServer::init() { WAYLANDIM_DEBUG() << "DEACTIVATE " << ic; deactivate(ic); }); + display_->flush(); } } @@ -112,19 +107,11 @@ void WaylandIMServer::deactivate(wayland::ZwpInputMethodContextV1 *id) { } } -bool WaylandIMServer::hasKeyboardGrab() const { - if (auto *globalIc = - static_cast(globalIc_.get())) { - return globalIc->hasKeyboardGrab(); - } - return false; -} - WaylandIMInputContextV1::WaylandIMInputContextV1( InputContextManager &inputContextManager, WaylandIMServer *server) - : VirtualInputContextGlue(inputContextManager), server_(server) { + : InputContext(inputContextManager), server_(server) { timeEvent_ = server_->instance()->eventLoop().addTimeEvent( - CLOCK_MONOTONIC, now(CLOCK_MONOTONIC), 1, + CLOCK_MONOTONIC, now(CLOCK_MONOTONIC), 0, [this](EventSourceTime *, uint64_t) { repeat(); return true; @@ -132,11 +119,6 @@ WaylandIMInputContextV1::WaylandIMInputContextV1( timeEvent_->setAccuracy(1); timeEvent_->setEnabled(false); created(); - - if (auto *appMonitor = server->parent_->appMonitor(server->name_)) { - virtualICManager_ = std::make_unique( - &inputContextManager, this, appMonitor); - } } WaylandIMInputContextV1::~WaylandIMInputContextV1() { destroy(); } @@ -158,7 +140,6 @@ void WaylandIMInputContextV1::activate(wayland::ZwpInputMethodContextV1 *ic) { [this](uint32_t serial) { commitStateCallback(serial); }); ic_->preferredLanguage().connect( [](const char *language) { preferredLanguageCallback(language); }); - keyboard_.reset(); keyboard_.reset(ic_->grabKeyboard()); keyboard_->keymap().connect( [this](uint32_t format, int32_t fd, uint32_t size) { @@ -177,6 +158,8 @@ void WaylandIMInputContextV1::activate(wayland::ZwpInputMethodContextV1 *ic) { keyboard_->repeatInfo().connect([this](int32_t rate, int32_t delay) { repeatInfoCallback(rate, delay); }); + repeatInfoCallback(repeatRate_, repeatDelay_); + server_->display_->sync(); wl_array array; wl_array_init(&array); constexpr char data[] = "Shift\0Control\0Mod1\0Mod4"; @@ -184,25 +167,16 @@ void WaylandIMInputContextV1::activate(wayland::ZwpInputMethodContextV1 *ic) { memcpy(array.data, data, sizeof(data)); ic_->modifiersMap(&array); wl_array_release(&array); - if (virtualICManager_) { - virtualICManager_->setRealFocus(true); - } else { - focusIn(); - } + focusIn(); } void WaylandIMInputContextV1::deactivate(wayland::ZwpInputMethodContextV1 *ic) { if (ic_.get() == ic) { ic_.reset(); keyboard_.reset(); - repeatInfo_.reset(); - // This is the only place we update wayland display mask, so it is ok to - // reset it to 0. This breaks the caps lock or num lock. But we have no - // other option until we can listen to the mod change globally. - server_->instance()->clearXkbStateMask(server_->group()->display()); - timeEvent_->setEnabled(false); - focusOutWrapper(); + server_->display_->sync(); + focusOut(); } else { // This should not happen, but just in case. delete ic; @@ -210,24 +184,25 @@ void WaylandIMInputContextV1::deactivate(wayland::ZwpInputMethodContextV1 *ic) { } void WaylandIMInputContextV1::repeat() { - if (!ic_ || !realFocus()) { + if (!ic_ || !hasFocus()) { return; } - - auto *ic = delegatedInputContext(); KeyEvent event( - ic, + this, Key(repeatSym_, server_->modifiers_ | KeyState::Repeat, repeatKey_ + 8), false, repeatTime_); - sendKeyToVK(repeatTime_, event.rawKey(), WL_KEYBOARD_KEY_STATE_RELEASED); - if (!ic->keyEvent(event)) { - sendKeyToVK(repeatTime_, event.rawKey(), WL_KEYBOARD_KEY_STATE_PRESSED); + sendKeyToVK(repeatTime_, event.rawKey().code() - 8, + WL_KEYBOARD_KEY_STATE_RELEASED); + if (!keyEvent(event)) { + sendKeyToVK(repeatTime_, event.rawKey().code() - 8, + WL_KEYBOARD_KEY_STATE_PRESSED); } - uint64_t interval = 1000000 / repeatRate(); + uint64_t interval = 1000000 / repeatRate_; timeEvent_->setTime(timeEvent_->time() + interval); timeEvent_->setOneShot(); + server_->display_->flush(); } void WaylandIMInputContextV1::surroundingTextCallback(const char *text, @@ -254,12 +229,10 @@ void WaylandIMInputContextV1::surroundingTextCallback(const char *text, break; } surroundingText().setText(text, cursorByChar, anchorByChar); - } while (false); - updateSurroundingTextWrapper(); -} -void WaylandIMInputContextV1::resetCallback() { - delegatedInputContext()->reset(); + } while (0); + updateSurroundingText(); } +void WaylandIMInputContextV1::resetCallback() { reset(); } void WaylandIMInputContextV1::contentTypeCallback(uint32_t hint, uint32_t purpose) { CapabilityFlags flags = baseFlags; @@ -333,7 +306,7 @@ void WaylandIMInputContextV1::contentTypeCallback(uint32_t hint, if (purpose == ZWP_TEXT_INPUT_V1_CONTENT_PURPOSE_TERMINAL) { flags |= CapabilityFlag::Terminal; } - setCapabilityFlagsWrapper(flags); + setCapabilityFlags(flags); } void WaylandIMInputContextV1::invokeActionCallback(uint32_t button, uint32_t index) { @@ -348,8 +321,7 @@ void WaylandIMInputContextV1::invokeActionCallback(uint32_t button, default: return; } - auto *ic = delegatedInputContext(); - auto preedit = ic->inputPanel().clientPreedit().toString(); + auto preedit = inputPanel().clientPreedit().toString(); std::string::size_type offset = index; offset = std::min(offset, preedit.length()); auto length = @@ -357,12 +329,11 @@ void WaylandIMInputContextV1::invokeActionCallback(uint32_t button, if (length == utf8::INVALID_LENGTH) { return; } - InvokeActionEvent event(action, length, ic); - - if (!realFocus()) { - focusInWrapper(); + InvokeActionEvent event(action, length, this); + if (!hasFocus()) { + focusIn(); } - ic->invokeAction(event); + invokeAction(event); } void WaylandIMInputContextV1::commitStateCallback(uint32_t serial) { serial_ = serial; @@ -440,7 +411,6 @@ void WaylandIMInputContextV1::keymapCallback(uint32_t format, int32_t fd, void WaylandIMInputContextV1::keyCallback(uint32_t serial, uint32_t time, uint32_t key, uint32_t state) { - FCITX_UNUSED(serial); time_ = time; if (!server_->state_) { return; @@ -452,8 +422,7 @@ void WaylandIMInputContextV1::keyCallback(uint32_t serial, uint32_t time, // EVDEV OFFSET uint32_t code = key + 8; - auto *ic = delegatedInputContext(); - KeyEvent event(ic, + KeyEvent event(this, Key(static_cast(xkb_state_key_get_one_sym( server_->state_.get(), code)), server_->modifiers_, code), @@ -463,35 +432,23 @@ void WaylandIMInputContextV1::keyCallback(uint32_t serial, uint32_t time, timeEvent_->setEnabled(false); } else if (state == WL_KEYBOARD_KEY_STATE_PRESSED && xkb_keymap_key_repeats(server_->keymap_.get(), code)) { - if (repeatRate() > 0) { + if (repeatRate_) { repeatKey_ = key; repeatTime_ = time; repeatSym_ = event.rawKey().sym(); // Let's trick the key event system by fake our first. // Remove 100 from the initial interval. - timeEvent_->setNextInterval(std::max( - 0, std::max(0, repeatDelay() * 1000 - repeatHackDelay))); + timeEvent_->setNextInterval(repeatDelay_ * 1000 - repeatHackDelay); timeEvent_->setOneShot(); } } WAYLANDIM_DEBUG() << event.key().toString() << " IsRelease=" << event.isRelease(); - if (!ic->keyEvent(event)) { - sendKeyToVK(time, event.rawKey(), state); - } - - // This means our engine is being too slow, this is usually transient (e.g. - // cold start up due to data loading, high CPU usage etc). - // To avoid an undesired repetition, reset the delay the next interval so we - // can handle the release first. - if (timeEvent_->time() < now(timeEvent_->clock()) && - timeEvent_->isOneShot()) { - WAYLANDIM_DEBUG() << "Engine handling speed can not keep up with key " - "repetition rate."; - timeEvent_->setNextInterval( - std::clamp(repeatDelay() * 1000 - repeatHackDelay, 0, 1000)); + if (!keyEvent(event)) { + ic_->key(serial, time, key, state); } + server_->display_->flush(); } void WaylandIMInputContextV1::modifiersCallback(uint32_t serial, uint32_t mods_depressed, @@ -548,14 +505,13 @@ void WaylandIMInputContextV1::modifiersCallback(uint32_t serial, } } -// This is not sent by either kwin/weston, but since it's unclear whether any -// one would send it, so keep it as is. void WaylandIMInputContextV1::repeatInfoCallback(int32_t rate, int32_t delay) { - repeatInfo_ = std::make_tuple(rate, delay); + repeatRate_ = rate; + repeatDelay_ = delay; } void WaylandIMInputContextV1::sendKey(uint32_t time, uint32_t sym, - uint32_t state, KeyStates states) const { + uint32_t state, KeyStates states) { if (!ic_) { return; } @@ -563,26 +519,22 @@ void WaylandIMInputContextV1::sendKey(uint32_t time, uint32_t sym, ic_->keysym(serial_, time, sym, state, modifiers); } -void WaylandIMInputContextV1::sendKeyToVK(uint32_t time, const Key &key, - uint32_t state) const { +void WaylandIMInputContextV1::sendKeyToVK(uint32_t time, uint32_t key, + uint32_t state) { if (!ic_) { return; } - - if (auto text = server_->mayCommitAsText(key, state)) { - ic_->commitString(serial_, text->data()); - } else { - ic_->key(serial_, time, key.code() - 8, state); - } + ic_->key(serial_, time, key, state); + server_->display_->flush(); } -void WaylandIMInputContextV1::updatePreeditDelegate(InputContext *ic) const { +void WaylandIMInputContextV1::updatePreeditImpl() { if (!ic_) { return; } auto preedit = - server_->instance()->outputFilter(ic, ic->inputPanel().clientPreedit()); + server_->instance()->outputFilter(this, inputPanel().clientPreedit()); for (int i = 0, e = preedit.size(); i < e; i++) { if (!utf8::validate(preedit.stringAt(i))) { @@ -590,33 +542,29 @@ void WaylandIMInputContextV1::updatePreeditDelegate(InputContext *ic) const { } } - // Though negative cursor is allowed by protocol, we just don't use it. - ic_->preeditCursor(preedit.cursor() >= 0 ? preedit.cursor() - : preedit.textLength()); + ic_->preeditCursor(preedit.cursor()); unsigned int index = 0; for (int i = 0, e = preedit.size(); i < e; i++) { - if (!preedit.stringAt(i).empty()) { - ic_->preeditStyling(index, preedit.stringAt(i).size(), - waylandFormat(preedit.formatAt(i))); - index += preedit.stringAt(i).size(); - } + ic_->preeditStyling(index, preedit.stringAt(i).size(), + waylandFormat(preedit.formatAt(i))); + index += preedit.stringAt(i).size(); } ic_->preeditString(serial_, preedit.toString().c_str(), preedit.toStringForCommit().c_str()); } -void WaylandIMInputContextV1::deleteSurroundingTextDelegate( - InputContext *ic, int offset, unsigned int size) const { +void WaylandIMInputContextV1::deleteSurroundingTextImpl(int offset, + unsigned int size) { if (!ic_) { return; } - size_t cursor = ic->surroundingText().cursor(); + size_t cursor = surroundingText().cursor(); if (static_cast(cursor) + offset < 0) { return; } - const auto &text = ic->surroundingText().text(); + const auto &text = surroundingText().text(); auto len = utf8::length(text); size_t start = cursor + offset; @@ -631,13 +579,4 @@ void WaylandIMInputContextV1::deleteSurroundingTextDelegate( ic_->deleteSurroundingText(startBytes - cursorBytes, sizeBytes); ic_->commitString(serial_, ""); } - -int32_t WaylandIMInputContextV1::repeatRate() const { - return server_->repeatRate(nullptr, repeatInfo_); -} - -int32_t WaylandIMInputContextV1::repeatDelay() const { - return server_->repeatDelay(nullptr, repeatInfo_); -} - } // namespace fcitx diff --git a/src/frontend/waylandim/waylandimserver.h b/src/frontend/waylandim/waylandimserver.h index 40f581ef..ed926a94 100644 --- a/src/frontend/waylandim/waylandimserver.h +++ b/src/frontend/waylandim/waylandimserver.h @@ -7,29 +7,30 @@ #ifndef _FCITX5_FRONTEND_WAYLANDIM_WAYLANDIMSERVER_H_ #define _FCITX5_FRONTEND_WAYLANDIM_WAYLANDIMSERVER_H_ -#include +#include +#include #include "fcitx-utils/event.h" -#include "fcitx-utils/key.h" -#include "fcitx-utils/keysymgen.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/signals.h" -#include "virtualinputcontext.h" -#include "waylandimserverbase.h" +#include "fcitx/focusgroup.h" +#include "fcitx/inputcontextmanager.h" +#include "fcitx/instance.h" +#include "display.h" +#include "wayland-text-input-unstable-v1-client-protocol.h" #include "wl_keyboard.h" #include "zwp_input_method_context_v1.h" #include "zwp_input_method_v1.h" namespace fcitx { class WaylandIMModule; +class WaylandIMInputContextV1; -class WaylandIMServer : public WaylandIMServerBase { +class WaylandIMServer { friend class WaylandIMInputContextV1; public: WaylandIMServer(wl_display *display, FocusGroup *group, const std::string &name, WaylandIMModule *waylandim); - ~WaylandIMServer() override; + ~WaylandIMServer(); InputContextManager &inputContextManager(); @@ -38,11 +39,18 @@ class WaylandIMServer : public WaylandIMServerBase { void deactivate(wayland::ZwpInputMethodContextV1 *id); Instance *instance(); FocusGroup *group() { return group_; } - bool hasKeyboardGrab() const; private: + FocusGroup *group_; + std::string name_; + WaylandIMModule *parent_; std::shared_ptr inputMethodV1_; + UniqueCPtr context_; + UniqueCPtr keymap_; + UniqueCPtr state_; + + wayland::Display *display_; ScopedConnection globalConn_; struct StateMask { @@ -59,59 +67,45 @@ class WaylandIMServer : public WaylandIMServerBase { uint32_t meta_mask = 0; } stateMask_; + KeyStates modifiers_; + TrackableObjectReference globalIc_; }; -class WaylandIMInputContextV1 : public VirtualInputContextGlue { +class WaylandIMInputContextV1 : public InputContext { public: WaylandIMInputContextV1(InputContextManager &inputContextManager, WaylandIMServer *server); - ~WaylandIMInputContextV1() override; + ~WaylandIMInputContextV1(); const char *frontend() const override { return "wayland"; } - void activate(wayland::ZwpInputMethodContextV1 *ic); - void deactivate(wayland::ZwpInputMethodContextV1 *ic); - bool hasKeyboardGrab() const { return keyboard_.get(); } + void activate(wayland::ZwpInputMethodContextV1 *id); + void deactivate(wayland::ZwpInputMethodContextV1 *id); protected: - void commitStringDelegate(const InputContext *ic, - const std::string &text) const override { - FCITX_UNUSED(ic); + void commitStringImpl(const std::string &text) override { if (!ic_) { return; } ic_->commitString(serial_, text.c_str()); } - void deleteSurroundingTextDelegate(InputContext *ic, int offset, - unsigned int size) const override; - void forwardKeyDelegate(InputContext *ic, - const ForwardKeyEvent &key) const override { - FCITX_UNUSED(ic); + void deleteSurroundingTextImpl(int offset, unsigned int size) override; + void forwardKeyImpl(const ForwardKeyEvent &key) override { if (!ic_) { return; } - if (key.rawKey().code() && key.rawKey().states() == KeyState::NoState) { - sendKeyToVK(time_, key.rawKey(), - key.isRelease() ? WL_KEYBOARD_KEY_STATE_RELEASED - : WL_KEYBOARD_KEY_STATE_PRESSED); - if (!key.isRelease()) { - sendKeyToVK(time_, key.rawKey(), - WL_KEYBOARD_KEY_STATE_RELEASED); - } - } else { - sendKey(time_, key.rawKey().sym(), - key.isRelease() ? WL_KEYBOARD_KEY_STATE_RELEASED - : WL_KEYBOARD_KEY_STATE_PRESSED, + sendKey(time_, key.rawKey().sym(), + key.isRelease() ? WL_KEYBOARD_KEY_STATE_RELEASED + : WL_KEYBOARD_KEY_STATE_PRESSED, + key.rawKey().states()); + if (!key.isRelease()) { + sendKey(time_, key.rawKey().sym(), WL_KEYBOARD_KEY_STATE_RELEASED, key.rawKey().states()); - if (!key.isRelease()) { - sendKey(time_, key.rawKey().sym(), - WL_KEYBOARD_KEY_STATE_RELEASED, key.rawKey().states()); - } } } - void updatePreeditDelegate(InputContext *ic) const override; + void updatePreeditImpl() override; private: void repeat(); @@ -131,9 +125,8 @@ class WaylandIMInputContextV1 : public VirtualInputContextGlue { uint32_t group); void repeatInfoCallback(int32_t rate, int32_t delay); - void sendKey(uint32_t time, uint32_t sym, uint32_t state, - KeyStates states) const; - void sendKeyToVK(uint32_t time, const Key &key, uint32_t state) const; + void sendKey(uint32_t time, uint32_t sym, uint32_t state, KeyStates states); + void sendKeyToVK(uint32_t time, uint32_t key, uint32_t state); static uint32_t toModifiers(KeyStates states) { uint32_t modifiers = 0; @@ -153,14 +146,10 @@ class WaylandIMInputContextV1 : public VirtualInputContextGlue { return modifiers; } - int32_t repeatRate() const; - int32_t repeatDelay() const; - WaylandIMServer *server_; std::unique_ptr ic_; std::unique_ptr keyboard_; std::unique_ptr timeEvent_; - std::unique_ptr virtualICManager_; uint32_t serial_ = 0; uint32_t time_ = 0; @@ -168,7 +157,7 @@ class WaylandIMInputContextV1 : public VirtualInputContextGlue { uint32_t repeatTime_ = 0; KeySym repeatSym_ = FcitxKey_None; - std::optional> repeatInfo_; + int32_t repeatRate_ = 40, repeatDelay_ = 400; }; } // namespace fcitx diff --git a/src/frontend/waylandim/waylandimserverbase.cpp b/src/frontend/waylandim/waylandimserverbase.cpp deleted file mode 100644 index 726da797..00000000 --- a/src/frontend/waylandim/waylandimserverbase.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023-2023 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - */ - -#include "waylandimserverbase.h" -#include -#include -#include -#include "fcitx-utils/utf8.h" -#include "waylandim.h" -#include "wl_seat.h" - -namespace fcitx { - -WaylandIMServerBase::WaylandIMServerBase(wl_display *display, FocusGroup *group, - std::string name, - WaylandIMModule *waylandim) - : group_(group), name_(std::move(name)), parent_(waylandim), - display_( - static_cast(wl_display_get_user_data(display))) {} - -std::optional -WaylandIMServerBase::mayCommitAsText(const Key &key, uint32_t state) const { - KeyStates nonShiftMask = - KeyStates(KeyState::SimpleMask) & (~KeyStates(KeyState::Shift)); - if (state == WL_KEYBOARD_KEY_STATE_PRESSED && - !*parent_->config().preferKeyEvent) { - auto utf32 = Key::keySymToUnicode(key.sym()); - bool chToIgnore = (utf32 == '\n' || utf32 == '\b' || utf32 == '\r' || - utf32 == '\t' || utf32 == '\033' || utf32 == '\x7f'); - if (!key.states().testAny(nonShiftMask) && utf32 && !chToIgnore) { - return utf8::UCS4ToUTF8(utf32); - } - } - return std::nullopt; -} - -std::optional> WaylandIMServerBase::repeatInfo( - const std::shared_ptr &seat, - const std::optional> &defaultValue) const { - if (defaultValue) { - return defaultValue; - } - auto seatPtr = seat; - if (!seatPtr) { - seatPtr = display_->getGlobal(); - } - if (seatPtr) { - auto repeatInfo = parent_->wayland()->call( - name_, *seatPtr); - if (repeatInfo) { - return repeatInfo; - } - } - return std::nullopt; -} - -int32_t WaylandIMServerBase::repeatRate( - const std::shared_ptr &seat, - const std::optional> &defaultValue) const { - if (auto info = repeatInfo(seat, defaultValue)) { - return std::get<0>(info.value()); - } - return 25; -} - -int32_t WaylandIMServerBase::repeatDelay( - const std::shared_ptr &seat, - const std::optional> &defaultValue) const { - if (auto info = repeatInfo(seat, defaultValue)) { - return std::get<1>(info.value()); - } - return 600; -} - -} // namespace fcitx diff --git a/src/frontend/waylandim/waylandimserverbase.h b/src/frontend/waylandim/waylandimserverbase.h deleted file mode 100644 index 4a1183e5..00000000 --- a/src/frontend/waylandim/waylandimserverbase.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023-2023 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - */ - -#ifndef _FCITX5_FRONTEND_WAYLANDIM_WAYLANDIMSERVERBASE_H_ -#define _FCITX5_FRONTEND_WAYLANDIM_WAYLANDIMSERVERBASE_H_ - -#include -#include -#include "fcitx-utils/misc.h" -#include "display.h" -#include "waylandim.h" -#include "wl_seat.h" - -namespace fcitx { - -class WaylandIMServerBase { -public: - WaylandIMServerBase(wl_display *display, FocusGroup *group, - std::string name, WaylandIMModule *waylandim); - virtual ~WaylandIMServerBase() = default; - - auto *parent() { return parent_; } - auto *display() { return display_; } - - std::optional mayCommitAsText(const Key &key, - uint32_t state) const; - - int32_t repeatRate( - const std::shared_ptr &seat, - const std::optional> &defaultValue) const; - int32_t repeatDelay( - const std::shared_ptr &seat, - const std::optional> &defaultValue) const; - -protected: - FocusGroup *group_; - std::string name_; - WaylandIMModule *parent_; - wayland::Display *display_; - - UniqueCPtr context_; - UniqueCPtr keymap_; - UniqueCPtr state_; - - KeyStates modifiers_; - -private: - std::optional> repeatInfo( - const std::shared_ptr &seat, - const std::optional> &defaultValue) const; -}; - -} // namespace fcitx - -#endif diff --git a/src/frontend/waylandim/waylandimserverv2.cpp b/src/frontend/waylandim/waylandimserverv2.cpp index a057fd1d..0c8d9f9c 100644 --- a/src/frontend/waylandim/waylandimserverv2.cpp +++ b/src/frontend/waylandim/waylandimserverv2.cpp @@ -6,27 +6,24 @@ */ #include "waylandimserverv2.h" #include -#include -#include "fcitx-utils/keysymgen.h" #include "fcitx-utils/unixfd.h" #include "fcitx-utils/utf8.h" -#include "fcitx/inputcontext.h" -#include "virtualinputcontext.h" #include "wayland-text-input-unstable-v3-client-protocol.h" #include "waylandim.h" #include "wl_seat.h" namespace fcitx { -constexpr CapabilityFlags baseFlags{ - CapabilityFlag::Preedit, CapabilityFlag::FormattedPreedit, - CapabilityFlag::SurroundingText, CapabilityFlag::ClientUnfocusCommit}; +constexpr CapabilityFlags baseFlags{CapabilityFlag::Preedit, + CapabilityFlag::FormattedPreedit, + CapabilityFlag::SurroundingText}; WaylandIMServerV2::WaylandIMServerV2(wl_display *display, FocusGroup *group, const std::string &name, WaylandIMModule *waylandim) - : WaylandIMServerBase(display, group, name, waylandim), - inputMethodManagerV2_(nullptr) { + : group_(group), name_(name), parent_(waylandim), + inputMethodManagerV2_(nullptr), display_(static_cast( + wl_display_get_user_data(display))) { display_->requestGlobals(); display_->requestGlobals(); display_->requestGlobals(); @@ -50,11 +47,11 @@ WaylandIMServerV2::WaylandIMServerV2(wl_display *display, FocusGroup *group, }); if (auto im = display_->getGlobal()) { - inputMethodManagerV2_ = std::move(im); + inputMethodManagerV2_ = im; } if (auto vk = display_->getGlobal()) { - virtualKeyboardManagerV1_ = std::move(vk); + virtualKeyboardManagerV1_ = vk; } init(); } @@ -71,13 +68,6 @@ InputContextManager &WaylandIMServerV2::inputContextManager() { Instance *WaylandIMServerV2::instance() { return parent_->instance(); } -bool WaylandIMServerV2::hasKeyboardGrab() const { - return std::any_of(icMap_.begin(), icMap_.end(), - [](const decltype(icMap_)::value_type &ic) { - return ic.second && ic.second->hasKeyboardGrab(); - }); -} - void WaylandIMServerV2::init() { if (init_) { return; @@ -89,6 +79,8 @@ void WaylandIMServerV2::init() { } WAYLANDIM_DEBUG() << "INIT IM V2"; refreshSeat(); + + display_->flush(); } void WaylandIMServerV2::refreshSeat() { @@ -108,13 +100,12 @@ void WaylandIMServerV2::refreshSeat() { } } -void WaylandIMServerV2::add(WaylandIMInputContextV2 *ic, - wayland::WlSeat *seat) { - icMap_[seat] = ic; +void WaylandIMServerV2::add(WaylandIMInputContextV2 *ic, wayland::WlSeat *id) { + icMap_[id] = ic; } -void WaylandIMServerV2::remove(wayland::WlSeat *seat) { - auto iter = icMap_.find(seat); +void WaylandIMServerV2::remove(wayland::WlSeat *id) { + auto iter = icMap_.find(id); if (iter != icMap_.end()) { icMap_.erase(iter); } @@ -123,7 +114,7 @@ void WaylandIMServerV2::remove(wayland::WlSeat *seat) { WaylandIMInputContextV2::WaylandIMInputContextV2( InputContextManager &inputContextManager, WaylandIMServerV2 *server, std::shared_ptr seat, wayland::ZwpVirtualKeyboardV1 *vk) - : VirtualInputContextGlue(inputContextManager), server_(server), + : InputContext(inputContextManager), server_(server), seat_(std::move(seat)), ic_(server->inputMethodManagerV2()->getInputMethod(seat_.get())), vk_(vk) { @@ -146,27 +137,19 @@ WaylandIMInputContextV2::WaylandIMInputContextV2( if (pendingDeactivate_) { pendingDeactivate_ = false; keyboardGrab_.reset(); - repeatInfo_.reset(); - // This is the only place we update wayland xkb mask, so it is ok to - // reset it to 0. This breaks the caps lock or num lock. But we have - // no other option until we can listen to the mod change globally. - server_->instance()->clearXkbStateMask(server_->group()->display()); - timeEvent_->setEnabled(false); - if (realFocus()) { + if (hasFocus()) { if (vkReady_) { // If last key to vk is press, send a release. while (!pressedVKKey_.empty()) { auto [vkkey, vktime] = *pressedVKKey_.begin(); - // This is key release, so we don't need real sym and - // states. - sendKeyToVK(vktime, - Key(FcitxKey_None, KeyStates(), vkkey + 8), + sendKeyToVK(vktime, vkkey, WL_KEYBOARD_KEY_STATE_RELEASED); } vk_->modifiers(0, 0, 0, 0); + server_->display_->sync(); } - focusOutWrapper(); + focusOut(); } } if (pendingActivate_) { @@ -200,7 +183,9 @@ WaylandIMInputContextV2::WaylandIMInputContextV2( [this](int32_t rate, int32_t delay) { repeatInfoCallback(rate, delay); }); - focusInWrapper(); + repeatInfoCallback(repeatRate_, repeatDelay_); + focusIn(); + server_->display_->sync(); } } }); @@ -213,7 +198,7 @@ WaylandIMInputContextV2::WaylandIMInputContextV2( }); ic_->unavailable().connect([]() { WAYLANDIM_DEBUG() << "UNAVAILABLE"; }); timeEvent_ = server_->instance()->eventLoop().addTimeEvent( - CLOCK_MONOTONIC, now(CLOCK_MONOTONIC), 1, + CLOCK_MONOTONIC, now(CLOCK_MONOTONIC), 0, [this](EventSourceTime *, uint64_t) { repeat(); return true; @@ -221,11 +206,6 @@ WaylandIMInputContextV2::WaylandIMInputContextV2( timeEvent_->setAccuracy(1); timeEvent_->setEnabled(false); created(); - - if (auto *appMonitor = server->parent_->appMonitor(server->name_)) { - virtualICManager_ = std::make_unique( - &inputContextManager, this, appMonitor); - } } WaylandIMInputContextV2::~WaylandIMInputContextV2() { @@ -234,19 +214,20 @@ WaylandIMInputContextV2::~WaylandIMInputContextV2() { } void WaylandIMInputContextV2::repeat() { - if (!realFocus()) { + if (!hasFocus()) { return; } - auto *ic = delegatedInputContext(); KeyEvent event( - ic, + this, Key(repeatSym_, server_->modifiers_ | KeyState::Repeat, repeatKey_ + 8), false, repeatTime_); - sendKeyToVK(repeatTime_, event.rawKey(), WL_KEYBOARD_KEY_STATE_RELEASED); - if (!ic->keyEvent(event)) { - sendKeyToVK(repeatTime_, event.rawKey(), WL_KEYBOARD_KEY_STATE_PRESSED); + sendKeyToVK(repeatTime_, event.rawKey().code() - 8, + WL_KEYBOARD_KEY_STATE_RELEASED); + if (!keyEvent(event)) { + sendKeyToVK(repeatTime_, event.rawKey().code() - 8, + WL_KEYBOARD_KEY_STATE_PRESSED); } - uint64_t interval = 1000000 / repeatRate(); + uint64_t interval = 1000000 / repeatRate_; timeEvent_->setTime(timeEvent_->time() + interval); timeEvent_->setOneShot(); } @@ -275,12 +256,10 @@ void WaylandIMInputContextV2::surroundingTextCallback(const char *text, break; } surroundingText().setText(text, cursorByChar, anchorByChar); - } while (false); - updateSurroundingTextWrapper(); -} -void WaylandIMInputContextV2::resetCallback() { - delegatedInputContext()->reset(); + } while (0); + updateSurroundingText(); } +void WaylandIMInputContextV2::resetCallback() { reset(); } void WaylandIMInputContextV2::contentTypeCallback(uint32_t hint, uint32_t purpose) { CapabilityFlags flags = baseFlags; @@ -356,7 +335,7 @@ void WaylandIMInputContextV2::contentTypeCallback(uint32_t hint, if (purpose == ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TERMINAL) { flags |= CapabilityFlag::Terminal; } - setCapabilityFlagsWrapper(flags); + setCapabilityFlags(flags); } void WaylandIMInputContextV2::keymapCallback(uint32_t format, int32_t fd, @@ -419,6 +398,12 @@ void WaylandIMInputContextV2::keymapCallback(uint32_t format, int32_t fd, 1 << xkb_keymap_mod_get_index(server_->keymap_.get(), "Mod4"); server_->stateMask_.mod5_mask = 1 << xkb_keymap_mod_get_index(server_->keymap_.get(), "Mod5"); + server_->stateMask_.super_mask = + 1 << xkb_keymap_mod_get_index(server_->keymap_.get(), "Super"); + server_->stateMask_.hyper_mask = + 1 << xkb_keymap_mod_get_index(server_->keymap_.get(), "Hyper"); + server_->stateMask_.meta_mask = + 1 << xkb_keymap_mod_get_index(server_->keymap_.get(), "Meta"); if (keymapChanged) { vk_->keymap(format, scopeFD.fd(), size); @@ -428,23 +413,21 @@ void WaylandIMInputContextV2::keymapCallback(uint32_t format, int32_t fd, server_->parent_->wayland()->call(); } -void WaylandIMInputContextV2::keyCallback(uint32_t serial, uint32_t time, - uint32_t key, uint32_t state) { - FCITX_UNUSED(serial); +void WaylandIMInputContextV2::keyCallback(uint32_t, uint32_t time, uint32_t key, + uint32_t state) { time_ = time; if (!server_->state_) { return; } - if (!realFocus()) { - focusInWrapper(); + if (!hasFocus()) { + focusIn(); } // EVDEV OFFSET uint32_t code = key + 8; - auto *ic = delegatedInputContext(); - KeyEvent event(ic, + KeyEvent event(this, Key(static_cast(xkb_state_key_get_one_sym( server_->state_.get(), code)), server_->modifiers_, code), @@ -454,38 +437,27 @@ void WaylandIMInputContextV2::keyCallback(uint32_t serial, uint32_t time, timeEvent_->setEnabled(false); } else if (state == WL_KEYBOARD_KEY_STATE_PRESSED && xkb_keymap_key_repeats(server_->keymap_.get(), code)) { - if (repeatRate() > 0) { + if (repeatRate_) { repeatKey_ = key; repeatTime_ = time; repeatSym_ = event.rawKey().sym(); // Let's trick the key event system by fake our first. // Remove 100 from the initial interval. - timeEvent_->setNextInterval(repeatDelay() * 1000 - repeatHackDelay); + timeEvent_->setNextInterval(repeatDelay_ * 1000 - repeatHackDelay); timeEvent_->setOneShot(); } } WAYLANDIM_DEBUG() << event.key().toString() << " IsRelease=" << event.isRelease(); - if (!ic->keyEvent(event)) { - sendKeyToVK(time, event.rawKey(), + if (!keyEvent(event)) { + sendKeyToVK(time, event.rawKey().code() - 8, event.isRelease() ? WL_KEYBOARD_KEY_STATE_RELEASED : WL_KEYBOARD_KEY_STATE_PRESSED); } - - // This means our engine is being too slow, this is usually transient (e.g. - // cold start up due to data loading, high CPU usage etc). - // To avoid an undesired repetition, reset the delay the next interval so we - // can handle the release first. - if (timeEvent_->time() < now(timeEvent_->clock()) && - timeEvent_->isOneShot()) { - WAYLANDIM_DEBUG() << "Engine handling speed can not keep up with key " - "repetition rate."; - timeEvent_->setNextInterval( - std::clamp(repeatDelay() * 1000 - repeatHackDelay, 0, 1000)); - } + server_->display_->flush(); } -void WaylandIMInputContextV2::modifiersCallback(uint32_t /*serial*/, +void WaylandIMInputContextV2::modifiersCallback(uint32_t, uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked, @@ -520,15 +492,24 @@ void WaylandIMInputContextV2::modifiersCallback(uint32_t /*serial*/, if (mask & server_->stateMask_.mod2_mask) { server_->modifiers_ |= KeyState::NumLock; } + if (mask & server_->stateMask_.super_mask) { + server_->modifiers_ |= KeyState::Super; + } if (mask & server_->stateMask_.mod4_mask) { server_->modifiers_ |= KeyState::Super; } + if (mask & server_->stateMask_.hyper_mask) { + server_->modifiers_ |= KeyState::Hyper; + } if (mask & server_->stateMask_.mod3_mask) { - server_->modifiers_ |= KeyState::Mod3; + server_->modifiers_ |= KeyState::Hyper; } if (mask & server_->stateMask_.mod5_mask) { server_->modifiers_ |= KeyState::Mod5; } + if (mask & server_->stateMask_.meta_mask) { + server_->modifiers_ |= KeyState::Meta; + } if (vkReady_) { vk_->modifiers(mods_depressed, mods_latched, mods_locked, group); @@ -536,38 +517,32 @@ void WaylandIMInputContextV2::modifiersCallback(uint32_t /*serial*/, } void WaylandIMInputContextV2::repeatInfoCallback(int32_t rate, int32_t delay) { - repeatInfo_ = std::make_tuple(rate, delay); + repeatRate_ = rate; + repeatDelay_ = delay; } -void WaylandIMInputContextV2::sendKeyToVK(uint32_t time, const Key &key, - uint32_t state) const { +void WaylandIMInputContextV2::sendKeyToVK(uint32_t time, uint32_t key, + uint32_t state) { if (!vkReady_) { return; } - - uint32_t code = key.code() - 8; - if (auto text = server_->mayCommitAsText(key, state)) { - commitStringDelegate(this, *text); - return; - } // Erase old to ensure order, and released ones can the be removed. - pressedVKKey_.erase(code); - if (state == WL_KEYBOARD_KEY_STATE_PRESSED && - xkb_keymap_key_repeats(server_->keymap_.get(), key.code())) { - pressedVKKey_[code] = time; + pressedVKKey_.erase(key); + if (state == WL_KEYBOARD_KEY_STATE_PRESSED) { + pressedVKKey_[key] = time; } - vk_->key(time, code, state); + vk_->key(time, key, state); + server_->display_->flush(); } -void WaylandIMInputContextV2::forwardKeyDelegate( - InputContext * /*ic*/, const ForwardKeyEvent &key) const { +void WaylandIMInputContextV2::forwardKeyImpl(const ForwardKeyEvent &key) { uint32_t code = 0; if (key.rawKey().code()) { code = key.rawKey().code(); - } else if (auto *xkbState = server_->xkbState()) { + } else if (auto xkbState = server_->xkbState()) { auto *map = xkb_state_get_keymap(xkbState); - auto min = xkb_keymap_min_keycode(map); - auto max = xkb_keymap_max_keycode(map); + auto min = xkb_keymap_min_keycode(map), + max = xkb_keymap_max_keycode(map); for (auto keyCode = min; keyCode < max; keyCode++) { if (xkb_state_key_get_one_sym(xkbState, keyCode) == static_cast(key.rawKey().sym())) { @@ -576,28 +551,23 @@ void WaylandIMInputContextV2::forwardKeyDelegate( } } } - - Key keyWithCode(key.rawKey().sym(), key.rawKey().states(), code); - - sendKeyToVK(time_, keyWithCode, + sendKeyToVK(time_, code - 8, key.isRelease() ? WL_KEYBOARD_KEY_STATE_RELEASED : WL_KEYBOARD_KEY_STATE_PRESSED); if (!key.isRelease()) { - sendKeyToVK(time_, keyWithCode, WL_KEYBOARD_KEY_STATE_RELEASED); + sendKeyToVK(time_, code - 8, WL_KEYBOARD_KEY_STATE_RELEASED); } } -void WaylandIMInputContextV2::updatePreeditDelegate(InputContext *ic) const { - if (!realFocus()) { +void WaylandIMInputContextV2::updatePreeditImpl() { + if (!hasFocus()) { return; } auto preedit = - server_->instance()->outputFilter(ic, ic->inputPanel().clientPreedit()); + server_->instance()->outputFilter(this, inputPanel().clientPreedit()); - int highlightStart = -1; - int highlightEnd = -1; - int start = 0; - int end = 0; + int highlightStart = -1, highlightEnd = -1; + int start = 0, end = 0; bool multipleHighlight = false; for (int i = 0, e = preedit.size(); i < e; i++) { if (!utf8::validate(preedit.stringAt(i))) { @@ -626,18 +596,15 @@ void WaylandIMInputContextV2::updatePreeditDelegate(InputContext *ic) const { } if (preedit.textLength()) { - if (cursorStart < 0) { - cursorStart = cursorEnd = preedit.textLength(); - } ic_->setPreeditString(preedit.toString().data(), cursorStart, cursorEnd); } ic_->commit(serial_); } -void WaylandIMInputContextV2::deleteSurroundingTextDelegate( - InputContext *ic, int offset, unsigned int size) const { - if (!realFocus()) { +void WaylandIMInputContextV2::deleteSurroundingTextImpl(int offset, + unsigned int size) { + if (!hasFocus()) { return; } @@ -646,12 +613,12 @@ void WaylandIMInputContextV2::deleteSurroundingTextDelegate( return; } - size_t cursor = ic->surroundingText().cursor(); + size_t cursor = surroundingText().cursor(); if (static_cast(cursor) + offset < 0) { return; } - const auto &text = ic->surroundingText().text(); + const auto &text = surroundingText().text(); auto len = utf8::length(text); size_t start = cursor + offset; @@ -669,12 +636,4 @@ void WaylandIMInputContextV2::deleteSurroundingTextDelegate( ic_->commit(serial_); } -int32_t WaylandIMInputContextV2::repeatRate() const { - return server_->repeatRate(seat_, repeatInfo_); -} - -int32_t WaylandIMInputContextV2::repeatDelay() const { - return server_->repeatDelay(seat_, repeatInfo_); -} - } // namespace fcitx diff --git a/src/frontend/waylandim/waylandimserverv2.h b/src/frontend/waylandim/waylandimserverv2.h index 9fdf2601..6095d035 100644 --- a/src/frontend/waylandim/waylandimserverv2.h +++ b/src/frontend/waylandim/waylandimserverv2.h @@ -8,10 +8,12 @@ #define _FCITX5_FRONTEND_WAYLANDIM_WAYLANDIMSERVERV2_H_ #include -#include "fcitx-utils/event.h" +#include +#include +#include +#include #include "fcitx-utils/misc_p.h" -#include "virtualinputcontext.h" -#include "waylandimserverbase.h" +#include "display.h" #include "zwp_input_method_keyboard_grab_v2.h" #include "zwp_input_method_manager_v2.h" #include "zwp_input_method_v2.h" @@ -22,19 +24,21 @@ namespace fcitx { class WaylandIMModule; class WaylandIMInputContextV2; -class WaylandIMServerV2 : public WaylandIMServerBase { +class WaylandIMServerV2 { friend class WaylandIMInputContextV2; public: WaylandIMServerV2(wl_display *display, FocusGroup *group, const std::string &name, WaylandIMModule *waylandim); - ~WaylandIMServerV2() override; + ~WaylandIMServerV2(); InputContextManager &inputContextManager(); void init(); void refreshSeat(); + void activate(wayland::ZwpInputMethodV2 *id); + void deactivate(wayland::ZwpInputMethodV2 *id); void add(WaylandIMInputContextV2 *ic, wayland::WlSeat *seat); void remove(wayland::WlSeat *seat); Instance *instance(); @@ -42,16 +46,21 @@ class WaylandIMServerV2 : public WaylandIMServerBase { auto *xkbState() { return state_.get(); } auto *inputMethodManagerV2() { return inputMethodManagerV2_.get(); } - bool hasKeyboardGrab() const; - private: + FocusGroup *group_; + std::string name_; bool init_ = false; + WaylandIMModule *parent_; std::shared_ptr inputMethodManagerV2_; std::shared_ptr virtualKeyboardManagerV1_; + UniqueCPtr context_; std::vector keymapData_; + UniqueCPtr keymap_; + UniqueCPtr state_; + wayland::Display *display_; ScopedConnection globalConn_; struct StateMask { @@ -63,40 +72,40 @@ class WaylandIMServerV2 : public WaylandIMServerBase { uint32_t mod3_mask = 0; uint32_t mod4_mask = 0; uint32_t mod5_mask = 0; + uint32_t super_mask = 0; + uint32_t hyper_mask = 0; + uint32_t meta_mask = 0; } stateMask_; + KeyStates modifiers_; + std::unordered_map icMap_; }; -class WaylandIMInputContextV2 : public VirtualInputContextGlue { +class WaylandIMInputContextV2 : public InputContext { public: WaylandIMInputContextV2(InputContextManager &inputContextManager, WaylandIMServerV2 *server, std::shared_ptr seat, wayland::ZwpVirtualKeyboardV1 *vk); - ~WaylandIMInputContextV2() override; + ~WaylandIMInputContextV2(); const char *frontend() const override { return "wayland_v2"; } auto inputMethodV2() { return ic_.get(); } - bool hasKeyboardGrab() const { return keyboardGrab_.get(); } - protected: - void commitStringDelegate(const InputContext * /*ic*/, - const std::string &text) const override { - if (!ic_) { + void commitStringImpl(const std::string &text) override { + if (!hasFocus()) { return; } ic_->commitString(text.c_str()); ic_->commit(serial_); } - void deleteSurroundingTextDelegate(InputContext *ic, int offset, - unsigned int size) const override; - void forwardKeyDelegate(InputContext * /*ic*/, - const ForwardKeyEvent &key) const override; + void deleteSurroundingTextImpl(int offset, unsigned int size) override; + void forwardKeyImpl(const ForwardKeyEvent &key) override; - void updatePreeditDelegate(InputContext *ic) const override; + void updatePreeditImpl() override; private: void repeat(); @@ -113,10 +122,7 @@ class WaylandIMInputContextV2 : public VirtualInputContextGlue { uint32_t mods_latched, uint32_t mods_locked, uint32_t group); void repeatInfoCallback(int32_t rate, int32_t delay); - void sendKeyToVK(uint32_t time, const Key &key, uint32_t state) const; - - int32_t repeatRate() const; - int32_t repeatDelay() const; + void sendKeyToVK(uint32_t time, uint32_t key, uint32_t state); WaylandIMServerV2 *server_; std::shared_ptr seat_; @@ -124,7 +130,6 @@ class WaylandIMInputContextV2 : public VirtualInputContextGlue { std::unique_ptr keyboardGrab_; std::unique_ptr vk_; std::unique_ptr timeEvent_; - std::unique_ptr virtualICManager_; bool pendingActivate_ = false; bool pendingDeactivate_ = false; @@ -137,9 +142,9 @@ class WaylandIMInputContextV2 : public VirtualInputContextGlue { uint32_t repeatTime_ = 0; KeySym repeatSym_ = FcitxKey_None; - std::optional> repeatInfo_; + int32_t repeatRate_ = 40, repeatDelay_ = 400; - mutable OrderedMap pressedVKKey_; + OrderedMap pressedVKKey_; }; } // namespace fcitx diff --git a/src/frontend/waylandim/wlrappmonitor.cpp b/src/frontend/waylandim/wlrappmonitor.cpp deleted file mode 100644 index dc987a29..00000000 --- a/src/frontend/waylandim/wlrappmonitor.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#include "wlrappmonitor.h" -#include -#include "zwlr_foreign_toplevel_handle_v1.h" -#include "zwlr_foreign_toplevel_manager_v1.h" - -namespace fcitx { -class WlrWindow { -public: - WlrWindow(WlrAppMonitor *parent, - wayland::ZwlrForeignToplevelHandleV1 *window) - : parent_(parent), window_(window), - key_(std::to_string(wl_proxy_get_id(reinterpret_cast( - static_cast(*window))))) { - conns_.emplace_back(window->state().connect([this](wl_array *array) { - pendingActive_ = false; - size_t size = array->size / sizeof(uint32_t); - for (size_t i = 0; i < size; ++i) { - auto entry = static_cast(array->data)[i]; - if (entry == ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1_STATE_ACTIVATED) { - pendingActive_ = true; - } - } - })); - conns_.emplace_back(window->done().connect([this]() { - active_ = pendingActive_; - parent_->refresh(); - })); - conns_.emplace_back(window->appId().connect([this](const char *appId) { - appId_ = appId; - parent_->refresh(); - })); - } - - const auto &appId() const { return appId_; } - bool active() const { return active_; } - const auto &key() { return key_; } - -private: - WlrAppMonitor *parent_; - bool pendingActive_ = false; - bool active_ = false; - std::string appId_; - std::unique_ptr window_; - std::string key_; - std::list conns_; -}; - -WlrAppMonitor::WlrAppMonitor(wayland::Display *display) { - display->requestGlobals(); - - globalConn_ = display->globalCreated().connect( - [this](const std::string &name, - const std::shared_ptr &management) { - if (name == wayland::ZwlrForeignToplevelManagerV1::interface) { - setup(static_cast( - management.get())); - } - }); - - if (auto management = - display->getGlobal()) { - setup(management.get()); - } -} - -WlrAppMonitor::~WlrAppMonitor() = default; - -bool WlrAppMonitor::isAvailable() const { return toplevelConn_.connected(); } - -void WlrAppMonitor::setup(wayland::ZwlrForeignToplevelManagerV1 *management) { - toplevelConn_ = management->toplevel().connect( - [this](wayland::ZwlrForeignToplevelHandleV1 *handle) { - windows_[handle] = std::make_unique(this, handle); - handle->closed().connect([this, handle]() { remove(handle); }); - }); -} - -void WlrAppMonitor::remove(wayland::ZwlrForeignToplevelHandleV1 *handle) { - windows_.erase(handle); - refresh(); -} - -void WlrAppMonitor::refresh() { - std::unordered_map state; - std::optional focus; - for (const auto &[_, wlrWindow] : windows_) { - if (!wlrWindow->appId().empty()) { - auto iter = state.emplace(wlrWindow->key(), wlrWindow->appId()); - if (wlrWindow->active() && !focus && iter.second) { - focus = iter.first->first; - } - } - } - appUpdated(state, focus); -} - -} // namespace fcitx diff --git a/src/frontend/waylandim/wlrappmonitor.h b/src/frontend/waylandim/wlrappmonitor.h deleted file mode 100644 index a0a0242a..00000000 --- a/src/frontend/waylandim/wlrappmonitor.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022~2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#ifndef _FCITX5_FRONTEND_WAYLANDIM_WLRAPPMONITOR_H_ -#define _FCITX5_FRONTEND_WAYLANDIM_WLRAPPMONITOR_H_ - -#include "fcitx-utils/signals.h" -#include "fcitx-wayland/core/display.h" -#include "appmonitor.h" - -namespace fcitx { -namespace wayland { -class ZwlrForeignToplevelManagerV1; -class ZwlrForeignToplevelHandleV1; -} // namespace wayland -class WlrWindow; - -class WlrAppMonitor : public AppMonitor { -public: - WlrAppMonitor(wayland::Display *wayland); - ~WlrAppMonitor() override; - - bool isAvailable() const override; - - void setup(wayland::ZwlrForeignToplevelManagerV1 *management); - void remove(wayland::ZwlrForeignToplevelHandleV1 *window); - void refresh(); - -private: - ScopedConnection globalConn_; - ScopedConnection toplevelConn_; - std::unordered_map> - windows_; - std::unordered_map appState_; -}; - -} // namespace fcitx - -#endif // _FCITX5_FRONTEND_WAYLANDIM_WLRAPPMONITOR_H_ diff --git a/src/frontend/xim/CMakeLists.txt b/src/frontend/xim/CMakeLists.txt index 7d063357..a9e9f648 100644 --- a/src/frontend/xim/CMakeLists.txt +++ b/src/frontend/xim/CMakeLists.txt @@ -1,9 +1,10 @@ +if (ENABLE_X11) add_library(xim MODULE xim.cpp) target_link_libraries(xim Fcitx5::Core XCBImdkit::XCBImdkit XCB::XCB XCB::AUX XCB::EWMH XKBCommon::XKBCommon Fcitx5::Module::XCB) -target_compile_definitions(xim PRIVATE -DFCITX_XCB_EWMH) install(TARGETS xim DESTINATION "${FCITX_INSTALL_ADDONDIR}") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/xim.conf" DESTINATION "${FCITX_INSTALL_PKGDATADIR}/addon" COMPONENT config) +endif() configure_file(xim.conf.in.in xim.conf.in @ONLY) fcitx5_translate_desktop_file(${CMAKE_CURRENT_BINARY_DIR}/xim.conf.in xim.conf) diff --git a/src/frontend/xim/xim.conf.in.in b/src/frontend/xim/xim.conf.in.in index dd1fbcff..84df8b17 100644 --- a/src/frontend/xim/xim.conf.in.in +++ b/src/frontend/xim/xim.conf.in.in @@ -9,8 +9,7 @@ Configurable=True [Addon/Dependencies] 0=xcb -# This intends to load xim after dbus & ibusfrontend, so xim is released before dbus. +# This intends to load xim after dbus, so xim is released before dbus. # This helps new fcitx server to become xim server properly when replacing. [Addon/OptionalDependencies] 0=dbus -1=ibusfrontend diff --git a/src/frontend/xim/xim.cpp b/src/frontend/xim/xim.cpp index cb65e568..cf54c235 100644 --- a/src/frontend/xim/xim.cpp +++ b/src/frontend/xim/xim.cpp @@ -4,7 +4,6 @@ * SPDX-License-Identifier: LGPL-2.1-or-later * */ - #include "xim.h" #include #include @@ -12,13 +11,12 @@ #include #include #include -#include "fcitx-utils/misc.h" #include "fcitx-utils/misc_p.h" #include "fcitx-utils/stringutils.h" #include "fcitx-utils/utf8.h" +#include "fcitx/focusgroup.h" #include "fcitx/inputcontext.h" #include "fcitx/instance.h" -#include "fcitx/userinterface.h" FCITX_DEFINE_LOG_CATEGORY(xim, "xim") FCITX_DEFINE_LOG_CATEGORY(xim_key, "xim_key") @@ -185,7 +183,6 @@ class XIMServer { // bool value: isUtf8 std::unordered_map clientEncodingMapping_; std::unordered_set supportedStyles_; - UniqueCPtr localState_; }; pid_t getWindowPid(xcb_ewmh_connection_t *ewmh, xcb_window_t w) { @@ -447,7 +444,7 @@ class XIMInputContext final : public InputContext { } feedbackBuffer_.clear(); - for (size_t i = 0; i < text.size(); i++) { + for (size_t i = 0, offset = 0; i < text.size(); i++) { auto format = text.formatAt(i); const auto &str = text.stringAt(i); uint32_t feedback = 0; @@ -460,6 +457,7 @@ class XIMInputContext final : public InputContext { unsigned int strLen = utf8::length(str); for (size_t j = 0; j < strLen; j++) { feedbackBuffer_.push_back(feedback); + offset++; } } feedbackBuffer_.push_back(0); @@ -570,31 +568,17 @@ void XIMServer::callback(xcb_im_client_t *client, xcb_im_input_context_t *xic, if (!state) { break; } - - auto *keymap = xkb_state_get_keymap(state); - if (!localState_ || xkb_state_get_keymap(localState_.get()) != - xkb_state_get_keymap(state)) { - localState_.reset(xkb_state_new(keymap)); - } xcb_key_press_event_t *xevent = static_cast(arg); - auto layout = - xkb_state_serialize_layout(state, XKB_STATE_LAYOUT_EFFECTIVE); - // Always use the state that is forwarded by client. - // For xkb_state_key_get_one_sym, no need to distinguish - // depressed/latched/locked. - xkb_state_update_mask(localState_.get(), xevent->state, 0, 0, 0, 0, - layout); KeyEvent event(ic, Key(static_cast(xkb_state_key_get_one_sym( - localState_.get(), xevent->detail)), + state, xevent->detail)), ic->updateAutoRepeatState(xevent), xevent->detail), (xevent->response_type & ~0x80) == XCB_KEY_RELEASE, xevent->time); XIM_KEY_DEBUG() << "XIM Key Event: " << static_cast(xevent->response_type) << " " - << event.rawKey().toString() << " time:" << xevent->time - << " sequence:" << xevent->sequence; + << event.rawKey().toString(); if (!ic->hasFocus()) { ic->focusIn(); } @@ -607,6 +591,8 @@ void XIMServer::callback(xcb_im_client_t *client, xcb_im_input_context_t *xic, if (!result) { xcb_im_forward_event(im(), xic, xevent); } + // Make sure xcb ui can be updated. + instance()->flushUI(); break; } case XCB_XIM_RESET_IC: @@ -639,12 +625,11 @@ XIMModule::XIMModule(Instance *instance) : instance_(instance) { }); updateRootStyleCallback_ = instance_->watchEvent( - EventType::InputContextFlushUI, EventWatcherPhase::PreInputMethod, + EventType::InputContextUpdateUI, EventWatcherPhase::PreInputMethod, [](Event &event) { - auto &uiEvent = static_cast(event); + auto &uiEvent = static_cast(event); auto ic = uiEvent.inputContext(); - if (uiEvent.component() == UserInterfaceComponent::InputPanel && - ic->frontendName() == "xim") { + if (ic->frontend() == std::string_view("xim")) { auto xic = static_cast(ic); xic->maybeUpdateCursorLocationForRootStyle(); } diff --git a/src/frontend/xim/xim.h b/src/frontend/xim/xim.h index 3bd29e10..79512b88 100644 --- a/src/frontend/xim/xim.h +++ b/src/frontend/xim/xim.h @@ -7,18 +7,24 @@ #ifndef _FCITX_FRONTEND_XIM_XIM_H_ #define _FCITX_FRONTEND_XIM_XIM_H_ -#include #include + +#include +#include +#include #include "fcitx-config/iniparser.h" +#include "fcitx-utils/event.h" #include "fcitx-utils/i18n.h" #include "fcitx/addonfactory.h" #include "fcitx/addoninstance.h" #include "fcitx/addonmanager.h" +#include "fcitx/focusgroup.h" #include "fcitx/instance.h" #include "xcb_public.h" namespace fcitx { +class XIMModule; class XIMServer; FCITX_CONFIGURATION(XIMConfig, diff --git a/src/im/keyboard/CMakeLists.txt b/src/im/keyboard/CMakeLists.txt index ae7691ad..ca218737 100644 --- a/src/im/keyboard/CMakeLists.txt +++ b/src/im/keyboard/CMakeLists.txt @@ -1,5 +1,5 @@ add_library(keyboard STATIC keyboard.cpp isocodes.cpp xkbrules.cpp xmlparser.cpp longpress.cpp compose.cpp) -target_link_libraries(keyboard Fcitx5::Core Expat::Expat LibIntl::LibIntl Fcitx5::Module::Spell Fcitx5::Module::Notifications XKBCommon::XKBCommon Fcitx5::Module::QuickPhrase PkgConfig::JsonC ${FMT_TARGET}) +target_link_libraries(keyboard Fcitx5::Core Expat::Expat LibIntl::LibIntl Fcitx5::Module::Spell Fcitx5::Module::Notifications Fcitx5::Module::QuickPhrase PkgConfig::JsonC ${FMT_TARGET}) if (ENABLE_X11) target_link_libraries(keyboard Fcitx5::Module::XCB) endif() diff --git a/src/im/keyboard/compose.cpp b/src/im/keyboard/compose.cpp index d14b566c..393209d1 100644 --- a/src/im/keyboard/compose.cpp +++ b/src/im/keyboard/compose.cpp @@ -101,18 +101,15 @@ bool ComposeState::typeImpl(KeySym sym, std::string &result) { // check compose first. auto composeResult = instance_->processComposeString(inputContext_, sym); if (!composeResult) { - assert(composeBuffer_.size() > 0); if (instance_->isComposing(inputContext_)) { return true; } // If compose is invalid, and we are not in composing state before, // ignore this. if (!wasComposing) { - assert(composeBuffer_.size() == 1); composeBuffer_.clear(); return false; } - assert(composeBuffer_.size() > 1); // Check for dead key prefix. size_t numDeadPrefix = 0; @@ -158,8 +155,6 @@ bool ComposeState::typeImpl(KeySym sym, std::string &result) { reset(); return true; } - // Unreachable. - return true; } // Empty string but composing, means ignored if (instance_->isComposing(inputContext_)) { diff --git a/src/im/keyboard/compose.h b/src/im/keyboard/compose.h index 07c4b8ab..6747cbf6 100644 --- a/src/im/keyboard/compose.h +++ b/src/im/keyboard/compose.h @@ -8,6 +8,8 @@ #define _FCITX_IM_KEYBOARD_COMPOSE_H_ #include +#include +#include #include namespace fcitx { diff --git a/src/im/keyboard/isocodes.cpp b/src/im/keyboard/isocodes.cpp index 06746599..4c0d7c86 100644 --- a/src/im/keyboard/isocodes.cpp +++ b/src/im/keyboard/isocodes.cpp @@ -7,6 +7,8 @@ #include "isocodes.h" #include +#include +#include #include #include "fcitx-utils/metastring.h" diff --git a/src/im/keyboard/isocodes.h b/src/im/keyboard/isocodes.h index 71e0fee1..d47d830f 100644 --- a/src/im/keyboard/isocodes.h +++ b/src/im/keyboard/isocodes.h @@ -21,6 +21,9 @@ struct IsoCodes639Entry { std::string name; }; +class IsoCodes639Parser; +class IsoCodes3166Parser; + class IsoCodes { friend class IsoCodes639Parser; friend class IsoCodes3166Parser; diff --git a/src/im/keyboard/keyboard.cpp b/src/im/keyboard/keyboard.cpp index eaa6c7f8..47149a51 100644 --- a/src/im/keyboard/keyboard.cpp +++ b/src/im/keyboard/keyboard.cpp @@ -6,13 +6,20 @@ */ #include "keyboard.h" +#include #include +#include #include -#include +#include #include "fcitx-config/iniparser.h" +#include "fcitx-utils/charutils.h" +#include "fcitx-utils/cutf8.h" #include "fcitx-utils/i18n.h" +#include "fcitx-utils/log.h" +#include "fcitx-utils/standardpath.h" #include "fcitx-utils/stringutils.h" #include "fcitx-utils/utf8.h" +#include "fcitx/inputcontext.h" #include "fcitx/inputcontextmanager.h" #include "fcitx/inputcontextproperty.h" #include "fcitx/inputmethodentry.h" @@ -26,7 +33,6 @@ #include "spell_public.h" #ifdef ENABLE_X11 -#define FCITX_NO_XCB #include "xcb_public.h" #endif @@ -160,41 +166,25 @@ KeyboardEngineState::KeyboardEngineState(KeyboardEngine *engine, KeyboardEngine::KeyboardEngine(Instance *instance) : instance_(instance) { setupDefaultLongPressConfig(longPressConfig_); registerDomain("xkeyboard-config", XKEYBOARDCONFIG_DATADIR "/locale"); - std::string ruleName = DEFAULT_XKB_RULES; - std::string extraRuleFile; + std::string rule; #ifdef ENABLE_X11 auto *xcb = instance_->addonManager().addon("xcb"); if (xcb) { auto rules = xcb->call(""); if (!rules[0].empty()) { - if (rules[0][0] == '/') { - extraRuleFile = rules[0]; - if (!stringutils::endsWith(extraRuleFile, ".xml")) { - extraRuleFile = extraRuleFile + ".xml"; - } - } else { - ruleName = rules[0]; + rule = rules[0]; + if (rule[0] != '/') { + rule = XKEYBOARDCONFIG_XKBBASE "/rules/" + rule; } + rule += ".xml"; + ruleName_ = rule; } } #endif - - UniqueCPtr xkbContext( - xkb_context_new(XKB_CONTEXT_NO_FLAGS)); - std::vector directories; - if (xkbContext) { - for (unsigned int i = 0, - e = xkb_context_num_include_paths(xkbContext.get()); - i < e; i++) { - directories.push_back( - xkb_context_include_path_get(xkbContext.get(), i)); - } - } - if (directories.empty()) { - directories.push_back(XKEYBOARDCONFIG_XKBBASE); - } - if (!xkbRules_.read(directories, ruleName, extraRuleFile)) { - xkbRules_.read(directories, DEFAULT_XKB_RULES, ""); + if (rule.empty() || !xkbRules_.read(rule)) { + rule = XKEYBOARDCONFIG_XKBBASE "/rules/" DEFAULT_XKB_RULES ".xml"; + xkbRules_.read(rule); + ruleName_ = DEFAULT_XKB_RULES; } instance_->inputContextManager().registerProperty("keyboardState", @@ -245,21 +235,11 @@ std::vector KeyboardEngine::listInputMethods() { D_("xkeyboard-config", variantInfo.description)); auto uniqueName = stringutils::concat(imNamePrefix, layoutInfo.name, "-", variantInfo.name); - - auto variantLabel = variantInfo.shortDescription.empty() - ? layoutInfo.name - : variantInfo.shortDescription; - // Certain layout use the variant name as label, if that is the - // case, we don't need to repeat it, otherwise put the variant in - // the label. E.g. Cherokee label is chr, and variant name is also - // chr. So "chr (chr)" would be redundant in this case. - if (variantLabel != variantInfo.name) { - variantLabel = - fmt::format("{0} ({1})", variantLabel, variantInfo.name); - } result.push_back(std::move( InputMethodEntry(uniqueName, description, language, "keyboard") - .setLabel(variantLabel) + .setLabel(variantInfo.shortDescription.empty() + ? layoutInfo.name + : variantInfo.shortDescription) .setIcon("input-keyboard") .setConfigurable(true))); } @@ -540,8 +520,7 @@ void KeyboardEngine::resetState(InputContext *inputContext) { state->reset(); } -void KeyboardEngine::deactivate(const InputMethodEntry &, - InputContextEvent &event) { +void KeyboardEngine::reset(const InputMethodEntry &, InputContextEvent &event) { auto *inputContext = event.inputContext(); auto *state = inputContext->propertyFor(&factory_); // The reason that we do not commit here is we want to force the behavior. @@ -556,15 +535,6 @@ void KeyboardEngine::deactivate(const InputMethodEntry &, inputContext->updateUserInterface(UserInterfaceComponent::InputPanel); } -void KeyboardEngine::reset(const InputMethodEntry &, InputContextEvent &event) { - auto *inputContext = event.inputContext(); - auto *state = inputContext->propertyFor(&factory_); - state->reset(); - inputContext->inputPanel().reset(); - inputContext->updatePreedit(); - inputContext->updateUserInterface(UserInterfaceComponent::InputPanel); -} - void KeyboardEngine::invokeActionImpl(const InputMethodEntry &, InvokeActionEvent &event) { auto *inputContext = event.inputContext(); @@ -675,7 +645,7 @@ void KeyboardEngineState::showHintNotification( } engine_->notifications()->call( "fcitx-keyboard-hint", _("Input Method"), "tools-check-spelling", - _("Completion"), message, 1000); + _("Completion"), message, -1); } bool KeyboardEngineState::handleLongPress(const KeyEvent &event) { @@ -692,7 +662,7 @@ bool KeyboardEngineState::handleLongPress(const KeyEvent &event) { repeatStarted_ = true; mode_ = CandidateMode::LongPress; - origKeyString_ = std::move(keystr); + origKeyString_ = keystr; if (buffer_.empty()) { if (inputContext->capabilityFlags().test( CapabilityFlag::SurroundingText)) { diff --git a/src/im/keyboard/keyboard.h b/src/im/keyboard/keyboard.h index 231d84bc..d82e9ef5 100644 --- a/src/im/keyboard/keyboard.h +++ b/src/im/keyboard/keyboard.h @@ -26,6 +26,8 @@ namespace fcitx { +class Instance; + enum class ChooseModifier { NoModifier, Alt, Control, Super }; FCITX_CONFIG_ENUM_NAME_WITH_I18N(ChooseModifier, N_("None"), N_("Alt"), N_("Control"), N_("Super")); @@ -133,6 +135,8 @@ struct KeyboardEngineState : public InputContextProperty { bool updateBuffer(std::string_view chr); }; +class KeyboardEnginePrivate; + class KeyboardEngine final : public InputMethodEngineV3 { public: KeyboardEngine(Instance *instance); @@ -156,8 +160,6 @@ class KeyboardEngine final : public InputMethodEngineV3 { void reset(const InputMethodEntry &entry, InputContextEvent &event) override; - void deactivate(const InputMethodEntry &entry, - InputContextEvent &event) override; void invokeActionImpl(const fcitx::InputMethodEntry &entry, fcitx::InvokeActionEvent &event) override; @@ -196,10 +198,13 @@ class KeyboardEngine final : public InputMethodEngineV3 { void initQuickPhrase(); Instance *instance_; + AddonInstance *spell_ = nullptr; + AddonInstance *notifications_ = nullptr; KeyboardEngineConfig config_; LongPressConfig longPressConfig_; std::unordered_map> longPressData_; XkbRules xkbRules_; + std::string ruleName_; KeyStates selectionModifier_; KeyList selectionKeys_; std::unique_ptr deferEvent_; diff --git a/src/im/keyboard/xkbrules.cpp b/src/im/keyboard/xkbrules.cpp index da607357..159f070c 100644 --- a/src/im/keyboard/xkbrules.cpp +++ b/src/im/keyboard/xkbrules.cpp @@ -24,7 +24,6 @@ struct XkbRulesParseState : public XMLParser { std::list modelInfos_; std::list optionGroupInfos_; std::string version_; - std::string textBuff_; bool match(const std::initializer_list &array) { if (parseStack_.size() < array.size()) { @@ -36,7 +35,6 @@ struct XkbRulesParseState : public XMLParser { void startElement(const XML_Char *name, const XML_Char **attrs) override { parseStack_.emplace_back(reinterpret_cast(name)); - textBuff_.clear(); if (match({"layoutList", "layout", "configItem"})) { layoutInfos_.emplace_back(); @@ -72,9 +70,13 @@ struct XkbRulesParseState : public XMLParser { } } } - void endElement(const XML_Char *) override { - auto text = stringutils::trimView(textBuff_); - if (!text.empty()) { + void endElement(const XML_Char *) override { parseStack_.pop_back(); } + void characterData(const XML_Char *ch, int len) override { + std::string temp(reinterpret_cast(ch), len); + auto pair = stringutils::trimInplace(temp); + std::string::size_type start = pair.first, end = pair.second; + if (start != end) { + std::string text(temp.begin() + start, temp.begin() + end); if (match({"layoutList", "layout", "configItem", "name"})) { layoutInfos_.back().name = text; } else if (match({"layoutList", "layout", "configItem", @@ -85,7 +87,7 @@ struct XkbRulesParseState : public XMLParser { layoutInfos_.back().shortDescription = text; } else if (match({"layoutList", "layout", "configItem", "languageList", "iso639Id"})) { - layoutInfos_.back().languages.emplace_back(text); + layoutInfos_.back().languages.push_back(text); } else if (match({"layoutList", "layout", "variantList", "variant", "configItem", "name"})) { layoutInfos_.back().variantInfos.back().name = text; @@ -97,7 +99,7 @@ struct XkbRulesParseState : public XMLParser { layoutInfos_.back().variantInfos.back().shortDescription = text; } else if (match({"layoutList", "layout", "variantList", "variant", "configItem", "languageList", "iso639Id"})) { - layoutInfos_.back().variantInfos.back().languages.emplace_back( + layoutInfos_.back().variantInfos.back().languages.push_back( text); } else if (match({"modelList", "model", "configItem", "name"})) { modelInfos_.back().name = text; @@ -119,12 +121,6 @@ struct XkbRulesParseState : public XMLParser { optionGroupInfos_.back().optionInfos.back().description = text; } } - - textBuff_.clear(); - parseStack_.pop_back(); - } - void characterData(const XML_Char *ch, int len) override { - textBuff_.append(reinterpret_cast(ch), len); } void merge(XkbRules *rules) { @@ -152,40 +148,29 @@ struct XkbRulesParseState : public XMLParser { } }; -bool XkbRules::read(const std::vector &directories, - const std::string &name, const std::string &extraFile) { +bool XkbRules::read(const std::string &fileName) { clear(); - for (const auto &directory : directories) { - std::string fileName = stringutils::joinPath( - directory, "rules", stringutils::concat(name, ".xml")); - { - XkbRulesParseState state; - state.rules_ = this; - if (!state.parse(fileName)) { - return false; - } - state.merge(this); + { + XkbRulesParseState state; + state.rules_ = this; + if (!state.parse(fileName)) { + return false; } + state.merge(this); + } - std::string extraFileName = stringutils::joinPath( - directory, "rules", stringutils::concat(name, ".extras.xml")); + if (stringutils::endsWith(fileName, ".xml")) { + auto extraFile = fileName.substr(0, fileName.size() - 3); + extraFile += "extras.xml"; { XkbRulesParseState state; state.rules_ = this; - if (state.parse(extraFileName)) { + if (state.parse(extraFile)) { state.merge(this); } } } - - if (!extraFile.empty()) { - XkbRulesParseState state; - state.rules_ = this; - if (state.parse(extraFile)) { - state.merge(this); - } - } return true; } diff --git a/src/im/keyboard/xkbrules.h b/src/im/keyboard/xkbrules.h index 7bdf9f57..247cb5ce 100644 --- a/src/im/keyboard/xkbrules.h +++ b/src/im/keyboard/xkbrules.h @@ -47,11 +47,11 @@ struct XkbOptionGroupInfo { bool exclusive; }; +struct XkbRulesParseState; class XkbRules { public: friend struct XkbRulesParseState; - bool read(const std::vector &directories, - const std::string &name, const std::string &extraFile); + bool read(const std::string &fileName); #ifdef _TEST_XKBRULES void dump(); #endif diff --git a/src/im/keyboard/xmlparser.cpp b/src/im/keyboard/xmlparser.cpp index 0ab436f4..2923d26e 100644 --- a/src/im/keyboard/xmlparser.cpp +++ b/src/im/keyboard/xmlparser.cpp @@ -6,6 +6,7 @@ */ #include "xmlparser.h" +#include #include "fcitx-utils/misc.h" #define XML_BUFFER_SIZE 4096 diff --git a/src/lib/fcitx-config/CMakeLists.txt b/src/lib/fcitx-config/CMakeLists.txt index 85c9865b..66c840fb 100644 --- a/src/lib/fcitx-config/CMakeLists.txt +++ b/src/lib/fcitx-config/CMakeLists.txt @@ -45,7 +45,7 @@ configure_file(Fcitx5Config.pc.in ${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Config.pc @O install(TARGETS Fcitx5Config EXPORT Fcitx5ConfigTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Config.pc DESTINATION "${CMAKE_INSTALL_LIBDATADIR}/pkgconfig") -install(FILES ${FCITX_CONFIG_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Config/fcitx-config" COMPONENT header) +install(FILES ${FCITX_CONFIG_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Config/fcitx-config") add_library(Fcitx5::Config ALIAS Fcitx5Config) diff --git a/src/lib/fcitx-config/configuration.cpp b/src/lib/fcitx-config/configuration.cpp index 1803f472..45b66f1b 100644 --- a/src/lib/fcitx-config/configuration.cpp +++ b/src/lib/fcitx-config/configuration.cpp @@ -6,13 +6,13 @@ */ #include "configuration.h" -#include #include +#include #include #include #include #include -#include "fcitx-utils/stringutils.h" +#include "fcitx-utils/standardpath.h" namespace fcitx { class ConfigurationPrivate { @@ -24,7 +24,7 @@ class ConfigurationPrivate { Configuration::Configuration() : d_ptr(std::make_unique()) {} -Configuration::~Configuration() = default; +Configuration::~Configuration() {} void Configuration::dumpDescription(RawConfig &config) const { return dumpDescriptionImpl(config, {}); @@ -55,7 +55,7 @@ void Configuration::dumpDescriptionImpl( auto subConfigPath = parentPaths; subConfigPath.push_back(option->path()); std::string subTypeName = subConfig->typeName(); - const auto *oldTypeName = descConfigPtr->valueByPath("Type"); + auto oldTypeName = descConfigPtr->valueByPath("Type"); // Replace the "Type" with the full name we want. // Path$To$Value$TypeName if (oldTypeName && @@ -65,7 +65,7 @@ void Configuration::dumpDescriptionImpl( newTypeName.append(stringutils::join(subConfigPath, '$')); newTypeName.append("$"); newTypeName.append(subTypeName); - descConfigPtr->setValueByPath("Type", std::move(newTypeName)); + descConfigPtr->setValueByPath("Type", newTypeName); } subConfigs.emplace_back(subConfigPath, std::move(subConfig)); } @@ -79,15 +79,14 @@ void Configuration::dumpDescriptionImpl( bool Configuration::compareHelper(const Configuration &other) const { FCITX_D(); - return std::all_of( - d->optionsOrder_.begin(), d->optionsOrder_.end(), - [d, &other](const auto &path) { - auto optionIter = d->options_.find(path); - assert(optionIter != d->options_.end()); - auto otherOptionIter = other.d_func()->options_.find(path); - assert(otherOptionIter != other.d_func()->options_.end()); - return *optionIter->second == *otherOptionIter->second; - }); + for (const auto &path : d->optionsOrder_) { + auto optionIter = d->options_.find(path); + assert(optionIter != d->options_.end()); + auto otherOptionIter = other.d_func()->options_.find(path); + if (*optionIter->second != *otherOptionIter->second) { + return false; + } + } return true; } @@ -148,13 +147,7 @@ void Configuration::syncDefaultValueToCurrent() { for (const auto &path : d->optionsOrder_) { auto iter = d->options_.find(path); assert(iter != d->options_.end()); - // Unfortunately on certain system OptionBaseV2 doesn't have key - // function emit type info, so we have to add OptionBaseV3 with a - // non-abstract virtual funciton. - if (auto *optionV3 = dynamic_cast(iter->second)) { - optionV3->syncDefaultValueToCurrent(); - } else if (auto *optionV2 = - dynamic_cast(iter->second)) { + if (auto optionV2 = dynamic_cast(iter->second)) { optionV2->syncDefaultValueToCurrent(); } } diff --git a/src/lib/fcitx-config/configuration.h b/src/lib/fcitx-config/configuration.h index ac2509b3..6aff9e64 100644 --- a/src/lib/fcitx-config/configuration.h +++ b/src/lib/fcitx-config/configuration.h @@ -7,15 +7,12 @@ #ifndef _FCITX_CONFIG_CONFIGURATION_H_ #define _FCITX_CONFIG_CONFIGURATION_H_ -#include -#include -#include #include -#include -#include #include #include "fcitxconfig_export.h" +#include + #define FCITX_CONFIGURATION_EXTEND(NAME, SUBCLASS, ...) \ class NAME; \ FCITX_SPECIALIZE_TYPENAME(NAME, #NAME) \ @@ -61,7 +58,7 @@ class FCITXCONFIG_EXPORT Configuration { void load(const RawConfig &config, bool partial = false); void save(RawConfig &config) const; void dumpDescription(RawConfig &config) const; - FCITX_NODISCARD virtual const char *typeName() const = 0; + virtual const char *typeName() const = 0; /** * Set default value to current value. diff --git a/src/lib/fcitx-config/iniparser.cpp b/src/lib/fcitx-config/iniparser.cpp index 849eb4c6..fbfd48d5 100644 --- a/src/lib/fcitx-config/iniparser.cpp +++ b/src/lib/fcitx-config/iniparser.cpp @@ -7,13 +7,7 @@ #include "iniparser.h" #include #include -#include -#include -#include -#include "fcitx-config/rawconfig.h" #include "fcitx-utils/fs.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/misc.h" #include "fcitx-utils/standardpath.h" #include "fcitx-utils/stringutils.h" #include "fcitx-utils/unixfd.h" @@ -48,20 +42,26 @@ bool writeAsIni(const RawConfig &config, int fd) { } void readFromIni(RawConfig &config, FILE *fin) { - std::string currentGroup; + std::string lineBuf, currentGroup; UniqueCPtr clineBuf; size_t bufSize = 0; unsigned int line = 0; while (getline(clineBuf, &bufSize, fin) >= 0) { line++; - std::string_view lineBuf = stringutils::trimView(clineBuf.get()); - if (lineBuf.empty() || lineBuf.front() == '#') { + lineBuf = clineBuf.get(); + auto pair = stringutils::trimInplace(lineBuf); + std::string::size_type start = pair.first, end = pair.second; + if (start == end || lineBuf[start] == '#') { continue; } - if (lineBuf.front() == '[' && lineBuf.back() == ']') { - currentGroup = lineBuf.substr(1, lineBuf.size() - 2); + lineBuf.resize(end); + + std::string::size_type equalPos; + + if (lineBuf[start] == '[' && lineBuf[end - 1] == ']') { + currentGroup = lineBuf.substr(start + 1, end - start - 2); config.visitItemsOnPath( [line](RawConfig &config, const std::string &) { if (!config.lineNumber()) { @@ -69,9 +69,9 @@ void readFromIni(RawConfig &config, FILE *fin) { } }, currentGroup); - } else if (std::string::size_type equalPos = lineBuf.find_first_of('='); - equalPos != std::string::npos) { - auto name = lineBuf.substr(0, equalPos); + } else if ((equalPos = lineBuf.find_first_of('=', start)) != + std::string::npos) { + auto name = lineBuf.substr(start, equalPos - start); auto valueStart = equalPos + 1; auto value = stringutils::unescapeForValue( @@ -87,7 +87,7 @@ void readFromIni(RawConfig &config, FILE *fin) { s += name; subConfig = config.get(s, true); } else { - subConfig = config.get(std::string(name), true); + subConfig = config.get(name, true); } subConfig->setValue(*value); subConfig->setLineNumber(line); @@ -95,7 +95,7 @@ void readFromIni(RawConfig &config, FILE *fin) { } } -bool writeAsIni(const RawConfig &config, FILE *fout) { +bool writeAsIni(const RawConfig &root, FILE *fout) { std::function callback; callback = [fout, &callback](const RawConfig &config, @@ -122,12 +122,13 @@ bool writeAsIni(const RawConfig &config, FILE *fout) { return true; }, "", false, path); - if (!values.empty()) { + auto valueString = values; + if (!valueString.empty()) { if (!path.empty()) { FCITX_RETURN_IF(fprintf(fout, "[%s]\n", path.c_str()) < 0, false); } - FCITX_RETURN_IF(fprintf(fout, "%s\n", values.c_str()) < 0, + FCITX_RETURN_IF(fprintf(fout, "%s\n", valueString.c_str()) < 0, false); } } @@ -135,7 +136,7 @@ bool writeAsIni(const RawConfig &config, FILE *fout) { return true; }; - return callback(config, ""); + return callback(root, ""); } void readAsIni(RawConfig &rawConfig, const std::string &path) { diff --git a/src/lib/fcitx-config/iniparser.h b/src/lib/fcitx-config/iniparser.h index 6c67d5d5..e88deb30 100644 --- a/src/lib/fcitx-config/iniparser.h +++ b/src/lib/fcitx-config/iniparser.h @@ -7,8 +7,6 @@ #ifndef _FCITX_CONFIG_INIPARSER_H_ #define _FCITX_CONFIG_INIPARSER_H_ -#include -#include #include #include #include "fcitxconfig_export.h" @@ -19,25 +17,22 @@ FCITXCONFIG_EXPORT void readFromIni(RawConfig &config, int fd); FCITXCONFIG_EXPORT bool writeAsIni(const RawConfig &config, int fd); FCITXCONFIG_EXPORT void readFromIni(RawConfig &config, FILE *fin); FCITXCONFIG_EXPORT bool writeAsIni(const RawConfig &config, FILE *fout); -FCITXCONFIG_EXPORT void readAsIni(Configuration &configuration, - const std::string &path); -FCITXCONFIG_EXPORT void readAsIni(RawConfig &rawConfig, - const std::string &path); -FCITXCONFIG_EXPORT void readAsIni(Configuration &configuration, - StandardPath::Type type, - const std::string &path); -FCITXCONFIG_EXPORT void readAsIni(RawConfig &rawConfig, StandardPath::Type type, - const std::string &path); -FCITXCONFIG_EXPORT bool safeSaveAsIni(const Configuration &configuration, - const std::string &path); -FCITXCONFIG_EXPORT bool safeSaveAsIni(const RawConfig &rawConfig, - const std::string &path); -FCITXCONFIG_EXPORT bool safeSaveAsIni(const Configuration &configuration, +FCITXCONFIG_EXPORT void readAsIni(Configuration &, const std::string &name); +FCITXCONFIG_EXPORT void readAsIni(RawConfig &, const std::string &name); +FCITXCONFIG_EXPORT void readAsIni(Configuration &, StandardPath::Type type, + const std::string &name); +FCITXCONFIG_EXPORT void readAsIni(RawConfig &, StandardPath::Type type, + const std::string &name); +FCITXCONFIG_EXPORT bool safeSaveAsIni(const Configuration &, + const std::string &name); +FCITXCONFIG_EXPORT bool safeSaveAsIni(const RawConfig &, + const std::string &name); +FCITXCONFIG_EXPORT bool safeSaveAsIni(const Configuration &, StandardPath::Type type, - const std::string &path); -FCITXCONFIG_EXPORT bool safeSaveAsIni(const RawConfig &rawConfig, + const std::string &name); +FCITXCONFIG_EXPORT bool safeSaveAsIni(const RawConfig &, StandardPath::Type type, - const std::string &path); + const std::string &name); } // namespace fcitx #endif // _FCITX_CONFIG_INIPARSER_H_ diff --git a/src/lib/fcitx-config/marshallfunction.h b/src/lib/fcitx-config/marshallfunction.h index f371a801..aab5bfbe 100644 --- a/src/lib/fcitx-config/marshallfunction.h +++ b/src/lib/fcitx-config/marshallfunction.h @@ -7,9 +7,11 @@ #ifndef _FCITX_CONFIG_INTOPTION_H_ #define _FCITX_CONFIG_INTOPTION_H_ +#include #include #include #include +#include #include #include "rawconfig.h" diff --git a/src/lib/fcitx-config/option.cpp b/src/lib/fcitx-config/option.cpp index 5b259a9d..1ee7527c 100644 --- a/src/lib/fcitx-config/option.cpp +++ b/src/lib/fcitx-config/option.cpp @@ -38,8 +38,6 @@ void OptionBase::dumpDescription(RawConfig &config) const { config.setValueByPath("Description", description_); } -OptionBaseV3::~OptionBaseV3() {} - ExternalOption::ExternalOption(Configuration *parent, std::string path, std::string description, std::string uri) : OptionBase(parent, std::move(path), std::move(description)), diff --git a/src/lib/fcitx-config/option.h b/src/lib/fcitx-config/option.h index 4a6e03f8..625af5b1 100644 --- a/src/lib/fcitx-config/option.h +++ b/src/lib/fcitx-config/option.h @@ -9,11 +9,12 @@ #include "fcitxconfig_export.h" +#include #include #include #include #include -#include // IWYU pragma: export +#include #include #include @@ -232,12 +233,11 @@ class KeyConstrain { /// Default marshaller that write the config RawConfig. template struct DefaultMarshaller { - DefaultMarshaller() = default; - - void marshall(RawConfig &config, const T &value) const { + virtual void marshall(RawConfig &config, const T &value) const { return marshallOption(config, value); } - bool unmarshall(T &value, const RawConfig &config, bool partial) const { + virtual bool unmarshall(T &value, const RawConfig &config, + bool partial) const { return unmarshallOption(value, config, partial); } }; @@ -283,7 +283,7 @@ class MutableOption { template , typename Marshaller = DefaultMarshaller, typename Annotation = NoAnnotation> -class Option : public OptionBaseV3 { +class Option : public OptionBaseV2 { public: using value_type = T; using constrain_type = Constrain; @@ -292,10 +292,10 @@ class Option : public OptionBaseV3 { const T &defaultValue = T(), Constrain constrain = Constrain(), Marshaller marshaller = Marshaller(), Annotation annotation = Annotation()) - : OptionBaseV3(parent, std::move(path), std::move(description)), + : OptionBaseV2(parent, std::move(path), std::move(description)), defaultValue_(defaultValue), value_(defaultValue), - marshaller_(std::move(marshaller)), constrain_(std::move(constrain)), - annotation_(std::move(annotation)) { + marshaller_(marshaller), constrain_(constrain), + annotation_(annotation) { if (!constrain_.check(defaultValue_)) { throw std::invalid_argument( "defaultValue doesn't satisfy constrain"); @@ -423,7 +423,7 @@ using KeyListOption = Option, /// Shorthand for create a key list constrain. static inline ListConstrain KeyListConstrain(KeyConstrainFlags flags = KeyConstrainFlags()) { - return {KeyConstrain(flags)}; + return ListConstrain(KeyConstrain(flags)); } /// Shorthand for option that will not show in UI. diff --git a/src/lib/fcitx-config/option_details.h b/src/lib/fcitx-config/option_details.h index 666e794f..b8885a21 100644 --- a/src/lib/fcitx-config/option_details.h +++ b/src/lib/fcitx-config/option_details.h @@ -7,10 +7,6 @@ #ifndef _FCITX_CONFIG_OPTION_DETAILS_H_ #define _FCITX_CONFIG_OPTION_DETAILS_H_ -#include -#include -#include "fcitxconfig_export.h" - namespace fcitx { class Configuration; @@ -54,20 +50,14 @@ class FCITXCONFIG_EXPORT OptionBaseV2 : public OptionBase { virtual void syncDefaultValueToCurrent() = 0; }; -class FCITXCONFIG_EXPORT OptionBaseV3 : public OptionBaseV2 { -public: - using OptionBaseV2::OptionBaseV2; - ~OptionBaseV3() override; -}; - template struct RemoveVector { - using type = T; + typedef T type; }; template struct RemoveVector> { - using type = typename RemoveVector::type; + typedef typename RemoveVector::type type; }; template diff --git a/src/lib/fcitx-config/optiontypename.h b/src/lib/fcitx-config/optiontypename.h index 317d32fe..921de628 100644 --- a/src/lib/fcitx-config/optiontypename.h +++ b/src/lib/fcitx-config/optiontypename.h @@ -8,12 +8,9 @@ #define _FCITX_CONFIG_TYPENAME_H_ #include -#include -#include #include #include #include -#include #include namespace fcitx { @@ -45,7 +42,8 @@ struct OptionTypeName> { }; template -struct OptionTypeName>> { +struct OptionTypeName::value>::type> { static std::string get() { return "Enum"; } }; } // namespace fcitx diff --git a/src/lib/fcitx-config/rawconfig.cpp b/src/lib/fcitx-config/rawconfig.cpp index 5c87fb42..f5e004f7 100644 --- a/src/lib/fcitx-config/rawconfig.cpp +++ b/src/lib/fcitx-config/rawconfig.cpp @@ -6,8 +6,10 @@ */ #include "rawconfig.h" #include +#include #include #include "fcitx-utils/misc_p.h" +#include "fcitx-utils/stringutils.h" namespace fcitx { diff --git a/src/lib/fcitx-config/rawconfig.h b/src/lib/fcitx-config/rawconfig.h index b5dfc363..16ad1f24 100644 --- a/src/lib/fcitx-config/rawconfig.h +++ b/src/lib/fcitx-config/rawconfig.h @@ -7,6 +7,7 @@ #ifndef _FCITX_CONFIG_RAWCONFIG_H_ #define _FCITX_CONFIG_RAWCONFIG_H_ +#include #include #include #include diff --git a/src/lib/fcitx-utils/CMakeLists.txt b/src/lib/fcitx-utils/CMakeLists.txt index dd67e07d..46dbe8d6 100644 --- a/src/lib/fcitx-utils/CMakeLists.txt +++ b/src/lib/fcitx-utils/CMakeLists.txt @@ -30,7 +30,7 @@ endif() if (NOT TARGET Systemd::Systemd) set(FCITX_UTILS_SOURCES ${FCITX_UTILS_SOURCES} - event_libuv.cpp) + event_libevent.cpp) else() set(FCITX_UTILS_SOURCES ${FCITX_UTILS_SOURCES} @@ -59,7 +59,6 @@ set(FCITX_UTILS_SOURCES log.cpp misc.cpp semver.cpp - keydata.cpp ) set(FCITX_UTILS_HEADERS @@ -111,7 +110,6 @@ set(FCITX_UTILS_DBUS_HEADERS dbus/message_details.h dbus/servicewatcher.h dbus/matchrule.h - dbus/variant.h ) ecm_setup_version(PROJECT @@ -135,7 +133,7 @@ if(LIBKVM_FOUND) endif() if (NOT TARGET Systemd::Systemd) - target_link_libraries(Fcitx5Utils PRIVATE ${LIBUV_TARGET}) + target_link_libraries(Fcitx5Utils PRIVATE ${LIBEVENT_TARGET}) if (ENABLE_DBUS) target_link_libraries(Fcitx5Utils PRIVATE PkgConfig::DBus) endif() @@ -148,7 +146,7 @@ configure_file(Fcitx5Utils.pc.in ${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Utils.pc @ONL install(TARGETS Fcitx5Utils EXPORT Fcitx5UtilsTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Utils.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -install(FILES ${FCITX_UTILS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Utils/fcitx-utils" COMPONENT header) +install(FILES ${FCITX_UTILS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Utils/fcitx-utils") if (ENABLE_DBUS) install(FILES ${FCITX_UTILS_DBUS_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Utils/fcitx-utils/dbus") @@ -170,6 +168,6 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Fcitx5UtilsConfig.cmake" Fcitx5Macros.cmake Fcitx5Download.cmake.in Fcitx5ModuleTemplate.cmake.in - "${PROJECT_SOURCE_DIR}/cmake/Fcitx5CompilerSettings.cmake" + "${CMAKE_SOURCE_DIR}/cmake/Fcitx5CompilerSettings.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Fcitx5Utils COMPONENT Devel ) diff --git a/src/lib/fcitx-utils/Fcitx5Macros.cmake b/src/lib/fcitx-utils/Fcitx5Macros.cmake index eefc0b2b..a9365b66 100644 --- a/src/lib/fcitx-utils/Fcitx5Macros.cmake +++ b/src/lib/fcitx-utils/Fcitx5Macros.cmake @@ -84,7 +84,7 @@ macro(fcitx5_export_module EXPORTNAME) if(FEM_INSTALL) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Module${EXPORTNAME}Config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Module${EXPORTNAME}ConfigVersion.cmake" DESTINATION "${FEM_LIB_INSTALL_DIR}/cmake/Fcitx5Module${EXPORTNAME}") - install(FILES ${FEM_HEADERS} DESTINATION "${_MODULE_HEADER_DIR}" COMPONENT header) + install(FILES ${FEM_HEADERS} DESTINATION "${_MODULE_HEADER_DIR}") endif() endmacro() @@ -93,9 +93,8 @@ function(_fcitx5_get_unique_target_name _name _unique_name) get_property(currentCounter GLOBAL PROPERTY "${propertyName}") if(NOT currentCounter) set(${_unique_name} "${_name}" PARENT_SCOPE) - set(currentCounter 1) + set(currentCounter 0) else() - set(${_unique_name} "${_name}${currentCounter}" PARENT_SCOPE) math(EXPR currentCounter "${currentCounter} + 1") endif() set_property(GLOBAL PROPERTY ${propertyName} ${currentCounter} ) diff --git a/src/lib/fcitx-utils/capabilityflags.h b/src/lib/fcitx-utils/capabilityflags.h index 4b42488c..fb029379 100644 --- a/src/lib/fcitx-utils/capabilityflags.h +++ b/src/lib/fcitx-utils/capabilityflags.h @@ -49,25 +49,25 @@ enum class CapabilityFlag : uint64_t { // 25 ~ 31 are reserved for fcitx 4 compatibility. // New addition in fcitx 5. - Terminal = (1ULL << 32), - Date = (1ULL << 33), - Time = (1ULL << 34), - Multiline = (1ULL << 35), - Sensitive = (1ULL << 36), - KeyEventOrderFix = (1ULL << 37), + Terminal = (1ull << 32), + Date = (1ull << 33), + Time = (1ull << 34), + Multiline = (1ull << 35), + Sensitive = (1ull << 36), + KeyEventOrderFix = (1ull << 37), /** * Whether client will set KeyState::Repeat on the key event. * * @see KeyState::Repeat * @since 5.0.4 */ - ReportKeyRepeat = (1ULL << 38), + ReportKeyRepeat = (1ull << 38), /** * @brief Whether client display input panel by itself. * * @since 5.0.5 */ - ClientSideInputPanel = (1ULL << 39), + ClientSideInputPanel = (1ull << 39), /** * Whether client request input method to be disabled. @@ -76,18 +76,12 @@ enum class CapabilityFlag : uint64_t { * * @since 5.0.20 */ - Disable = (1ULL << 40), - - /** - * Whether client support commit string with cursor location. - * @since 5.1.2 - */ - CommitStringWithCursor = (1ULL << 41), + Disable = (1ull << 40), PasswordOrSensitive = Password | Sensitive, }; -using CapabilityFlags = Flags; +typedef Flags CapabilityFlags; } // namespace fcitx #endif // _FCITX_UTILS_CAPABILITYFLAGS_H_ diff --git a/src/lib/fcitx-utils/charutils.h b/src/lib/fcitx-utils/charutils.h index 8c690f1a..7bf63102 100644 --- a/src/lib/fcitx-utils/charutils.h +++ b/src/lib/fcitx-utils/charutils.h @@ -47,7 +47,7 @@ static constexpr inline bool isprint(char c) { static constexpr inline char toHex(int c) { constexpr char hex[] = "0123456789abcdef"; - return hex[c & 0xf]; + return hex[c & (sizeof(hex) - 1)]; } /** diff --git a/src/lib/fcitx-utils/color.cpp b/src/lib/fcitx-utils/color.cpp index c933f472..8151c849 100644 --- a/src/lib/fcitx-utils/color.cpp +++ b/src/lib/fcitx-utils/color.cpp @@ -6,9 +6,9 @@ */ #include "color.h" +#include #include #include -#include #include #include "charutils.h" #include "stringutils.h" @@ -18,9 +18,7 @@ static unsigned short roundColor(unsigned short c) { return c <= 255 ? c : 255; } -static float roundColorF(float f) { - return f < 0 ? 0.0F : (f > 1.0 ? 1.0F : f); -} +static float roundColorF(float f) { return f < 0 ? 0.0f : (f > 1.0 ? 1.0 : f); } static unsigned short extendColor(unsigned short c) { c = roundColor(c); @@ -34,8 +32,7 @@ static inline char to_hex_char(int v) { static inline unsigned short to_hex_digit(char hi, char lo) { hi = charutils::tolower(hi); lo = charutils::tolower(lo); - int dhi = 0; - int dlo = 0; + int dhi = 0, dlo = 0; if (hi >= '0' && hi <= '9') { dhi = hi - '0'; } else { @@ -84,10 +81,7 @@ void Color::setFromString(const char *str) { throw ColorParseException(); } - uint16_t r; - uint16_t g; - uint16_t b; - uint16_t a; + unsigned short r, g, b, a; r = to_hex_digit(digits[0], digits[1]); digits += 2; g = to_hex_digit(digits[0], digits[1]); @@ -105,9 +99,7 @@ void Color::setFromString(const char *str) { blue_ = extendColor(b); alpha_ = extendColor(a); } else { - uint16_t r; - uint16_t g; - uint16_t b; + unsigned short r, g, b; if (sscanf(str, "%hu %hu %hu", &r, &g, &b) != 3) { throw ColorParseException(); } @@ -123,10 +115,10 @@ std::string Color::toString() const { std::string result; result.push_back('#'); unsigned short v[] = { - static_cast(red_ >> 8U), - static_cast(green_ >> 8U), - static_cast(blue_ >> 8U), - static_cast(alpha_ >> 8U), + static_cast(red_ >> 8u), + static_cast(green_ >> 8u), + static_cast(blue_ >> 8u), + static_cast(alpha_ >> 8u), }; for (auto value : v) { @@ -169,9 +161,4 @@ void Color::setBlueF(float blue) { void Color::setAlphaF(float alpha) { alpha_ = std::round(roundColorF(alpha) * USHRT_MAX); } - -std::ostream &operator<<(std::ostream &os, const Color &c) { - os << "Color(" << c.toString() << ")"; - return os; -} } // namespace fcitx diff --git a/src/lib/fcitx-utils/color.h b/src/lib/fcitx-utils/color.h index b18d31f4..1fe0db63 100644 --- a/src/lib/fcitx-utils/color.h +++ b/src/lib/fcitx-utils/color.h @@ -8,8 +8,8 @@ #ifndef _FCITX_UTILS_COLOR_H_ #define _FCITX_UTILS_COLOR_H_ -#include #include +#include #include #include "fcitxutils_export.h" @@ -20,7 +20,7 @@ namespace fcitx { struct FCITXUTILS_EXPORT ColorParseException : public std::exception { - const char *what() const noexcept override { return "Color parse error"; } + virtual const char *what() const noexcept { return "Color parse error"; } }; /// \brief Color class for handling color. @@ -37,11 +37,6 @@ class FCITXUTILS_EXPORT Color { std::string toString() const; bool operator==(const Color &other) const; - // FIXME: remove this - bool operator!=(const Color &other) { - return !operator==(other); - } // NOLINT(readability-make-member-function-const) - bool operator!=(const Color &other) const { return !operator==(other); } void setFromString(const char *s); inline void setFromString(const std::string &s) { @@ -74,9 +69,6 @@ class FCITXUTILS_EXPORT Color { unsigned short blue_; unsigned short alpha_; }; - -FCITXUTILS_EXPORT std::ostream &operator<<(std::ostream &os, const Color &c); - } // namespace fcitx #endif // _FCITX_UTILS_COLOR_H_ diff --git a/src/lib/fcitx-utils/connectableobject.cpp b/src/lib/fcitx-utils/connectableobject.cpp index 4087c715..6a8adb23 100644 --- a/src/lib/fcitx-utils/connectableobject.cpp +++ b/src/lib/fcitx-utils/connectableobject.cpp @@ -11,7 +11,7 @@ namespace fcitx { class ConnectableObjectPrivate { public: - ConnectableObjectPrivate() = default; + ConnectableObjectPrivate() {} std::unordered_map> signals_; bool destroyed_ = false; diff --git a/src/lib/fcitx-utils/cutf8.cpp b/src/lib/fcitx-utils/cutf8.cpp index 9d54a8c7..51156b16 100644 --- a/src/lib/fcitx-utils/cutf8.cpp +++ b/src/lib/fcitx-utils/cutf8.cpp @@ -8,10 +8,11 @@ #include "cutf8.h" #include #include +#include "fcitxutils_export.h" #include "utf8.h" /** check utf8 character */ -#define FCITX_ISUTF8_CB(c) (((c) & 0xc0) == 0x80) +#define FCITX_ISUTF8_CB(c) (((c)&0xc0) == 0x80) #define CONT(i) FCITX_ISUTF8_CB(in[i]) #define VAL(i, s) ((in[i] & 0x3f) << s) @@ -27,8 +28,10 @@ : ((Char) < 0x4000000 ? 5 : 6))))) #define UNICODE_VALID(Char) \ - ((Char) < 0x110000 && (((Char) & 0xFFFFF800) != 0xD800)) + ((Char) < 0x110000 && (((Char)&0xFFFFF800) != 0xD800) && \ + ((Char) < 0xFDD0 || (Char) > 0xFDEF) && ((Char)&0xFFFE) != 0xFFFE) +FCITXUTILS_EXPORT size_t fcitx_utf8_strlen(const char *s) { size_t l = 0; @@ -42,6 +45,7 @@ size_t fcitx_utf8_strlen(const char *s) { return l; } +FCITXUTILS_EXPORT unsigned int fcitx_utf8_char_len(const char *in) { if (!(in[0] & 0x80)) { return 1; @@ -76,6 +80,7 @@ unsigned int fcitx_utf8_char_len(const char *in) { return 1; } +FCITXUTILS_EXPORT int fcitx_ucs4_char_len(uint32_t c) { if (c < 0x00080) { return 1; @@ -96,6 +101,7 @@ int fcitx_ucs4_char_len(uint32_t c) { return 6; } +FCITXUTILS_EXPORT int fcitx_ucs4_to_utf8(uint32_t c, char *output) { if (c < 0x00080) { output[0] = (char)(c & 0xFF); @@ -143,8 +149,9 @@ int fcitx_ucs4_to_utf8(uint32_t c, char *output) { return 6; } +FCITXUTILS_EXPORT char *fcitx_utf8_get_char(const char *i, uint32_t *chr) { - const auto *in = reinterpret_cast(i); + const unsigned char *in = (const unsigned char *)i; if (!(in[0] & 0x80)) { *(chr) = *(in); return (char *)in + 1; @@ -188,6 +195,7 @@ char *fcitx_utf8_get_char(const char *i, uint32_t *chr) { return (char *)in + 1; } +FCITXUTILS_EXPORT char *fcitx_utf8_get_nth_char(const char *s, uint32_t n) { size_t l = 0; @@ -203,9 +211,9 @@ char *fcitx_utf8_get_nth_char(const char *s, uint32_t n) { static uint32_t fcitx_utf8_get_char_extended(const char *s, int max_len, int *plen) { - const auto *p = reinterpret_cast(s); + const unsigned char *p = (const unsigned char *)s; int i, len; - uint32_t wc = static_cast(*p); + uint32_t wc = (unsigned char)*p; if (wc < 0x80) { if (plen) { @@ -271,6 +279,7 @@ static uint32_t fcitx_utf8_get_char_extended(const char *s, int max_len, return wc; } +FCITXUTILS_EXPORT uint32_t fcitx_utf8_get_char_validated(const char *p, int max_len, int *plen) { uint32_t result; @@ -294,6 +303,7 @@ uint32_t fcitx_utf8_get_char_validated(const char *p, int max_len, int *plen) { return result; } +FCITXUTILS_EXPORT bool fcitx_utf8_check_string(const char *s) { while (*s) { uint32_t chr; @@ -311,6 +321,7 @@ bool fcitx_utf8_check_string(const char *s) { return true; } +FCITXUTILS_EXPORT void fcitx_utf8_strncpy(char *str, const char *s, size_t byte) { while (*s) { uint32_t chr; @@ -333,6 +344,7 @@ void fcitx_utf8_strncpy(char *str, const char *s, size_t byte) { } } +FCITXUTILS_EXPORT size_t fcitx_utf8_strnlen_validated(const char *str, size_t byte) { size_t len = 0; while (byte && *str) { @@ -351,6 +363,7 @@ size_t fcitx_utf8_strnlen_validated(const char *str, size_t byte) { return len; } +FCITXUTILS_EXPORT size_t fcitx_utf8_strnlen(const char *str, size_t byte) { size_t len = 0; // if byte is zero no need to go further. diff --git a/src/lib/fcitx-utils/cutf8.h b/src/lib/fcitx-utils/cutf8.h index 90406607..cbd7cebe 100644 --- a/src/lib/fcitx-utils/cutf8.h +++ b/src/lib/fcitx-utils/cutf8.h @@ -15,59 +15,47 @@ #include #include -#include "fcitxutils_export.h" //// Max length of a utf8 character #define FCITX_UTF8_MAX_LENGTH 6 /// \brief Get utf8 string length -FCITXUTILS_EXPORT size_t fcitx_utf8_strlen(const char *s); /// \brief Get UCS-4 char in the utf8 string -FCITXUTILS_EXPORT char *fcitx_utf8_get_char(const char *in, uint32_t *chr); /// \brief Get the number of bytes of next character. -FCITXUTILS_EXPORT unsigned int fcitx_utf8_char_len(const char *in); /// \brief Get the pointer to the nth character. /// /// This function will not touch the content for s, so const pointer /// can be safely passed and converted. -FCITXUTILS_EXPORT char *fcitx_utf8_get_nth_char(const char *s, uint32_t n); /// \brief Check if the string is valid utf8 string. -FCITXUTILS_EXPORT bool fcitx_utf8_check_string(const char *s); /// \brief Get validated character. /// /// Returns the UCS-4 value if its valid character. Returns (uint32_t) -1 if /// it is not a valid char, (uint32_t)-2 if length is not enough. -FCITXUTILS_EXPORT uint32_t fcitx_utf8_get_char_validated(const char *p, int max_len, int *plen); /// \brief Copy most byte length, but keep utf8 valid. -FCITXUTILS_EXPORT void fcitx_utf8_strncpy(char *str, const char *s, size_t byte); /// \brief Count most byte length, utf8 string length. -FCITXUTILS_EXPORT size_t fcitx_utf8_strnlen(const char *str, size_t byte); /// \brief Count most byte length, utf8 string length and validates the string -FCITXUTILS_EXPORT size_t fcitx_utf8_strnlen_validated(const char *str, size_t byte); /// \brief Return the utf8 bytes of a UCS4 char. -FCITXUTILS_EXPORT int fcitx_ucs4_char_len(uint32_t c); /// \brief Convert ucs4 char to utf8, need to have enough memory for it. -FCITXUTILS_EXPORT int fcitx_ucs4_to_utf8(uint32_t c, char *output); #endif diff --git a/src/lib/fcitx-utils/dbus/bus.h b/src/lib/fcitx-utils/dbus/bus.h index b6885fdf..d78b2889 100644 --- a/src/lib/fcitx-utils/dbus/bus.h +++ b/src/lib/fcitx-utils/dbus/bus.h @@ -13,14 +13,15 @@ #include #include #include -#include "fcitx-utils/macros.h" /// \addtogroup FcitxUtils /// \{ /// \file /// \brief API for DBus bus. -namespace fcitx::dbus { +namespace fcitx { + +namespace dbus { /** * Virtual base class represent some internal registration of the bus. @@ -34,7 +35,6 @@ class FCITXUTILS_EXPORT Slot { enum class BusType { Default, Session, System }; enum class RequestNameFlag { - None = 0, ReplaceExisting = 1ULL << 0, AllowReplacement = 1ULL << 1, Queue = 1ULL << 2 @@ -58,7 +58,7 @@ class FCITXUTILS_EXPORT Bus { Bus(Bus &&other) noexcept; /// Check if the connection is open. - FCITX_NODISCARD bool isOpen() const; + bool isOpen() const; /// Attach this bus to an event loop. void attachEventLoop(EventLoop *loop); @@ -66,16 +66,6 @@ class FCITXUTILS_EXPORT Bus { /// Remove this bus from an event loop. void detachEventLoop(); - /** - * Return the attached event loop - * - * @return attached event loop, not necessary a valid pointer if event loop - * is destructed before bus. - * - * @since 5.0.22 - */ - FCITX_NODISCARD EventLoop *eventLoop() const; - FCITX_NODISCARD std::unique_ptr addMatch(const MatchRule &rule, MessageCallback callback); FCITX_NODISCARD std::unique_ptr addFilter(MessageCallback callback); @@ -112,7 +102,7 @@ class FCITXUTILS_EXPORT Bus { * * @return internal pointer */ - FCITX_NODISCARD void *nativeHandle() const; + void *nativeHandle() const; /** * Request the dbus name on the bus. @@ -161,6 +151,7 @@ class FCITXUTILS_EXPORT Bus { std::unique_ptr d_ptr; FCITX_DECLARE_PRIVATE(Bus); }; -} // namespace fcitx::dbus +} // namespace dbus +} // namespace fcitx #endif // _FCITX_UTILS_DBUS_BUS_H_ diff --git a/src/lib/fcitx-utils/dbus/libdbus/bus.cpp b/src/lib/fcitx-utils/dbus/libdbus/bus.cpp index cb10c8bf..8f9cef87 100644 --- a/src/lib/fcitx-utils/dbus/libdbus/bus.cpp +++ b/src/lib/fcitx-utils/dbus/libdbus/bus.cpp @@ -7,11 +7,8 @@ #include "config.h" #include -#include #include #include -#include "fcitx-utils/event.h" -#include "fcitx-utils/misc_p.h" #include "../../charutils.h" #include "../../log.h" #include "../../stringutils.h" @@ -23,118 +20,6 @@ namespace fcitx::dbus { FCITX_DEFINE_LOG_CATEGORY(libdbus_logcategory, "libdbus"); -class BusWatches : public std::enable_shared_from_this { - struct Private {}; - -public: - BusWatches(BusPrivate &bus, Private) : bus_(bus.watch()) {} - - void addWatch(DBusWatch *watch) { - watches_[watch] = std::make_shared(watch); - refreshWatch(); - } - bool removeWatch(DBusWatch *watch) { - watches_.erase(watch); - refreshWatch(); - return watches_.empty(); - } - void refreshWatch() { - if (watches_.empty() || !bus_.isValid()) { - ioEvent_.reset(); - return; - } - - int fd = dbus_watch_get_unix_fd(watches_.begin()->first); - IOEventFlags flags; - for (auto [watch, _] : watches_) { - if (!dbus_watch_get_enabled(watch)) { - continue; - } - int dflags = dbus_watch_get_flags(watch); - if (dflags & DBUS_WATCH_READABLE) { - flags |= IOEventFlag::In; - } - if (dflags & DBUS_WATCH_WRITABLE) { - flags |= IOEventFlag::Out; - } - } - - FCITX_LIBDBUS_DEBUG() - << "IOWatch for dbus fd: " << fd << " flags: " << flags; - if (flags == 0) { - ioEvent_.reset(); - return; - } - - if (!ioEvent_) { - ioEvent_ = bus_.get()->loop_->addIOEvent( - fd, flags, [this](EventSourceIO *, int, IOEventFlags flags) { - // Ensure this is valid. - // At this point, callback is always valid, so no need to - // keep "this". - auto lock = shared_from_this(); - // Create a copy of watcher pointers, so we can safely - // remove the watcher during the loop. - std::vector> watchesView; - for (auto [_, watchRef] : watches_) { - watchesView.push_back(watchRef); - } - - for (auto watchRef : watchesView) { - auto watchStrongRef = watchRef.lock(); - if (!watchStrongRef) { - continue; - } - auto watch = *watchStrongRef; - if (!dbus_watch_get_enabled(watch)) { - continue; - } - - int dflags = 0; - - if ((dbus_watch_get_flags(watch) & - DBUS_WATCH_READABLE) && - (flags & IOEventFlag::In)) { - dflags |= DBUS_WATCH_READABLE; - } - if ((dbus_watch_get_flags(watch) & - DBUS_WATCH_WRITABLE) && - (flags & IOEventFlag::Out)) { - dflags |= DBUS_WATCH_WRITABLE; - } - if (flags & IOEventFlag::Err) { - dflags |= DBUS_WATCH_ERROR; - } - if (flags & IOEventFlag::Hup) { - dflags |= DBUS_WATCH_HANGUP; - } - if (!dflags) { - continue; - } - dbus_watch_handle(watch, dflags); - if (auto *bus = bus_.get()) { - bus->dispatch(); - } - } - return true; - }); - } else { - ioEvent_->setEvents(flags); - } - } - - static std::shared_ptr create(BusPrivate &bus) { - return std::make_shared(bus, Private()); - } - -private: - TrackableObjectReference bus_; - // We the value as shared ptr so we know when the watch is removed during - // the loop. - std::unordered_map> watches_; - std::unique_ptr ioEvent_; -}; - DBusHandlerResult DBusMessageCallback(DBusConnection *, DBusMessage *message, void *userdata) { auto *bus = static_cast(userdata); @@ -225,59 +110,6 @@ std::string DBusObjectVTableSlot::getXml() const { return xml; } -BusPrivate::BusPrivate(Bus *bus) - : bus_(bus), - matchRuleSet_( - [this](const MatchRule &rule) { - if (!conn_) { - return false; - } - ScopedDBusError error; - if (needWatchService(rule)) { - nameCache()->addWatch(rule.service()); - } - FCITX_LIBDBUS_DEBUG() << "Add dbus match: " << rule.rule(); - dbus_bus_add_match(conn_.get(), rule.rule().c_str(), - &error.error()); - bool isError = dbus_error_is_set(&error.error()); - return !isError; - }, - [this](const MatchRule &rule) { - if (!conn_) { - return; - } - if (needWatchService(rule)) { - nameCache()->removeWatch(rule.service()); - } - FCITX_LIBDBUS_DEBUG() << "Remove dbus match: " << rule.rule(); - dbus_bus_remove_match(conn_.get(), rule.rule().c_str(), nullptr); - }), - objectRegistration_( - [this](const std::string &path) { - if (!conn_) { - return false; - } - DBusObjectPathVTable vtable; - memset(&vtable, 0, sizeof(vtable)); - - vtable.message_function = DBusObjectPathVTableMessageCallback; - return dbus_connection_register_object_path( - conn_.get(), path.c_str(), &vtable, this) != 0; - }, - [this](const std::string &path) { - if (!conn_) { - return; - } - - dbus_connection_unregister_object_path(conn_.get(), path.c_str()); - }) {} - -BusPrivate::~BusPrivate() { - if (conn_) { - dbus_connection_flush(conn_.get()); - } -} - DBusObjectVTableSlot *BusPrivate::findSlot(const std::string &path, const std::string &interface) { // Check if interface exists. @@ -501,7 +333,7 @@ Bus::Bus(const std::string &address) Bus::~Bus() { FCITX_D(); - if (d->loop_) { + if (d->attached_) { detachEventLoop(); } } @@ -536,37 +368,73 @@ Message Bus::createSignal(const char *path, const char *interface, void DBusToggleWatch(DBusWatch *watch, void *data) { auto *bus = static_cast(data); - if (auto watchers = - findValue(bus->ioWatchers_, dbus_watch_get_unix_fd(watch))) { - watchers->get()->refreshWatch(); + auto iter = bus->ioWatchers_.find(watch); + if (iter != bus->ioWatchers_.end()) { + iter->second->setEnabled(dbus_watch_get_enabled(watch)); + iter->second->setFd(dbus_watch_get_unix_fd(watch)); + int dflags = dbus_watch_get_flags(watch); + IOEventFlags flags; + if (dflags & DBUS_WATCH_READABLE) { + flags |= IOEventFlag::In; + } + if (dflags & DBUS_WATCH_WRITABLE) { + flags |= IOEventFlag::Out; + } + iter->second->setEvents(flags); } } dbus_bool_t DBusAddWatch(DBusWatch *watch, void *data) { auto *bus = static_cast(data); + int dflags = dbus_watch_get_flags(watch); int fd = dbus_watch_get_unix_fd(watch); - FCITX_LIBDBUS_DEBUG() << "DBusAddWatch fd: " << fd - << " flags: " << dbus_watch_get_flags(watch); - auto &watchers = bus->ioWatchers_[fd]; - if (!watchers) { - watchers = BusWatches::create(*bus); + IOEventFlags flags; + if (dflags & DBUS_WATCH_READABLE) { + flags |= IOEventFlag::In; } - watchers->addWatch(watch); + if (dflags & DBUS_WATCH_WRITABLE) { + flags |= IOEventFlag::Out; + } + auto ref = bus->watch(); + try { + bus->ioWatchers_.emplace( + watch, bus->loop_->addIOEvent( + fd, flags, + [ref, watch](EventSourceIO *, int, IOEventFlags flags) { + if (!dbus_watch_get_enabled(watch)) { + return true; + } + const auto &refPivot = ref; + int dflags = 0; + + if (flags & IOEventFlag::In) { + dflags |= DBUS_WATCH_READABLE; + } + if (flags & IOEventFlag::Out) { + dflags |= DBUS_WATCH_WRITABLE; + } + if (flags & IOEventFlag::Err) { + dflags |= DBUS_WATCH_ERROR; + } + if (flags & IOEventFlag::Hup) { + dflags |= DBUS_WATCH_HANGUP; + } + dbus_watch_handle(watch, dflags); + if (auto *bus = refPivot.get()) { + bus->dispatch(); + } + return true; + })); + } catch (const EventLoopException &e) { + return false; + } + DBusToggleWatch(watch, data); return true; } void DBusRemoveWatch(DBusWatch *watch, void *data) { - FCITX_LIBDBUS_DEBUG() << "DBusRemoveWatch fd: " - << dbus_watch_get_unix_fd(watch); auto *bus = static_cast(data); - auto iter = bus->ioWatchers_.find(dbus_watch_get_unix_fd(watch)); - if (iter == bus->ioWatchers_.end()) { - return; - } - - if (iter->second.get()->removeWatch(watch)) { - bus->ioWatchers_.erase(iter); - } + bus->ioWatchers_.erase(watch); } dbus_bool_t DBusAddTimeout(DBusTimeout *timeout, void *data) { @@ -583,7 +451,7 @@ dbus_bool_t DBusAddTimeout(DBusTimeout *timeout, void *data) { bus->loop_->addTimeEvent( CLOCK_MONOTONIC, now(CLOCK_MONOTONIC) + interval * 1000ull, 0, [timeout, ref](EventSourceTime *event, uint64_t) { - const auto refPivot = ref; + const auto &refPivot = ref; if (dbus_timeout_get_enabled(timeout)) { event->setNextInterval( dbus_timeout_get_interval(timeout) * 1000ull); @@ -621,7 +489,7 @@ void DBusDispatchStatusCallback(DBusConnection *, DBusDispatchStatus status, void Bus::attachEventLoop(EventLoop *loop) { FCITX_D(); - if (d->loop_) { + if (d->attached_) { return; } d->loop_ = loop; @@ -662,11 +530,7 @@ void Bus::detachEventLoop() { nullptr, nullptr); d->deferEvent_.reset(); d->loop_ = nullptr; -} - -EventLoop *Bus::eventLoop() const { - FCITX_D(); - return d->loop_; + d->attached_ = false; } std::unique_ptr Bus::addMatch(const MatchRule &rule, @@ -689,7 +553,6 @@ std::unique_ptr Bus::addMatch(const MatchRule &rule, std::unique_ptr Bus::addFilter(MessageCallback callback) { FCITX_D(); - auto slot = std::make_unique(); slot->handler_ = d->filterHandlers_.add(std::move(callback)); diff --git a/src/lib/fcitx-utils/dbus/libdbus/bus_p.h b/src/lib/fcitx-utils/dbus/libdbus/bus_p.h index 8fad9a26..3a631976 100644 --- a/src/lib/fcitx-utils/dbus/libdbus/bus_p.h +++ b/src/lib/fcitx-utils/dbus/libdbus/bus_p.h @@ -8,7 +8,6 @@ #define _FCITX_UTILS_DBUS_BUS_P_H_ #include -#include "fcitx-utils/event.h" #include "../../log.h" #include "../bus.h" #include "servicenamecache.h" @@ -58,13 +57,62 @@ class DBusObjectVTableSlot : public Slot, std::string xml_; }; -class BusWatches; - class BusPrivate : public TrackableObject { public: - BusPrivate(Bus *bus); - - ~BusPrivate(); + BusPrivate(Bus *bus) + : bus_(bus), + matchRuleSet_( + [this](const MatchRule &rule) { + if (!conn_) { + return false; + } + ScopedDBusError error; + if (needWatchService(rule)) { + nameCache()->addWatch(rule.service()); + } + FCITX_LIBDBUS_DEBUG() << "Add dbus match: " << rule.rule(); + dbus_bus_add_match(conn_.get(), rule.rule().c_str(), + &error.error()); + bool isError = dbus_error_is_set(&error.error()); + return !isError; + }, + [this](const MatchRule &rule) { + if (!conn_) { + return; + } + if (needWatchService(rule)) { + nameCache()->removeWatch(rule.service()); + } + FCITX_LIBDBUS_DEBUG() << "Remove dbus match: " << rule.rule(); + dbus_bus_remove_match(conn_.get(), rule.rule().c_str(), + nullptr); + }), + objectRegistration_( + [this](const std::string &path) { + if (!conn_) { + return false; + } + DBusObjectPathVTable vtable; + memset(&vtable, 0, sizeof(vtable)); + + vtable.message_function = DBusObjectPathVTableMessageCallback; + return dbus_connection_register_object_path( + conn_.get(), path.c_str(), &vtable, this) != 0; + }, + [this](const std::string &path) { + if (!conn_) { + return; + } + + dbus_connection_unregister_object_path(conn_.get(), + path.c_str()); + }) {} + + ~BusPrivate() { + if (conn_) { + dbus_connection_flush(conn_.get()); + } + } void dispatch() const { if (!conn_) { @@ -109,7 +157,7 @@ class BusPrivate : public TrackableObject { HandlerTable filterHandlers_; bool attached_ = false; EventLoop *loop_ = nullptr; - std::unordered_map> ioWatchers_; + std::unordered_map> ioWatchers_; std::unordered_map> timeWatchers_; MultiHandlerTablemsg()) { return {}; } - auto result = dbus_message_get_destination(d->msg()); - return result ? result : ""; + return dbus_message_get_destination(d->msg()); } std::string Message::sender() const { @@ -502,22 +501,26 @@ Message &Message::operator>>(Variant &variant) { } FCITX_D(); auto type = peekType(); - if (type.first != 'v') { - d->lastError_ = -EINVAL; - return *this; - } - if (auto helper = lookupVariantType(type.second)) { - if (*this >> - Container(Container::Type::Variant, Signature(type.second))) { - auto data = helper->copy(nullptr); - helper->deserialize(*this, data.get()); - if (*this) { - variant.setRawData(std::move(data), std::move(helper)); - *this >> ContainerEnd(); + if (type.first == 'v') { + auto helper = + VariantTypeRegistry::defaultRegistry().lookupType(type.second); + if (helper) { + if (*this >> + Container(Container::Type::Variant, Signature(type.second))) { + auto data = helper->copy(nullptr); + helper->deserialize(*this, data.get()); + if (*this) { + variant.setRawData(data, helper); + *this >> ContainerEnd(); + } } + return *this; } - } else { + } + if (dbus_message_iter_get_arg_type(d->iterator()) == DBUS_TYPE_VARIANT) { dbus_message_iter_next(d->iterator()); + } else { + d->lastError_ = -EINVAL; } return *this; } diff --git a/src/lib/fcitx-utils/dbus/libdbus/objectvtable_libdbus.cpp b/src/lib/fcitx-utils/dbus/libdbus/objectvtable_libdbus.cpp index ea3934fb..ec5877a5 100644 --- a/src/lib/fcitx-utils/dbus/libdbus/objectvtable_libdbus.cpp +++ b/src/lib/fcitx-utils/dbus/libdbus/objectvtable_libdbus.cpp @@ -6,7 +6,6 @@ */ #include -#include #include "../../log.h" #include "../../stringutils.h" #include "../objectvtable.h" @@ -50,7 +49,8 @@ const std::string &ObjectVTableBasePrivate::getXml(ObjectVTableBase *q) { p->xml_ += stringutils::concat("name(), "\">"); for (auto &type : splitDBusSignature(sig->signature())) { - p->xml_ += stringutils::concat(""); + p->xml_ += stringutils::concat(""); } p->xml_ += ""; } @@ -114,9 +114,7 @@ ObjectVTableProperty *ObjectVTableBase::findProperty(const std::string &name) { void ObjectVTableBase::releaseSlot() { setSlot(nullptr); } -Bus *ObjectVTableBase::bus() { return std::as_const(*this).bus(); } - -Bus *ObjectVTableBase::bus() const { +Bus *ObjectVTableBase::bus() { FCITX_D(); if (d->slot_) { if (auto *bus = d->slot_->bus_.get()) { diff --git a/src/lib/fcitx-utils/dbus/matchrule.cpp b/src/lib/fcitx-utils/dbus/matchrule.cpp index 76966052..ea65841a 100644 --- a/src/lib/fcitx-utils/dbus/matchrule.cpp +++ b/src/lib/fcitx-utils/dbus/matchrule.cpp @@ -18,53 +18,28 @@ const std::string MatchRule::nullArg{nullArray, nullArray + 1}; class MatchRulePrivate { public: - MatchRulePrivate(MessageType type, std::string service, - std::string destination, std::string path, + MatchRulePrivate(std::string service, std::string path, std::string interface, std::string name, - std::vector argumentMatch, bool eavesdrop) - : type_(type), service_(std::move(service)), - destination_(std::move(destination)), path_(std::move(path)), + std::vector argumentMatch) + : service_(std::move(service)), path_(std::move(path)), interface_(std::move(interface)), name_(std::move(name)), - argumentMatch_(std::move(argumentMatch)), eavesdrop_(eavesdrop), - rule_(buildRule()) {} + argumentMatch_(std::move(argumentMatch)), rule_(buildRule()) {} FCITX_INLINE_DEFINE_DEFAULT_DTOR_COPY_AND_MOVE_WITHOUT_SPEC( MatchRulePrivate) - MessageType type_; std::string service_; - std::string destination_; std::string path_; std::string interface_; std::string name_; std::vector argumentMatch_; - bool eavesdrop_ = false; std::string rule_; std::string buildRule() const { - std::string result; - switch (type_) { - case MessageType::Signal: - result = "type='signal',"; - break; - case MessageType::MethodCall: - result = "type='method_call',"; - break; - case MessageType::Reply: - result = "type='method_return',"; - break; - case MessageType::Error: - result = "type='error',"; - break; - default: - break; - } + std::string result = "type='signal',"; if (!service_.empty()) { result += stringutils::concat("sender='", service_, "',"); } - if (!destination_.empty()) { - result += stringutils::concat("destination='", destination_, "',"); - } if (!path_.empty()) { result += stringutils::concat("path='", path_, "',"); } @@ -81,9 +56,6 @@ class MatchRulePrivate { result += stringutils::concat("arg", i, "='", argumentMatch_[i], "',"); } - if (eavesdrop_) { - result += "eavesdrop='true',"; - } // remove trailing comma. result.pop_back(); return result; @@ -134,18 +106,9 @@ class MatchRulePrivate { MatchRule::MatchRule(std::string service, std::string path, std::string interface, std::string name, std::vector argumentMatch) - : MatchRule(MessageType::Signal, std::move(service), "", std::move(path), - std::move(interface), std::move(name), std::move(argumentMatch), - false) {} - -MatchRule::MatchRule(MessageType type, std::string service, - std::string destination, std::string path, - std::string interface, std::string name, - std::vector argumentMatch, bool eavesdrop) : d_ptr(std::make_unique( - type, std::move(service), std::move(destination), std::move(path), - std::move(interface), std::move(name), std::move(argumentMatch), - eavesdrop)) {} + std::move(service), std::move(path), std::move(interface), + std::move(name), std::move(argumentMatch))) {} FCITX_DEFINE_DPTR_COPY_AND_DEFAULT_DTOR_AND_MOVE(MatchRule); @@ -153,10 +116,6 @@ const std::string &MatchRule::service() const noexcept { FCITX_D(); return d->service_; } -const std::string &MatchRule::destination() const noexcept { - FCITX_D(); - return d->destination_; -} const std::string &MatchRule::path() const noexcept { FCITX_D(); @@ -183,11 +142,6 @@ const std::string &MatchRule::rule() const noexcept { return d->rule_; } -bool MatchRule::eavesdrop() const noexcept { - FCITX_D(); - return d->eavesdrop_; -} - bool MatchRule::check(Message &message, const std::string &alterName) const { FCITX_D(); auto result = d->check(message, alterName); diff --git a/src/lib/fcitx-utils/dbus/matchrule.h b/src/lib/fcitx-utils/dbus/matchrule.h index 2bb03fc3..520659e2 100644 --- a/src/lib/fcitx-utils/dbus/matchrule.h +++ b/src/lib/fcitx-utils/dbus/matchrule.h @@ -10,7 +10,6 @@ #include #include #include -#include #include /// \addtogroup FcitxUtils @@ -36,25 +35,16 @@ struct FCITXUTILS_EXPORT MatchRule { explicit MatchRule(std::string service, std::string path = "", std::string interface = "", std::string name = "", std::vector argumentMatch = {}); - explicit MatchRule(MessageType type, std::string service, - std::string destination = "", std::string path = "", - std::string interface = "", std::string name = "", - std::vector argumentMatch = {}, - bool eavesdrop = false); FCITX_DECLARE_VIRTUAL_DTOR_COPY_AND_MOVE(MatchRule) - MessageType messageType() const noexcept; - const std::string &rule() const noexcept; const std::string &service() const noexcept; - const std::string &destination() const noexcept; const std::string &path() const noexcept; const std::string &interface() const noexcept; const std::string &name() const noexcept; const std::vector &argumentMatch() const noexcept; - bool eavesdrop() const noexcept; bool check(Message &, const std::string &alterName = {}) const; diff --git a/src/lib/fcitx-utils/dbus/message.h b/src/lib/fcitx-utils/dbus/message.h index 5b7bbc4e..1fcbf714 100644 --- a/src/lib/fcitx-utils/dbus/message.h +++ b/src/lib/fcitx-utils/dbus/message.h @@ -15,7 +15,7 @@ #include #include #include -#include // IWYU pragma: export +#include #include #include #include @@ -497,14 +497,9 @@ class FCITXUTILS_EXPORT Message { signature; if (*this >> Container(Container::Type::Array, Signature(signature::data()))) { - t.clear(); - while (!end()) { - T temp; - if (*this >> temp) { - t.push_back(temp); - } else { - break; - } + T temp; + while (!end() && *this >> temp) { + t.push_back(temp); } *this >> ContainerEnd(); } diff --git a/src/lib/fcitx-utils/dbus/message_details.h b/src/lib/fcitx-utils/dbus/message_details.h index 577a9032..36eea24f 100644 --- a/src/lib/fcitx-utils/dbus/message_details.h +++ b/src/lib/fcitx-utils/dbus/message_details.h @@ -190,14 +190,6 @@ struct SkipTillNext> { typedef MetaString<> str; }; -// This is required to resolve ambiguity like (i)(i), when a '(' appear -// immediate after a closed ')'. -template -struct SkipTillNext> { - typedef MetaString type; - typedef MetaString<> str; -}; - template struct SkipTillNext> { typedef MetaString<> type; diff --git a/src/lib/fcitx-utils/dbus/objectvtable.h b/src/lib/fcitx-utils/dbus/objectvtable.h index c8cfe183..cff2f4b8 100644 --- a/src/lib/fcitx-utils/dbus/objectvtable.h +++ b/src/lib/fcitx-utils/dbus/objectvtable.h @@ -321,7 +321,6 @@ class FCITXUTILS_EXPORT ObjectVTableBase /// Return the bus that the object is registered to. Bus *bus(); - Bus *bus() const; /// Return whether this object is registered to a bus. bool isRegistered() const; /// Return the registered dbus object path of the object. diff --git a/src/lib/fcitx-utils/dbus/sdbus/bus.cpp b/src/lib/fcitx-utils/dbus/sdbus/bus.cpp index 768d044e..2e065270 100644 --- a/src/lib/fcitx-utils/dbus/sdbus/bus.cpp +++ b/src/lib/fcitx-utils/dbus/sdbus/bus.cpp @@ -22,7 +22,7 @@ class BusPrivate { ~BusPrivate() { sd_bus_flush_close_unref(bus_); } sd_bus *bus_; - EventLoop *eventLoop_ = nullptr; + bool attached_ = false; }; Bus::Bus(BusType type) : d_ptr(std::make_unique()) { @@ -71,7 +71,7 @@ Bus::Bus(const std::string &address) : d_ptr(std::make_unique()) { Bus::~Bus() { FCITX_D(); - if (d->eventLoop_) { + if (d->attached_) { detachEventLoop(); } } @@ -114,26 +114,16 @@ Message Bus::createSignal(const char *path, const char *interface, void Bus::attachEventLoop(EventLoop *loop) { FCITX_D(); - if (d->eventLoop_) { - return; - } sd_event *event = static_cast(loop->nativeHandle()); if (sd_bus_attach_event(d->bus_, event, 0) >= 0) { - d->eventLoop_ = loop; + d->attached_ = true; } } void Bus::detachEventLoop() { FCITX_D(); - if (d->eventLoop_) { - sd_bus_detach_event(d->bus_); - d->eventLoop_ = nullptr; - } -} - -EventLoop *Bus::eventLoop() const { - FCITX_D(); - return d->eventLoop_; + sd_bus_detach_event(d->bus_); + d->attached_ = false; } int SDMessageCallback(sd_bus_message *m, void *userdata, sd_bus_error *) { diff --git a/src/lib/fcitx-utils/dbus/sdbus/message.cpp b/src/lib/fcitx-utils/dbus/sdbus/message.cpp index c53d20f3..e19377eb 100644 --- a/src/lib/fcitx-utils/dbus/sdbus/message.cpp +++ b/src/lib/fcitx-utils/dbus/sdbus/message.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include "../../misc_p.h" #include "../../unixfd.h" #include "../variant.h" @@ -436,24 +435,23 @@ Message &Message::operator>>(Variant &variant) { } FCITX_D(); auto type = peekType(); - if (type.first != 'v') { - d->lastError_ = -EINVAL; - return *this; - } - if (auto helper = lookupVariantType(type.second)) { - if (*this >> - Container(Container::Type::Variant, Signature(type.second))) { - auto data = helper->copy(nullptr); - helper->deserialize(*this, data.get()); - if (*this) { - variant.setRawData(std::move(data), std::move(helper)); - *this >> ContainerEnd(); + if (type.first == 'v') { + auto helper = + VariantTypeRegistry::defaultRegistry().lookupType(type.second); + if (helper) { + if (*this >> + Container(Container::Type::Variant, Signature(type.second))) { + auto data = helper->copy(nullptr); + helper->deserialize(*this, data.get()); + if (*this) { + variant.setRawData(data, helper); + *this >> ContainerEnd(); + } } + return *this; } - return *this; - } else { - d->lastError_ = sd_bus_message_skip(d->msg_, "v"); } + d->lastError_ = sd_bus_message_skip(d->msg_, "v"); return *this; } } // namespace fcitx::dbus diff --git a/src/lib/fcitx-utils/dbus/sdbus/objectvtable_sdbus.cpp b/src/lib/fcitx-utils/dbus/sdbus/objectvtable_sdbus.cpp index 0c1989c6..22882dc9 100644 --- a/src/lib/fcitx-utils/dbus/sdbus/objectvtable_sdbus.cpp +++ b/src/lib/fcitx-utils/dbus/sdbus/objectvtable_sdbus.cpp @@ -191,11 +191,9 @@ ObjectVTableProperty *ObjectVTableBase::findProperty(const std::string &name) { void ObjectVTableBase::releaseSlot() { setSlot(nullptr); } -Bus *ObjectVTableBase::bus() { return std::as_const(*this).bus(); } - -Bus *ObjectVTableBase::bus() const { +Bus *ObjectVTableBase::bus() { FCITX_D(); - return d->slot_ ? d->slot_->bus_ : nullptr; + return d->slot_->bus_; } bool ObjectVTableBase::isRegistered() const { diff --git a/src/lib/fcitx-utils/dbus/servicewatcher.cpp b/src/lib/fcitx-utils/dbus/servicewatcher.cpp index 4cfeb7e2..6628d7e1 100644 --- a/src/lib/fcitx-utils/dbus/servicewatcher.cpp +++ b/src/lib/fcitx-utils/dbus/servicewatcher.cpp @@ -40,11 +40,6 @@ class ServiceWatcherPrivate : public TrackableObject { std::string newName; if (msg.type() != dbus::MessageType::Error) { msg >> newName; - } else { - if (msg.errorName() != - "org.freedesktop.DBus.Error.NameHasNoOwner") { - return false; - } } for (auto &entry : watcherMap_.view(pivotKey)) { entry(pivotKey, "", newName); diff --git a/src/lib/fcitx-utils/dbus/variant.cpp b/src/lib/fcitx-utils/dbus/variant.cpp index 73ade955..41713fef 100644 --- a/src/lib/fcitx-utils/dbus/variant.cpp +++ b/src/lib/fcitx-utils/dbus/variant.cpp @@ -57,11 +57,6 @@ VariantTypeRegistry &VariantTypeRegistry::defaultRegistry() { return registry; } -std::shared_ptr -lookupVariantType(const std::string &signature) { - return VariantTypeRegistry::defaultRegistry().lookupType(signature); -} - void Variant::writeToMessage(dbus::Message &msg) const { helper_->serialize(msg, data_.get()); } diff --git a/src/lib/fcitx-utils/dbus/variant.h b/src/lib/fcitx-utils/dbus/variant.h index c61452cf..917dc732 100644 --- a/src/lib/fcitx-utils/dbus/variant.h +++ b/src/lib/fcitx-utils/dbus/variant.h @@ -9,7 +9,8 @@ #include #include -#include +#include "fcitxutils_export.h" +#include "message.h" /// \addtogroup FcitxUtils /// \{ @@ -48,14 +49,6 @@ class FCITXUTILS_EXPORT VariantTypeRegistry { FCITX_DECLARE_PRIVATE(VariantTypeRegistry); }; -std::shared_ptr - FCITXUTILS_EXPORT lookupVariantType(const std::string &signature); - -template -inline void registerVariantType() { - VariantTypeRegistry::defaultRegistry().registerType(); -} - /// Variant type to be used to box or unbox the dbus variant type. class FCITXUTILS_EXPORT Variant { public: diff --git a/src/lib/fcitx-utils/element.cpp b/src/lib/fcitx-utils/element.cpp index 167865a1..36737ba0 100644 --- a/src/lib/fcitx-utils/element.cpp +++ b/src/lib/fcitx-utils/element.cpp @@ -13,7 +13,7 @@ namespace fcitx { class ElementPrivate { - using ElementList = std::list; + typedef std::list ElementList; public: OrderedSet parents_, childs_; diff --git a/src/lib/fcitx-utils/element.h b/src/lib/fcitx-utils/element.h index 5169cdbd..aeabd90b 100644 --- a/src/lib/fcitx-utils/element.h +++ b/src/lib/fcitx-utils/element.h @@ -7,6 +7,7 @@ #ifndef _FCITX_UTILS_ELEMENT_H_ #define _FCITX_UTILS_ELEMENT_H_ +#include #include #include "fcitxutils_export.h" @@ -23,7 +24,7 @@ class ElementPrivate; class FCITXUTILS_EXPORT Element : public ConnectableObject { public: Element(); - ~Element() override; + ~Element(); /// \brief Enable query between different elements. bool isChild(const Element *element) const; diff --git a/src/lib/fcitx-utils/endian_p.h b/src/lib/fcitx-utils/endian_p.h index d524dfa2..c240dcdc 100644 --- a/src/lib/fcitx-utils/endian_p.h +++ b/src/lib/fcitx-utils/endian_p.h @@ -7,7 +7,6 @@ #ifndef _FCITX_UTILS_ENDIAN_P_H_ #define _FCITX_UTILS_ENDIAN_P_H_ -#include #if defined(__linux__) || defined(__GLIBC__) #include #elif defined(__APPLE__) @@ -34,7 +33,7 @@ #endif enum { BYTE_ORDER_MSB_FIRST = 1, BYTE_ORDER_LSB_FIRST = 0 }; -inline char hostByteOrder() { +inline uint8_t hostByteOrder() { const uint16_t endian = 1; uint8_t byteOrder = 0; if (*reinterpret_cast(&endian)) { diff --git a/src/lib/fcitx-utils/event.h b/src/lib/fcitx-utils/event.h index 066df708..f7923980 100644 --- a/src/lib/fcitx-utils/event.h +++ b/src/lib/fcitx-utils/event.h @@ -7,7 +7,8 @@ #ifndef _FCITX_UTILS_EVENT_H_ #define _FCITX_UTILS_EVENT_H_ -#include +#include +#include #include #include #include @@ -25,13 +26,13 @@ enum class IOEventFlag { EdgeTrigger = (1 << 4), }; -using IOEventFlags = Flags; +typedef Flags IOEventFlags; class FCITXUTILS_EXPORT EventLoopException : public std::runtime_error { public: EventLoopException(int error); - FCITX_NODISCARD int error() const { return errno_; } + int error() const { return errno_; } private: int errno_; @@ -39,33 +40,33 @@ class FCITXUTILS_EXPORT EventLoopException : public std::runtime_error { struct FCITXUTILS_EXPORT EventSource { virtual ~EventSource(); - FCITX_NODISCARD virtual bool isEnabled() const = 0; + virtual bool isEnabled() const = 0; virtual void setEnabled(bool enabled) = 0; - FCITX_NODISCARD virtual bool isOneShot() const = 0; + virtual bool isOneShot() const = 0; virtual void setOneShot() = 0; }; struct FCITXUTILS_EXPORT EventSourceIO : public EventSource { - FCITX_NODISCARD virtual int fd() const = 0; + virtual int fd() const = 0; virtual void setFd(int fd) = 0; - FCITX_NODISCARD virtual IOEventFlags events() const = 0; + virtual IOEventFlags events() const = 0; virtual void setEvents(IOEventFlags flags) = 0; - FCITX_NODISCARD virtual IOEventFlags revents() const = 0; + virtual IOEventFlags revents() const = 0; }; struct FCITXUTILS_EXPORT EventSourceTime : public EventSource { virtual void setNextInterval(uint64_t time); - FCITX_NODISCARD virtual uint64_t time() const = 0; + virtual uint64_t time() const = 0; virtual void setTime(uint64_t time) = 0; - FCITX_NODISCARD virtual uint64_t accuracy() const = 0; + virtual uint64_t accuracy() const = 0; virtual void setAccuracy(uint64_t accuracy) = 0; - FCITX_NODISCARD virtual clockid_t clock() const = 0; + virtual clockid_t clock() const = 0; }; -using IOCallback = - std::function; -using TimeCallback = std::function; -using EventCallback = std::function; +typedef std::function + IOCallback; +typedef std::function TimeCallback; +typedef std::function EventCallback; FCITXUTILS_EXPORT uint64_t now(clockid_t clock); @@ -89,8 +90,6 @@ class FCITXUTILS_EXPORT EventLoop { addExitEvent(EventCallback callback); FCITX_NODISCARD std::unique_ptr addDeferEvent(EventCallback callback); - FCITX_NODISCARD std::unique_ptr - addPostEvent(EventCallback callback); private: const std::unique_ptr d_ptr; diff --git a/src/lib/fcitx-utils/event_common.cpp b/src/lib/fcitx-utils/event_common.cpp index b37ccb5b..815d9476 100644 --- a/src/lib/fcitx-utils/event_common.cpp +++ b/src/lib/fcitx-utils/event_common.cpp @@ -44,5 +44,5 @@ void EventSourceTime::setNextInterval(uint64_t time) { setTime(now(clock()) + time); } -EventSource::~EventSource() = default; +EventSource::~EventSource() {} } // namespace fcitx diff --git a/src/lib/fcitx-utils/event_libevent.cpp b/src/lib/fcitx-utils/event_libevent.cpp new file mode 100644 index 00000000..886a98d1 --- /dev/null +++ b/src/lib/fcitx-utils/event_libevent.cpp @@ -0,0 +1,397 @@ +/* + * SPDX-FileCopyrightText: 2017-2017 Henry Hu + * henry.hu.sh@gmail.com + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + */ + +#include "event.h" +#include +#include +#include +#include +#include "log.h" +#include "trackableobject.h" + +namespace fcitx { + +static uint32_t IOEventFlagsToLibEventFlags(IOEventFlags flags) { + uint32_t result = 0; + if (flags & IOEventFlag::In) { + result |= EV_READ; + } + if (flags & IOEventFlag::Out) { + result |= EV_WRITE; + } + /* + if (flags & IOEventFlag::Err) { + result |= EV_READ | EV_WRITE; + } + if (flags & IOEventFlag::Hup) { + result |= EV_CLOSED; + } + */ + if (flags & IOEventFlag::EdgeTrigger) { + result |= EV_ET; + } + return result; +} + +static IOEventFlags LibEventFlagsToIOEventFlags(uint32_t flags) { + return ((flags & EV_READ) ? IOEventFlag::In : IOEventFlags()) | + ((flags & EV_WRITE) ? IOEventFlag::Out : IOEventFlags()) | + // ((flags & EV_CLOSED) ? IOEventFlag::Hup : IOEventFlags()) | + ((flags & EV_ET) ? IOEventFlag::EdgeTrigger : IOEventFlags()); +} + +static void EventTimeToTimeval(uint64_t usec, clockid_t clock, + struct timeval *tv) { + // When usec = 0, we trigger it immediately. + if (usec == 0) { + tv->tv_sec = 0; + tv->tv_usec = 0; + return; + } + uint64_t curr = now(clock); + if (curr > usec) { + tv->tv_sec = 0; + tv->tv_usec = 0; + } else { + usec = usec - curr; + tv->tv_sec = usec / 1000000; + tv->tv_usec = usec % 1000000; + } +} + +void IOEventCallback(evutil_socket_t, short, void *); +void TimeEventCallback(evutil_socket_t, short, void *); + +enum class LibEventSourceEnableState { Disabled = 0, Oneshot = 1, Enabled = 2 }; + +template +struct LibEventSourceBase : public Interface { +public: + LibEventSourceBase(std::shared_ptr eventBase) + : eventBase_(eventBase) {} + + ~LibEventSourceBase() = default; + + bool isEnabled() const override { + return state_ != LibEventSourceEnableState::Disabled; + } + void setEnabled(bool enabled) override { + auto newState = enabled ? LibEventSourceEnableState::Enabled + : LibEventSourceEnableState::Disabled; + setState(newState); + } + + virtual void resetEvent() = 0; + + void setOneShot() override { setState(LibEventSourceEnableState::Oneshot); } + + bool isOneShot() const override { + return state_ == LibEventSourceEnableState::Oneshot; + } + +protected: + std::shared_ptr eventBase_; + UniqueCPtr event_; + LibEventSourceEnableState state_ = LibEventSourceEnableState::Disabled; + +private: + void setState(LibEventSourceEnableState state) { + if (state_ != state) { + state_ = state; + resetEvent(); + } + } +}; + +struct LibEventSourceIO final : public LibEventSourceBase { + LibEventSourceIO(IOCallback _callback, + std::shared_ptr eventBase, int fd, + IOEventFlags flags) + : LibEventSourceBase(eventBase), fd_(fd), flags_(flags), + callback_(std::move(_callback)) { + setEnabled(true); + } + + virtual int fd() const override { return fd_; } + + virtual void setFd(int fd) override { + if (fd_ != fd) { + fd_ = fd; + resetEvent(); + } + } + + virtual IOEventFlags events() const override { return flags_; } + + void setEvents(IOEventFlags flags) override { + if (flags_ != flags) { + flags_ = flags; + resetEvent(); + } + } + + IOEventFlags revents() const override { + IOEventFlags revents; + + if (flags_ & IOEventFlag::In) { + if (event_pending(event_.get(), EV_READ, nullptr)) { + revents |= IOEventFlag::In; + } + } + if (flags_ & IOEventFlag::Out) { + if (event_pending(event_.get(), EV_WRITE, nullptr)) { + revents |= IOEventFlag::Out; + } + } + + return revents; + } + + void resetEvent() override { + // event_del if event_ is not null, so we can use event_assign later. + if (event_) { + event_del(event_.get()); + } + if (!isEnabled()) { + return; + } + short flags = IOEventFlagsToLibEventFlags(flags_); + if (state_ != LibEventSourceEnableState::Oneshot) { + flags |= EV_PERSIST; + } + // flags |= EV_CLOSED; + if (!event_) { + event_.reset( + event_new(eventBase_.get(), fd_, flags, IOEventCallback, this)); + if (!event_) { + throw EventLoopException(ENOMEM); + } + } else { + event_assign(event_.get(), eventBase_.get(), fd_, flags, + IOEventCallback, this); + } + event_add(event_.get(), nullptr); + } + + int fd_; + IOEventFlags flags_; + IOCallback callback_; +}; + +struct LibEventSourceTime final : public LibEventSourceBase, + public TrackableObject { + LibEventSourceTime(TimeCallback _callback, + std::shared_ptr eventBase, uint64_t time, + clockid_t clockid, uint64_t accuracy) + : LibEventSourceBase(eventBase), time_(time), clock_(clockid), + accuracy_(accuracy), callback_(std::move(_callback)) { + setOneShot(); + } + + virtual uint64_t time() const override { return time_; } + + virtual void setTime(uint64_t time) override { + time_ = time; + resetEvent(); + } + + virtual uint64_t accuracy() const override { return accuracy_; } + + virtual void setAccuracy(uint64_t time) override { accuracy_ = time; } + + void setClock(clockid_t clockid) { + clock_ = clockid; + resetEvent(); + } + + virtual clockid_t clock() const override { return clock_; } + + virtual void resetEvent() override { + if (event_) { + event_del(event_.get()); + } + if (!isEnabled()) { + return; + } + if (!event_) { + event_.reset(event_new(eventBase_.get(), -1, EV_TIMEOUT, + TimeEventCallback, this)); + if (!event_) { + throw EventLoopException(ENOMEM); + } + } + struct timeval tv; + EventTimeToTimeval(time_, clock_, &tv); + event_add(event_.get(), &tv); + } + + uint64_t time_; + clockid_t clock_; + uint64_t accuracy_; + TimeCallback callback_; +}; + +struct LibEventSourceExit final : public EventSource, + public TrackableObject { + LibEventSourceExit(EventCallback _callback) + : callback_(std::move(_callback)) {} + + bool isOneShot() const override { + return state_ == LibEventSourceEnableState::Oneshot; + } + bool isEnabled() const override { + return state_ != LibEventSourceEnableState::Disabled; + } + void setEnabled(bool enabled) override { + state_ = enabled ? LibEventSourceEnableState::Enabled + : LibEventSourceEnableState::Disabled; + } + + void setOneShot() override { state_ = LibEventSourceEnableState::Oneshot; } + + LibEventSourceEnableState state_ = LibEventSourceEnableState::Oneshot; + EventCallback callback_; +}; + +class EventLoopPrivate { +public: + EventLoopPrivate() { + event_config *config = event_config_new(); + if (config == nullptr) { + throw std::runtime_error("Create event_config failed."); + } + event_config_require_features(config, EV_FEATURE_ET); + + event_.reset(event_base_new_with_config(config), event_base_free); + if (event_ == nullptr) { + throw std::runtime_error("Create event_base failed."); + } + event_config_free(config); + } + + std::shared_ptr event_; + std::vector> exitEvents_; +}; + +EventLoop::EventLoop() : d_ptr(std::make_unique()) {} + +EventLoop::~EventLoop() {} + +const char *EventLoop::impl() { return "libevent"; } + +void *EventLoop::nativeHandle() { + FCITX_D(); + return d->event_.get(); +} + +bool EventLoop::exec() { + FCITX_D(); +#ifdef EVLOOP_NO_EXIT_ON_EMPTY + int r = event_base_loop(d->event_.get(), EVLOOP_NO_EXIT_ON_EMPTY); +#else + UniqueCPtr dummy(event_new( + d->event_, -1, EV_PERSIST, [](evutil_socket_t, short, void *) {}, + nullptr)); + struct timeval tv; + tv.tv_sec = 1000000000; + tv.tv_usec = 0; + event_add(dummy.get(), &tv); + int r = event_base_loop(d->event_, 0); +#endif + for (auto iter = d->exitEvents_.begin(); iter != d->exitEvents_.end();) { + if (auto *event = iter->get()) { + if (event->isEnabled()) { + try { + if (event->isOneShot()) { + event->setEnabled(false); + } + event->callback_(event); + } catch (const std::exception &e) { + // some abnormal things threw + abort(); + } + } + } + if (!iter->isValid()) { + iter = d->exitEvents_.erase(iter); + } else { + ++iter; + } + } + return r >= 0; +} + +void EventLoop::exit() { + FCITX_D(); + event_base_loopexit(d->event_.get(), nullptr); +} + +void IOEventCallback(evutil_socket_t fd, short events, void *arg) { + auto *source = static_cast(arg); + try { + if (source->isOneShot()) { + source->setEnabled(false); + } + source->callback_(source, fd, LibEventFlagsToIOEventFlags(events)); + } catch (const std::exception &e) { + // some abnormal things threw{ + FCITX_FATAL() << e.what(); + } +} + +std::unique_ptr EventLoop::addIOEvent(int fd, IOEventFlags flags, + IOCallback callback) { + FCITX_D(); + auto source = std::make_unique(std::move(callback), + d->event_, fd, flags); + return source; +} + +void TimeEventCallback(evutil_socket_t, short, void *arg) { + + auto *source = static_cast(arg); + + try { + auto sourceRef = source->watch(); + if (source->isOneShot()) { + source->setEnabled(false); + } + source->callback_(source, source->time()); + if (sourceRef.isValid() && source->isEnabled()) { + source->resetEvent(); + } + } catch (const std::exception &e) { + // some abnormal things threw + abort(); + } +} + +std::unique_ptr +EventLoop::addTimeEvent(clockid_t clock, uint64_t usec, uint64_t accuracy, + TimeCallback callback) { + FCITX_D(); + auto source = std::make_unique( + std::move(callback), d->event_, usec, clock, accuracy); + return source; +} + +std::unique_ptr EventLoop::addExitEvent(EventCallback callback) { + FCITX_D(); + auto source = std::make_unique(std::move(callback)); + d->exitEvents_.push_back(source->watch()); + return source; +} + +std::unique_ptr EventLoop::addDeferEvent(EventCallback callback) { + return addTimeEvent( + CLOCK_MONOTONIC, 0, 0, + [callback = std::move(callback)](EventSourceTime *source, uint64_t) { + return callback(source); + }); +} +} // namespace fcitx diff --git a/src/lib/fcitx-utils/event_libuv.cpp b/src/lib/fcitx-utils/event_libuv.cpp deleted file mode 100644 index f84c7e36..00000000 --- a/src/lib/fcitx-utils/event_libuv.cpp +++ /dev/null @@ -1,467 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2017-2017 Henry Hu - * henry.hu.sh@gmail.com - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ - -#include -#include -#include -#include -#include -#include -#include "event.h" -#include "log.h" -#include "trackableobject.h" - -#define FCITX_LIBUV_DEBUG() FCITX_LOGC(::fcitx::libuv_logcategory, Debug) - -namespace fcitx { - -FCITX_DEFINE_LOG_CATEGORY(libuv_logcategory, "libuv"); - -static int IOEventFlagsToLibUVFlags(IOEventFlags flags) { - int result = 0; - if (flags & IOEventFlag::In) { - result |= UV_READABLE; - } - if (flags & IOEventFlag::Out) { - result |= UV_WRITABLE; - } - if (flags & IOEventFlag::Hup) { - result |= UV_DISCONNECT; - } - return result; -} - -static IOEventFlags LibUVFlagsToIOEventFlags(int flags) { - return ((flags & UV_READABLE) ? IOEventFlag::In : IOEventFlags()) | - ((flags & UV_WRITABLE) ? IOEventFlag::Out : IOEventFlags()) | - ((flags & UV_DISCONNECT) ? IOEventFlag::Hup : IOEventFlags()); -} - -void IOEventCallback(uv_poll_t *handle, int status, int events); -void TimeEventCallback(uv_timer_t *handle); -void PostEventCallback(uv_prepare_t *handle); - -enum class LibUVSourceEnableState { Disabled = 0, Oneshot = 1, Enabled = 2 }; - -struct UVLoop { - UVLoop() { uv_loop_init(&loop_); } - - ~UVLoop(); - - operator uv_loop_t *() { return &loop_; } - - uv_loop_t loop_; -}; - -struct LibUVSourceBase { -public: - LibUVSourceBase(std::shared_ptr loop) : loop_(loop) {} - - virtual ~LibUVSourceBase() { cleanup(); }; - void cleanup() { - if (!handle_) { - return; - } - auto *handle = handle_; - handle_->data = nullptr; - handle_ = nullptr; - uv_close(handle, [](uv_handle_t *handle) { free(handle); }); - } - - virtual void init(uv_loop_t *loop) = 0; - - void resetEvent() { - cleanup(); - if (state_ == LibUVSourceEnableState::Disabled) { - return; - } - auto loop = loop_.lock(); - if (!loop) { - return; - } - init(*loop); - } - -protected: - void setState(LibUVSourceEnableState state) { - if (state_ != state) { - state_ = state; - resetEvent(); - } - } - - std::weak_ptr loop_; - uv_handle_t *handle_ = nullptr; - LibUVSourceEnableState state_ = LibUVSourceEnableState::Disabled; -}; - -UVLoop::~UVLoop() { - // Close and detach all handle. - uv_walk( - &loop_, - [](uv_handle_t *handle, void *) { - if (handle && !uv_is_closing(handle)) { - if (handle->data) { - static_cast(handle->data)->cleanup(); - } - } - }, - nullptr); - int r = uv_loop_close(&loop_); - FCITX_DEBUG() << "UVLoop close: " << r; - if (r == 0) { - return; - } - do { - r = uv_run(&loop_, UV_RUN_ONCE); - } while (r != 0); - // Now we're safe. - r = uv_loop_close(&loop_); - FCITX_DEBUG() << "UVLoop close r2: " << r; -} - -template -struct LibUVSource : public Interface, public LibUVSourceBase { -public: - LibUVSource(std::shared_ptr loop) - : LibUVSourceBase(std::move(loop)) {} - - bool isEnabled() const override { - return state_ != LibUVSourceEnableState::Disabled; - } - void setEnabled(bool enabled) override { - auto newState = enabled ? LibUVSourceEnableState::Enabled - : LibUVSourceEnableState::Disabled; - setState(newState); - } - - void setOneShot() override { setState(LibUVSourceEnableState::Oneshot); } - - bool isOneShot() const override { - return state_ == LibUVSourceEnableState::Oneshot; - } - - inline HandleType *handle() { - return reinterpret_cast(handle_); - } - - void init(uv_loop_t *loop) override { - handle_ = static_cast(calloc(1, sizeof(HandleType))); - handle_->data = static_cast(this); - if (!setup(loop, handle())) { - free(handle_); - handle_ = nullptr; - } - } - - virtual bool setup(uv_loop_t *loop, HandleType *handle) = 0; -}; - -struct LibUVSourceIO final : public LibUVSource, - public TrackableObject { - LibUVSourceIO(IOCallback _callback, std::shared_ptr loop, int fd, - IOEventFlags flags) - : LibUVSource(loop), fd_(fd), flags_(flags), - callback_(std::make_shared(std::move(_callback))) { - setEnabled(true); - } - - virtual int fd() const override { return fd_; } - - virtual void setFd(int fd) override { - if (fd_ != fd) { - fd_ = fd; - resetEvent(); - } - } - - virtual IOEventFlags events() const override { return flags_; } - - void setEvents(IOEventFlags flags) override { - if (flags_ != flags) { - flags_ = flags; - resetEvent(); - } - } - - IOEventFlags revents() const override { return revents_; } - - bool setup(uv_loop_t *loop, uv_poll_t *poll) override { - if (int err = uv_poll_init(loop, poll, fd_); err < 0) { - FCITX_LIBUV_DEBUG() << "Failed to init poll for fd: " << fd_ - << " with error: " << err; - return false; - } - const auto flags = IOEventFlagsToLibUVFlags(flags_); - if (int err = uv_poll_start(poll, flags, &IOEventCallback); err < 0) { - FCITX_LIBUV_DEBUG() << "Failed to start poll with error: " << err; - return false; - } - return true; - } - - int fd_; - IOEventFlags flags_; - IOEventFlags revents_; - std::shared_ptr callback_; -}; - -struct LibUVSourceTime final : public LibUVSource, - public TrackableObject { - LibUVSourceTime(TimeCallback _callback, std::shared_ptr loop, - uint64_t time, clockid_t clockid, uint64_t accuracy) - : LibUVSource(std::move(loop)), time_(time), clock_(clockid), - accuracy_(accuracy), - callback_(std::make_shared(std::move(_callback))) { - setOneShot(); - } - - virtual uint64_t time() const override { return time_; } - - virtual void setTime(uint64_t time) override { - time_ = time; - resetEvent(); - } - - virtual uint64_t accuracy() const override { return accuracy_; } - - virtual void setAccuracy(uint64_t time) override { accuracy_ = time; } - - void setClock(clockid_t clockid) { - clock_ = clockid; - resetEvent(); - } - - virtual clockid_t clock() const override { return clock_; } - - bool setup(uv_loop_t *loop, uv_timer_t *timer) override { - if (int err = uv_timer_init(loop, timer); err < 0) { - FCITX_LIBUV_DEBUG() << "Failed to init timer with error: " << err; - return false; - } - auto curr = now(clock_); - uint64_t timeout = time_ > curr ? (time_ - curr) : 0; - // libuv is milliseconds - timeout /= 1000; - if (int err = uv_timer_start(timer, &TimeEventCallback, timeout, 0); - err < 0) { - FCITX_LIBUV_DEBUG() << "Failed to start timer with error: " << err; - return false; - } - return true; - } - - uint64_t time_; - clockid_t clock_; - uint64_t accuracy_; - std::shared_ptr callback_; -}; - -struct LibUVSourcePost final : public LibUVSource, - public TrackableObject { - LibUVSourcePost(EventCallback callback, std::shared_ptr loop) - : LibUVSource(std::move(loop)), - callback_(std::make_shared(std::move(callback))) { - setEnabled(true); - } - - bool setup(uv_loop_t *loop, uv_prepare_t *prepare) override { - if (int err = uv_prepare_init(loop, prepare); err < 0) { - FCITX_LIBUV_DEBUG() << "Failed to init prepare with error: " << err; - return false; - } - if (int err = uv_prepare_start(prepare, &PostEventCallback); err < 0) { - FCITX_LIBUV_DEBUG() - << "Failed to start prepare with error: " << err; - return false; - } - return true; - } - - std::shared_ptr callback_; -}; - -struct LibUVSourceExit final : public EventSource, - public TrackableObject { - LibUVSourceExit(EventCallback _callback) - : callback_(std::move(_callback)) {} - - bool isOneShot() const override { - return state_ == LibUVSourceEnableState::Oneshot; - } - bool isEnabled() const override { - return state_ != LibUVSourceEnableState::Disabled; - } - void setEnabled(bool enabled) override { - state_ = enabled ? LibUVSourceEnableState::Enabled - : LibUVSourceEnableState::Disabled; - } - - void setOneShot() override { state_ = LibUVSourceEnableState::Oneshot; } - - LibUVSourceEnableState state_ = LibUVSourceEnableState::Oneshot; - EventCallback callback_; -}; - -class EventLoopPrivate { -public: - EventLoopPrivate() : loop_(std::make_shared()) {} - - std::shared_ptr loop_; - std::vector> exitEvents_; -}; - -EventLoop::EventLoop() : d_ptr(std::make_unique()) {} - -EventLoop::~EventLoop() {} - -const char *EventLoop::impl() { return "libuv"; } - -void *EventLoop::nativeHandle() { - FCITX_D(); - return static_cast(*d->loop_); -} - -bool EventLoop::exec() { - FCITX_D(); - int r = uv_run(*d->loop_, UV_RUN_DEFAULT); - for (auto iter = d->exitEvents_.begin(); iter != d->exitEvents_.end();) { - if (auto *event = iter->get()) { - if (event->isEnabled()) { - try { - if (event->isOneShot()) { - event->setEnabled(false); - } - event->callback_(event); - } catch (const std::exception &e) { - // some abnormal things threw - abort(); - } - } - } - if (!iter->isValid()) { - iter = d->exitEvents_.erase(iter); - } else { - ++iter; - } - } - return r >= 0; -} - -void EventLoop::exit() { - FCITX_D(); - uv_stop(*d->loop_); -} - -void IOEventCallback(uv_poll_t *handle, int status, int events) { - auto *source = static_cast( - static_cast(handle->data)); - auto sourceRef = source->watch(); - try { - if (source->isOneShot()) { - source->setEnabled(false); - } - auto flags = LibUVFlagsToIOEventFlags(events); - if (status < 0) { - flags |= IOEventFlag::Err; - } - auto callback = source->callback_; - bool ret = (*callback)(source, source->fd(), flags); - if (sourceRef.isValid()) { - if (!ret) { - source->setEnabled(false); - } - } - } catch (const std::exception &e) { - // some abnormal things threw - FCITX_FATAL() << e.what(); - } -} - -std::unique_ptr EventLoop::addIOEvent(int fd, IOEventFlags flags, - IOCallback callback) { - FCITX_D(); - auto source = std::make_unique(std::move(callback), d->loop_, - fd, flags); - return source; -} - -void TimeEventCallback(uv_timer_t *handle) { - auto *source = static_cast( - static_cast(handle->data)); - - try { - auto sourceRef = source->watch(); - if (source->isOneShot()) { - source->setEnabled(false); - } - auto callback = source->callback_; - bool ret = (*callback)(source, source->time()); - if (sourceRef.isValid()) { - if (!ret) { - source->setEnabled(false); - } - if (source->isEnabled()) { - source->resetEvent(); - } - } - } catch (const std::exception &e) { - // some abnormal things threw - FCITX_FATAL() << e.what(); - } -} - -std::unique_ptr -EventLoop::addTimeEvent(clockid_t clock, uint64_t usec, uint64_t accuracy, - TimeCallback callback) { - FCITX_D(); - auto source = std::make_unique( - std::move(callback), d->loop_, usec, clock, accuracy); - return source; -} - -std::unique_ptr EventLoop::addExitEvent(EventCallback callback) { - FCITX_D(); - auto source = std::make_unique(std::move(callback)); - d->exitEvents_.push_back(source->watch()); - return source; -} - -std::unique_ptr EventLoop::addDeferEvent(EventCallback callback) { - return addTimeEvent( - CLOCK_MONOTONIC, 0, 0, - [callback = std::move(callback)](EventSourceTime *source, uint64_t) { - return callback(source); - }); -} - -void PostEventCallback(uv_prepare_t *handle) { - auto *source = static_cast( - static_cast(handle->data)); - - try { - auto sourceRef = source->watch(); - if (source->isOneShot()) { - source->setEnabled(false); - } - auto callback = source->callback_; - (*callback)(source); - } catch (const std::exception &e) { - // some abnormal things threw{ - FCITX_FATAL() << e.what(); - } -} - -std::unique_ptr EventLoop::addPostEvent(EventCallback callback) { - FCITX_D(); - auto source = - std::make_unique(std::move(callback), d->loop_); - return source; -} - -} // namespace fcitx diff --git a/src/lib/fcitx-utils/event_sdevent.cpp b/src/lib/fcitx-utils/event_sdevent.cpp index 0994f5e6..5c9cb470 100644 --- a/src/lib/fcitx-utils/event_sdevent.cpp +++ b/src/lib/fcitx-utils/event_sdevent.cpp @@ -5,15 +5,9 @@ * */ -#include -#include #include #include -#include #include -#include -#include -#include #if defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__) #define __INCLUDE_LEVEL__ 2 @@ -21,13 +15,10 @@ #include #include "event.h" #include "log.h" -#include "macros.h" -#include "stringutils.h" namespace fcitx { -namespace { -uint32_t IOEventFlagsToEpollFlags(IOEventFlags flags) { +static uint32_t IOEventFlagsToEpollFlags(IOEventFlags flags) { uint32_t result = 0; if (flags & IOEventFlag::In) { result |= EPOLLIN; @@ -47,7 +38,7 @@ uint32_t IOEventFlagsToEpollFlags(IOEventFlags flags) { return result; } -IOEventFlags EpollFlagsToIOEventFlags(uint32_t flags) { +static IOEventFlags EpollFlagsToIOEventFlags(uint32_t flags) { return ((flags & EPOLLIN) ? IOEventFlag::In : IOEventFlags()) | ((flags & EPOLLOUT) ? IOEventFlag::Out : IOEventFlags()) | ((flags & EPOLLERR) ? IOEventFlag::Err : IOEventFlags()) | @@ -55,12 +46,10 @@ IOEventFlags EpollFlagsToIOEventFlags(uint32_t flags) { ((flags & EPOLLET) ? IOEventFlag::EdgeTrigger : IOEventFlags()); } -} // namespace - template struct SDEventSourceBase : public Interface { public: - ~SDEventSourceBase() override { + ~SDEventSourceBase() { if (eventSource_) { sd_event_source_set_enabled(eventSource_, SD_EVENT_OFF); sd_event_source_set_userdata(eventSource_, nullptr); @@ -71,9 +60,8 @@ struct SDEventSourceBase : public Interface { void setEventSource(sd_event_source *event) { eventSource_ = event; } bool isEnabled() const override { - int result = 0; - if (int err = sd_event_source_get_enabled(eventSource_, &result); - err < 0) { + int result = 0, err; + if ((err = sd_event_source_get_enabled(eventSource_, &result)) < 0) { throw EventLoopException(err); } return result != SD_EVENT_OFF; @@ -85,9 +73,8 @@ struct SDEventSourceBase : public Interface { } bool isOneShot() const override { - int result = 0; - if (int err = sd_event_source_get_enabled(eventSource_, &result); - err < 0) { + int result = 0, err; + if ((err = sd_event_source_get_enabled(eventSource_, &result)) < 0) { throw EventLoopException(err); } return result == SD_EVENT_ONESHOT; @@ -102,15 +89,13 @@ struct SDEventSourceBase : public Interface { }; struct SDEventSource : public SDEventSourceBase { - SDEventSource(EventCallback _callback) - : callback_(std::make_shared(std::move(_callback))) {} + SDEventSource(EventCallback _callback) : callback_(std::move(_callback)) {} - std::shared_ptr callback_; + EventCallback callback_; }; struct SDEventSourceIO : public SDEventSourceBase { - SDEventSourceIO(IOCallback _callback) - : callback_(std::make_shared(std::move(_callback))) {} + SDEventSourceIO(IOCallback _callback) : callback_(std::move(_callback)) {} int fd() const override { int ret = sd_event_source_get_io_fd(eventSource_); @@ -153,12 +138,12 @@ struct SDEventSourceIO : public SDEventSourceBase { return EpollFlagsToIOEventFlags(revents); } - std::shared_ptr callback_; + IOCallback callback_; }; struct SDEventSourceTime : public SDEventSourceBase { SDEventSourceTime(TimeCallback _callback) - : callback_(std::make_shared(std::move(_callback))) {} + : callback_(std::move(_callback)) {} uint64_t time() const override { uint64_t time; @@ -201,27 +186,26 @@ struct SDEventSourceTime : public SDEventSourceBase { return clock; } - std::shared_ptr callback_; + TimeCallback callback_; }; class EventLoopPrivate { public: EventLoopPrivate() { - if (int rc = sd_event_new(&event_); rc < 0) { - throw std::runtime_error(stringutils::concat( - "Create sd_event failed. error code: ", rc)); + if (sd_event_new(&event_) < 0) { + throw std::runtime_error("Create sd_event failed."); } } ~EventLoopPrivate() { sd_event_unref(event_); } std::mutex mutex_; - sd_event *event_ = nullptr; + sd_event *event_; }; EventLoop::EventLoop() : d_ptr(std::make_unique()) {} -EventLoop::~EventLoop() = default; +EventLoop::~EventLoop() {} const char *EventLoop::impl() { return "sd-event"; } @@ -241,16 +225,15 @@ void EventLoop::exit() { sd_event_exit(d->event_, 0); } -int IOEventCallback(sd_event_source * /*unused*/, int fd, uint32_t revents, +int IOEventCallback(sd_event_source *, int fd, uint32_t revents, void *userdata) { auto *source = static_cast(userdata); if (!source) { return 0; } try { - auto callback = source->callback_; auto result = - (*callback)(source, fd, EpollFlagsToIOEventFlags(revents)); + source->callback_(source, fd, EpollFlagsToIOEventFlags(revents)); return result ? 0 : -1; } catch (const std::exception &e) { FCITX_FATAL() << e.what(); @@ -263,25 +246,23 @@ std::unique_ptr EventLoop::addIOEvent(int fd, IOEventFlags flags, FCITX_D(); auto source = std::make_unique(std::move(callback)); sd_event_source *sdEventSource; - if (int err = sd_event_add_io(d->event_, &sdEventSource, fd, - IOEventFlagsToEpollFlags(flags), - IOEventCallback, source.get()); - err < 0) { + int err; + if ((err = sd_event_add_io(d->event_, &sdEventSource, fd, + IOEventFlagsToEpollFlags(flags), IOEventCallback, + source.get())) < 0) { throw EventLoopException(err); } source->setEventSource(sdEventSource); return source; } -int TimeEventCallback(sd_event_source * /*unused*/, uint64_t usec, - void *userdata) { +int TimeEventCallback(sd_event_source *, uint64_t usec, void *userdata) { auto *source = static_cast(userdata); if (!source) { return 0; } try { - auto callback = source->callback_; - auto result = (*callback)(source, usec); + auto result = source->callback_(source, usec); return result ? 0 : -1; } catch (const std::exception &e) { // some abnormal things threw @@ -297,23 +278,23 @@ EventLoop::addTimeEvent(clockid_t clock, uint64_t usec, uint64_t accuracy, FCITX_D(); auto source = std::make_unique(std::move(callback)); sd_event_source *sdEventSource; - if (int err = sd_event_add_time(d->event_, &sdEventSource, clock, usec, - accuracy, TimeEventCallback, source.get()); - err < 0) { + int err; + if ((err = sd_event_add_time(d->event_, &sdEventSource, clock, usec, + accuracy, TimeEventCallback, source.get())) < + 0) { throw EventLoopException(err); } source->setEventSource(sdEventSource); return source; } -int StaticEventCallback(sd_event_source * /*unused*/, void *userdata) { +int StaticEventCallback(sd_event_source *, void *userdata) { auto *source = static_cast(userdata); if (!source) { return 0; } try { - auto callback = source->callback_; - auto result = (*callback)(source); + auto result = source->callback_(source); return result ? 0 : -1; } catch (const std::exception &e) { // some abnormal things threw @@ -327,9 +308,9 @@ std::unique_ptr EventLoop::addExitEvent(EventCallback callback) { FCITX_D(); auto source = std::make_unique(std::move(callback)); sd_event_source *sdEventSource; - if (int err = sd_event_add_exit(d->event_, &sdEventSource, - StaticEventCallback, source.get()); - err < 0) { + int err; + if ((err = sd_event_add_exit(d->event_, &sdEventSource, StaticEventCallback, + source.get())) < 0) { throw EventLoopException(err); } source->setEventSource(sdEventSource); @@ -340,22 +321,9 @@ std::unique_ptr EventLoop::addDeferEvent(EventCallback callback) { FCITX_D(); auto source = std::make_unique(std::move(callback)); sd_event_source *sdEventSource; - if (int err = sd_event_add_defer(d->event_, &sdEventSource, - StaticEventCallback, source.get()); - err < 0) { - throw EventLoopException(err); - } - source->setEventSource(sdEventSource); - return source; -} - -std::unique_ptr EventLoop::addPostEvent(EventCallback callback) { - FCITX_D(); - auto source = std::make_unique(std::move(callback)); - sd_event_source *sdEventSource; - if (int err = sd_event_add_post(d->event_, &sdEventSource, - StaticEventCallback, source.get()); - err < 0) { + int err; + if ((err = sd_event_add_defer(d->event_, &sdEventSource, + StaticEventCallback, source.get())) < 0) { throw EventLoopException(err); } source->setEventSource(sdEventSource); diff --git a/src/lib/fcitx-utils/eventdispatcher.cpp b/src/lib/fcitx-utils/eventdispatcher.cpp index de9f7b4d..66848747 100644 --- a/src/lib/fcitx-utils/eventdispatcher.cpp +++ b/src/lib/fcitx-utils/eventdispatcher.cpp @@ -5,6 +5,8 @@ * */ #include "eventdispatcher.h" +#include +#include #include #include #include @@ -51,7 +53,7 @@ EventDispatcher::EventDispatcher() d->fd_[1].give(selfpipe[1]); } -EventDispatcher::~EventDispatcher() = default; +EventDispatcher::~EventDispatcher() {} void EventDispatcher::attach(EventLoop *event) { FCITX_D(); diff --git a/src/lib/fcitx-utils/eventdispatcher.h b/src/lib/fcitx-utils/eventdispatcher.h index 6e4619b3..d9f3b29c 100644 --- a/src/lib/fcitx-utils/eventdispatcher.h +++ b/src/lib/fcitx-utils/eventdispatcher.h @@ -11,7 +11,6 @@ #include #include #include -#include #include "fcitxutils_export.h" namespace fcitx { @@ -44,7 +43,6 @@ class FCITXUTILS_EXPORT EventDispatcher { * thread from event loop. */ void detach(); - /** * A thread-safe function to schedule a functor to be call from event loop. * @@ -56,33 +54,6 @@ class FCITXUTILS_EXPORT EventDispatcher { */ void schedule(std::function functor); - /** - * A helper function that allows to only invoke certain function if the - * reference is still valid. - * - * If context object is not valid when calling scheduleWithContext, it won't - * be scheduled at all. - * - * @param context the context object. - * @param functor function to be scheduled - * - * @since 5.1.8 - */ - template - void scheduleWithContext(TrackableObjectReference context, - std::function functor) { - if (!context.isValid()) { - return; - } - - schedule( - [context = std::move(context), functor = std::move(functor)]() { - if (context.isValid()) { - functor(); - } - }); - } - /** * Return the currently attached event loop * diff --git a/src/lib/fcitx-utils/flags.h b/src/lib/fcitx-utils/flags.h index 2bd2dad8..f9ac3b74 100644 --- a/src/lib/fcitx-utils/flags.h +++ b/src/lib/fcitx-utils/flags.h @@ -32,7 +32,7 @@ namespace fcitx { template class Flags { public: - using storage_type = typename std::underlying_type_t; + typedef typename std::underlying_type_t storage_type; constexpr Flags(Enum f) : flags_(static_cast(f)) {} explicit Flags(storage_type i = 0) : flags_(i) {} constexpr Flags(const std::initializer_list &l) : flags_(0) { diff --git a/src/lib/fcitx-utils/fs.cpp b/src/lib/fcitx-utils/fs.cpp index 507de8e1..0a9ea888 100644 --- a/src/lib/fcitx-utils/fs.cpp +++ b/src/lib/fcitx-utils/fs.cpp @@ -6,10 +6,10 @@ */ #include "fs.h" +#include #include #include #include -#include #include "mtime_p.h" #include "standardpath.h" #include "stringutils.h" @@ -19,7 +19,7 @@ namespace fcitx::fs { namespace { bool makePathHelper(const std::string &name) { - if (::mkdir(name.c_str(), 0777) == 0) { + if (::mkdir(name.c_str(), S_IRWXU) == 0) { return true; } if (errno == EEXIST) { @@ -43,7 +43,7 @@ bool makePathHelper(const std::string &name) { } // try again - if (::mkdir(name.c_str(), 0777) == 0) { + if (::mkdir(name.c_str(), S_IRWXU) == 0) { return true; } return errno == EEXIST && isdir(name); diff --git a/src/lib/fcitx-utils/handlertable.h b/src/lib/fcitx-utils/handlertable.h index 6e71956d..d5b9dcb3 100644 --- a/src/lib/fcitx-utils/handlertable.h +++ b/src/lib/fcitx-utils/handlertable.h @@ -9,7 +9,7 @@ #include #include -#include // IWYU pragma: export +#include #include namespace fcitx { @@ -48,14 +48,14 @@ class HandlerTable { template class MultiHandlerTable { friend class MultiHandlerTableEntry; - using map_type = - std::unordered_map>>; + typedef std::unordered_map>> + map_type; public: MultiHandlerTable(std::function addKey = {}, std::function removeKey = {}) - : addKey_(std::move(addKey)), removeKey_(std::move(removeKey)) {} + : addKey_(addKey), removeKey_(removeKey) {} FCITX_INLINE_DEFINE_DEFAULT_DTOR_AND_MOVE(MultiHandlerTable) diff --git a/src/lib/fcitx-utils/handlertable_details.h b/src/lib/fcitx-utils/handlertable_details.h index ba657f7a..6100af98 100644 --- a/src/lib/fcitx-utils/handlertable_details.h +++ b/src/lib/fcitx-utils/handlertable_details.h @@ -34,7 +34,7 @@ class HandlerTableEntry : public HandlerTableEntryBase { HandlerTableEntry(Args &&...args) : handler_(std::make_shared>( std::make_unique(std::forward(args)...))) {} - ~HandlerTableEntry() override { handler_->reset(); } + virtual ~HandlerTableEntry() { handler_->reset(); } HandlerTableData handler() const { return handler_; } @@ -49,9 +49,9 @@ class ListHandlerTableEntry : public HandlerTableEntry { ListHandlerTableEntry, &ListHandlerTableEntry::node_>; public: - using node_getter_type = - struct IntrusiveListMemberNodeGetter; + typedef struct IntrusiveListMemberNodeGetter + node_getter_type; template ListHandlerTableEntry(Args &&...args) @@ -64,7 +64,7 @@ class MultiHandlerTable; template class MultiHandlerTableEntry : public HandlerTableEntry { - using table_type = MultiHandlerTable; + typedef MultiHandlerTable table_type; private: table_type *table_; @@ -74,12 +74,11 @@ class MultiHandlerTableEntry : public HandlerTableEntry { &MultiHandlerTableEntry::node_>; public: - using node_getter_type = - struct IntrusiveListMemberNodeGetter; + typedef struct IntrusiveListMemberNodeGetter + node_getter_type; MultiHandlerTableEntry(table_type *table, Key key, T handler) - : HandlerTableEntry(std::move(handler)), table_(table), - key_(std::move(key)) {} + : HandlerTableEntry(std::move(handler)), table_(table), key_(key) {} ~MultiHandlerTableEntry(); }; @@ -107,11 +106,11 @@ class HandlerTableView { class iterator { public: - using iterator_category = std::input_iterator_tag; - using value_type = T; - using difference_type = std::ptrdiff_t; - using reference = value_type &; - using pointer = value_type *; + typedef std::input_iterator_tag iterator_category; + typedef T value_type; + typedef std::ptrdiff_t difference_type; + typedef value_type &reference; + typedef value_type *pointer; iterator(typename container_type::const_iterator iter, typename container_type::const_iterator end) diff --git a/src/lib/fcitx-utils/i18n.cpp b/src/lib/fcitx-utils/i18n.cpp index dbee8f23..92c375dd 100644 --- a/src/lib/fcitx-utils/i18n.cpp +++ b/src/lib/fcitx-utils/i18n.cpp @@ -9,6 +9,7 @@ #include #include #include +#include "fcitxutils_export.h" #include "log.h" #include "standardpath.h" @@ -38,15 +39,18 @@ class GettextManager { static GettextManager gettextManager; -std::string translate(const std::string &s) { return translate(s.c_str()); } +FCITXUTILS_EXPORT std::string translate(const std::string &s) { + return translate(s.c_str()); +} -const char *translate(const char *s) { return ::gettext(s); } +FCITXUTILS_EXPORT const char *translate(const char *s) { return ::gettext(s); } -std::string translateCtx(const char *ctx, const std::string &s) { +FCITXUTILS_EXPORT std::string translateCtx(const char *ctx, + const std::string &s) { return translateCtx(ctx, s.c_str()); } -const char *translateCtx(const char *ctx, const char *s) { +FCITXUTILS_EXPORT const char *translateCtx(const char *ctx, const char *s) { auto str = stringutils::concat(ctx, "\004", s); const auto *p = str.c_str(); const auto *result = ::gettext(str.c_str()); @@ -56,22 +60,24 @@ const char *translateCtx(const char *ctx, const char *s) { return result; } -std::string translateDomain(const char *domain, const std::string &s) { +FCITXUTILS_EXPORT std::string translateDomain(const char *domain, + const std::string &s) { return translateDomain(domain, s.c_str()); } -const char *translateDomain(const char *domain, const char *s) { +FCITXUTILS_EXPORT const char *translateDomain(const char *domain, + const char *s) { gettextManager.addDomain(domain); return ::dgettext(domain, s); } -std::string translateDomainCtx(const char *domain, const char *ctx, - const std::string &s) { +FCITXUTILS_EXPORT std::string +translateDomainCtx(const char *domain, const char *ctx, const std::string &s) { return translateDomainCtx(domain, ctx, s.c_str()); } -const char *translateDomainCtx(const char *domain, const char *ctx, - const char *s) { +FCITXUTILS_EXPORT const char * +translateDomainCtx(const char *domain, const char *ctx, const char *s) { gettextManager.addDomain(domain); auto str = stringutils::concat(ctx, "\004", s); const auto *p = str.c_str(); @@ -82,7 +88,7 @@ const char *translateDomainCtx(const char *domain, const char *ctx, return result; } -void registerDomain(const char *domain, const char *dir) { +FCITXUTILS_EXPORT void registerDomain(const char *domain, const char *dir) { gettextManager.addDomain(domain, dir); } } // namespace fcitx diff --git a/src/lib/fcitx-utils/i18n.h b/src/lib/fcitx-utils/i18n.h index db4bf3f8..9d7c451b 100644 --- a/src/lib/fcitx-utils/i18n.h +++ b/src/lib/fcitx-utils/i18n.h @@ -8,31 +8,21 @@ #define _FCITX_UTILS_I18N_H_ #include -#include "fcitxutils_export.h" namespace fcitx { -FCITXUTILS_EXPORT std::string translate(const std::string &s); -FCITXUTILS_EXPORT const char *translate(const char *s); -FCITXUTILS_EXPORT std::string translateCtx(const char *ctx, const std::string &s); -FCITXUTILS_EXPORT const char *translateCtx(const char *ctx, const char *s); -FCITXUTILS_EXPORT std::string translateDomain(const char *domain, const std::string &s); -FCITXUTILS_EXPORT const char *translateDomain(const char *domain, const char *s); -FCITXUTILS_EXPORT std::string translateDomainCtx(const char *domain, const char *ctx, const std::string &s); -FCITXUTILS_EXPORT const char *translateDomainCtx(const char *domain, const char *ctx, const char *s); -FCITXUTILS_EXPORT void registerDomain(const char *domain, const char *dir); } // namespace fcitx diff --git a/src/lib/fcitx-utils/i18nstring.cpp b/src/lib/fcitx-utils/i18nstring.cpp index 2c6f7436..38d62525 100644 --- a/src/lib/fcitx-utils/i18nstring.cpp +++ b/src/lib/fcitx-utils/i18nstring.cpp @@ -6,22 +6,19 @@ */ #include "i18nstring.h" -#include "fcitx-utils/misc.h" #include "charutils.h" namespace fcitx { const std::string &I18NString::match(const std::string &locale_) const { std::string locale = locale_; if (locale == "system") { - char *lc = nullptr; - if constexpr (isAndroid() || isApple()) { - // bionic doesn't recognize locale other than C or C.UTF-8 - // https://android.googlesource.com/platform/bionic/+/refs/tags/android-11.0.0_r48/libc/bionic/locale.cpp#175 - // macOS returns C for setlocale(LC_MESSAGES, nullptr) - lc = getenv("FCITX_LOCALE"); - } else { - lc = setlocale(LC_MESSAGES, nullptr); - } +#ifdef ANDROID + // bionic doesn't recognize locale other than C or C.UTF-8 + // https://android.googlesource.com/platform/bionic/+/refs/tags/android-11.0.0_r48/libc/bionic/locale.cpp#175 + char *lc = getenv("FCITX_LOCALE"); +#else + char *lc = setlocale(LC_MESSAGES, nullptr); +#endif if (lc) { locale = lc; } else { @@ -41,8 +38,7 @@ const std::string &I18NString::match(const std::string &locale_) const { size_t languageLength = 0; size_t territoryLength = 0; bool failed = false; - auto i = locale.begin(); - auto e = locale.end(); + auto i = locale.begin(), e = locale.end(); do { while (i != e && !charutils::isspace(*i) && *i != '_' && *i != '.' && *i != '@') { @@ -84,7 +80,7 @@ const std::string &I18NString::match(const std::string &locale_) const { i++; } } - } while (false); + } while (0); if (failed) { normalizedLocale.clear(); diff --git a/src/lib/fcitx-utils/i18nstring.h b/src/lib/fcitx-utils/i18nstring.h index 4ba7b996..91cd7098 100644 --- a/src/lib/fcitx-utils/i18nstring.h +++ b/src/lib/fcitx-utils/i18nstring.h @@ -15,8 +15,8 @@ namespace fcitx { class FCITXUTILS_EXPORT I18NString { public: - I18NString() = default; - virtual ~I18NString() = default; + I18NString() {} + virtual ~I18NString() {} void set(const std::string &str, const std::string &locale = "") { if (!locale.empty()) { diff --git a/src/lib/fcitx-utils/inputbuffer.cpp b/src/lib/fcitx-utils/inputbuffer.cpp index 0dc03b3b..10c6698f 100644 --- a/src/lib/fcitx-utils/inputbuffer.cpp +++ b/src/lib/fcitx-utils/inputbuffer.cpp @@ -5,8 +5,10 @@ * */ #include "inputbuffer.h" +#include +#include +#include #include -#include #include #include "fcitx-utils/utf8.h" @@ -71,27 +73,33 @@ const std::string &InputBuffer::userInput() const { bool InputBuffer::typeImpl(const char *s, size_t length) { FCITX_D(); - std::string_view view(s, length); - auto utf8Length = fcitx::utf8::lengthValidated(view); + auto utf8Length = fcitx::utf8::lengthValidated(s, s + length); if (utf8Length == fcitx::utf8::INVALID_LENGTH) { throw std::invalid_argument("Invalid UTF-8 string"); } - if (d->isAsciiOnly() && utf8Length != view.size()) { + if (d->isAsciiOnly() && utf8Length != length) { throw std::invalid_argument( "ascii only buffer only accept ascii only string"); } if (d->maxSize_ && (utf8Length + size() > d->maxSize_)) { return false; } - d->input_.insert(std::next(d->input_.begin(), cursorByChar()), view.begin(), - view.end()); + d->input_.insert(std::next(d->input_.begin(), cursorByChar()), s, + s + length); if (!d->isAsciiOnly()) { + const auto *iter = s; + auto func = [&iter]() { + const auto *next = fcitx::utf8::nextChar(iter); + auto diff = std::distance(iter, next); + iter = next; + return diff; + }; + auto pos = d->cursor_; - for (auto chrView : utf8::MakeUTF8StringViewRange(view)) { - d->sz_.insert(std::next(d->sz_.begin(), pos), chrView.size()); + while (iter < s + length) { + d->sz_.insert(std::next(d->sz_.begin(), pos), func()); pos++; } - d->acc_.resize(d->sz_.size() + 1); auto newDirty = d->cursor_ > 0 ? d->cursor_ - 1 : 0; if (d->accDirty_ > newDirty) { @@ -193,11 +201,6 @@ std::pair InputBuffer::rangeAt(size_t i) const { return {d->acc_[i], d->acc_[i] + d->sz_[i]}; } -std::string_view InputBuffer::viewAt(size_t i) const { - auto [start, end] = rangeAt(i); - return std::string_view(userInput()).substr(start, end - start); -} - uint32_t InputBuffer::charAt(size_t i) const { FCITX_D(); if (i >= size()) { @@ -208,7 +211,7 @@ uint32_t InputBuffer::charAt(size_t i) const { } d->ensureAccTill(i); return utf8::getChar(d->input_.begin() + d->acc_[i], - d->input_.begin() + d->acc_[i] + d->sz_[i]); + d->input_.begin() + d->sz_[i]); } size_t InputBuffer::sizeAt(size_t i) const { diff --git a/src/lib/fcitx-utils/inputbuffer.h b/src/lib/fcitx-utils/inputbuffer.h index c03073d7..183770b0 100644 --- a/src/lib/fcitx-utils/inputbuffer.h +++ b/src/lib/fcitx-utils/inputbuffer.h @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include "fcitxutils_export.h" @@ -84,9 +83,6 @@ class FCITXUTILS_EXPORT InputBuffer { /// Byte range for character at position i. std::pair rangeAt(size_t i) const; - // String view for char - std::string_view viewAt(size_t i) const; - /// Byte size at position i. size_t sizeAt(size_t i) const; diff --git a/src/lib/fcitx-utils/intrusivelist.h b/src/lib/fcitx-utils/intrusivelist.h index c0e08ad5..f72ec9ce 100644 --- a/src/lib/fcitx-utils/intrusivelist.h +++ b/src/lib/fcitx-utils/intrusivelist.h @@ -21,7 +21,7 @@ class IntrusiveListNode { friend class IntrusiveListBase; public: - IntrusiveListNode() = default; + IntrusiveListNode() {} IntrusiveListNode(const IntrusiveListNode &) = delete; virtual ~IntrusiveListNode() { remove(); } @@ -166,21 +166,22 @@ class IntrusiveList; template class IntrusiveListIterator { - using list_type = IntrusiveList; - using node_ptr = std::conditional_t; + typedef IntrusiveList list_type; + typedef std::conditional_t + node_ptr; struct enabler {}; public: - using iterator_category = std::bidirectional_iterator_tag; - using value_type = T; - using difference_type = std::ptrdiff_t; - using reference = - std::conditional_t; - using pointer = - std::conditional_t; + typedef std::bidirectional_iterator_tag iterator_category; + typedef T value_type; + typedef std::ptrdiff_t difference_type; + typedef std::conditional_t + reference; + typedef std::conditional_t + pointer; IntrusiveListIterator() : node(nullptr), nodeGetter(nullptr) {} IntrusiveListIterator(node_ptr node_, const NodeGetter &nodeGetter_) @@ -228,16 +229,16 @@ class IntrusiveListIterator { template > class IntrusiveList : public IntrusiveListBase { public: - using value_type = T; - using pointer = value_type *; - using const_pointer = const value_type *; - using reference = value_type &; - using const_reference = const value_type &; - using iterator = IntrusiveListIterator; - using const_iterator = IntrusiveListIterator; - using reverse_iterator = std::reverse_iterator; - using const_reverse_iterator = std::reverse_iterator; - using size_type = std::size_t; + typedef T value_type; + typedef value_type *pointer; + typedef const value_type *const_pointer; + typedef value_type &reference; + typedef const value_type &const_reference; + typedef IntrusiveListIterator iterator; + typedef IntrusiveListIterator const_iterator; + typedef std::reverse_iterator reverse_iterator; + typedef std::reverse_iterator const_reverse_iterator; + typedef std::size_t size_type; IntrusiveList(NodeGetter nodeGetter_ = NodeGetter()) : nodeGetter(nodeGetter_) {} diff --git a/src/lib/fcitx-utils/key.cpp b/src/lib/fcitx-utils/key.cpp index b6b40c90..d26e5f89 100644 --- a/src/lib/fcitx-utils/key.cpp +++ b/src/lib/fcitx-utils/key.cpp @@ -48,45 +48,10 @@ std::unordered_map makeLookupKeyNameMap() { {FcitxKey_Up, NC_("Key name", "Up")}, {FcitxKey_Right, NC_("Key name", "Right")}, {FcitxKey_Down, NC_("Key name", "Down")}, - {FcitxKey_Page_Up, NC_("Key name", "Page Up")}, - {FcitxKey_Page_Down, NC_("Key name", "Page Down")}, + {FcitxKey_Page_Up, NC_("Key name", "PgUp")}, + {FcitxKey_Page_Down, NC_("Key name", "PgDown")}, {FcitxKey_Caps_Lock, NC_("Key name", "CapsLock")}, {FcitxKey_Num_Lock, NC_("Key name", "NumLock")}, - {FcitxKey_KP_Space, NC_("Key name", "Keypad Space")}, - {FcitxKey_KP_Tab, NC_("Key name", "Keypad Tab")}, - {FcitxKey_KP_Enter, NC_("Key name", "Keypad Enter")}, - {FcitxKey_KP_F1, NC_("Key name", "Keypad F1")}, - {FcitxKey_KP_F2, NC_("Key name", "Keypad F2")}, - {FcitxKey_KP_F3, NC_("Key name", "Keypad F3")}, - {FcitxKey_KP_F4, NC_("Key name", "Keypad F4")}, - {FcitxKey_KP_Home, NC_("Key name", "Keypad Home")}, - {FcitxKey_KP_Left, NC_("Key name", "Keypad Left")}, - {FcitxKey_KP_Up, NC_("Key name", "Keypad Up")}, - {FcitxKey_KP_Right, NC_("Key name", "Keypad Right")}, - {FcitxKey_KP_Down, NC_("Key name", "Keypad Down")}, - {FcitxKey_KP_Page_Up, NC_("Key name", "Keypad Page Up")}, - {FcitxKey_KP_Page_Down, NC_("Key name", "Keypad Page Down")}, - {FcitxKey_KP_End, NC_("Key name", "Keypad End")}, - {FcitxKey_KP_Begin, NC_("Key name", "Keypad Begin")}, - {FcitxKey_KP_Insert, NC_("Key name", "Keypad Insert")}, - {FcitxKey_KP_Delete, NC_("Key name", "Keypad Delete")}, - {FcitxKey_KP_Equal, NC_("Key name", "Keypad =")}, - {FcitxKey_KP_Multiply, NC_("Key name", "Keypad *")}, - {FcitxKey_KP_Add, NC_("Key name", "Keypad +")}, - {FcitxKey_KP_Separator, NC_("Key name", "Keypad ,")}, - {FcitxKey_KP_Subtract, NC_("Key name", "Keypad -")}, - {FcitxKey_KP_Decimal, NC_("Key name", "Keypad .")}, - {FcitxKey_KP_Divide, NC_("Key name", "Keypad /")}, - {FcitxKey_KP_0, NC_("Key name", "Keypad 0")}, - {FcitxKey_KP_1, NC_("Key name", "Keypad 1")}, - {FcitxKey_KP_2, NC_("Key name", "Keypad 2")}, - {FcitxKey_KP_3, NC_("Key name", "Keypad 3")}, - {FcitxKey_KP_4, NC_("Key name", "Keypad 4")}, - {FcitxKey_KP_5, NC_("Key name", "Keypad 5")}, - {FcitxKey_KP_6, NC_("Key name", "Keypad 6")}, - {FcitxKey_KP_7, NC_("Key name", "Keypad 7")}, - {FcitxKey_KP_8, NC_("Key name", "Keypad 8")}, - {FcitxKey_KP_9, NC_("Key name", "Keypad 9")}, {FcitxKey_Scroll_Lock, NC_("Key name", "ScrollLock")}, {FcitxKey_Menu, NC_("Key name", "Menu")}, {FcitxKey_Help, NC_("Key name", "Help")}, @@ -266,7 +231,6 @@ std::unordered_map makeLookupKeyNameMap() { {FcitxKey_TouchpadToggle, NC_("Key name", "Touchpad Toggle")}, {FcitxKey_TouchpadOn, NC_("Key name", "Touchpad On")}, {FcitxKey_TouchpadOff, NC_("Key name", "Touchpad Off")}, - {FcitxKey_VoidSymbol, NC_("Key name", "Void Symbol")}, }; std::unordered_map result; for (const auto &item : keyname) { @@ -348,11 +312,11 @@ bool Key::isReleaseOfModifier(const Key &key) const { keys.emplace_back(FcitxKey_Shift_L, states); keys.emplace_back(FcitxKey_Shift_R, states); } - if ((key.states() & KeyState::Super) || (key.states() & KeyState::Super2)) { + if (key.states() & KeyState::Super) { keys.emplace_back(FcitxKey_Super_L, states); keys.emplace_back(FcitxKey_Super_R, states); } - if ((key.states() & KeyState::Super) || (key.states() & KeyState::Hyper2)) { + if (key.states() & KeyState::Mod3) { keys.emplace_back(FcitxKey_Hyper_L, states); keys.emplace_back(FcitxKey_Hyper_R, states); } @@ -363,19 +327,12 @@ bool Key::isReleaseOfModifier(const Key &key) const { bool Key::check(const Key &key) const { auto states = states_ & KeyStates({KeyState::Ctrl_Alt_Shift, KeyState::Super, KeyState::Mod3}); - if (states_.test(KeyState::Super2)) { - states |= KeyState::Super; - } // key is keycode based, do key code based check. if (key.code()) { return key.states_ == states && key.code_ == code_; } - if (key.sym() == FcitxKey_None || key.sym() == FcitxKey_VoidSymbol) { - return false; - } - if (isModifier()) { Key keyAlt = *this; auto states = states_ & (~keySymToStates(sym_)); @@ -466,18 +423,11 @@ bool Key::isKeyPad() const { bool Key::hasModifier() const { return !!(states_ & KeyState::SimpleMask); } -bool Key::isVirtual() const { return states_.test(KeyState::Virtual); } - Key Key::normalize() const { Key key(*this); /* key state != 0 */ - key.states_ = - key.states_ & KeyStates({KeyState::Ctrl_Alt_Shift, KeyState::Super, - KeyState::Mod3, KeyState::Super2}); - if (key.states_.test(KeyState::Super2)) { - key.states_ = key.states_.unset(KeyState::Super2); - key.states_ |= KeyState::Super; - } + key.states_ = key.states_ & KeyStates({KeyState::Ctrl_Alt_Shift, + KeyState::Super, KeyState::Mod3}); if (key.states_) { if (key.states_ != KeyState::Shift && Key(key.sym_).isLAZ()) { key.sym_ = static_cast(key.sym_ + FcitxKey_A - FcitxKey_a); @@ -544,26 +494,22 @@ std::string Key::toString(KeyStringFormat format) const { } #define _APPEND_MODIFIER_STRING(STR, VALUE) \ - if (states & VALUE) { \ + if (states & KeyState::VALUE) { \ str += STR; \ str += "+"; \ } if (format == KeyStringFormat::Portable) { - _APPEND_MODIFIER_STRING("Control", KeyState::Ctrl) - _APPEND_MODIFIER_STRING("Alt", KeyState::Alt) - _APPEND_MODIFIER_STRING("Shift", KeyState::Shift) - _APPEND_MODIFIER_STRING("Super", - (KeyStates{KeyState::Super, KeyState::Super2})) - _APPEND_MODIFIER_STRING("Hyper", - (KeyStates{KeyState::Hyper, KeyState::Hyper2})) + _APPEND_MODIFIER_STRING("Control", Ctrl) + _APPEND_MODIFIER_STRING("Alt", Alt) + _APPEND_MODIFIER_STRING("Shift", Shift) + _APPEND_MODIFIER_STRING("Super", Super) + _APPEND_MODIFIER_STRING("Hyper", Mod3) } else { - _APPEND_MODIFIER_STRING(C_("Key name", "Control"), KeyState::Ctrl) - _APPEND_MODIFIER_STRING(C_("Key name", "Alt"), KeyState::Alt) - _APPEND_MODIFIER_STRING(C_("Key name", "Shift"), KeyState::Shift) - _APPEND_MODIFIER_STRING(C_("Key name", "Super"), - (KeyStates{KeyState::Super, KeyState::Super2})) - _APPEND_MODIFIER_STRING(C_("Key name", "Hyper"), - (KeyStates{KeyState::Hyper, KeyState::Hyper2})) + _APPEND_MODIFIER_STRING(C_("Key name", "Control"), Ctrl) + _APPEND_MODIFIER_STRING(C_("Key name", "Alt"), Alt) + _APPEND_MODIFIER_STRING(C_("Key name", "Shift"), Shift) + _APPEND_MODIFIER_STRING(C_("Key name", "Super"), Super) + _APPEND_MODIFIER_STRING(C_("Key name", "Hyper"), Mod3) } #undef _APPEND_MODIFIER_STRING @@ -587,9 +533,10 @@ KeyStates Key::keySymToStates(KeySym sym) { return KeyState::Shift; case FcitxKey_Super_L: case FcitxKey_Super_R: + return KeyState::Super; case FcitxKey_Hyper_L: case FcitxKey_Hyper_R: - return KeyState::Super; + return KeyState::Mod3; default: return KeyStates(); } @@ -663,41 +610,28 @@ std::string Key::keySymToString(KeySym sym, KeyStringFormat format) { } KeySym Key::keySymFromUnicode(uint32_t unicode) { - const auto &tab = unicode_to_keysym_tab(); int min = 0; - int max = tab.size() - 1; + int max = sizeof(gdk_unicode_to_keysym_tab) / + sizeof(gdk_unicode_to_keysym_tab[0]) - + 1; int mid; - /* first check for Latin-1 characters (1:1 mapping) */ + /* First check for Latin-1 characters (1:1 mapping) */ if ((unicode >= 0x0020 && unicode <= 0x007e) || - (unicode >= 0x00a0 && unicode <= 0x00ff)) + (unicode >= 0x00a0 && unicode <= 0x00ff)) { return static_cast(unicode); - - /* special keysyms */ - if ((unicode >= (FcitxKey_BackSpace & 0x7f) && - unicode <= (FcitxKey_Clear & 0x7f)) || - unicode == (FcitxKey_Return & 0x7f) || - unicode == (FcitxKey_Escape & 0x7f)) - return static_cast(unicode | 0xff00); - if (unicode == (FcitxKey_Delete & 0x7f)) - return FcitxKey_Delete; - - /* Unicode non-symbols and code points outside Unicode planes */ - if ((unicode >= 0xd800 && unicode <= 0xdfff) || - (unicode >= 0xfdd0 && unicode <= 0xfdef) || unicode > 0x10ffff || - (unicode & 0xfffe) == 0xfffe) - return FcitxKey_None; + } /* Binary search in table */ while (max >= min) { mid = (min + max) / 2; - if (tab[mid].ucs < unicode) { + if (gdk_unicode_to_keysym_tab[mid].ucs < unicode) { min = mid + 1; - } else if (tab[mid].ucs > unicode) { + } else if (gdk_unicode_to_keysym_tab[mid].ucs > unicode) { max = mid - 1; } else { /* found it */ - return static_cast(tab[mid].keysym); + return static_cast(gdk_unicode_to_keysym_tab[mid].keysym); } } @@ -710,62 +644,32 @@ KeySym Key::keySymFromUnicode(uint32_t unicode) { uint32_t Key::keySymToUnicode(KeySym sym) { int min = 0; - int max = - sizeof(keysym_to_unicode_tab) / sizeof(keysym_to_unicode_tab[0]) - 1; + int max = sizeof(gdk_keysym_to_unicode_tab) / + sizeof(gdk_keysym_to_unicode_tab[0]) - + 1; int mid; - /* first check for Latin-1 characters (1:1 mapping) */ + /* First check for Latin-1 characters (1:1 mapping) */ if ((sym >= 0x0020 && sym <= 0x007e) || (sym >= 0x00a0 && sym <= 0x00ff)) { return sym; } - /* patch encoding botch */ - if (sym == FcitxKey_KP_Space) { - return FcitxKey_space & 0x7f; - } - - /* special syms */ - if ((sym >= FcitxKey_BackSpace && sym <= FcitxKey_Clear) || - (sym >= FcitxKey_KP_Multiply && sym <= FcitxKey_KP_9) || - sym == FcitxKey_Return || sym == FcitxKey_Escape || - sym == FcitxKey_Delete || sym == FcitxKey_KP_Tab || - sym == FcitxKey_KP_Enter || sym == FcitxKey_KP_Equal) { - return sym & 0x7f; - } - - /* also check for directly encoded Unicode codepoints */ - - /* Exclude surrogates: they are invalid in UTF-32. - * See https://www.unicode.org/versions/Unicode15.0.0/ch03.pdf#G28875 - * for further details. + /* Also check for directly encoded 24-bit UCS characters: */ - if (0x0100d800 <= sym && sym <= 0x0100dfff) { - return 0; - } - /* - * In theory, this is supposed to start from 0x100100, such that the ASCII - * range, which is already covered by 0x00-0xff, can't be encoded in two - * ways. However, changing this after a couple of decades probably won't - * go well, so it stays as it is. - */ - if (0x01000000 <= sym && sym <= 0x0110ffff) { - const uint32_t code = sym - 0x01000000; - if (utf8::UCS4IsValid(code)) { - return code; - } - return 0; + if ((sym & 0xff000000) == 0x01000000) { + return sym & 0x00ffffff; } /* binary search in table */ while (max >= min) { mid = (min + max) / 2; - if (keysym_to_unicode_tab[mid].keysym < sym) { + if (gdk_keysym_to_unicode_tab[mid].keysym < sym) { min = mid + 1; - } else if (keysym_to_unicode_tab[mid].keysym > sym) { + } else if (gdk_keysym_to_unicode_tab[mid].keysym > sym) { max = mid - 1; } else { /* found it */ - return keysym_to_unicode_tab[mid].ucs; + return gdk_keysym_to_unicode_tab[mid].ucs; } } @@ -774,11 +678,7 @@ uint32_t Key::keySymToUnicode(KeySym sym) { } std::string Key::keySymToUTF8(KeySym sym) { - auto code = keySymToUnicode(sym); - if (!utf8::UCS4IsValid(code)) { - return ""; - } - return utf8::UCS4ToUTF8(code); + return utf8::UCS4ToUTF8(keySymToUnicode(sym)); } std::vector Key::keyListFromString(const std::string &str) { diff --git a/src/lib/fcitx-utils/key.h b/src/lib/fcitx-utils/key.h index 9afcf917..fdb3c916 100644 --- a/src/lib/fcitx-utils/key.h +++ b/src/lib/fcitx-utils/key.h @@ -24,9 +24,9 @@ namespace fcitx { class Key; -using KeySym = FcitxKeySym; -using KeyStates = Flags; -using KeyList = std::vector; +typedef FcitxKeySym KeySym; +typedef Flags KeyStates; +typedef std::vector KeyList; /// Control the behavior of toString function. enum class KeyStringFormat { @@ -144,9 +144,6 @@ class FCITXUTILS_EXPORT Key { /// Check if states has modifier. bool hasModifier() const; - /// Check if states has virtual bit - bool isVirtual() const; - /// \brief Normalize a key, usually used when key is from frontend. /// /// states will be filtered to have only ctrl alt shift and super. @@ -200,11 +197,11 @@ class FCITXUTILS_EXPORT Key { /// Convert a key list to string. template static std::string - keyListToString(const Container &container, + keyListToString(Container container, KeyStringFormat format = KeyStringFormat::Portable) { std::string result; bool first = true; - for (const auto &k : container) { + for (auto k : container) { if (first) { first = false; } else { @@ -239,7 +236,7 @@ class FCITXUTILS_EXPORT Key { if (idx == c.size()) { return -1; } - return static_cast(idx); + return idx; } private: diff --git a/src/lib/fcitx-utils/keydata.cpp b/src/lib/fcitx-utils/keydata.cpp deleted file mode 100644 index 4c597227..00000000 --- a/src/lib/fcitx-utils/keydata.cpp +++ /dev/null @@ -1,26 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2023-2023 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#include "keydata.h" -#include -#include - -namespace fcitx { -const UnicodeToKeySymTab &unicode_to_keysym_tab() { - static const UnicodeToKeySymTab tab = []() { - UnicodeToKeySymTab tab; - for (size_t i = 0; i < tab.size(); i++) { - tab[i] = keysym_to_unicode_tab[i]; - } - std::stable_sort(tab.begin(), tab.end(), [](auto &lhs, auto &rhs) { - return lhs.ucs < rhs.ucs; - }); - return tab; - }(); - - return tab; -} -} // namespace fcitx \ No newline at end of file diff --git a/src/lib/fcitx-utils/keydata.h b/src/lib/fcitx-utils/keydata.h index 211d3d21..0e0e2f56 100644 --- a/src/lib/fcitx-utils/keydata.h +++ b/src/lib/fcitx-utils/keydata.h @@ -23,17 +23,17 @@ #ifndef _FCITX_UTILS_KEYDATA_H_ #define _FCITX_UTILS_KEYDATA_H_ -#include -#include -#include "fcitx-utils/macros.h" +struct _FcitxKeySymToUnicode { + uint16_t keysym; + uint16_t ucs; +}; -namespace fcitx { -struct KeySymUnicode { +struct _FcitxUnicodeToKeySym { uint16_t keysym; uint16_t ucs; }; -static const KeySymUnicode keysym_to_unicode_tab[] = { +static const struct _FcitxKeySymToUnicode gdk_keysym_to_unicode_tab[] = { {0x01a1, 0x0104}, /* Aogonek Ą LATIN CAPITAL LETTER A WITH OGONEK */ {0x01a2, 0x02d8}, /* breve ˘ BREVE */ {0x01a3, 0x0141}, /* Lstroke Ł LATIN CAPITAL LETTER L WITH STROKE */ @@ -375,18 +375,21 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { 0x042a}, /* Cyrillic_HARDSIGN Ъ CYRILLIC CAPITAL LETTER HARD SIGN */ {0x07a1, 0x0386}, /* Greek_ALPHAaccent Ά GREEK CAPITAL LETTER ALPHA WITH TONOS */ - {0x07a2, 0x0388}, /* Greek_EPSILONaccent Έ GREEK CAPITAL LETTER EPSILON WITH - TONOS */ + {0x07a2, + 0x0388}, /* Greek_EPSILONaccent Έ GREEK CAPITAL LETTER EPSILON WITH TONOS + */ {0x07a3, 0x0389}, /* Greek_ETAaccent Ή GREEK CAPITAL LETTER ETA WITH TONOS */ {0x07a4, 0x038a}, /* Greek_IOTAaccent Ί GREEK CAPITAL LETTER IOTA WITH TONOS */ - {0x07a5, 0x03aa}, /* Greek_IOTAdiaeresis Ϊ GREEK CAPITAL LETTER IOTA WITH + {0x07a5, 0x03aa}, /* Greek_IOTAdieresis Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ - {0x07a7, 0x038c}, /* Greek_OMICRONaccent Ό GREEK CAPITAL LETTER OMICRON WITH - TONOS */ - {0x07a8, 0x038e}, /* Greek_UPSILONaccent Ύ GREEK CAPITAL LETTER UPSILON WITH - TONOS */ + {0x07a7, + 0x038c}, /* Greek_OMICRONaccent Ό GREEK CAPITAL LETTER OMICRON WITH TONOS + */ + {0x07a8, + 0x038e}, /* Greek_UPSILONaccent Ύ GREEK CAPITAL LETTER UPSILON WITH TONOS + */ {0x07a9, 0x03ab}, /* Greek_UPSILONdieresis Ϋ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ {0x07ab, @@ -464,22 +467,22 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x07f7, 0x03c7}, /* Greek_chi χ GREEK SMALL LETTER CHI */ {0x07f8, 0x03c8}, /* Greek_psi ψ GREEK SMALL LETTER PSI */ {0x07f9, 0x03c9}, /* Greek_omega ω GREEK SMALL LETTER OMEGA */ - {0x08a1, 0x23b7}, /* leftradical ⎷ ??? */ - {0x08a2, 0x250c}, /* topleftradical ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT */ - {0x08a3, 0x2500}, /* horizconnector ─ BOX DRAWINGS LIGHT HORIZONTAL */ + /* 0x08a1 leftradical ? ??? */ + /* 0x08a2 topleftradical ? ??? */ + /* 0x08a3 horizconnector ? ??? */ {0x08a4, 0x2320}, /* topintegral ⌠ TOP HALF INTEGRAL */ {0x08a5, 0x2321}, /* botintegral ⌡ BOTTOM HALF INTEGRAL */ {0x08a6, 0x2502}, /* vertconnector │ BOX DRAWINGS LIGHT VERTICAL */ - {0x08a7, 0x23a1}, /* topleftsqbracket ⎡ ??? */ - {0x08a8, 0x23a3}, /* botleftsqbracket ⎣ ??? */ - {0x08a9, 0x23a4}, /* toprightsqbracket ⎤ ??? */ - {0x08aa, 0x23a6}, /* botrightsqbracket ⎦ ??? */ - {0x08ab, 0x239b}, /* topleftparens ⎛ ??? */ - {0x08ac, 0x239d}, /* botleftparens ⎝ ??? */ - {0x08ad, 0x239e}, /* toprightparens ⎞ ??? */ - {0x08ae, 0x23a0}, /* botrightparens ⎠ ??? */ - {0x08af, 0x23a8}, /* leftmiddlecurlybrace ⎨ ??? */ - {0x08b0, 0x23ac}, /* rightmiddlecurlybrace ⎬ ??? */ + /* 0x08a7 topleftsqbracket ? ??? */ + /* 0x08a8 botleftsqbracket ? ??? */ + /* 0x08a9 toprightsqbracket ? ??? */ + /* 0x08aa botrightsqbracket ? ??? */ + /* 0x08ab topleftparens ? ??? */ + /* 0x08ac botleftparens ? ??? */ + /* 0x08ad toprightparens ? ??? */ + /* 0x08ae botrightparens ? ??? */ + /* 0x08af leftmiddlecurlybrace ? ??? */ + /* 0x08b0 rightmiddlecurlybrace ? ??? */ /* 0x08b1 topleftsummation ? ??? */ /* 0x08b2 botleftsummation ? ??? */ /* 0x08b3 topvertsummationconnector ? ??? */ @@ -495,8 +498,8 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x08c1, 0x221d}, /* variation ∝ PROPORTIONAL TO */ {0x08c2, 0x221e}, /* infinity ∞ INFINITY */ {0x08c5, 0x2207}, /* nabla ∇ NABLA */ - {0x08c8, 0x223c}, /* approximate ∼ TILDE OPERATOR */ - {0x08c9, 0x2243}, /* similarequal ≃ ASYMPTOTICALLY EQUAL TO */ + {0x08c8, 0x2245}, /* approximate ≅ APPROXIMATELY EQUAL TO */ + /* 0x08c9 similarequal ? ??? */ {0x08cd, 0x21d4}, /* ifonlyif ⇔ LEFT RIGHT DOUBLE ARROW */ {0x08ce, 0x21d2}, /* implies ⇒ RIGHTWARDS DOUBLE ARROW */ {0x08cf, 0x2261}, /* identical ≡ IDENTICAL TO */ @@ -528,15 +531,11 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x09ed, 0x2514}, /* lowleftcorner └ BOX DRAWINGS LIGHT UP AND RIGHT */ {0x09ee, 0x253c}, /* crossinglines ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ - {0x09ef, - 0x23ba}, /* horizlinescan1 ⎺ HORIZONTAL SCAN LINE-1 (Unicode 3.2 draft) */ - {0x09f0, - 0x23bb}, /* horizlinescan3 ⎻ HORIZONTAL SCAN LINE-3 (Unicode 3.2 draft) */ + /* 0x09ef horizlinescan1 ? ??? */ + /* 0x09f0 horizlinescan3 ? ??? */ {0x09f1, 0x2500}, /* horizlinescan5 ─ BOX DRAWINGS LIGHT HORIZONTAL */ - {0x09f2, - 0x23bc}, /* horizlinescan7 ⎼ HORIZONTAL SCAN LINE-7 (Unicode 3.2 draft) */ - {0x09f3, - 0x23bd}, /* horizlinescan9 ⎽ HORIZONTAL SCAN LINE-9 (Unicode 3.2 draft) */ + /* 0x09f2 horizlinescan7 ? ??? */ + /* 0x09f3 horizlinescan9 ? ??? */ {0x09f4, 0x251c}, /* leftt ├ BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ {0x09f5, 0x2524}, /* rightt ┤ BOX DRAWINGS LIGHT VERTICAL AND LEFT */ {0x09f6, 0x2534}, /* bott ┴ BOX DRAWINGS LIGHT UP AND HORIZONTAL */ @@ -552,9 +551,9 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x0aa8, 0x200a}, /* hairspace   HAIR SPACE */ {0x0aa9, 0x2014}, /* emdash — EM DASH */ {0x0aaa, 0x2013}, /* endash – EN DASH */ - {0x0aac, 0x2423}, /* signifblank ␣ OPEN BOX */ + /* 0x0aac signifblank ? ??? */ {0x0aae, 0x2026}, /* ellipsis … HORIZONTAL ELLIPSIS */ - {0x0aaf, 0x2025}, /* doubbaselinedot ‥ TWO DOT LEADER */ + /* 0x0aaf doubbaselinedot ? ??? */ {0x0ab0, 0x2153}, /* onethird ⅓ VULGAR FRACTION ONE THIRD */ {0x0ab1, 0x2154}, /* twothirds ⅔ VULGAR FRACTION TWO THIRDS */ {0x0ab2, 0x2155}, /* onefifth ⅕ VULGAR FRACTION ONE FIFTH */ @@ -565,9 +564,9 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x0ab7, 0x215a}, /* fivesixths ⅚ VULGAR FRACTION FIVE SIXTHS */ {0x0ab8, 0x2105}, /* careof ℅ CARE OF */ {0x0abb, 0x2012}, /* figdash ‒ FIGURE DASH */ - {0x0abc, 0x27e8}, /* leftanglebracket ⟨ MATHEMATICAL LEFT ANGLE BRACKET */ + {0x0abc, 0x2329}, /* leftanglebracket 〈 LEFT-POINTING ANGLE BRACKET */ {0x0abd, 0x002e}, /* decimalpoint . FULL STOP */ - {0x0abe, 0x27e9}, /* rightanglebracket ⟩ MATHEMATICAL RIGHT ANGLE BRACKET */ + {0x0abe, 0x232a}, /* rightanglebracket 〉 RIGHT-POINTING ANGLE BRACKET */ /* 0x0abf marker ? ??? */ {0x0ac3, 0x215b}, /* oneeighth ⅛ VULGAR FRACTION ONE EIGHTH */ {0x0ac4, 0x215c}, /* threeeighths ⅜ VULGAR FRACTION THREE EIGHTHS */ @@ -579,13 +578,12 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x0acc, 0x25c1}, /* leftopentriangle ◁ WHITE LEFT-POINTING TRIANGLE */ {0x0acd, 0x25b7}, /* rightopentriangle ▷ WHITE RIGHT-POINTING TRIANGLE */ {0x0ace, 0x25cb}, /* emopencircle ○ WHITE CIRCLE */ - {0x0acf, 0x25af}, /* emopenrectangle ▯ WHITE VERTICAL RECTANGLE */ + {0x0acf, 0x25a1}, /* emopenrectangle □ WHITE SQUARE */ {0x0ad0, 0x2018}, /* leftsinglequotemark ‘ LEFT SINGLE QUOTATION MARK */ {0x0ad1, 0x2019}, /* rightsinglequotemark ’ RIGHT SINGLE QUOTATION MARK */ {0x0ad2, 0x201c}, /* leftdoublequotemark “ LEFT DOUBLE QUOTATION MARK */ {0x0ad3, 0x201d}, /* rightdoublequotemark ” RIGHT DOUBLE QUOTATION MARK */ {0x0ad4, 0x211e}, /* prescription ℞ PRESCRIPTION TAKE */ - {0x0ad5, 0x2030}, /* permille ‰ PER MILLE SIGN */ {0x0ad6, 0x2032}, /* minutes ′ PRIME */ {0x0ad7, 0x2033}, /* seconds ″ DOUBLE PRIME */ {0x0ad9, 0x271d}, /* latincross ✝ LATIN CROSS */ @@ -594,7 +592,7 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x0adc, 0x25c0}, /* filledlefttribullet ◀ BLACK LEFT-POINTING TRIANGLE */ {0x0add, 0x25b6}, /* filledrighttribullet ▶ BLACK RIGHT-POINTING TRIANGLE */ {0x0ade, 0x25cf}, /* emfilledcircle ● BLACK CIRCLE */ - {0x0adf, 0x25ae}, /* emfilledrect ▮ BLACK VERTICAL RECTANGLE */ + {0x0adf, 0x25a0}, /* emfilledrect ■ BLACK SQUARE */ {0x0ae0, 0x25e6}, /* enopencircbullet ◦ WHITE BULLET */ {0x0ae1, 0x25ab}, /* enopensquarebullet ▫ WHITE SMALL SQUARE */ {0x0ae2, 0x25ad}, /* openrectbullet ▭ WHITE RECTANGLE */ @@ -817,11 +815,13 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x0ed9, 0x11ad}, /* Hangul_J_NieunHieuh ᆭ HANGUL JONGSEONG NIEUN-HIEUH */ {0x0eda, 0x11ae}, /* Hangul_J_Dikeud ᆮ HANGUL JONGSEONG TIKEUT */ {0x0edb, 0x11af}, /* Hangul_J_Rieul ᆯ HANGUL JONGSEONG RIEUL */ - {0x0edc, 0x11b0}, /* Hangul_J_RieulKiyeog ᆰ HANGUL JONGSEONG RIEUL-KIYEOK */ + {0x0edc, + 0x11b0}, /* Hangul_J_RieulKiyeog ᆰ HANGUL JONGSEONG RIEUL-KIYEOK */ {0x0edd, 0x11b1}, /* Hangul_J_RieulMieum ᆱ HANGUL JONGSEONG RIEUL-MIEUM */ {0x0ede, 0x11b2}, /* Hangul_J_RieulPieub ᆲ HANGUL JONGSEONG RIEUL-PIEUP */ {0x0edf, 0x11b3}, /* Hangul_J_RieulSios ᆳ HANGUL JONGSEONG RIEUL-SIOS */ - {0x0ee0, 0x11b4}, /* Hangul_J_RieulTieut ᆴ HANGUL JONGSEONG RIEUL-THIEUTH */ + {0x0ee0, + 0x11b4}, /* Hangul_J_RieulTieut ᆴ HANGUL JONGSEONG RIEUL-THIEUTH */ {0x0ee1, 0x11b5}, /* Hangul_J_RieulPhieuf ᆵ HANGUL JONGSEONG RIEUL-PHIEUPH */ {0x0ee2, 0x11b6}, /* Hangul_J_RieulHieuh ᆶ HANGUL JONGSEONG RIEUL-HIEUH */ @@ -844,18 +844,16 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x0ef1, 0x3178}, /* Hangul_SunkyeongeumPieub ㅸ HANGUL LETTER KAPYEOUNPIEUP */ {0x0ef2, 0x317f}, /* Hangul_PanSios ㅿ HANGUL LETTER PANSIOS */ - {0x0ef3, 0x3181}, /* Hangul_KkogjiDalrinIeung ㆁ HANGUL LETTER YESIEUNG */ + /* 0x0ef3 Hangul_KkogjiDalrinIeung ? ??? */ {0x0ef4, 0x3184}, /* Hangul_SunkyeongeumPhieuf ㆄ HANGUL LETTER KAPYEOUNPHIEUPH */ {0x0ef5, 0x3186}, /* Hangul_YeorinHieuh ㆆ HANGUL LETTER YEORINHIEUH */ {0x0ef6, 0x318d}, /* Hangul_AraeA ㆍ HANGUL LETTER ARAEA */ {0x0ef7, 0x318e}, /* Hangul_AraeAE ㆎ HANGUL LETTER ARAEAE */ {0x0ef8, 0x11eb}, /* Hangul_J_PanSios ᇫ HANGUL JONGSEONG PANSIOS */ - {0x0ef9, - 0x11f0}, /* Hangul_J_KkogjiDalrinIeung ᇰ HANGUL JONGSEONG YESIEUNG */ + /* 0x0ef9 Hangul_J_KkogjiDalrinIeung ? ??? */ {0x0efa, 0x11f9}, /* Hangul_J_YeorinHieuh ᇹ HANGUL JONGSEONG YEORINHIEUH */ {0x0eff, 0x20a9}, /* Korean_Won ₩ WON SIGN */ - {0x13a4, 0x20ac}, /* Euro € EURO SIGN */ {0x13bc, 0x0152}, /* OE Œ LATIN CAPITAL LIGATURE OE */ {0x13bd, 0x0153}, /* oe œ LATIN SMALL LIGATURE OE */ {0x13be, 0x0178}, /* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */ @@ -871,13 +869,843 @@ static const KeySymUnicode keysym_to_unicode_tab[] = { {0x20a9, 0x20a9}, /* WonSign ₩ WON SIGN */ {0x20aa, 0x20aa}, /* NewSheqelSign ₪ NEW SHEQEL SIGN */ {0x20ab, 0x20ab}, /* DongSign ₫ DONG SIGN */ - {0x20ac, 0x20ac}, - /* EuroSign € EURO SIGN */}; + {0x20ac, 0x20ac}, /* EuroSign € EURO SIGN */ + + /* Following items added to GTK, not in the xterm table */ + + /* A few ASCII control characters */ + + {0xFF08 /* Backspace */, '\b'}, + {0xFF09 /* Tab */, '\t'}, + {0xFF0A /* Linefeed */, '\n'}, + {0xFF0B /* Vert. Tab */, '\v'}, + {0xFF0D /* Return */, '\r'}, + {0xFF1B /* Escape */, '\033'}, + + /* Numeric keypad */ + + {0xFF80 /* Space */, ' '}, + {0xFFAA /* Multiply */, '*'}, + {0xFFAB /* Add */, '+'}, + {0xFFAC /* Separator */, ','}, + {0xFFAD /* Subtract */, '-'}, + {0xFFAE /* Decimal */, '.'}, + {0xFFAF /* Divide */, '/'}, + {0xFFB0 /* 0 */, '0'}, + {0xFFB1 /* 1 */, '1'}, + {0xFFB2 /* 2 */, '2'}, + {0xFFB3 /* 3 */, '3'}, + {0xFFB4 /* 4 */, '4'}, + {0xFFB5 /* 5 */, '5'}, + {0xFFB6 /* 6 */, '6'}, + {0xFFB7 /* 7 */, '7'}, + {0xFFB8 /* 8 */, '8'}, + {0xFFB9 /* 9 */, '9'}, + {0xFFBD /* Equal */, '='}, -using UnicodeToKeySymTab = - std::array; -const UnicodeToKeySymTab &unicode_to_keysym_tab(); + /* End numeric keypad */ -} // namespace fcitx + {0xFFFF /* Delete */, '\177'}}; + +static const struct _FcitxUnicodeToKeySym gdk_unicode_to_keysym_tab[] = { + {0x0abd, 0x002e}, /* decimalpoint . FULL STOP */ + {0x0ba3, 0x003c}, /* leftcaret < LESS-THAN SIGN */ + {0x0ba6, 0x003e}, /* rightcaret > GREATER-THAN SIGN */ + {0x0bc6, 0x005f}, /* underbar _ LOW LINE */ + {0x0bc0, 0x00af}, /* overbar ¯ MACRON */ + {0x03c0, 0x0100}, /* Amacron Ā LATIN CAPITAL LETTER A WITH MACRON */ + {0x03e0, 0x0101}, /* amacron ā LATIN SMALL LETTER A WITH MACRON */ + {0x01c3, 0x0102}, /* Abreve Ă LATIN CAPITAL LETTER A WITH BREVE */ + {0x01e3, 0x0103}, /* abreve ă LATIN SMALL LETTER A WITH BREVE */ + {0x01a1, 0x0104}, /* Aogonek Ą LATIN CAPITAL LETTER A WITH OGONEK */ + {0x01b1, 0x0105}, /* aogonek ą LATIN SMALL LETTER A WITH OGONEK */ + {0x01c6, 0x0106}, /* Cacute Ć LATIN CAPITAL LETTER C WITH ACUTE */ + {0x01e6, 0x0107}, /* cacute ć LATIN SMALL LETTER C WITH ACUTE */ + {0x02c6, 0x0108}, /* Ccircumflex Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ + {0x02e6, 0x0109}, /* ccircumflex ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX */ + {0x02c5, 0x010a}, /* Cabovedot Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE */ + {0x02e5, 0x010b}, /* cabovedot ċ LATIN SMALL LETTER C WITH DOT ABOVE */ + {0x01c8, 0x010c}, /* Ccaron Č LATIN CAPITAL LETTER C WITH CARON */ + {0x01e8, 0x010d}, /* ccaron č LATIN SMALL LETTER C WITH CARON */ + {0x01cf, 0x010e}, /* Dcaron Ď LATIN CAPITAL LETTER D WITH CARON */ + {0x01ef, 0x010f}, /* dcaron ď LATIN SMALL LETTER D WITH CARON */ + {0x01d0, 0x0110}, /* Dstroke Đ LATIN CAPITAL LETTER D WITH STROKE */ + {0x01f0, 0x0111}, /* dstroke đ LATIN SMALL LETTER D WITH STROKE */ + {0x03aa, 0x0112}, /* Emacron Ē LATIN CAPITAL LETTER E WITH MACRON */ + {0x03ba, 0x0113}, /* emacron ē LATIN SMALL LETTER E WITH MACRON */ + {0x03cc, 0x0116}, /* Eabovedot Ė LATIN CAPITAL LETTER E WITH DOT ABOVE */ + {0x03ec, 0x0117}, /* eabovedot ė LATIN SMALL LETTER E WITH DOT ABOVE */ + {0x01ca, 0x0118}, /* Eogonek Ę LATIN CAPITAL LETTER E WITH OGONEK */ + {0x01ea, 0x0119}, /* eogonek ę LATIN SMALL LETTER E WITH OGONEK */ + {0x01cc, 0x011a}, /* Ecaron Ě LATIN CAPITAL LETTER E WITH CARON */ + {0x01ec, 0x011b}, /* ecaron ě LATIN SMALL LETTER E WITH CARON */ + {0x02d8, 0x011c}, /* Gcircumflex Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ + {0x02f8, 0x011d}, /* gcircumflex ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX */ + {0x02ab, 0x011e}, /* Gbreve Ğ LATIN CAPITAL LETTER G WITH BREVE */ + {0x02bb, 0x011f}, /* gbreve ğ LATIN SMALL LETTER G WITH BREVE */ + {0x02d5, 0x0120}, /* Gabovedot Ġ LATIN CAPITAL LETTER G WITH DOT ABOVE */ + {0x02f5, 0x0121}, /* gabovedot ġ LATIN SMALL LETTER G WITH DOT ABOVE */ + {0x03ab, 0x0122}, /* Gcedilla Ģ LATIN CAPITAL LETTER G WITH CEDILLA */ + {0x03bb, 0x0123}, /* gcedilla ģ LATIN SMALL LETTER G WITH CEDILLA */ + {0x02a6, 0x0124}, /* Hcircumflex Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ + {0x02b6, 0x0125}, /* hcircumflex ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX */ + {0x02a1, 0x0126}, /* Hstroke Ħ LATIN CAPITAL LETTER H WITH STROKE */ + {0x02b1, 0x0127}, /* hstroke ħ LATIN SMALL LETTER H WITH STROKE */ + {0x03a5, 0x0128}, /* Itilde Ĩ LATIN CAPITAL LETTER I WITH TILDE */ + {0x03b5, 0x0129}, /* itilde ĩ LATIN SMALL LETTER I WITH TILDE */ + {0x03cf, 0x012a}, /* Imacron Ī LATIN CAPITAL LETTER I WITH MACRON */ + {0x03ef, 0x012b}, /* imacron ī LATIN SMALL LETTER I WITH MACRON */ + {0x03c7, 0x012e}, /* Iogonek Į LATIN CAPITAL LETTER I WITH OGONEK */ + {0x03e7, 0x012f}, /* iogonek į LATIN SMALL LETTER I WITH OGONEK */ + {0x02a9, 0x0130}, /* Iabovedot İ LATIN CAPITAL LETTER I WITH DOT ABOVE */ + {0x02b9, 0x0131}, /* idotless ı LATIN SMALL LETTER DOTLESS I */ + {0x02ac, 0x0134}, /* Jcircumflex Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ + {0x02bc, 0x0135}, /* jcircumflex ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX */ + {0x03d3, 0x0136}, /* Kcedilla Ķ LATIN CAPITAL LETTER K WITH CEDILLA */ + {0x03f3, 0x0137}, /* kcedilla ķ LATIN SMALL LETTER K WITH CEDILLA */ + {0x03a2, 0x0138}, /* kra ĸ LATIN SMALL LETTER KRA */ + {0x01c5, 0x0139}, /* Lacute Ĺ LATIN CAPITAL LETTER L WITH ACUTE */ + {0x01e5, 0x013a}, /* lacute ĺ LATIN SMALL LETTER L WITH ACUTE */ + {0x03a6, 0x013b}, /* Lcedilla Ļ LATIN CAPITAL LETTER L WITH CEDILLA */ + {0x03b6, 0x013c}, /* lcedilla ļ LATIN SMALL LETTER L WITH CEDILLA */ + {0x01a5, 0x013d}, /* Lcaron Ľ LATIN CAPITAL LETTER L WITH CARON */ + {0x01b5, 0x013e}, /* lcaron ľ LATIN SMALL LETTER L WITH CARON */ + {0x01a3, 0x0141}, /* Lstroke Ł LATIN CAPITAL LETTER L WITH STROKE */ + {0x01b3, 0x0142}, /* lstroke ł LATIN SMALL LETTER L WITH STROKE */ + {0x01d1, 0x0143}, /* Nacute Ń LATIN CAPITAL LETTER N WITH ACUTE */ + {0x01f1, 0x0144}, /* nacute ń LATIN SMALL LETTER N WITH ACUTE */ + {0x03d1, 0x0145}, /* Ncedilla Ņ LATIN CAPITAL LETTER N WITH CEDILLA */ + {0x03f1, 0x0146}, /* ncedilla ņ LATIN SMALL LETTER N WITH CEDILLA */ + {0x01d2, 0x0147}, /* Ncaron Ň LATIN CAPITAL LETTER N WITH CARON */ + {0x01f2, 0x0148}, /* ncaron ň LATIN SMALL LETTER N WITH CARON */ + {0x03bd, 0x014a}, /* ENG Ŋ LATIN CAPITAL LETTER ENG */ + {0x03bf, 0x014b}, /* eng ŋ LATIN SMALL LETTER ENG */ + {0x03d2, 0x014c}, /* Omacron Ō LATIN CAPITAL LETTER O WITH MACRON */ + {0x03f2, 0x014d}, /* omacron ō LATIN SMALL LETTER O WITH MACRON */ + {0x01d5, + 0x0150}, /* Odoubleacute Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ + {0x01f5, + 0x0151}, /* odoubleacute ő LATIN SMALL LETTER O WITH DOUBLE ACUTE */ + {0x13bc, 0x0152}, /* OE Œ LATIN CAPITAL LIGATURE OE */ + {0x13bd, 0x0153}, /* oe œ LATIN SMALL LIGATURE OE */ + {0x01c0, 0x0154}, /* Racute Ŕ LATIN CAPITAL LETTER R WITH ACUTE */ + {0x01e0, 0x0155}, /* racute ŕ LATIN SMALL LETTER R WITH ACUTE */ + {0x03a3, 0x0156}, /* Rcedilla Ŗ LATIN CAPITAL LETTER R WITH CEDILLA */ + {0x03b3, 0x0157}, /* rcedilla ŗ LATIN SMALL LETTER R WITH CEDILLA */ + {0x01d8, 0x0158}, /* Rcaron Ř LATIN CAPITAL LETTER R WITH CARON */ + {0x01f8, 0x0159}, /* rcaron ř LATIN SMALL LETTER R WITH CARON */ + {0x01a6, 0x015a}, /* Sacute Ś LATIN CAPITAL LETTER S WITH ACUTE */ + {0x01b6, 0x015b}, /* sacute ś LATIN SMALL LETTER S WITH ACUTE */ + {0x02de, 0x015c}, /* Scircumflex Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ + {0x02fe, 0x015d}, /* scircumflex ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX */ + {0x01aa, 0x015e}, /* Scedilla Ş LATIN CAPITAL LETTER S WITH CEDILLA */ + {0x01ba, 0x015f}, /* scedilla ş LATIN SMALL LETTER S WITH CEDILLA */ + {0x01a9, 0x0160}, /* Scaron Š LATIN CAPITAL LETTER S WITH CARON */ + {0x01b9, 0x0161}, /* scaron š LATIN SMALL LETTER S WITH CARON */ + {0x01de, 0x0162}, /* Tcedilla Ţ LATIN CAPITAL LETTER T WITH CEDILLA */ + {0x01fe, 0x0163}, /* tcedilla ţ LATIN SMALL LETTER T WITH CEDILLA */ + {0x01ab, 0x0164}, /* Tcaron Ť LATIN CAPITAL LETTER T WITH CARON */ + {0x01bb, 0x0165}, /* tcaron ť LATIN SMALL LETTER T WITH CARON */ + {0x03ac, 0x0166}, /* Tslash Ŧ LATIN CAPITAL LETTER T WITH STROKE */ + {0x03bc, 0x0167}, /* tslash ŧ LATIN SMALL LETTER T WITH STROKE */ + {0x03dd, 0x0168}, /* Utilde Ũ LATIN CAPITAL LETTER U WITH TILDE */ + {0x03fd, 0x0169}, /* utilde ũ LATIN SMALL LETTER U WITH TILDE */ + {0x03de, 0x016a}, /* Umacron Ū LATIN CAPITAL LETTER U WITH MACRON */ + {0x03fe, 0x016b}, /* umacron ū LATIN SMALL LETTER U WITH MACRON */ + {0x02dd, 0x016c}, /* Ubreve Ŭ LATIN CAPITAL LETTER U WITH BREVE */ + {0x02fd, 0x016d}, /* ubreve ŭ LATIN SMALL LETTER U WITH BREVE */ + {0x01d9, 0x016e}, /* Uring Ů LATIN CAPITAL LETTER U WITH RING ABOVE */ + {0x01f9, 0x016f}, /* uring ů LATIN SMALL LETTER U WITH RING ABOVE */ + {0x01db, + 0x0170}, /* Udoubleacute Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ + {0x01fb, + 0x0171}, /* udoubleacute ű LATIN SMALL LETTER U WITH DOUBLE ACUTE */ + {0x03d9, 0x0172}, /* Uogonek Ų LATIN CAPITAL LETTER U WITH OGONEK */ + {0x03f9, 0x0173}, /* uogonek ų LATIN SMALL LETTER U WITH OGONEK */ + {0x13be, 0x0178}, /* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */ + {0x01ac, 0x0179}, /* Zacute Ź LATIN CAPITAL LETTER Z WITH ACUTE */ + {0x01bc, 0x017a}, /* zacute ź LATIN SMALL LETTER Z WITH ACUTE */ + {0x01af, 0x017b}, /* Zabovedot Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE */ + {0x01bf, 0x017c}, /* zabovedot ż LATIN SMALL LETTER Z WITH DOT ABOVE */ + {0x01ae, 0x017d}, /* Zcaron Ž LATIN CAPITAL LETTER Z WITH CARON */ + {0x01be, 0x017e}, /* zcaron ž LATIN SMALL LETTER Z WITH CARON */ + {0x08f6, 0x0192}, /* function ƒ LATIN SMALL LETTER F WITH HOOK */ + {0x01b7, 0x02c7}, /* caron ˇ CARON */ + {0x01a2, 0x02d8}, /* breve ˘ BREVE */ + {0x01ff, 0x02d9}, /* abovedot ˙ DOT ABOVE */ + {0x01b2, 0x02db}, /* ogonek ˛ OGONEK */ + {0x01bd, 0x02dd}, /* doubleacute ˝ DOUBLE ACUTE ACCENT */ + {0x07ae, 0x0385}, /* Greek_accentdieresis ΅ GREEK DIALYTIKA TONOS */ + {0x07a1, + 0x0386}, /* Greek_ALPHAaccent Ά GREEK CAPITAL LETTER ALPHA WITH TONOS */ + {0x07a2, + 0x0388}, /* Greek_EPSILONaccent Έ GREEK CAPITAL LETTER EPSILON WITH TONOS + */ + {0x07a3, + 0x0389}, /* Greek_ETAaccent Ή GREEK CAPITAL LETTER ETA WITH TONOS */ + {0x07a4, + 0x038a}, /* Greek_IOTAaccent Ί GREEK CAPITAL LETTER IOTA WITH TONOS */ + {0x07a7, + 0x038c}, /* Greek_OMICRONaccent Ό GREEK CAPITAL LETTER OMICRON WITH TONOS + */ + {0x07a8, + 0x038e}, /* Greek_UPSILONaccent Ύ GREEK CAPITAL LETTER UPSILON WITH TONOS + */ + {0x07ab, + 0x038f}, /* Greek_OMEGAaccent Ώ GREEK CAPITAL LETTER OMEGA WITH TONOS */ + {0x07b6, 0x0390}, /* Greek_iotaaccentdieresis ΐ GREEK SMALL LETTER IOTA WITH + DIALYTIKA AND TONOS */ + {0x07c1, 0x0391}, /* Greek_ALPHA Α GREEK CAPITAL LETTER ALPHA */ + {0x07c2, 0x0392}, /* Greek_BETA Β GREEK CAPITAL LETTER BETA */ + {0x07c3, 0x0393}, /* Greek_GAMMA Γ GREEK CAPITAL LETTER GAMMA */ + {0x07c4, 0x0394}, /* Greek_DELTA Δ GREEK CAPITAL LETTER DELTA */ + {0x07c5, 0x0395}, /* Greek_EPSILON Ε GREEK CAPITAL LETTER EPSILON */ + {0x07c6, 0x0396}, /* Greek_ZETA Ζ GREEK CAPITAL LETTER ZETA */ + {0x07c7, 0x0397}, /* Greek_ETA Η GREEK CAPITAL LETTER ETA */ + {0x07c8, 0x0398}, /* Greek_THETA Θ GREEK CAPITAL LETTER THETA */ + {0x07c9, 0x0399}, /* Greek_IOTA Ι GREEK CAPITAL LETTER IOTA */ + {0x07ca, 0x039a}, /* Greek_KAPPA Κ GREEK CAPITAL LETTER KAPPA */ + {0x07cb, 0x039b}, /* Greek_LAMBDA Λ GREEK CAPITAL LETTER LAMDA */ + {0x07cc, 0x039c}, /* Greek_MU Μ GREEK CAPITAL LETTER MU */ + {0x07cd, 0x039d}, /* Greek_NU Ν GREEK CAPITAL LETTER NU */ + {0x07ce, 0x039e}, /* Greek_XI Ξ GREEK CAPITAL LETTER XI */ + {0x07cf, 0x039f}, /* Greek_OMICRON Ο GREEK CAPITAL LETTER OMICRON */ + {0x07d0, 0x03a0}, /* Greek_PI Π GREEK CAPITAL LETTER PI */ + {0x07d1, 0x03a1}, /* Greek_RHO Ρ GREEK CAPITAL LETTER RHO */ + {0x07d2, 0x03a3}, /* Greek_SIGMA Σ GREEK CAPITAL LETTER SIGMA */ + {0x07d4, 0x03a4}, /* Greek_TAU Τ GREEK CAPITAL LETTER TAU */ + {0x07d5, 0x03a5}, /* Greek_UPSILON Υ GREEK CAPITAL LETTER UPSILON */ + {0x07d6, 0x03a6}, /* Greek_PHI Φ GREEK CAPITAL LETTER PHI */ + {0x07d7, 0x03a7}, /* Greek_CHI Χ GREEK CAPITAL LETTER CHI */ + {0x07d8, 0x03a8}, /* Greek_PSI Ψ GREEK CAPITAL LETTER PSI */ + {0x07d9, 0x03a9}, /* Greek_OMEGA Ω GREEK CAPITAL LETTER OMEGA */ + {0x07a5, 0x03aa}, /* Greek_IOTAdieresis Ϊ GREEK CAPITAL LETTER IOTA WITH + DIALYTIKA */ + {0x07a9, 0x03ab}, /* Greek_UPSILONdieresis Ϋ GREEK CAPITAL LETTER UPSILON + WITH DIALYTIKA */ + {0x07b1, + 0x03ac}, /* Greek_alphaaccent ά GREEK SMALL LETTER ALPHA WITH TONOS */ + {0x07b2, + 0x03ad}, /* Greek_epsilonaccent έ GREEK SMALL LETTER EPSILON WITH TONOS */ + {0x07b3, 0x03ae}, /* Greek_etaaccent ή GREEK SMALL LETTER ETA WITH TONOS */ + {0x07b4, + 0x03af}, /* Greek_iotaaccent ί GREEK SMALL LETTER IOTA WITH TONOS */ + {0x07ba, 0x03b0}, /* Greek_upsilonaccentdieresis ΰ GREEK SMALL LETTER + UPSILON WITH DIALYTIKA AND TONOS */ + {0x07e1, 0x03b1}, /* Greek_alpha α GREEK SMALL LETTER ALPHA */ + {0x07e2, 0x03b2}, /* Greek_beta β GREEK SMALL LETTER BETA */ + {0x07e3, 0x03b3}, /* Greek_gamma γ GREEK SMALL LETTER GAMMA */ + {0x07e4, 0x03b4}, /* Greek_delta δ GREEK SMALL LETTER DELTA */ + {0x07e5, 0x03b5}, /* Greek_epsilon ε GREEK SMALL LETTER EPSILON */ + {0x07e6, 0x03b6}, /* Greek_zeta ζ GREEK SMALL LETTER ZETA */ + {0x07e7, 0x03b7}, /* Greek_eta η GREEK SMALL LETTER ETA */ + {0x07e8, 0x03b8}, /* Greek_theta θ GREEK SMALL LETTER THETA */ + {0x07e9, 0x03b9}, /* Greek_iota ι GREEK SMALL LETTER IOTA */ + {0x07ea, 0x03ba}, /* Greek_kappa κ GREEK SMALL LETTER KAPPA */ + {0x07eb, 0x03bb}, /* Greek_lambda λ GREEK SMALL LETTER LAMDA */ + {0x07ec, 0x03bc}, /* Greek_mu μ GREEK SMALL LETTER MU */ + {0x07ed, 0x03bd}, /* Greek_nu ν GREEK SMALL LETTER NU */ + {0x07ee, 0x03be}, /* Greek_xi ξ GREEK SMALL LETTER XI */ + {0x07ef, 0x03bf}, /* Greek_omicron ο GREEK SMALL LETTER OMICRON */ + {0x07f0, 0x03c0}, /* Greek_pi π GREEK SMALL LETTER PI */ + {0x07f1, 0x03c1}, /* Greek_rho ρ GREEK SMALL LETTER RHO */ + {0x07f3, + 0x03c2}, /* Greek_finalsmallsigma ς GREEK SMALL LETTER FINAL SIGMA */ + {0x07f2, 0x03c3}, /* Greek_sigma σ GREEK SMALL LETTER SIGMA */ + {0x07f4, 0x03c4}, /* Greek_tau τ GREEK SMALL LETTER TAU */ + {0x07f5, 0x03c5}, /* Greek_upsilon υ GREEK SMALL LETTER UPSILON */ + {0x07f6, 0x03c6}, /* Greek_phi φ GREEK SMALL LETTER PHI */ + {0x07f7, 0x03c7}, /* Greek_chi χ GREEK SMALL LETTER CHI */ + {0x07f8, 0x03c8}, /* Greek_psi ψ GREEK SMALL LETTER PSI */ + {0x07f9, 0x03c9}, /* Greek_omega ω GREEK SMALL LETTER OMEGA */ + {0x07b5, + 0x03ca}, /* Greek_iotadieresis ϊ GREEK SMALL LETTER IOTA WITH DIALYTIKA */ + {0x07b9, 0x03cb}, /* Greek_upsilondieresis ϋ GREEK SMALL LETTER UPSILON WITH + DIALYTIKA */ + {0x07b7, + 0x03cc}, /* Greek_omicronaccent ό GREEK SMALL LETTER OMICRON WITH TONOS */ + {0x07b8, + 0x03cd}, /* Greek_upsilonaccent ύ GREEK SMALL LETTER UPSILON WITH TONOS */ + {0x07bb, + 0x03ce}, /* Greek_omegaaccent ώ GREEK SMALL LETTER OMEGA WITH TONOS */ + {0x06b3, 0x0401}, /* Cyrillic_IO Ё CYRILLIC CAPITAL LETTER IO */ + {0x06b1, 0x0402}, /* Serbian_DJE Ђ CYRILLIC CAPITAL LETTER DJE */ + {0x06b2, 0x0403}, /* Macedonia_GJE Ѓ CYRILLIC CAPITAL LETTER GJE */ + {0x06b4, 0x0404}, /* Ukrainian_IE Є CYRILLIC CAPITAL LETTER UKRAINIAN IE */ + {0x06b5, 0x0405}, /* Macedonia_DSE Ѕ CYRILLIC CAPITAL LETTER DZE */ + {0x06b6, 0x0406}, /* Ukrainian_I І CYRILLIC CAPITAL LETTER + BYELORUSSIAN-UKRAINIAN I */ + {0x06b7, 0x0407}, /* Ukrainian_YI Ї CYRILLIC CAPITAL LETTER YI */ + {0x06b8, 0x0408}, /* Cyrillic_JE Ј CYRILLIC CAPITAL LETTER JE */ + {0x06b9, 0x0409}, /* Cyrillic_LJE Љ CYRILLIC CAPITAL LETTER LJE */ + {0x06ba, 0x040a}, /* Cyrillic_NJE Њ CYRILLIC CAPITAL LETTER NJE */ + {0x06bb, 0x040b}, /* Serbian_TSHE Ћ CYRILLIC CAPITAL LETTER TSHE */ + {0x06bc, 0x040c}, /* Macedonia_KJE Ќ CYRILLIC CAPITAL LETTER KJE */ + {0x06be, + 0x040e}, /* Byelorussian_SHORTU Ў CYRILLIC CAPITAL LETTER SHORT U */ + {0x06bf, 0x040f}, /* Cyrillic_DZHE Џ CYRILLIC CAPITAL LETTER DZHE */ + {0x06e1, 0x0410}, /* Cyrillic_A А CYRILLIC CAPITAL LETTER A */ + {0x06e2, 0x0411}, /* Cyrillic_BE Б CYRILLIC CAPITAL LETTER BE */ + {0x06f7, 0x0412}, /* Cyrillic_VE В CYRILLIC CAPITAL LETTER VE */ + {0x06e7, 0x0413}, /* Cyrillic_GHE Г CYRILLIC CAPITAL LETTER GHE */ + {0x06e4, 0x0414}, /* Cyrillic_DE Д CYRILLIC CAPITAL LETTER DE */ + {0x06e5, 0x0415}, /* Cyrillic_IE Е CYRILLIC CAPITAL LETTER IE */ + {0x06f6, 0x0416}, /* Cyrillic_ZHE Ж CYRILLIC CAPITAL LETTER ZHE */ + {0x06fa, 0x0417}, /* Cyrillic_ZE З CYRILLIC CAPITAL LETTER ZE */ + {0x06e9, 0x0418}, /* Cyrillic_I И CYRILLIC CAPITAL LETTER I */ + {0x06ea, 0x0419}, /* Cyrillic_SHORTI Й CYRILLIC CAPITAL LETTER SHORT I */ + {0x06eb, 0x041a}, /* Cyrillic_KA К CYRILLIC CAPITAL LETTER KA */ + {0x06ec, 0x041b}, /* Cyrillic_EL Л CYRILLIC CAPITAL LETTER EL */ + {0x06ed, 0x041c}, /* Cyrillic_EM М CYRILLIC CAPITAL LETTER EM */ + {0x06ee, 0x041d}, /* Cyrillic_EN Н CYRILLIC CAPITAL LETTER EN */ + {0x06ef, 0x041e}, /* Cyrillic_O О CYRILLIC CAPITAL LETTER O */ + {0x06f0, 0x041f}, /* Cyrillic_PE П CYRILLIC CAPITAL LETTER PE */ + {0x06f2, 0x0420}, /* Cyrillic_ER Р CYRILLIC CAPITAL LETTER ER */ + {0x06f3, 0x0421}, /* Cyrillic_ES С CYRILLIC CAPITAL LETTER ES */ + {0x06f4, 0x0422}, /* Cyrillic_TE Т CYRILLIC CAPITAL LETTER TE */ + {0x06f5, 0x0423}, /* Cyrillic_U У CYRILLIC CAPITAL LETTER U */ + {0x06e6, 0x0424}, /* Cyrillic_EF Ф CYRILLIC CAPITAL LETTER EF */ + {0x06e8, 0x0425}, /* Cyrillic_HA Х CYRILLIC CAPITAL LETTER HA */ + {0x06e3, 0x0426}, /* Cyrillic_TSE Ц CYRILLIC CAPITAL LETTER TSE */ + {0x06fe, 0x0427}, /* Cyrillic_CHE Ч CYRILLIC CAPITAL LETTER CHE */ + {0x06fb, 0x0428}, /* Cyrillic_SHA Ш CYRILLIC CAPITAL LETTER SHA */ + {0x06fd, 0x0429}, /* Cyrillic_SHCHA Щ CYRILLIC CAPITAL LETTER SHCHA */ + {0x06ff, + 0x042a}, /* Cyrillic_HARDSIGN Ъ CYRILLIC CAPITAL LETTER HARD SIGN */ + {0x06f9, 0x042b}, /* Cyrillic_YERU Ы CYRILLIC CAPITAL LETTER YERU */ + {0x06f8, + 0x042c}, /* Cyrillic_SOFTSIGN Ь CYRILLIC CAPITAL LETTER SOFT SIGN */ + {0x06fc, 0x042d}, /* Cyrillic_E Э CYRILLIC CAPITAL LETTER E */ + {0x06e0, 0x042e}, /* Cyrillic_YU Ю CYRILLIC CAPITAL LETTER YU */ + {0x06f1, 0x042f}, /* Cyrillic_YA Я CYRILLIC CAPITAL LETTER YA */ + {0x06c1, 0x0430}, /* Cyrillic_a а CYRILLIC SMALL LETTER A */ + {0x06c2, 0x0431}, /* Cyrillic_be б CYRILLIC SMALL LETTER BE */ + {0x06d7, 0x0432}, /* Cyrillic_ve в CYRILLIC SMALL LETTER VE */ + {0x06c7, 0x0433}, /* Cyrillic_ghe г CYRILLIC SMALL LETTER GHE */ + {0x06c4, 0x0434}, /* Cyrillic_de д CYRILLIC SMALL LETTER DE */ + {0x06c5, 0x0435}, /* Cyrillic_ie е CYRILLIC SMALL LETTER IE */ + {0x06d6, 0x0436}, /* Cyrillic_zhe ж CYRILLIC SMALL LETTER ZHE */ + {0x06da, 0x0437}, /* Cyrillic_ze з CYRILLIC SMALL LETTER ZE */ + {0x06c9, 0x0438}, /* Cyrillic_i и CYRILLIC SMALL LETTER I */ + {0x06ca, 0x0439}, /* Cyrillic_shorti й CYRILLIC SMALL LETTER SHORT I */ + {0x06cb, 0x043a}, /* Cyrillic_ka к CYRILLIC SMALL LETTER KA */ + {0x06cc, 0x043b}, /* Cyrillic_el л CYRILLIC SMALL LETTER EL */ + {0x06cd, 0x043c}, /* Cyrillic_em м CYRILLIC SMALL LETTER EM */ + {0x06ce, 0x043d}, /* Cyrillic_en н CYRILLIC SMALL LETTER EN */ + {0x06cf, 0x043e}, /* Cyrillic_o о CYRILLIC SMALL LETTER O */ + {0x06d0, 0x043f}, /* Cyrillic_pe п CYRILLIC SMALL LETTER PE */ + {0x06d2, 0x0440}, /* Cyrillic_er р CYRILLIC SMALL LETTER ER */ + {0x06d3, 0x0441}, /* Cyrillic_es с CYRILLIC SMALL LETTER ES */ + {0x06d4, 0x0442}, /* Cyrillic_te т CYRILLIC SMALL LETTER TE */ + {0x06d5, 0x0443}, /* Cyrillic_u у CYRILLIC SMALL LETTER U */ + {0x06c6, 0x0444}, /* Cyrillic_ef ф CYRILLIC SMALL LETTER EF */ + {0x06c8, 0x0445}, /* Cyrillic_ha х CYRILLIC SMALL LETTER HA */ + {0x06c3, 0x0446}, /* Cyrillic_tse ц CYRILLIC SMALL LETTER TSE */ + {0x06de, 0x0447}, /* Cyrillic_che ч CYRILLIC SMALL LETTER CHE */ + {0x06db, 0x0448}, /* Cyrillic_sha ш CYRILLIC SMALL LETTER SHA */ + {0x06dd, 0x0449}, /* Cyrillic_shcha щ CYRILLIC SMALL LETTER SHCHA */ + {0x06df, 0x044a}, /* Cyrillic_hardsign ъ CYRILLIC SMALL LETTER HARD SIGN */ + {0x06d9, 0x044b}, /* Cyrillic_yeru ы CYRILLIC SMALL LETTER YERU */ + {0x06d8, 0x044c}, /* Cyrillic_softsign ь CYRILLIC SMALL LETTER SOFT SIGN */ + {0x06dc, 0x044d}, /* Cyrillic_e э CYRILLIC SMALL LETTER E */ + {0x06c0, 0x044e}, /* Cyrillic_yu ю CYRILLIC SMALL LETTER YU */ + {0x06d1, 0x044f}, /* Cyrillic_ya я CYRILLIC SMALL LETTER YA */ + {0x06a3, 0x0451}, /* Cyrillic_io ё CYRILLIC SMALL LETTER IO */ + {0x06a1, 0x0452}, /* Serbian_dje ђ CYRILLIC SMALL LETTER DJE */ + {0x06a2, 0x0453}, /* Macedonia_gje ѓ CYRILLIC SMALL LETTER GJE */ + {0x06a4, 0x0454}, /* Ukrainian_ie є CYRILLIC SMALL LETTER UKRAINIAN IE */ + {0x06a5, 0x0455}, /* Macedonia_dse ѕ CYRILLIC SMALL LETTER DZE */ + {0x06a6, + 0x0456}, /* Ukrainian_i і CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ + {0x06a7, 0x0457}, /* Ukrainian_yi ї CYRILLIC SMALL LETTER YI */ + {0x06a8, 0x0458}, /* Cyrillic_je ј CYRILLIC SMALL LETTER JE */ + {0x06a9, 0x0459}, /* Cyrillic_lje љ CYRILLIC SMALL LETTER LJE */ + {0x06aa, 0x045a}, /* Cyrillic_nje њ CYRILLIC SMALL LETTER NJE */ + {0x06ab, 0x045b}, /* Serbian_tshe ћ CYRILLIC SMALL LETTER TSHE */ + {0x06ac, 0x045c}, /* Macedonia_kje ќ CYRILLIC SMALL LETTER KJE */ + {0x06ae, 0x045e}, /* Byelorussian_shortu ў CYRILLIC SMALL LETTER SHORT U */ + {0x06af, 0x045f}, /* Cyrillic_dzhe џ CYRILLIC SMALL LETTER DZHE */ + {0x0ce0, 0x05d0}, /* hebrew_aleph א HEBREW LETTER ALEF */ + {0x0ce1, 0x05d1}, /* hebrew_bet ב HEBREW LETTER BET */ + {0x0ce2, 0x05d2}, /* hebrew_gimel ג HEBREW LETTER GIMEL */ + {0x0ce3, 0x05d3}, /* hebrew_dalet ד HEBREW LETTER DALET */ + {0x0ce4, 0x05d4}, /* hebrew_he ה HEBREW LETTER HE */ + {0x0ce5, 0x05d5}, /* hebrew_waw ו HEBREW LETTER VAV */ + {0x0ce6, 0x05d6}, /* hebrew_zain ז HEBREW LETTER ZAYIN */ + {0x0ce7, 0x05d7}, /* hebrew_chet ח HEBREW LETTER HET */ + {0x0ce8, 0x05d8}, /* hebrew_tet ט HEBREW LETTER TET */ + {0x0ce9, 0x05d9}, /* hebrew_yod י HEBREW LETTER YOD */ + {0x0cea, 0x05da}, /* hebrew_finalkaph ך HEBREW LETTER FINAL KAF */ + {0x0ceb, 0x05db}, /* hebrew_kaph כ HEBREW LETTER KAF */ + {0x0cec, 0x05dc}, /* hebrew_lamed ל HEBREW LETTER LAMED */ + {0x0ced, 0x05dd}, /* hebrew_finalmem ם HEBREW LETTER FINAL MEM */ + {0x0cee, 0x05de}, /* hebrew_mem מ HEBREW LETTER MEM */ + {0x0cef, 0x05df}, /* hebrew_finalnun ן HEBREW LETTER FINAL NUN */ + {0x0cf0, 0x05e0}, /* hebrew_nun נ HEBREW LETTER NUN */ + {0x0cf1, 0x05e1}, /* hebrew_samech ס HEBREW LETTER SAMEKH */ + {0x0cf2, 0x05e2}, /* hebrew_ayin ע HEBREW LETTER AYIN */ + {0x0cf3, 0x05e3}, /* hebrew_finalpe ף HEBREW LETTER FINAL PE */ + {0x0cf4, 0x05e4}, /* hebrew_pe פ HEBREW LETTER PE */ + {0x0cf5, 0x05e5}, /* hebrew_finalzade ץ HEBREW LETTER FINAL TSADI */ + {0x0cf6, 0x05e6}, /* hebrew_zade צ HEBREW LETTER TSADI */ + {0x0cf7, 0x05e7}, /* hebrew_qoph ק HEBREW LETTER QOF */ + {0x0cf8, 0x05e8}, /* hebrew_resh ר HEBREW LETTER RESH */ + {0x0cf9, 0x05e9}, /* hebrew_shin ש HEBREW LETTER SHIN */ + {0x0cfa, 0x05ea}, /* hebrew_taw ת HEBREW LETTER TAV */ + {0x05ac, 0x060c}, /* Arabic_comma ، ARABIC COMMA */ + {0x05bb, 0x061b}, /* Arabic_semicolon ؛ ARABIC SEMICOLON */ + {0x05bf, 0x061f}, /* Arabic_question_mark ؟ ARABIC QUESTION MARK */ + {0x05c1, 0x0621}, /* Arabic_hamza ء ARABIC LETTER HAMZA */ + {0x05c2, + 0x0622}, /* Arabic_maddaonalef آ ARABIC LETTER ALEF WITH MADDA ABOVE */ + {0x05c3, + 0x0623}, /* Arabic_hamzaonalef أ ARABIC LETTER ALEF WITH HAMZA ABOVE */ + {0x05c4, + 0x0624}, /* Arabic_hamzaonwaw ؤ ARABIC LETTER WAW WITH HAMZA ABOVE */ + {0x05c5, + 0x0625}, /* Arabic_hamzaunderalef إ ARABIC LETTER ALEF WITH HAMZA BELOW */ + {0x05c6, + 0x0626}, /* Arabic_hamzaonyeh ئ ARABIC LETTER YEH WITH HAMZA ABOVE */ + {0x05c7, 0x0627}, /* Arabic_alef ا ARABIC LETTER ALEF */ + {0x05c8, 0x0628}, /* Arabic_beh ب ARABIC LETTER BEH */ + {0x05c9, 0x0629}, /* Arabic_tehmarbuta ة ARABIC LETTER TEH MARBUTA */ + {0x05ca, 0x062a}, /* Arabic_teh ت ARABIC LETTER TEH */ + {0x05cb, 0x062b}, /* Arabic_theh ث ARABIC LETTER THEH */ + {0x05cc, 0x062c}, /* Arabic_jeem ج ARABIC LETTER JEEM */ + {0x05cd, 0x062d}, /* Arabic_hah ح ARABIC LETTER HAH */ + {0x05ce, 0x062e}, /* Arabic_khah خ ARABIC LETTER KHAH */ + {0x05cf, 0x062f}, /* Arabic_dal د ARABIC LETTER DAL */ + {0x05d0, 0x0630}, /* Arabic_thal ذ ARABIC LETTER THAL */ + {0x05d1, 0x0631}, /* Arabic_ra ر ARABIC LETTER REH */ + {0x05d2, 0x0632}, /* Arabic_zain ز ARABIC LETTER ZAIN */ + {0x05d3, 0x0633}, /* Arabic_seen س ARABIC LETTER SEEN */ + {0x05d4, 0x0634}, /* Arabic_sheen ش ARABIC LETTER SHEEN */ + {0x05d5, 0x0635}, /* Arabic_sad ص ARABIC LETTER SAD */ + {0x05d6, 0x0636}, /* Arabic_dad ض ARABIC LETTER DAD */ + {0x05d7, 0x0637}, /* Arabic_tah ط ARABIC LETTER TAH */ + {0x05d8, 0x0638}, /* Arabic_zah ظ ARABIC LETTER ZAH */ + {0x05d9, 0x0639}, /* Arabic_ain ع ARABIC LETTER AIN */ + {0x05da, 0x063a}, /* Arabic_ghain غ ARABIC LETTER GHAIN */ + {0x05e0, 0x0640}, /* Arabic_tatweel ـ ARABIC TATWEEL */ + {0x05e1, 0x0641}, /* Arabic_feh ف ARABIC LETTER FEH */ + {0x05e2, 0x0642}, /* Arabic_qaf ق ARABIC LETTER QAF */ + {0x05e3, 0x0643}, /* Arabic_kaf ك ARABIC LETTER KAF */ + {0x05e4, 0x0644}, /* Arabic_lam ل ARABIC LETTER LAM */ + {0x05e5, 0x0645}, /* Arabic_meem م ARABIC LETTER MEEM */ + {0x05e6, 0x0646}, /* Arabic_noon ن ARABIC LETTER NOON */ + {0x05e7, 0x0647}, /* Arabic_ha ه ARABIC LETTER HEH */ + {0x05e8, 0x0648}, /* Arabic_waw و ARABIC LETTER WAW */ + {0x05e9, 0x0649}, /* Arabic_alefmaksura ى ARABIC LETTER ALEF MAKSURA */ + {0x05ea, 0x064a}, /* Arabic_yeh ي ARABIC LETTER YEH */ + {0x05eb, 0x064b}, /* Arabic_fathatan ً ARABIC FATHATAN */ + {0x05ec, 0x064c}, /* Arabic_dammatan ٌ ARABIC DAMMATAN */ + {0x05ed, 0x064d}, /* Arabic_kasratan ٍ ARABIC KASRATAN */ + {0x05ee, 0x064e}, /* Arabic_fatha َ ARABIC FATHA */ + {0x05ef, 0x064f}, /* Arabic_damma ُ ARABIC DAMMA */ + {0x05f0, 0x0650}, /* Arabic_kasra ِ ARABIC KASRA */ + {0x05f1, 0x0651}, /* Arabic_shadda ّ ARABIC SHADDA */ + {0x05f2, 0x0652}, /* Arabic_sukun ْ ARABIC SUKUN */ + {0x0da1, 0x0e01}, /* Thai_kokai ก THAI CHARACTER KO KAI */ + {0x0da2, 0x0e02}, /* Thai_khokhai ข THAI CHARACTER KHO KHAI */ + {0x0da3, 0x0e03}, /* Thai_khokhuat ฃ THAI CHARACTER KHO KHUAT */ + {0x0da4, 0x0e04}, /* Thai_khokhwai ค THAI CHARACTER KHO KHWAI */ + {0x0da5, 0x0e05}, /* Thai_khokhon ฅ THAI CHARACTER KHO KHON */ + {0x0da6, 0x0e06}, /* Thai_khorakhang ฆ THAI CHARACTER KHO RAKHANG */ + {0x0da7, 0x0e07}, /* Thai_ngongu ง THAI CHARACTER NGO NGU */ + {0x0da8, 0x0e08}, /* Thai_chochan จ THAI CHARACTER CHO CHAN */ + {0x0da9, 0x0e09}, /* Thai_choching ฉ THAI CHARACTER CHO CHING */ + {0x0daa, 0x0e0a}, /* Thai_chochang ช THAI CHARACTER CHO CHANG */ + {0x0dab, 0x0e0b}, /* Thai_soso ซ THAI CHARACTER SO SO */ + {0x0dac, 0x0e0c}, /* Thai_chochoe ฌ THAI CHARACTER CHO CHOE */ + {0x0dad, 0x0e0d}, /* Thai_yoying ญ THAI CHARACTER YO YING */ + {0x0dae, 0x0e0e}, /* Thai_dochada ฎ THAI CHARACTER DO CHADA */ + {0x0daf, 0x0e0f}, /* Thai_topatak ฏ THAI CHARACTER TO PATAK */ + {0x0db0, 0x0e10}, /* Thai_thothan ฐ THAI CHARACTER THO THAN */ + {0x0db1, 0x0e11}, /* Thai_thonangmontho ฑ THAI CHARACTER THO NANGMONTHO */ + {0x0db2, 0x0e12}, /* Thai_thophuthao ฒ THAI CHARACTER THO PHUTHAO */ + {0x0db3, 0x0e13}, /* Thai_nonen ณ THAI CHARACTER NO NEN */ + {0x0db4, 0x0e14}, /* Thai_dodek ด THAI CHARACTER DO DEK */ + {0x0db5, 0x0e15}, /* Thai_totao ต THAI CHARACTER TO TAO */ + {0x0db6, 0x0e16}, /* Thai_thothung ถ THAI CHARACTER THO THUNG */ + {0x0db7, 0x0e17}, /* Thai_thothahan ท THAI CHARACTER THO THAHAN */ + {0x0db8, 0x0e18}, /* Thai_thothong ธ THAI CHARACTER THO THONG */ + {0x0db9, 0x0e19}, /* Thai_nonu น THAI CHARACTER NO NU */ + {0x0dba, 0x0e1a}, /* Thai_bobaimai บ THAI CHARACTER BO BAIMAI */ + {0x0dbb, 0x0e1b}, /* Thai_popla ป THAI CHARACTER PO PLA */ + {0x0dbc, 0x0e1c}, /* Thai_phophung ผ THAI CHARACTER PHO PHUNG */ + {0x0dbd, 0x0e1d}, /* Thai_fofa ฝ THAI CHARACTER FO FA */ + {0x0dbe, 0x0e1e}, /* Thai_phophan พ THAI CHARACTER PHO PHAN */ + {0x0dbf, 0x0e1f}, /* Thai_fofan ฟ THAI CHARACTER FO FAN */ + {0x0dc0, 0x0e20}, /* Thai_phosamphao ภ THAI CHARACTER PHO SAMPHAO */ + {0x0dc1, 0x0e21}, /* Thai_moma ม THAI CHARACTER MO MA */ + {0x0dc2, 0x0e22}, /* Thai_yoyak ย THAI CHARACTER YO YAK */ + {0x0dc3, 0x0e23}, /* Thai_rorua ร THAI CHARACTER RO RUA */ + {0x0dc4, 0x0e24}, /* Thai_ru ฤ THAI CHARACTER RU */ + {0x0dc5, 0x0e25}, /* Thai_loling ล THAI CHARACTER LO LING */ + {0x0dc6, 0x0e26}, /* Thai_lu ฦ THAI CHARACTER LU */ + {0x0dc7, 0x0e27}, /* Thai_wowaen ว THAI CHARACTER WO WAEN */ + {0x0dc8, 0x0e28}, /* Thai_sosala ศ THAI CHARACTER SO SALA */ + {0x0dc9, 0x0e29}, /* Thai_sorusi ษ THAI CHARACTER SO RUSI */ + {0x0dca, 0x0e2a}, /* Thai_sosua ส THAI CHARACTER SO SUA */ + {0x0dcb, 0x0e2b}, /* Thai_hohip ห THAI CHARACTER HO HIP */ + {0x0dcc, 0x0e2c}, /* Thai_lochula ฬ THAI CHARACTER LO CHULA */ + {0x0dcd, 0x0e2d}, /* Thai_oang อ THAI CHARACTER O ANG */ + {0x0dce, 0x0e2e}, /* Thai_honokhuk ฮ THAI CHARACTER HO NOKHUK */ + {0x0dcf, 0x0e2f}, /* Thai_paiyannoi ฯ THAI CHARACTER PAIYANNOI */ + {0x0dd0, 0x0e30}, /* Thai_saraa ะ THAI CHARACTER SARA A */ + {0x0dd1, 0x0e31}, /* Thai_maihanakat ั THAI CHARACTER MAI HAN-AKAT */ + {0x0dd2, 0x0e32}, /* Thai_saraaa า THAI CHARACTER SARA AA */ + {0x0dd3, 0x0e33}, /* Thai_saraam ำ THAI CHARACTER SARA AM */ + {0x0dd4, 0x0e34}, /* Thai_sarai ิ THAI CHARACTER SARA I */ + {0x0dd5, 0x0e35}, /* Thai_saraii ี THAI CHARACTER SARA II */ + {0x0dd6, 0x0e36}, /* Thai_saraue ึ THAI CHARACTER SARA UE */ + {0x0dd7, 0x0e37}, /* Thai_sarauee ื THAI CHARACTER SARA UEE */ + {0x0dd8, 0x0e38}, /* Thai_sarau ุ THAI CHARACTER SARA U */ + {0x0dd9, 0x0e39}, /* Thai_sarauu ู THAI CHARACTER SARA UU */ + {0x0dda, 0x0e3a}, /* Thai_phinthu ฺ THAI CHARACTER PHINTHU */ + {0x0ddf, 0x0e3f}, /* Thai_baht ฿ THAI CURRENCY SYMBOL BAHT */ + {0x0de0, 0x0e40}, /* Thai_sarae เ THAI CHARACTER SARA E */ + {0x0de1, 0x0e41}, /* Thai_saraae แ THAI CHARACTER SARA AE */ + {0x0de2, 0x0e42}, /* Thai_sarao โ THAI CHARACTER SARA O */ + {0x0de3, 0x0e43}, /* Thai_saraaimaimuan ใ THAI CHARACTER SARA AI MAIMUAN */ + {0x0de4, + 0x0e44}, /* Thai_saraaimaimalai ไ THAI CHARACTER SARA AI MAIMALAI */ + {0x0de5, 0x0e45}, /* Thai_lakkhangyao ๅ THAI CHARACTER LAKKHANGYAO */ + {0x0de6, 0x0e46}, /* Thai_maiyamok ๆ THAI CHARACTER MAIYAMOK */ + {0x0de7, 0x0e47}, /* Thai_maitaikhu ็ THAI CHARACTER MAITAIKHU */ + {0x0de8, 0x0e48}, /* Thai_maiek ่ THAI CHARACTER MAI EK */ + {0x0de9, 0x0e49}, /* Thai_maitho ้ THAI CHARACTER MAI THO */ + {0x0dea, 0x0e4a}, /* Thai_maitri ๊ THAI CHARACTER MAI TRI */ + {0x0deb, 0x0e4b}, /* Thai_maichattawa ๋ THAI CHARACTER MAI CHATTAWA */ + {0x0dec, 0x0e4c}, /* Thai_thanthakhat ์ THAI CHARACTER THANTHAKHAT */ + {0x0ded, 0x0e4d}, /* Thai_nikhahit ํ THAI CHARACTER NIKHAHIT */ + {0x0df0, 0x0e50}, /* Thai_leksun ๐ THAI DIGIT ZERO */ + {0x0df1, 0x0e51}, /* Thai_leknung ๑ THAI DIGIT ONE */ + {0x0df2, 0x0e52}, /* Thai_leksong ๒ THAI DIGIT TWO */ + {0x0df3, 0x0e53}, /* Thai_leksam ๓ THAI DIGIT THREE */ + {0x0df4, 0x0e54}, /* Thai_leksi ๔ THAI DIGIT FOUR */ + {0x0df5, 0x0e55}, /* Thai_lekha ๕ THAI DIGIT FIVE */ + {0x0df6, 0x0e56}, /* Thai_lekhok ๖ THAI DIGIT SIX */ + {0x0df7, 0x0e57}, /* Thai_lekchet ๗ THAI DIGIT SEVEN */ + {0x0df8, 0x0e58}, /* Thai_lekpaet ๘ THAI DIGIT EIGHT */ + {0x0df9, 0x0e59}, /* Thai_lekkao ๙ THAI DIGIT NINE */ + {0x0ed4, 0x11a8}, /* Hangul_J_Kiyeog ᆨ HANGUL JONGSEONG KIYEOK */ + {0x0ed5, 0x11a9}, /* Hangul_J_SsangKiyeog ᆩ HANGUL JONGSEONG SSANGKIYEOK */ + {0x0ed6, 0x11aa}, /* Hangul_J_KiyeogSios ᆪ HANGUL JONGSEONG KIYEOK-SIOS */ + {0x0ed7, 0x11ab}, /* Hangul_J_Nieun ᆫ HANGUL JONGSEONG NIEUN */ + {0x0ed8, 0x11ac}, /* Hangul_J_NieunJieuj ᆬ HANGUL JONGSEONG NIEUN-CIEUC */ + {0x0ed9, 0x11ad}, /* Hangul_J_NieunHieuh ᆭ HANGUL JONGSEONG NIEUN-HIEUH */ + {0x0eda, 0x11ae}, /* Hangul_J_Dikeud ᆮ HANGUL JONGSEONG TIKEUT */ + {0x0edb, 0x11af}, /* Hangul_J_Rieul ᆯ HANGUL JONGSEONG RIEUL */ + {0x0edc, + 0x11b0}, /* Hangul_J_RieulKiyeog ᆰ HANGUL JONGSEONG RIEUL-KIYEOK */ + {0x0edd, 0x11b1}, /* Hangul_J_RieulMieum ᆱ HANGUL JONGSEONG RIEUL-MIEUM */ + {0x0ede, 0x11b2}, /* Hangul_J_RieulPieub ᆲ HANGUL JONGSEONG RIEUL-PIEUP */ + {0x0edf, 0x11b3}, /* Hangul_J_RieulSios ᆳ HANGUL JONGSEONG RIEUL-SIOS */ + {0x0ee0, + 0x11b4}, /* Hangul_J_RieulTieut ᆴ HANGUL JONGSEONG RIEUL-THIEUTH */ + {0x0ee1, + 0x11b5}, /* Hangul_J_RieulPhieuf ᆵ HANGUL JONGSEONG RIEUL-PHIEUPH */ + {0x0ee2, 0x11b6}, /* Hangul_J_RieulHieuh ᆶ HANGUL JONGSEONG RIEUL-HIEUH */ + {0x0ee3, 0x11b7}, /* Hangul_J_Mieum ᆷ HANGUL JONGSEONG MIEUM */ + {0x0ee4, 0x11b8}, /* Hangul_J_Pieub ᆸ HANGUL JONGSEONG PIEUP */ + {0x0ee5, 0x11b9}, /* Hangul_J_PieubSios ᆹ HANGUL JONGSEONG PIEUP-SIOS */ + {0x0ee6, 0x11ba}, /* Hangul_J_Sios ᆺ HANGUL JONGSEONG SIOS */ + {0x0ee7, 0x11bb}, /* Hangul_J_SsangSios ᆻ HANGUL JONGSEONG SSANGSIOS */ + {0x0ee8, 0x11bc}, /* Hangul_J_Ieung ᆼ HANGUL JONGSEONG IEUNG */ + {0x0ee9, 0x11bd}, /* Hangul_J_Jieuj ᆽ HANGUL JONGSEONG CIEUC */ + {0x0eea, 0x11be}, /* Hangul_J_Cieuc ᆾ HANGUL JONGSEONG CHIEUCH */ + {0x0eeb, 0x11bf}, /* Hangul_J_Khieuq ᆿ HANGUL JONGSEONG KHIEUKH */ + {0x0eec, 0x11c0}, /* Hangul_J_Tieut ᇀ HANGUL JONGSEONG THIEUTH */ + {0x0eed, 0x11c1}, /* Hangul_J_Phieuf ᇁ HANGUL JONGSEONG PHIEUPH */ + {0x0eee, 0x11c2}, /* Hangul_J_Hieuh ᇂ HANGUL JONGSEONG HIEUH */ + {0x0ef8, 0x11eb}, /* Hangul_J_PanSios ᇫ HANGUL JONGSEONG PANSIOS */ + {0x0efa, 0x11f9}, /* Hangul_J_YeorinHieuh ᇹ HANGUL JONGSEONG YEORINHIEUH */ + {0x0aa2, 0x2002}, /* enspace   EN SPACE */ + {0x0aa1, 0x2003}, /* emspace   EM SPACE */ + {0x0aa3, 0x2004}, /* em3space   THREE-PER-EM SPACE */ + {0x0aa4, 0x2005}, /* em4space   FOUR-PER-EM SPACE */ + {0x0aa5, 0x2007}, /* digitspace   FIGURE SPACE */ + {0x0aa6, 0x2008}, /* punctspace   PUNCTUATION SPACE */ + {0x0aa7, 0x2009}, /* thinspace   THIN SPACE */ + {0x0aa8, 0x200a}, /* hairspace   HAIR SPACE */ + {0x0abb, 0x2012}, /* figdash ‒ FIGURE DASH */ + {0x0aaa, 0x2013}, /* endash – EN DASH */ + {0x0aa9, 0x2014}, /* emdash — EM DASH */ + {0x07af, 0x2015}, /* Greek_horizbar ― HORIZONTAL BAR */ + {0x0cdf, 0x2017}, /* hebrew_doublelowline ‗ DOUBLE LOW LINE */ + {0x0ad0, 0x2018}, /* leftsinglequotemark ‘ LEFT SINGLE QUOTATION MARK */ + {0x0ad1, 0x2019}, /* rightsinglequotemark ’ RIGHT SINGLE QUOTATION MARK */ + {0x0afd, 0x201a}, /* singlelowquotemark ‚ SINGLE LOW-9 QUOTATION MARK */ + {0x0ad2, 0x201c}, /* leftdoublequotemark “ LEFT DOUBLE QUOTATION MARK */ + {0x0ad3, 0x201d}, /* rightdoublequotemark ” RIGHT DOUBLE QUOTATION MARK */ + {0x0afe, 0x201e}, /* doublelowquotemark „ DOUBLE LOW-9 QUOTATION MARK */ + {0x0af1, 0x2020}, /* dagger † DAGGER */ + {0x0af2, 0x2021}, /* doubledagger ‡ DOUBLE DAGGER */ + {0x0ae6, 0x2022}, /* enfilledcircbullet • BULLET */ + {0x0aae, 0x2026}, /* ellipsis … HORIZONTAL ELLIPSIS */ + {0x0ad6, 0x2032}, /* minutes ′ PRIME */ + {0x0ad7, 0x2033}, /* seconds ″ DOUBLE PRIME */ + {0x0afc, 0x2038}, /* caret ‸ CARET */ + {0x047e, 0x203e}, /* overline ‾ OVERLINE */ + {0x20a0, 0x20a0}, /* EcuSign ₠ EURO-CURRENCY SIGN */ + {0x20a1, 0x20a1}, /* ColonSign ₡ COLON SIGN */ + {0x20a2, 0x20a2}, /* CruzeiroSign ₢ CRUZEIRO SIGN */ + {0x20a3, 0x20a3}, /* FFrancSign ₣ FRENCH FRANC SIGN */ + {0x20a4, 0x20a4}, /* LiraSign ₤ LIRA SIGN */ + {0x20a5, 0x20a5}, /* MillSign ₥ MILL SIGN */ + {0x20a6, 0x20a6}, /* NairaSign ₦ NAIRA SIGN */ + {0x20a7, 0x20a7}, /* PesetaSign ₧ PESETA SIGN */ + {0x20a8, 0x20a8}, /* RupeeSign ₨ RUPEE SIGN */ + {0x0eff, 0x20a9}, /* Korean_Won ₩ WON SIGN */ + {0x20a9, 0x20a9}, /* WonSign ₩ WON SIGN */ + {0x20aa, 0x20aa}, /* NewSheqelSign ₪ NEW SHEQEL SIGN */ + {0x20ab, 0x20ab}, /* DongSign ₫ DONG SIGN */ + {0x20ac, 0x20ac}, /* EuroSign € EURO SIGN */ + {0x0ab8, 0x2105}, /* careof ℅ CARE OF */ + {0x06b0, 0x2116}, /* numerosign № NUMERO SIGN */ + {0x0afb, 0x2117}, /* phonographcopyright ℗ SOUND RECORDING COPYRIGHT */ + {0x0ad4, 0x211e}, /* prescription ℞ PRESCRIPTION TAKE */ + {0x0ac9, 0x2122}, /* trademark ™ TRADE MARK SIGN */ + {0x0ab0, 0x2153}, /* onethird ⅓ VULGAR FRACTION ONE THIRD */ + {0x0ab1, 0x2154}, /* twothirds ⅔ VULGAR FRACTION TWO THIRDS */ + {0x0ab2, 0x2155}, /* onefifth ⅕ VULGAR FRACTION ONE FIFTH */ + {0x0ab3, 0x2156}, /* twofifths ⅖ VULGAR FRACTION TWO FIFTHS */ + {0x0ab4, 0x2157}, /* threefifths ⅗ VULGAR FRACTION THREE FIFTHS */ + {0x0ab5, 0x2158}, /* fourfifths ⅘ VULGAR FRACTION FOUR FIFTHS */ + {0x0ab6, 0x2159}, /* onesixth ⅙ VULGAR FRACTION ONE SIXTH */ + {0x0ab7, 0x215a}, /* fivesixths ⅚ VULGAR FRACTION FIVE SIXTHS */ + {0x0ac3, 0x215b}, /* oneeighth ⅛ VULGAR FRACTION ONE EIGHTH */ + {0x0ac4, 0x215c}, /* threeeighths ⅜ VULGAR FRACTION THREE EIGHTHS */ + {0x0ac5, 0x215d}, /* fiveeighths ⅝ VULGAR FRACTION FIVE EIGHTHS */ + {0x0ac6, 0x215e}, /* seveneighths ⅞ VULGAR FRACTION SEVEN EIGHTHS */ + {0x08fb, 0x2190}, /* leftarrow ← LEFTWARDS ARROW */ + {0x08fc, 0x2191}, /* uparrow ↑ UPWARDS ARROW */ + {0x08fd, 0x2192}, /* rightarrow → RIGHTWARDS ARROW */ + {0x08fe, 0x2193}, /* downarrow ↓ DOWNWARDS ARROW */ + {0x08ce, 0x21d2}, /* implies ⇒ RIGHTWARDS DOUBLE ARROW */ + {0x08cd, 0x21d4}, /* ifonlyif ⇔ LEFT RIGHT DOUBLE ARROW */ + {0x08ef, 0x2202}, /* partialderivative ∂ PARTIAL DIFFERENTIAL */ + {0x08c5, 0x2207}, /* nabla ∇ NABLA */ + {0x0bca, 0x2218}, /* jot ∘ RING OPERATOR */ + {0x08d6, 0x221a}, /* radical √ SQUARE ROOT */ + {0x08c1, 0x221d}, /* variation ∝ PROPORTIONAL TO */ + {0x08c2, 0x221e}, /* infinity ∞ INFINITY */ + {0x08de, 0x2227}, /* logicaland ∧ LOGICAL AND */ + {0x0ba9, 0x2227}, /* upcaret ∧ LOGICAL AND */ + {0x08df, 0x2228}, /* logicalor ∨ LOGICAL OR */ + {0x0ba8, 0x2228}, /* downcaret ∨ LOGICAL OR */ + {0x08dc, 0x2229}, /* intersection ∩ INTERSECTION */ + {0x0bc3, 0x2229}, /* upshoe ∩ INTERSECTION */ + {0x08dd, 0x222a}, /* union ∪ UNION */ + {0x0bd6, 0x222a}, /* downshoe ∪ UNION */ + {0x08bf, 0x222b}, /* integral ∫ INTEGRAL */ + {0x08c0, 0x2234}, /* therefore ∴ THEREFORE */ + {0x08c8, 0x2245}, /* approximate ≅ APPROXIMATELY EQUAL TO */ + {0x08bd, 0x2260}, /* notequal ≠ NOT EQUAL TO */ + {0x08cf, 0x2261}, /* identical ≡ IDENTICAL TO */ + {0x08bc, 0x2264}, /* lessthanequal ≤ LESS-THAN OR EQUAL TO */ + {0x08be, 0x2265}, /* greaterthanequal ≥ GREATER-THAN OR EQUAL TO */ + {0x08da, 0x2282}, /* includedin ⊂ SUBSET OF */ + {0x0bda, 0x2282}, /* leftshoe ⊂ SUBSET OF */ + {0x08db, 0x2283}, /* includes ⊃ SUPERSET OF */ + {0x0bd8, 0x2283}, /* rightshoe ⊃ SUPERSET OF */ + {0x0bfc, 0x22a2}, /* righttack ⊢ RIGHT TACK */ + {0x0bdc, 0x22a3}, /* lefttack ⊣ LEFT TACK */ + {0x0bc2, 0x22a4}, /* downtack ⊤ DOWN TACK */ + {0x0bce, 0x22a5}, /* uptack ⊥ UP TACK */ + {0x0bd3, 0x2308}, /* upstile ⌈ LEFT CEILING */ + {0x0bc4, 0x230a}, /* downstile ⌊ LEFT FLOOR */ + {0x0afa, 0x2315}, /* telephonerecorder ⌕ TELEPHONE RECORDER */ + {0x08a4, 0x2320}, /* topintegral ⌠ TOP HALF INTEGRAL */ + {0x08a5, 0x2321}, /* botintegral ⌡ BOTTOM HALF INTEGRAL */ + {0x0abc, 0x2329}, /* leftanglebracket 〈 LEFT-POINTING ANGLE BRACKET */ + {0x0abe, 0x232a}, /* rightanglebracket 〉 RIGHT-POINTING ANGLE BRACKET */ + {0x0bcc, 0x2395}, /* quad ⎕ APL FUNCTIONAL SYMBOL QUAD (Unicode 3.0) */ + {0x09e2, 0x2409}, /* ht ␉ SYMBOL FOR HORIZONTAL TABULATION */ + {0x09e5, 0x240a}, /* lf ␊ SYMBOL FOR LINE FEED */ + {0x09e9, 0x240b}, /* vt ␋ SYMBOL FOR VERTICAL TABULATION */ + {0x09e3, 0x240c}, /* ff ␌ SYMBOL FOR FORM FEED */ + {0x09e4, 0x240d}, /* cr ␍ SYMBOL FOR CARRIAGE RETURN */ + {0x09df, 0x2422}, /* blank ␢ BLANK SYMBOL */ + {0x09e8, 0x2424}, /* nl ␤ SYMBOL FOR NEWLINE */ + {0x09f1, 0x2500}, /* horizlinescan5 ─ BOX DRAWINGS LIGHT HORIZONTAL */ + {0x08a6, 0x2502}, /* vertconnector │ BOX DRAWINGS LIGHT VERTICAL */ + {0x09f8, 0x2502}, /* vertbar │ BOX DRAWINGS LIGHT VERTICAL */ + {0x09ec, 0x250c}, /* upleftcorner ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT */ + {0x09eb, 0x2510}, /* uprightcorner ┐ BOX DRAWINGS LIGHT DOWN AND LEFT */ + {0x09ed, 0x2514}, /* lowleftcorner └ BOX DRAWINGS LIGHT UP AND RIGHT */ + {0x09ea, 0x2518}, /* lowrightcorner ┘ BOX DRAWINGS LIGHT UP AND LEFT */ + {0x09f4, 0x251c}, /* leftt ├ BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ + {0x09f5, 0x2524}, /* rightt ┤ BOX DRAWINGS LIGHT VERTICAL AND LEFT */ + {0x09f7, 0x252c}, /* topt ┬ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ + {0x09f6, 0x2534}, /* bott ┴ BOX DRAWINGS LIGHT UP AND HORIZONTAL */ + {0x09ee, + 0x253c}, /* crossinglines ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ + {0x09e1, 0x2592}, /* checkerboard ▒ MEDIUM SHADE */ + {0x0adf, 0x25a0}, /* emfilledrect ■ BLACK SQUARE */ + {0x0acf, 0x25a1}, /* emopenrectangle □ WHITE SQUARE */ + {0x0ae7, 0x25aa}, /* enfilledsqbullet ▪ BLACK SMALL SQUARE */ + {0x0ae1, 0x25ab}, /* enopensquarebullet ▫ WHITE SMALL SQUARE */ + {0x0adb, 0x25ac}, /* filledrectbullet ▬ BLACK RECTANGLE */ + {0x0ae2, 0x25ad}, /* openrectbullet ▭ WHITE RECTANGLE */ + {0x0ae8, 0x25b2}, /* filledtribulletup ▲ BLACK UP-POINTING TRIANGLE */ + {0x0ae3, 0x25b3}, /* opentribulletup △ WHITE UP-POINTING TRIANGLE */ + {0x0add, 0x25b6}, /* filledrighttribullet ▶ BLACK RIGHT-POINTING TRIANGLE */ + {0x0acd, 0x25b7}, /* rightopentriangle ▷ WHITE RIGHT-POINTING TRIANGLE */ + {0x0ae9, 0x25bc}, /* filledtribulletdown ▼ BLACK DOWN-POINTING TRIANGLE */ + {0x0ae4, 0x25bd}, /* opentribulletdown ▽ WHITE DOWN-POINTING TRIANGLE */ + {0x0adc, 0x25c0}, /* filledlefttribullet ◀ BLACK LEFT-POINTING TRIANGLE */ + {0x0acc, 0x25c1}, /* leftopentriangle ◁ WHITE LEFT-POINTING TRIANGLE */ + {0x09e0, 0x25c6}, /* soliddiamond ◆ BLACK DIAMOND */ + {0x0ace, 0x25cb}, /* emopencircle ○ WHITE CIRCLE */ + {0x0bcf, 0x25cb}, /* circle ○ WHITE CIRCLE */ + {0x0ade, 0x25cf}, /* emfilledcircle ● BLACK CIRCLE */ + {0x0ae0, 0x25e6}, /* enopencircbullet ◦ WHITE BULLET */ + {0x0ae5, 0x2606}, /* openstar ☆ WHITE STAR */ + {0x0af9, 0x260e}, /* telephone ☎ BLACK TELEPHONE */ + {0x0aca, 0x2613}, /* signaturemark ☓ SALTIRE */ + {0x0aea, 0x261c}, /* leftpointer ☜ WHITE LEFT POINTING INDEX */ + {0x0aeb, 0x261e}, /* rightpointer ☞ WHITE RIGHT POINTING INDEX */ + {0x0af8, 0x2640}, /* femalesymbol ♀ FEMALE SIGN */ + {0x0af7, 0x2642}, /* malesymbol ♂ MALE SIGN */ + {0x0aec, 0x2663}, /* club ♣ BLACK CLUB SUIT */ + {0x0aee, 0x2665}, /* heart ♥ BLACK HEART SUIT */ + {0x0aed, 0x2666}, /* diamond ♦ BLACK DIAMOND SUIT */ + {0x0af6, 0x266d}, /* musicalflat ♭ MUSIC FLAT SIGN */ + {0x0af5, 0x266f}, /* musicalsharp ♯ MUSIC SHARP SIGN */ + {0x0af3, 0x2713}, /* checkmark ✓ CHECK MARK */ + {0x0af4, 0x2717}, /* ballotcross ✗ BALLOT X */ + {0x0ad9, 0x271d}, /* latincross ✝ LATIN CROSS */ + {0x0af0, 0x2720}, /* maltesecross ✠ MALTESE CROSS */ + {0x04a4, 0x3001}, /* kana_comma 、 IDEOGRAPHIC COMMA */ + {0x04a1, 0x3002}, /* kana_fullstop 。 IDEOGRAPHIC FULL STOP */ + {0x04a2, 0x300c}, /* kana_openingbracket 「 LEFT CORNER BRACKET */ + {0x04a3, 0x300d}, /* kana_closingbracket 」 RIGHT CORNER BRACKET */ + {0x04de, 0x309b}, /* voicedsound ゛ KATAKANA-HIRAGANA VOICED SOUND MARK */ + {0x04df, + 0x309c}, /* semivoicedsound ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */ + {0x04a7, 0x30a1}, /* kana_a ァ KATAKANA LETTER SMALL A */ + {0x04b1, 0x30a2}, /* kana_A ア KATAKANA LETTER A */ + {0x04a8, 0x30a3}, /* kana_i ィ KATAKANA LETTER SMALL I */ + {0x04b2, 0x30a4}, /* kana_I イ KATAKANA LETTER I */ + {0x04a9, 0x30a5}, /* kana_u ゥ KATAKANA LETTER SMALL U */ + {0x04b3, 0x30a6}, /* kana_U ウ KATAKANA LETTER U */ + {0x04aa, 0x30a7}, /* kana_e ェ KATAKANA LETTER SMALL E */ + {0x04b4, 0x30a8}, /* kana_E エ KATAKANA LETTER E */ + {0x04ab, 0x30a9}, /* kana_o ォ KATAKANA LETTER SMALL O */ + {0x04b5, 0x30aa}, /* kana_O オ KATAKANA LETTER O */ + {0x04b6, 0x30ab}, /* kana_KA カ KATAKANA LETTER KA */ + {0x04b7, 0x30ad}, /* kana_KI キ KATAKANA LETTER KI */ + {0x04b8, 0x30af}, /* kana_KU ク KATAKANA LETTER KU */ + {0x04b9, 0x30b1}, /* kana_KE ケ KATAKANA LETTER KE */ + {0x04ba, 0x30b3}, /* kana_KO コ KATAKANA LETTER KO */ + {0x04bb, 0x30b5}, /* kana_SA サ KATAKANA LETTER SA */ + {0x04bc, 0x30b7}, /* kana_SHI シ KATAKANA LETTER SI */ + {0x04bd, 0x30b9}, /* kana_SU ス KATAKANA LETTER SU */ + {0x04be, 0x30bb}, /* kana_SE セ KATAKANA LETTER SE */ + {0x04bf, 0x30bd}, /* kana_SO ソ KATAKANA LETTER SO */ + {0x04c0, 0x30bf}, /* kana_TA タ KATAKANA LETTER TA */ + {0x04c1, 0x30c1}, /* kana_CHI チ KATAKANA LETTER TI */ + {0x04af, 0x30c3}, /* kana_tsu ッ KATAKANA LETTER SMALL TU */ + {0x04c2, 0x30c4}, /* kana_TSU ツ KATAKANA LETTER TU */ + {0x04c3, 0x30c6}, /* kana_TE テ KATAKANA LETTER TE */ + {0x04c4, 0x30c8}, /* kana_TO ト KATAKANA LETTER TO */ + {0x04c5, 0x30ca}, /* kana_NA ナ KATAKANA LETTER NA */ + {0x04c6, 0x30cb}, /* kana_NI ニ KATAKANA LETTER NI */ + {0x04c7, 0x30cc}, /* kana_NU ヌ KATAKANA LETTER NU */ + {0x04c8, 0x30cd}, /* kana_NE ネ KATAKANA LETTER NE */ + {0x04c9, 0x30ce}, /* kana_NO ノ KATAKANA LETTER NO */ + {0x04ca, 0x30cf}, /* kana_HA ハ KATAKANA LETTER HA */ + {0x04cb, 0x30d2}, /* kana_HI ヒ KATAKANA LETTER HI */ + {0x04cc, 0x30d5}, /* kana_FU フ KATAKANA LETTER HU */ + {0x04cd, 0x30d8}, /* kana_HE ヘ KATAKANA LETTER HE */ + {0x04ce, 0x30db}, /* kana_HO ホ KATAKANA LETTER HO */ + {0x04cf, 0x30de}, /* kana_MA マ KATAKANA LETTER MA */ + {0x04d0, 0x30df}, /* kana_MI ミ KATAKANA LETTER MI */ + {0x04d1, 0x30e0}, /* kana_MU ム KATAKANA LETTER MU */ + {0x04d2, 0x30e1}, /* kana_ME メ KATAKANA LETTER ME */ + {0x04d3, 0x30e2}, /* kana_MO モ KATAKANA LETTER MO */ + {0x04ac, 0x30e3}, /* kana_ya ャ KATAKANA LETTER SMALL YA */ + {0x04d4, 0x30e4}, /* kana_YA ヤ KATAKANA LETTER YA */ + {0x04ad, 0x30e5}, /* kana_yu ュ KATAKANA LETTER SMALL YU */ + {0x04d5, 0x30e6}, /* kana_YU ユ KATAKANA LETTER YU */ + {0x04ae, 0x30e7}, /* kana_yo ョ KATAKANA LETTER SMALL YO */ + {0x04d6, 0x30e8}, /* kana_YO ヨ KATAKANA LETTER YO */ + {0x04d7, 0x30e9}, /* kana_RA ラ KATAKANA LETTER RA */ + {0x04d8, 0x30ea}, /* kana_RI リ KATAKANA LETTER RI */ + {0x04d9, 0x30eb}, /* kana_RU ル KATAKANA LETTER RU */ + {0x04da, 0x30ec}, /* kana_RE レ KATAKANA LETTER RE */ + {0x04db, 0x30ed}, /* kana_RO ロ KATAKANA LETTER RO */ + {0x04dc, 0x30ef}, /* kana_WA ワ KATAKANA LETTER WA */ + {0x04a6, 0x30f2}, /* kana_WO ヲ KATAKANA LETTER WO */ + {0x04dd, 0x30f3}, /* kana_N ン KATAKANA LETTER N */ + {0x04a5, 0x30fb}, /* kana_conjunctive ・ KATAKANA MIDDLE DOT */ + {0x04b0, + 0x30fc}, /* prolongedsound ー KATAKANA-HIRAGANA PROLONGED SOUND MARK */ + {0x0ea1, 0x3131}, /* Hangul_Kiyeog ㄱ HANGUL LETTER KIYEOK */ + {0x0ea2, 0x3132}, /* Hangul_SsangKiyeog ㄲ HANGUL LETTER SSANGKIYEOK */ + {0x0ea3, 0x3133}, /* Hangul_KiyeogSios ㄳ HANGUL LETTER KIYEOK-SIOS */ + {0x0ea4, 0x3134}, /* Hangul_Nieun ㄴ HANGUL LETTER NIEUN */ + {0x0ea5, 0x3135}, /* Hangul_NieunJieuj ㄵ HANGUL LETTER NIEUN-CIEUC */ + {0x0ea6, 0x3136}, /* Hangul_NieunHieuh ㄶ HANGUL LETTER NIEUN-HIEUH */ + {0x0ea7, 0x3137}, /* Hangul_Dikeud ㄷ HANGUL LETTER TIKEUT */ + {0x0ea8, 0x3138}, /* Hangul_SsangDikeud ㄸ HANGUL LETTER SSANGTIKEUT */ + {0x0ea9, 0x3139}, /* Hangul_Rieul ㄹ HANGUL LETTER RIEUL */ + {0x0eaa, 0x313a}, /* Hangul_RieulKiyeog ㄺ HANGUL LETTER RIEUL-KIYEOK */ + {0x0eab, 0x313b}, /* Hangul_RieulMieum ㄻ HANGUL LETTER RIEUL-MIEUM */ + {0x0eac, 0x313c}, /* Hangul_RieulPieub ㄼ HANGUL LETTER RIEUL-PIEUP */ + {0x0ead, 0x313d}, /* Hangul_RieulSios ㄽ HANGUL LETTER RIEUL-SIOS */ + {0x0eae, 0x313e}, /* Hangul_RieulTieut ㄾ HANGUL LETTER RIEUL-THIEUTH */ + {0x0eaf, 0x313f}, /* Hangul_RieulPhieuf ㄿ HANGUL LETTER RIEUL-PHIEUPH */ + {0x0eb0, 0x3140}, /* Hangul_RieulHieuh ㅀ HANGUL LETTER RIEUL-HIEUH */ + {0x0eb1, 0x3141}, /* Hangul_Mieum ㅁ HANGUL LETTER MIEUM */ + {0x0eb2, 0x3142}, /* Hangul_Pieub ㅂ HANGUL LETTER PIEUP */ + {0x0eb3, 0x3143}, /* Hangul_SsangPieub ㅃ HANGUL LETTER SSANGPIEUP */ + {0x0eb4, 0x3144}, /* Hangul_PieubSios ㅄ HANGUL LETTER PIEUP-SIOS */ + {0x0eb5, 0x3145}, /* Hangul_Sios ㅅ HANGUL LETTER SIOS */ + {0x0eb6, 0x3146}, /* Hangul_SsangSios ㅆ HANGUL LETTER SSANGSIOS */ + {0x0eb7, 0x3147}, /* Hangul_Ieung ㅇ HANGUL LETTER IEUNG */ + {0x0eb8, 0x3148}, /* Hangul_Jieuj ㅈ HANGUL LETTER CIEUC */ + {0x0eb9, 0x3149}, /* Hangul_SsangJieuj ㅉ HANGUL LETTER SSANGCIEUC */ + {0x0eba, 0x314a}, /* Hangul_Cieuc ㅊ HANGUL LETTER CHIEUCH */ + {0x0ebb, 0x314b}, /* Hangul_Khieuq ㅋ HANGUL LETTER KHIEUKH */ + {0x0ebc, 0x314c}, /* Hangul_Tieut ㅌ HANGUL LETTER THIEUTH */ + {0x0ebd, 0x314d}, /* Hangul_Phieuf ㅍ HANGUL LETTER PHIEUPH */ + {0x0ebe, 0x314e}, /* Hangul_Hieuh ㅎ HANGUL LETTER HIEUH */ + {0x0ebf, 0x314f}, /* Hangul_A ㅏ HANGUL LETTER A */ + {0x0ec0, 0x3150}, /* Hangul_AE ㅐ HANGUL LETTER AE */ + {0x0ec1, 0x3151}, /* Hangul_YA ㅑ HANGUL LETTER YA */ + {0x0ec2, 0x3152}, /* Hangul_YAE ㅒ HANGUL LETTER YAE */ + {0x0ec3, 0x3153}, /* Hangul_EO ㅓ HANGUL LETTER EO */ + {0x0ec4, 0x3154}, /* Hangul_E ㅔ HANGUL LETTER E */ + {0x0ec5, 0x3155}, /* Hangul_YEO ㅕ HANGUL LETTER YEO */ + {0x0ec6, 0x3156}, /* Hangul_YE ㅖ HANGUL LETTER YE */ + {0x0ec7, 0x3157}, /* Hangul_O ㅗ HANGUL LETTER O */ + {0x0ec8, 0x3158}, /* Hangul_WA ㅘ HANGUL LETTER WA */ + {0x0ec9, 0x3159}, /* Hangul_WAE ㅙ HANGUL LETTER WAE */ + {0x0eca, 0x315a}, /* Hangul_OE ㅚ HANGUL LETTER OE */ + {0x0ecb, 0x315b}, /* Hangul_YO ㅛ HANGUL LETTER YO */ + {0x0ecc, 0x315c}, /* Hangul_U ㅜ HANGUL LETTER U */ + {0x0ecd, 0x315d}, /* Hangul_WEO ㅝ HANGUL LETTER WEO */ + {0x0ece, 0x315e}, /* Hangul_WE ㅞ HANGUL LETTER WE */ + {0x0ecf, 0x315f}, /* Hangul_WI ㅟ HANGUL LETTER WI */ + {0x0ed0, 0x3160}, /* Hangul_YU ㅠ HANGUL LETTER YU */ + {0x0ed1, 0x3161}, /* Hangul_EU ㅡ HANGUL LETTER EU */ + {0x0ed2, 0x3162}, /* Hangul_YI ㅢ HANGUL LETTER YI */ + {0x0ed3, 0x3163}, /* Hangul_I ㅣ HANGUL LETTER I */ + {0x0eef, + 0x316d}, /* Hangul_RieulYeorinHieuh ㅭ HANGUL LETTER RIEUL-YEORINHIEUH */ + {0x0ef0, + 0x3171}, /* Hangul_SunkyeongeumMieum ㅱ HANGUL LETTER KAPYEOUNMIEUM */ + {0x0ef1, + 0x3178}, /* Hangul_SunkyeongeumPieub ㅸ HANGUL LETTER KAPYEOUNPIEUP */ + {0x0ef2, 0x317f}, /* Hangul_PanSios ㅿ HANGUL LETTER PANSIOS */ + {0x0ef4, + 0x3184}, /* Hangul_SunkyeongeumPhieuf ㆄ HANGUL LETTER KAPYEOUNPHIEUPH */ + {0x0ef5, 0x3186}, /* Hangul_YeorinHieuh ㆆ HANGUL LETTER YEORINHIEUH */ + {0x0ef6, 0x318d}, /* Hangul_AraeA ㆍ HANGUL LETTER ARAEA */ + {0x0ef7, 0x318e}, /* Hangul_AraeAE ㆎ HANGUL LETTER ARAEAE */ +}; #endif // _FCITX_UTILS_KEYDATA_H_ diff --git a/src/lib/fcitx-utils/keynametable.h b/src/lib/fcitx-utils/keynametable.h index 0aaa1556..0d9aa5f6 100644 --- a/src/lib/fcitx-utils/keynametable.h +++ b/src/lib/fcitx-utils/keynametable.h @@ -8,7 +8,7 @@ #ifndef _FCITX_UTILS_KEYNAMETABLE_H_ #define _FCITX_UTILS_KEYNAMETABLE_H_ -#include + #include FCITX_C_DECL_BEGIN diff --git a/src/lib/fcitx-utils/keysym.h b/src/lib/fcitx-utils/keysym.h index 73b2b860..e175381e 100644 --- a/src/lib/fcitx-utils/keysym.h +++ b/src/lib/fcitx-utils/keysym.h @@ -14,47 +14,41 @@ /// \brief Key sym related types. #include -#include // IWYU pragma: export +#include #include namespace fcitx { /// \brief KeyState to represent modifier keys. enum class KeyState : uint32_t { NoState = 0, - Shift = 1U << 0, - CapsLock = 1U << 1, - Ctrl = 1U << 2, - Alt = 1U << 3, + Shift = 1 << 0, + CapsLock = 1 << 1, + Ctrl = 1 << 2, + Alt = 1 << 3, Mod1 = Alt, Alt_Shift = Alt | Shift, Ctrl_Shift = Ctrl | Shift, Ctrl_Alt = Ctrl | Alt, Ctrl_Alt_Shift = Ctrl | Alt | Shift, - NumLock = 1U << 4, + NumLock = 1 << 4, Mod2 = NumLock, - Hyper = 1U << 5, + Hyper = 1 << 5, Mod3 = Hyper, - Super = 1U << 6, + Super = 1 << 6, Mod4 = Super, - Mod5 = 1U << 7, - MousePressed = 1U << 8, - HandledMask = 1U << 24, - IgnoredMask = 1U << 25, - Super2 = 1U << 26, // Gtk virtual Super - Hyper2 = 1U << 27, // Gtk virtual Hyper - Meta = 1U << 28, - /* - * Key state that used internally for virtual key board. - * - * @since 5.1.0 - */ - Virtual = 1U << 29, + Mod5 = 1 << 7, + MousePressed = 1 << 8, + HandledMask = 1 << 24, + IgnoredMask = 1 << 25, + Super2 = 1 << 26, // Gtk virtual Super + Hyper2 = 1 << 27, // Gtk virtual Hyper + Meta = 1 << 28, /** * Whether a Key Press is from key repetition. * * @since 5.0.4 */ - Repeat = 1U << 31, + Repeat = 1u << 31, UsedMask = 0x5c001fff, SimpleMask = Ctrl_Alt_Shift | Super | Super2 | Hyper | Meta, }; diff --git a/src/lib/fcitx-utils/keysymgen.h b/src/lib/fcitx-utils/keysymgen.h index c70b0b99..31b3ebe4 100644 --- a/src/lib/fcitx-utils/keysymgen.h +++ b/src/lib/fcitx-utils/keysymgen.h @@ -13,7 +13,7 @@ FCITX_C_DECL_BEGIN -typedef enum _FcitxKeySym // NOLINT(modernize-use-using) +typedef enum _FcitxKeySym { FcitxKey_None = 0x0, FcitxKey_VoidSymbol = 0xffffff, /* Void symbol */ diff --git a/src/lib/fcitx-utils/library.cpp b/src/lib/fcitx-utils/library.cpp index 8737f9a7..f4f0e009 100644 --- a/src/lib/fcitx-utils/library.cpp +++ b/src/lib/fcitx-utils/library.cpp @@ -7,11 +7,11 @@ #include "library.h" #include +#include #include #include #include #include -#include #include #include "config.h" #include "misc.h" @@ -21,7 +21,7 @@ namespace fcitx { class LibraryPrivate { public: - LibraryPrivate(std::string path) : path_(std::move(path)) {} + LibraryPrivate(const std::string &path) : path_(path), handle_(nullptr) {} ~LibraryPrivate() { unload(); } bool unload() { @@ -38,7 +38,7 @@ class LibraryPrivate { } std::string path_; - void *handle_ = nullptr; + void *handle_; std::string error_; }; @@ -137,7 +137,7 @@ bool Library::findData(const char *slug, const char *magic, size_t lenOfMagic, } void *needunmap = nullptr; void *data = needunmap = - mmap(nullptr, statbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0); + mmap(0, statbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0); if (!data) { data = malloc(statbuf.st_size); needfree.reset(data); @@ -160,7 +160,7 @@ bool Library::findData(const char *slug, const char *magic, size_t lenOfMagic, if (needunmap) { munmap(needunmap, statbuf.st_size); } - } while (false); + } while (0); close(fd); @@ -179,10 +179,4 @@ bool Library::isNewNamespaceSupported() { return false; #endif } - -const std::string &Library::path() const { - FCITX_D(); - return d->path_; -} - } // namespace fcitx diff --git a/src/lib/fcitx-utils/library.h b/src/lib/fcitx-utils/library.h index 11132775..741f52ab 100644 --- a/src/lib/fcitx-utils/library.h +++ b/src/lib/fcitx-utils/library.h @@ -44,7 +44,6 @@ class FCITXUTILS_EXPORT Library { bool findData(const char *slug, const char *magic, size_t lenOfMagic, const std::function &parser); std::string error(); - const std::string &path() const; template static auto toFunction(void *ptr) { diff --git a/src/lib/fcitx-utils/log.cpp b/src/lib/fcitx-utils/log.cpp index 705bc270..3f0d5dfd 100644 --- a/src/lib/fcitx-utils/log.cpp +++ b/src/lib/fcitx-utils/log.cpp @@ -6,15 +6,16 @@ */ #include "log.h" +#include #include #include #include #include -#include "stringutils.h" - #if FMT_VERSION >= 50300 #include #endif +#include "fs.h" +#include "stringutils.h" namespace fcitx { @@ -157,20 +158,21 @@ void Log::setLogRule(const std::string &ruleString) { if (rule == "notimedate") { globalLogConfig.showTimeDate = false; continue; - } - - auto ruleItem = stringutils::split(rule, "="); - if (ruleItem.size() != 2) { - continue; - } - auto &name = ruleItem[0]; - try { - auto level = std::stoi(ruleItem[1]); - if (validateLogLevel(level)) { - parsedRules.emplace_back(name, static_cast(level)); + } else { + auto ruleItem = stringutils::split(rule, "="); + if (ruleItem.size() != 2) { + continue; + } + auto &name = ruleItem[0]; + try { + auto level = std::stoi(ruleItem[1]); + if (validateLogLevel(level)) { + parsedRules.emplace_back(name, + static_cast(level)); + } + } catch (const std::exception &) { + continue; } - } catch (const std::exception &) { - continue; } } LogRegistry::instance().setLogRules(parsedRules); @@ -207,16 +209,12 @@ LogMessageBuilder::LogMessageBuilder(std::ostream &out, LogLevel l, #if FMT_VERSION >= 50300 if (globalLogConfig.showTimeDate) { - try { - auto now = std::chrono::system_clock::now(); - auto floor = std::chrono::floor(now); - auto micro = std::chrono::duration_cast( - now - floor); - auto t = fmt::localtime(std::chrono::system_clock::to_time_t(now)); - auto timeString = fmt::format("{:%F %T}.{:06d}", t, micro.count()); - out_ << timeString << " "; - } catch (...) { - } + auto now = std::chrono::system_clock::now(); + auto floor = std::chrono::floor(now); + auto micro = + std::chrono::duration_cast(now - floor); + auto t = fmt::localtime(std::chrono::system_clock::to_time_t(now)); + out_ << fmt::format("{:%F %T}.{:06d}", t, micro.count()) << " "; } #endif out_ << filename << ":" << lineNumber << "] "; diff --git a/src/lib/fcitx-utils/log.h b/src/lib/fcitx-utils/log.h index ebdb8158..ac7d561f 100644 --- a/src/lib/fcitx-utils/log.h +++ b/src/lib/fcitx-utils/log.h @@ -12,6 +12,7 @@ /// \file /// \brief Log utilities. +#include #include #include #include @@ -139,7 +140,7 @@ class FCITXUTILS_EXPORT LogMessageBuilder { template inline LogMessageBuilder &operator<<(const std::optional &opt) { - *this << "optional(has_value=" << opt.has_value() << " "; + *this << "optional(has_value=" << opt.has_value(); if (opt.has_value()) { *this << *opt; } @@ -315,7 +316,7 @@ class FCITXUTILS_EXPORT LogMessageBuilder { FCITX_LOGC_IF(::fcitx::Log::defaultCategory, LEVEL, CONDITION) #define FCITX_ASSERT(...) \ - FCITX_LOG_IF(Fatal, !(__VA_ARGS__)) << #__VA_ARGS__ << " failed. " + FCITX_LOG_IF(Fatal, !(__VA_ARGS__)) << #__VA_ARGS__ << " failed." #define FCITX_DEFINE_LOG_CATEGORY(name, ...) \ const ::fcitx::LogCategory &name() { \ diff --git a/src/lib/fcitx-utils/macros.h b/src/lib/fcitx-utils/macros.h index f2863a68..5e7072a0 100644 --- a/src/lib/fcitx-utils/macros.h +++ b/src/lib/fcitx-utils/macros.h @@ -46,8 +46,6 @@ #define FCITX_WHITESPACE "\f\n\r\t\v " #define FCITX_EXPAND(x) x -#define FCITX_REMOVE_PARENS_(...) __VA_ARGS__ -#define FCITX_REMOVE_PARENS(X) FCITX_REMOVE_PARENS_ X #define FCITX_FOR_EACH_0(...) #define FCITX_FOR_EACH_1(what, x, ...) what(x) @@ -152,15 +150,15 @@ } #define FCITX_DECLARE_READ_ONLY_PROPERTY(TYPE, GETTER) \ - std::conditional_t, const TYPE &, TYPE> GETTER() \ - const; + std::conditional_t::value, const TYPE &, TYPE> \ + GETTER() const; #define FCITX_DECLARE_PROPERTY(TYPE, GETTER, SETTER) \ FCITX_DECLARE_READ_ONLY_PROPERTY(TYPE, GETTER) \ void SETTER(TYPE); #define FCITX_DEFINE_READ_ONLY_PROPERTY_PRIVATE(THIS, TYPE, GETTER) \ - std::conditional_t, const TYPE &, TYPE> \ + std::conditional_t::value, const TYPE &, TYPE> \ THIS::GETTER() const { \ FCITX_TYPED_D(const THIS##Private); \ return d->GETTER##_; \ diff --git a/src/lib/fcitx-utils/metastring.h b/src/lib/fcitx-utils/metastring.h index e13131b6..6b543f1b 100644 --- a/src/lib/fcitx-utils/metastring.h +++ b/src/lib/fcitx-utils/metastring.h @@ -19,7 +19,7 @@ namespace fcitx { template struct MetaString final { public: - using array_type = char const (&)[sizeof...(c) + 1]; + typedef char const (&array_type)[sizeof...(c) + 1]; static constexpr std::size_t size() { return size_; } static constexpr const char *data() { return str_; } @@ -45,21 +45,21 @@ struct MetaStringCombine; template struct MetaStringCombine> { - using type = MetaString; + typedef MetaString type; }; template <> struct MetaStringCombine> { - using type = MetaString<>; + typedef MetaString<> type; }; template struct MetaStringCombine, MetaString<'\0'>, Rem...> { - using type = typename MetaStringCombine>::type; + typedef typename MetaStringCombine>::type type; }; template struct MetaStringCombine, MetaString, Rem...> { - using type = typename MetaStringCombine, Rem...>::type; + typedef typename MetaStringCombine, Rem...>::type type; }; template @@ -67,18 +67,18 @@ struct ConcatMetaString; template <> struct ConcatMetaString> { - using type = MetaString<>; + typedef MetaString<> type; }; template struct ConcatMetaString> { - using type = MetaString; + typedef MetaString type; }; template struct ConcatMetaString, MetaString, _Rem...> { - using type = - typename ConcatMetaString, _Rem...>::type; + typedef typename ConcatMetaString, _Rem...>::type + type; }; template @@ -91,13 +91,13 @@ using RemoveMetaStringTailType = typename RemoveMetaStringTail::type; template struct RemoveMetaStringTail> { - using type = - ConcatMetaStringType, - RemoveMetaStringTailType>>; + typedef ConcatMetaStringType, + RemoveMetaStringTailType>> + type; }; template struct RemoveMetaStringTail> { - using type = MetaString<>; + typedef MetaString<> type; }; template @@ -109,27 +109,27 @@ using MetaStringBasenameHelperType = template <> struct MetaStringBasenameHelper<> { - using type = MetaString<>; + typedef MetaString<> type; }; template struct MetaStringBasenameHelper> { - using type = MetaString; + typedef MetaString type; }; template struct MetaStringBasenameHelper> { - using type = MetaStringBasenameHelperType>; + typedef MetaStringBasenameHelperType> type; }; template struct MetaStringBasenameHelper, MetaString, Rem...> { - using type = MetaStringBasenameHelperType, Rem...>; + typedef MetaStringBasenameHelperType, Rem...> type; }; template struct MetaStringBasenameHelper, MetaString<'/'>, Rem...> { - using type = MetaStringBasenameHelperType; + typedef MetaStringBasenameHelperType type; }; template @@ -145,7 +145,7 @@ using MetaStringBasenameType = typename MetaStringBasename::type; template struct MetaStringTrim { - using type = typename MetaStringCombine...>::type; + typedef typename MetaStringCombine...>::type type; }; template diff --git a/src/lib/fcitx-utils/misc.cpp b/src/lib/fcitx-utils/misc.cpp index e31993cb..62de8c69 100644 --- a/src/lib/fcitx-utils/misc.cpp +++ b/src/lib/fcitx-utils/misc.cpp @@ -8,8 +8,7 @@ #include #include #include -#include "fcitx-utils/fs.h" -#include "fcitx-utils/misc_p.h" +#include "config.h" #include "log.h" #if defined(LIBKVM_FOUND) @@ -134,14 +133,4 @@ ssize_t getline(UniqueCPtr &lineptr, size_t *n, std::FILE *stream) { return ret; } -bool isInFlatpak() { - static const bool flatpak = []() { - if (checkBoolEnvVar("FCITX_OVERRIDE_FLATPAK")) { - return true; - } - return fs::isreg("/.flatpak-info"); - }(); - return flatpak; -} - } // namespace fcitx diff --git a/src/lib/fcitx-utils/misc.h b/src/lib/fcitx-utils/misc.h index 2c506fb6..ddd97158 100644 --- a/src/lib/fcitx-utils/misc.h +++ b/src/lib/fcitx-utils/misc.h @@ -8,6 +8,7 @@ #define _FCITX_UTILS_MISC_H_ #include +#include #include #include #include @@ -15,7 +16,6 @@ #include #include #include -#include "fcitxutils_export.h" namespace fcitx { @@ -48,11 +48,11 @@ inline const Parent *parentFromMember(const Member *member, template class KeyIterator { public: - using iterator_category = typename Iter::iterator_category; - using value_type = typename Iter::value_type::first_type; - using difference_type = typename Iter::difference_type; - using reference = typename Iter::value_type::first_type &; - using pointer = typename Iter::value_type::first_type *; + typedef typename Iter::iterator_category iterator_category; + typedef typename Iter::value_type::first_type value_type; + typedef typename Iter::difference_type difference_type; + typedef typename Iter::value_type::first_type &reference; + typedef typename Iter::value_type::first_type *pointer; KeyIterator(Iter iter) : iter_(iter) {} FCITX_INLINE_DEFINE_DEFAULT_DTOR_AND_COPY(KeyIterator) @@ -119,9 +119,8 @@ struct FunctionDeleter { }; template using UniqueCPtr = std::unique_ptr>; -static_assert( - sizeof(char *) == sizeof(UniqueCPtr), - "UniqueCPtr size is not same as raw pointer."); // ensure no overhead +static_assert(sizeof(char *) == sizeof(UniqueCPtr), + ""); // ensure no overhead using UniqueFilePtr = std::unique_ptr>; @@ -133,42 +132,6 @@ inline auto makeUniqueCPtr(T *ptr) { FCITXUTILS_EXPORT ssize_t getline(UniqueCPtr &lineptr, size_t *n, std::FILE *stream); -/** - * Util function to check whether fcitx is running in flatpak. - * - * If environment variable FCITX_OVERRIDE_FLATPAK is true, it will return true. - * Otherwise it will simply check the existence of file /.flatpak-info . - * - * @since 5.0.24 - */ -FCITXUTILS_EXPORT bool isInFlatpak(); - -/** - * Util function that returns whether it is compile against android. - * - * @since 5.1.2 - */ -FCITXUTILS_EXPORT constexpr inline bool isAndroid() { -#if defined(ANDROID) || defined(__ANDROID__) - return true; -#else - return false; -#endif -} - -/** - * Util function that returns whether it is compile against apple. - * - * @since 5.1.7 - */ -FCITXUTILS_EXPORT constexpr inline bool isApple() { -#if defined(__APPLE__) - return true; -#else - return false; -#endif -} - } // namespace fcitx #endif // _FCITX_UTILS_MISC_H_ diff --git a/src/lib/fcitx-utils/misc_p.h b/src/lib/fcitx-utils/misc_p.h index a2f2f76d..73912b5c 100644 --- a/src/lib/fcitx-utils/misc_p.h +++ b/src/lib/fcitx-utils/misc_p.h @@ -30,15 +30,9 @@ decltype(&std::declval().begin()->second) findValue(M &&m, K &&key) { return nullptr; } -template -bool containerContains(C &&container, V &&value) { - return std::find(std::begin(container), std::end(container), value) != - std::end(container); -} - template class OrderedSet { - using OrderList = std::list; + typedef std::list OrderList; public: auto begin() { return order_.begin(); } @@ -51,7 +45,6 @@ class OrderedSet { bool empty() const { return order_.empty(); } const T &front() const { return order_.front(); } - T &front() { return order_.front(); } void clear() { dict_.clear(); @@ -135,20 +128,20 @@ class OrderedMap { std::unordered_map map_; public: - using map_type = decltype(map_); - using list_type = decltype(order_); - using key_type = typename map_type::key_type; - using value_type = typename list_type::value_type; - using mapped_type = typename value_type::second_type; - - using pointer = typename list_type::pointer; - using const_pointer = typename list_type::const_pointer; - using reference = typename list_type::reference; - using const_reference = typename list_type::const_reference; - using iterator = typename list_type::iterator; - using const_iterator = typename list_type::const_iterator; - using size_type = typename list_type::size_type; - using difference_type = typename list_type::difference_type; + typedef decltype(map_) map_type; + typedef decltype(order_) list_type; + typedef typename map_type::key_type key_type; + typedef typename list_type::value_type value_type; + typedef typename value_type::second_type mapped_type; + + typedef typename list_type::pointer pointer; + typedef typename list_type::const_pointer const_pointer; + typedef typename list_type::reference reference; + typedef typename list_type::const_reference const_reference; + typedef typename list_type::iterator iterator; + typedef typename list_type::const_iterator const_iterator; + typedef typename list_type::size_type size_type; + typedef typename list_type::difference_type difference_type; OrderedMap() = default; OrderedMap(const OrderedMap &other) : order_(other.order_) { fillMap(); } @@ -309,7 +302,7 @@ static inline bool checkBoolEnvVar(const char *name) { template static inline uint32_t FromLittleEndian32(const T *d) { - const auto *data = reinterpret_cast(d); + const uint8_t *data = reinterpret_cast(d); uint32_t t; memcpy(&t, data, sizeof(t)); return le32toh(t); diff --git a/src/lib/fcitx-utils/rect.h b/src/lib/fcitx-utils/rect.h index a99cb8c2..ed11e4be 100644 --- a/src/lib/fcitx-utils/rect.h +++ b/src/lib/fcitx-utils/rect.h @@ -14,7 +14,6 @@ #include #include -#include #include "fcitxutils_export.h" namespace fcitx { @@ -55,12 +54,7 @@ class FCITXUTILS_EXPORT Rect { return *this; } - // FIXME: remove this. inline Rect intersected(const Rect &rect) noexcept { - return std::as_const(*this).intersected(rect); - } - - inline Rect intersected(const Rect &rect) const noexcept { Rect tmp; tmp.x1_ = std::max(x1_, rect.x1_); tmp.x2_ = std::min(x2_, rect.x2_); diff --git a/src/lib/fcitx-utils/semver.cpp b/src/lib/fcitx-utils/semver.cpp index 91bc03de..36432b69 100644 --- a/src/lib/fcitx-utils/semver.cpp +++ b/src/lib/fcitx-utils/semver.cpp @@ -7,7 +7,6 @@ #include "semver.h" #include -#include #include #include "charutils.h" #include "misc.h" @@ -15,15 +14,13 @@ namespace fcitx { -namespace { - bool isIdChar(char c) { return charutils::islower(c) || charutils::isupper(c) || c == '-' || charutils::isdigit(c) || c == '.'; } std::optional consumeNumericIdentifier(std::string_view &str) { - const auto *endOfNum = + auto endOfNum = std::find_if_not(str.begin(), str.end(), charutils::isdigit); auto length = std::distance(str.begin(), endOfNum); if (length == 0) { @@ -47,8 +44,7 @@ std::optional consumeNumericIdentifier(std::string_view &str) { std::optional> consumePrereleaseIds(std::string_view &data) { std::vector preReleaseIds; - std::string_view::const_iterator endOfVersion = - std::find_if_not(data.begin(), data.end(), isIdChar); + auto endOfVersion = std::find_if_not(data.begin(), data.end(), isIdChar); auto length = std::distance(data.begin(), endOfVersion); auto idString = data.substr(0, length); auto ids = stringutils::split(idString, ".", @@ -89,10 +85,6 @@ std::optional> consumeBuild(std::string_view &data) { return std::nullopt; } -const std::string kEmptyString; - -} // namespace - PreReleaseId::PreReleaseId(uint32_t id) : value_(id) {} PreReleaseId::PreReleaseId(std::string id) : value_(std::move(id)) {} @@ -112,30 +104,19 @@ int PreReleaseId::compare(const PreReleaseId &other) const noexcept { return isNum ? -1 : 1; } if (isNum && otherIsNum) { - if (numericId() == other.numericId()) { - return 0; - } - return numericId() < other.numericId() ? -1 : 1; + return numericId() - other.numericId(); } return id().compare(other.id()); } -const std::string &PreReleaseId::id() const noexcept { - if (const auto *value = std::get_if(&value_)) { - return *value; - } - return kEmptyString; +const std::string &PreReleaseId::id() const { + return std::get(value_); } -uint32_t PreReleaseId::numericId() const noexcept { - if (const auto *value = std::get_if(&value_)) { - return *value; - } - return 0; -} +uint32_t PreReleaseId::numericId() const { return std::get(value_); } -bool PreReleaseId::isNumeric() const noexcept { +bool PreReleaseId::isNumeric() const { return std::holds_alternative(value_); } @@ -253,21 +234,21 @@ std::optional SemanticVersion::parse(std::string_view data) { int SemanticVersion::compare(const SemanticVersion &other) const noexcept { if (major_ != other.major_) { - return major_ < other.major_ ? -1 : 1; + return major_ - other.major_; } if (minor_ != other.minor_) { - return minor_ < other.minor_ ? -1 : 1; + return minor_ - other.minor_; } if (patch_ != other.patch_) { - return patch_ < other.patch_ ? -1 : 1; + return patch_ - other.patch_; } bool preRelease = isPreRelease(); - bool otherIsPreRelease = other.isPreRelease(); + bool otherIsPrerelase = other.isPreRelease(); - if (preRelease != otherIsPreRelease) { + if (preRelease != otherIsPrerelase) { return preRelease ? -1 : 1; } @@ -284,10 +265,8 @@ int SemanticVersion::compare(const SemanticVersion &other) const noexcept { } } - if (preReleaseIds_.size() == other.preReleaseIds_.size()) { - return 0; - } - return preReleaseIds_.size() < other.preReleaseIds_.size() ? -1 : 1; + return static_cast(preReleaseIds_.size()) - + static_cast(other.preReleaseIds_.size()); } } // namespace fcitx diff --git a/src/lib/fcitx-utils/semver.h b/src/lib/fcitx-utils/semver.h index 7d1103fd..6fe32679 100644 --- a/src/lib/fcitx-utils/semver.h +++ b/src/lib/fcitx-utils/semver.h @@ -27,9 +27,9 @@ class FCITXUTILS_EXPORT PreReleaseId { std::string toString() const; - bool isNumeric() const noexcept; - uint32_t numericId() const noexcept; - const std::string &id() const noexcept; + bool isNumeric() const; + uint32_t numericId() const; + const std::string &id() const; int compare(const PreReleaseId &other) const noexcept; diff --git a/src/lib/fcitx-utils/signals.h b/src/lib/fcitx-utils/signals.h index ec43b090..d084b59f 100644 --- a/src/lib/fcitx-utils/signals.h +++ b/src/lib/fcitx-utils/signals.h @@ -16,7 +16,7 @@ #include #include #include -#include // IWYU pragma: export +#include #include #include @@ -44,7 +44,7 @@ class LastValue { template <> class LastValue { public: - LastValue() = default; + LastValue() {} template void operator()(InputIterator begin, InputIterator end) { for (; begin != end; begin++) { @@ -57,15 +57,13 @@ class LastValue { /// connection. class Connection { public: - Connection() = default; + Connection() {} explicit Connection(TrackableObjectReference body) : body_(std::move(body)) {} FCITX_INLINE_DEFINE_DEFAULT_DTOR_COPY_AND_MOVE(Connection) - // FIXME: merge this bool connected() { return body_.isValid(); } - bool connected() const { return body_.isValid(); } void disconnect() { auto *body = body_.get(); @@ -92,7 +90,7 @@ class ScopedConnection : public Connection { ScopedConnection(Connection &&other) noexcept : Connection(std::move(other)) {} ScopedConnection(const ScopedConnection &) = delete; - ScopedConnection() = default; + ScopedConnection() {} ScopedConnection &operator=(ScopedConnection &&other) noexcept { if (&other == this) { @@ -134,11 +132,11 @@ class Signal : public SignalBase { }; public: - using return_type = Ret; - using function_type = Ret(Args...); + typedef Ret return_type; + typedef Ret function_type(Args...); Signal(Combiner combiner = Combiner()) : d_ptr(std::make_unique(std::move(combiner))) {} - ~Signal() override { + virtual ~Signal() { if (d_ptr) { disconnectAll(); } diff --git a/src/lib/fcitx-utils/signals_details.h b/src/lib/fcitx-utils/signals_details.h index 687618ed..c5c54207 100644 --- a/src/lib/fcitx-utils/signals_details.h +++ b/src/lib/fcitx-utils/signals_details.h @@ -23,7 +23,7 @@ class Invoker { Invoker(Args &...args) : args_(args...) {} template - Ret operator()(const Func &func) { + Ret operator()(Func &func) { return callWithTuple(func, args_); } @@ -37,14 +37,14 @@ class SlotInvokeIterator; template class SlotInvokeIterator> { public: - using iterator_category = std::input_iterator_tag; - using function_type = std::function; - using value_type = typename function_type::result_type; - using difference_type = std::ptrdiff_t; - using reference = value_type; - using super_iterator = typename HandlerTableView::iterator; - using iterator = SlotInvokeIterator; - using invoker_type = Invoker; + typedef std::input_iterator_tag iterator_category; + typedef std::function function_type; + typedef typename function_type::result_type value_type; + typedef std::ptrdiff_t difference_type; + typedef value_type reference; + typedef typename HandlerTableView::iterator super_iterator; + typedef SlotInvokeIterator iterator; + typedef Invoker invoker_type; SlotInvokeIterator(invoker_type &invoker, super_iterator iter) : parentIter_(iter), invoker_(invoker) {} @@ -91,7 +91,7 @@ class ConnectionBody : public TrackableObject, ConnectionBody(std::unique_ptr> entry) : entry_(std::move(entry)) {} - ~ConnectionBody() override { remove(); } + virtual ~ConnectionBody() { remove(); } private: std::unique_ptr entry_; diff --git a/src/lib/fcitx-utils/standardpath.cpp b/src/lib/fcitx-utils/standardpath.cpp index 76030c8a..6e4bd358 100644 --- a/src/lib/fcitx-utils/standardpath.cpp +++ b/src/lib/fcitx-utils/standardpath.cpp @@ -8,31 +8,16 @@ #include "standardpath.h" #include #include +#include #include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include #include #include -#include #include #include "config.h" #include "fs.h" -#include "macros.h" -#include "misc.h" #include "misc_p.h" #include "stringutils.h" @@ -40,10 +25,6 @@ #include #endif -#ifndef O_ACCMODE -#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) -#endif - namespace fcitx { namespace { @@ -52,16 +33,16 @@ bool isAbsolutePath(const std::string &path) { } std::string constructPath(const std::string &basepath, - const std::string &subpath) { + const std::string &path) { if (basepath.empty()) { return {}; } - return fs::cleanPath(stringutils::joinPath(basepath, subpath)); + return fs::cleanPath(stringutils::joinPath(basepath, path)); } } // namespace -StandardPathFile::~StandardPathFile() = default; +StandardPathFile::~StandardPathFile() {} int StandardPathFile::release() { return fd_.release(); } @@ -81,6 +62,7 @@ void StandardPathTempFile::close() { if (fd_.fd() >= 0) { // sync first. fsync(fd_.fd()); + // close it fd_.reset(); if (rename(tempPath_.c_str(), path_.c_str()) < 0) { unlink(tempPath_.c_str()); @@ -90,55 +72,44 @@ void StandardPathTempFile::close() { class StandardPathPrivate { public: - StandardPathPrivate( - const std::string &packageName, - const std::unordered_map &builtInPathMap, - bool skipBuiltInPath, bool skipUserPath) - : skipBuiltInPath_(skipBuiltInPath), skipUserPath_(skipUserPath) { - bool isFcitx = (packageName == "fcitx5"); + StandardPathPrivate(bool skipFcitxPath, bool skipUserPath) + : skipUserPath_(skipUserPath) { // initialize user directory configHome_ = defaultPath("XDG_CONFIG_HOME", ".config"); - pkgconfigHome_ = - defaultPath((isFcitx ? "FCITX_CONFIG_HOME" : nullptr), - constructPath(configHome_, packageName).c_str()); - configDirs_ = defaultPaths("XDG_CONFIG_DIRS", "/etc/xdg", - builtInPathMap, nullptr); + pkgconfigHome_ = defaultPath( + "FCITX_CONFIG_HOME", constructPath(configHome_, "fcitx5").c_str()); + configDirs_ = defaultPaths("XDG_CONFIG_DIRS", "/etc/xdg", nullptr); auto pkgconfigDirFallback = configDirs_; for (auto &path : pkgconfigDirFallback) { - path = constructPath(path, packageName); + path = constructPath(path, "fcitx5"); } - pkgconfigDirs_ = - defaultPaths((isFcitx ? "FCITX_CONFIG_DIRS" : nullptr), - stringutils::join(pkgconfigDirFallback, ":").c_str(), - builtInPathMap, nullptr); + pkgconfigDirs_ = defaultPaths( + "FCITX_CONFIG_DIRS", + stringutils::join(pkgconfigDirFallback, ":").c_str(), nullptr); dataHome_ = defaultPath("XDG_DATA_HOME", ".local/share"); - pkgdataHome_ = - defaultPath((isFcitx ? "FCITX_DATA_HOME" : nullptr), - constructPath(dataHome_, packageName).c_str()); + pkgdataHome_ = defaultPath("FCITX_DATA_HOME", + constructPath(dataHome_, "fcitx5").c_str()); dataDirs_ = defaultPaths("XDG_DATA_DIRS", "/usr/local/share:/usr/share", - builtInPathMap, - skipBuiltInPath_ ? nullptr : "datadir"); + skipFcitxPath ? nullptr : "datadir"); auto pkgdataDirFallback = dataDirs_; for (auto &path : pkgdataDirFallback) { - path = constructPath(path, packageName); + path = constructPath(path, "fcitx5"); } - pkgdataDirs_ = defaultPaths( - (isFcitx ? "FCITX_DATA_DIRS" : nullptr), - stringutils::join(pkgdataDirFallback, ":").c_str(), builtInPathMap, - skipBuiltInPath_ ? nullptr : "pkgdatadir"); + pkgdataDirs_ = + defaultPaths("FCITX_DATA_DIRS", + stringutils::join(pkgdataDirFallback, ":").c_str(), + skipFcitxPath ? nullptr : "pkgdatadir"); cacheHome_ = defaultPath("XDG_CACHE_HOME", ".cache"); const char *tmpdir = getenv("TMPDIR"); runtimeDir_ = defaultPath("XDG_RUNTIME_DIR", !tmpdir || !tmpdir[0] ? "/tmp" : tmpdir); - // Though theoratically, this is also fcitxPath, we just simply don't - // use it here. - addonDirs_ = defaultPaths("FCITX_ADDON_DIRS", FCITX_INSTALL_ADDONDIR, - builtInPathMap, nullptr); - - syncUmask(); + addonDirs_ = + defaultPaths("FCITX_ADDON_DIRS", FCITX_INSTALL_ADDONDIR, nullptr); } + FCITX_INLINE_DEFINE_DEFAULT_DTOR_AND_COPY(StandardPathPrivate) + std::string userPath(StandardPath::Type type) const { if (skipUserPath_) { return {}; @@ -179,26 +150,11 @@ class StandardPathPrivate { } bool skipUser() const { return skipUserPath_; } - bool skipBuiltIn() const { return skipBuiltInPath_; } - - void syncUmask() { - // read umask, use 022 which is likely the default value, so less likely - // to mess things up. - mode_t old = ::umask(022); - // restore - ::umask(old); - umask_.store(old, std::memory_order_relaxed); - } - - mode_t umask() const { return umask_.load(std::memory_order_relaxed); } private: // http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html static std::string defaultPath(const char *env, const char *defaultPath) { - char *cdir = nullptr; - if (env) { - cdir = getenv(env); - } + char *cdir = getenv(env); std::string dir; if (cdir && cdir[0]) { dir = cdir; @@ -211,7 +167,7 @@ class StandardPathPrivate { } dir = stringutils::joinPath(home, defaultPath); } else { - if (env && strcmp(env, "XDG_RUNTIME_DIR") == 0) { + if (strcmp(env, "XDG_RUNTIME_DIR") == 0) { dir = stringutils::joinPath( defaultPath, stringutils::concat("fcitx-runtime-", geteuid())); @@ -226,7 +182,7 @@ class StandardPathPrivate { } } - if (!dir.empty() && env && strcmp(env, "XDG_RUNTIME_DIR") == 0) { + if (!dir.empty() && strcmp(env, "XDG_RUNTIME_DIR") == 0) { struct stat buf; if (stat(dir.c_str(), &buf) != 0 || buf.st_uid != geteuid() || (buf.st_mode & 0777) != S_IRWXU) { @@ -236,16 +192,12 @@ class StandardPathPrivate { return dir; } - static std::vector defaultPaths( - const char *env, const char *defaultPath, - const std::unordered_map &builtInPathMap, - const char *builtInPathType) { + static std::vector defaultPaths(const char *env, + const char *defaultPath, + const char *fcitxPath) { std::vector dirs; - const char *dir = nullptr; - if (env) { - dir = getenv(env); - } + const char *dir = getenv(env); if (!dir) { dir = defaultPath; } @@ -264,15 +216,9 @@ class StandardPathPrivate { dirs.push_back(s); } } - if (builtInPathType) { - std::string builtInPath; - if (const auto *value = - findValue(builtInPathMap, builtInPathType)) { - builtInPath = *value; - } else { - builtInPath = StandardPath::fcitxPath(builtInPathType); - } - std::string path = fs::cleanPath(builtInPath); + if (fcitxPath) { + std::string path = + fs::cleanPath(StandardPath::fcitxPath(fcitxPath)); if (!path.empty() && std::find(dirs.begin(), dirs.end(), path) == dirs.end()) { dirs.push_back(path); @@ -282,7 +228,6 @@ class StandardPathPrivate { return dirs; } - bool skipBuiltInPath_; bool skipUserPath_; std::string configHome_; std::vector configDirs_; @@ -295,23 +240,16 @@ class StandardPathPrivate { std::string cacheHome_; std::string runtimeDir_; std::vector addonDirs_; - std::atomic umask_; }; -StandardPath::StandardPath( - const std::string &packageName, - const std::unordered_map &builtInPath, - bool skipBuiltInPath, bool skipUserPath) - : d_ptr(std::make_unique( - packageName, builtInPath, skipBuiltInPath, skipUserPath)) {} - StandardPath::StandardPath(bool skipFcitxPath, bool skipUserPath) - : StandardPath("fcitx5", {}, skipFcitxPath, skipUserPath) {} + : d_ptr( + std::make_unique(skipFcitxPath, skipUserPath)) {} StandardPath::StandardPath(bool skipFcitxPath) : StandardPath(skipFcitxPath, false) {} -StandardPath::~StandardPath() = default; +StandardPath::~StandardPath() {} const StandardPath &StandardPath::global() { bool skipFcitx = checkBoolEnvVar("SKIP_FCITX_PATH"); @@ -454,11 +392,11 @@ std::string StandardPath::locate(Type type, const std::string &path) const { } else { scanDirectories(type, [&retPath, &path](const std::string &dirPath, bool) { - std::string fullPath = constructPath(dirPath, path); + auto fullPath = constructPath(dirPath, path); if (!fs::isreg(fullPath)) { return true; } - retPath = std::move(fullPath); + retPath = fullPath; return false; }); } @@ -504,7 +442,7 @@ StandardPathFile StandardPath::open(Type type, const std::string &path, return true; } retFD = fd; - fdPath = std::move(fullPath); + fdPath = fullPath; return false; }); } @@ -523,18 +461,12 @@ StandardPathFile StandardPath::openUser(Type type, const std::string &path, } fullPath = constructPath(dirPath, path); } - - // Try ensure directory exists if we want to write. - if ((flags & O_ACCMODE) == O_WRONLY || (flags & O_ACCMODE) == O_RDWR) { - if (!fs::makePath(fs::dirName(fullPath))) { - return {}; + if (fs::makePath(fs::dirName(fullPath))) { + int fd = ::open(fullPath.c_str(), flags, 0600); + if (fd >= 0) { + return {fd, fullPath}; } } - - int fd = ::open(fullPath.c_str(), flags, 0600); - if (fd >= 0) { - return {fd, fullPath}; - } return {}; } @@ -560,7 +492,7 @@ StandardPathFile StandardPath::openSystem(Type type, const std::string &path, return true; } retFD = fd; - fdPath = std::move(fullPath); + fdPath = fullPath; return false; }); } @@ -594,10 +526,9 @@ std::vector StandardPath::openAll(StandardPath::Type type, StandardPathTempFile StandardPath::openUserTemp(Type type, const std::string &pathOrig) const { std::string path = pathOrig + "_XXXXXX"; - std::string fullPath; - std::string fullPathOrig; + std::string fullPath, fullPathOrig; if (isAbsolutePath(pathOrig)) { - fullPath = std::move(path); + fullPath = path; fullPathOrig = pathOrig; } else { auto dirPath = userDirectory(type); @@ -608,11 +539,10 @@ StandardPath::openUserTemp(Type type, const std::string &pathOrig) const { fullPathOrig = constructPath(dirPath, pathOrig); } if (fs::makePath(fs::dirName(fullPath))) { - std::vector cPath(fullPath.data(), - fullPath.data() + fullPath.size() + 1); - int fd = mkstemp(cPath.data()); + auto cPath = makeUniqueCPtr(strdup(fullPath.c_str())); + int fd = mkstemp(cPath.get()); if (fd >= 0) { - return {fd, fullPathOrig, cPath.data()}; + return {fd, fullPathOrig, cPath.get()}; } } return {}; @@ -620,16 +550,12 @@ StandardPath::openUserTemp(Type type, const std::string &pathOrig) const { bool StandardPath::safeSave(Type type, const std::string &pathOrig, const std::function &callback) const { - FCITX_D(); auto file = openUserTemp(type, pathOrig); if (!file.isValid()) { return false; } try { if (callback(file.fd())) { - - // close it - fchmod(file.fd(), 0666 & ~(d->umask())); return true; } } catch (const std::exception &) { @@ -638,27 +564,6 @@ bool StandardPath::safeSave(Type type, const std::string &pathOrig, return false; } -std::map StandardPath::locateWithFilter( - Type type, const std::string &path, - std::function - filter) const { - std::map result; - scanFiles(type, path, - [&result, &filter](const std::string &path, - const std::string &dir, bool isUser) { - if (!result.count(path) && filter(path, dir, isUser)) { - auto fullPath = constructPath(dir, path); - if (fs::isreg(fullPath)) { - result.emplace(path, std::move(fullPath)); - } - } - return true; - }); - - return result; -} - StandardPathFileMap StandardPath::multiOpenFilter( Type type, const std::string &path, int flags, std::functionsyncUmask(); } - -bool StandardPath::skipBuiltInPath() const { - FCITX_D(); - return d->skipBuiltIn(); -} - -bool StandardPath::skipUserPath() const { - FCITX_D(); - return d->skipUser(); -} - } // namespace fcitx diff --git a/src/lib/fcitx-utils/standardpath.h b/src/lib/fcitx-utils/standardpath.h index 810459c1..58e90f8a 100644 --- a/src/lib/fcitx-utils/standardpath.h +++ b/src/lib/fcitx-utils/standardpath.h @@ -19,14 +19,12 @@ /// \endcode /// Open all files under $XDG_CONFIG_{HOME,DIRS}/fcitx5/inputmethod/*.conf. -#include #include #include #include #include -#include #include -#include +#include #include #include #include @@ -43,19 +41,17 @@ class Chainer; template <> class Chainer<> { public: - bool operator()(const std::string & /*unused*/, - const std::string & /*unused*/, bool /*unused*/) { + bool operator()(const std::string &, const std::string &, bool) { return true; } }; template class Chainer : Chainer { - using super_class = Chainer; + typedef Chainer super_class; public: - Chainer(First first, Rest... rest) - : super_class(std::move(rest)...), filter(std::move(first)) {} + Chainer(First first, Rest... rest) : super_class(rest...), filter(first) {} bool operator()(const std::string &path, const std::string &dir, bool user) { @@ -90,8 +86,7 @@ NotFilter Not(T t) { /// \brief Filter class that filters based on user file. struct FCITXUTILS_EXPORT User { - bool operator()(const std::string & /*unused*/, - const std::string & /*unused*/, bool isUser) { + bool operator()(const std::string &, const std::string &, bool isUser) { return isUser; } }; @@ -100,8 +95,7 @@ struct FCITXUTILS_EXPORT User { struct FCITXUTILS_EXPORT Prefix { Prefix(const std::string &prefix_) : prefix(prefix_) {} - bool operator()(const std::string &path, const std::string & /*unused*/, - bool /*unused*/) const { + bool operator()(const std::string &path, const std::string &, bool) const { return stringutils::startsWith(path, prefix); } @@ -112,8 +106,7 @@ struct FCITXUTILS_EXPORT Prefix { struct FCITXUTILS_EXPORT Suffix { Suffix(const std::string &suffix_) : suffix(suffix_) {} - bool operator()(const std::string &path, const std::string & /*unused*/, - bool /*unused*/) const { + bool operator()(const std::string &path, const std::string &, bool) const { return stringutils::endsWith(path, suffix); } @@ -172,9 +165,9 @@ class FCITXUTILS_EXPORT StandardPathFile { class StandardPathPrivate; -using StandardPathFileMap = std::map; -using StandardPathFilesMap = - std::map>; +typedef std::map StandardPathFileMap; +typedef std::map> + StandardPathFilesMap; /// \brief Utility class to open, locate, list files based on XDG standard. class FCITXUTILS_EXPORT StandardPath { @@ -197,20 +190,6 @@ class FCITXUTILS_EXPORT StandardPath { PkgData }; - /** - * Allow to construct a StandardPath with customized internal value. - * - * @param packageName the sub directory under other paths. - * @param builtInPath this will override the value from fcitxPath. - * @param skipBuiltInPath skip built-in path - * @param skipUserPath skip user path, useful when doing readonly-test. - * @since 5.1.9 - */ - StandardPath( - const std::string &packageName, - const std::unordered_map &builtInPath, - bool skipBuiltInPath, bool skipUserPath); - StandardPath(bool skipFcitxPath, bool skipUserPath); StandardPath(bool skipFcitxPath = false); virtual ~StandardPath(); @@ -304,41 +283,9 @@ class FCITXUTILS_EXPORT StandardPath { bool safeSave(Type type, const std::string &pathOrig, const std::function &callback) const; - /** - * \brief Locate all files match the filter under first [directory]/[path]. - * - * Prefer this function over multiOpenFilter, if there could be too many - * files that exceeds the systems file descriptor limit. - * @since 5.1.10 - * @see multiOpenFilter - */ - std::map - locateWithFilter(Type type, const std::string &path, - std::function - filter) const; - - /** - * \brief Locate all files match the filter under first [directory]/[path]. - * - * You may pass multiple filter to it. - * Prefer this function over multiOpen, if there could be too many - * files that exceeds the systems file descriptor limit. - * @since 5.1.10 - * @see multiOpen - */ - template - std::map - locate(Type type, const std::string &path, Arg1 arg1, Args... args) const { - return locateWithFilter(type, path, - filter::Chainer( - std::move(arg1), std::move(args)...)); - } - /// \brief Open all files match the first [directory]/[path]. std::vector openAll(Type type, const std::string &path, int flags) const; - /// \brief Open all files match the filter under first [directory]/[path]. StandardPathFileMap multiOpenFilter(Type type, const std::string &path, int flags, @@ -353,7 +300,7 @@ class FCITXUTILS_EXPORT StandardPath { StandardPathFileMap multiOpen(Type type, const std::string &path, int flags, Args... args) const { return multiOpenFilter(type, path, flags, - filter::Chainer(std::move(args)...)); + filter::Chainer(args...)); } /// \brief Open all files match the filter under all [directory]/[path]. @@ -393,33 +340,6 @@ class FCITXUTILS_EXPORT StandardPath { */ static bool hasExecutable(const std::string &name); - /** - * Sync system umask to internal state. This will affect the file - * permission created by safeSave. - * - * @see safeSave - * @since 5.1.2 - */ - void syncUmask() const; - - /** - * Whether this StandardPath is configured to Skip built-in path. - * - * Built-in path is usually configured at build time, hardcoded. - * In portable environment (Install prefix is not fixed), this should be - * set to false. - * - * @since 5.1.9 - */ - bool skipBuiltInPath() const; - - /** - * Whether this StandardPath is configured to Skip user path. - * - * @since 5.1.9 - */ - bool skipUserPath() const; - private: std::unique_ptr d_ptr; FCITX_DECLARE_PRIVATE(StandardPath); diff --git a/src/lib/fcitx-utils/stringutils.cpp b/src/lib/fcitx-utils/stringutils.cpp index c2f7dfe3..d80e43ee 100644 --- a/src/lib/fcitx-utils/stringutils.cpp +++ b/src/lib/fcitx-utils/stringutils.cpp @@ -7,7 +7,6 @@ #include "stringutils.h" #include #include -#include #include "charutils.h" #include "macros.h" @@ -22,7 +21,7 @@ concatPieces(std::initializer_list> list) { } std::string result; result.reserve(size); - for (const auto &pair : list) { + for (auto pair : list) { result.append(pair.first, pair.first + pair.second); } assert(result.size() == size); @@ -38,7 +37,7 @@ std::string concatPathPieces( bool first = true; bool firstPieceIsSlash = false; std::size_t size = 0; - for (const auto &pair : list) { + for (auto pair : list) { if (first) { if (pair.first[pair.second - 1] == '/') { firstPieceIsSlash = true; @@ -125,11 +124,14 @@ trimInplace(std::string_view str) { } FCITXUTILS_DEPRECATED_EXPORT -std::string trim(const std::string &str) { return trim(std::string_view(str)); } +std::string trim(const std::string &str) { + auto pair = trimInplaceImpl(str); + return std::string(str.begin() + pair.first, str.begin() + pair.second); +} std::string trim(std::string_view str) { auto pair = trimInplaceImpl(str); - return {str.begin() + pair.first, str.begin() + pair.second}; + return std::string(str.begin() + pair.first, str.begin() + pair.second); } std::string_view trimView(std::string_view str) { @@ -146,8 +148,7 @@ std::vector split(const std::string &str, const std::string &delim, std::vector split(std::string_view str, std::string_view delim, SplitBehavior behavior) { std::vector strings; - std::string::size_type lastPos; - std::string::size_type pos; + std::string::size_type lastPos, pos; if (behavior == SplitBehavior::SkipEmpty) { lastPos = str.find_first_not_of(delim, 0); } else { @@ -180,35 +181,23 @@ std::vector split(std::string_view str, std::string_view delim) { return split(str, delim, SplitBehavior::SkipEmpty); } +#define MAX_REPLACE_INDICES_NUM 128 + std::string replaceAll(std::string str, const std::string &before, const std::string &after) { if (before.empty()) { return str; } - constexpr int MAX_REPLACE_INDICES_NUM = 128; - size_t pivot = 0; std::string newString; size_t lastLen = 0; - size_t indices[MAX_REPLACE_INDICES_NUM]; + int indices[MAX_REPLACE_INDICES_NUM]; - size_t newStringPos = 0; - size_t oldStringPos = 0; - - auto copyAndMoveOn = [&newString, &newStringPos](std::string_view source, - size_t pos, - size_t length) { - if (length == 0) { - return; - } - // Append source[pos..pos+length] to newString. - newString.replace(newStringPos, length, source, pos, length); - newStringPos += length; - }; + int newStringPos = 0; + int oldStringPos = 0; do { - int nIndices = 0; while (nIndices < MAX_REPLACE_INDICES_NUM) { pivot = str.find(before, pivot); @@ -222,27 +211,38 @@ std::string replaceAll(std::string str, const std::string &before, if (nIndices) { if (!lastLen) { - lastLen = str.size() + nIndices * after.size() - - nIndices * before.size(); + lastLen = + str.size() + nIndices * (after.size() - before.size()); newString.resize(lastLen); } else { - size_t newLen = lastLen + nIndices * after.size() - - nIndices * before.size(); + size_t newLen = + lastLen + nIndices * (after.size() - before.size()); lastLen = newLen; newString.resize(newLen); } +#define _COPY_AND_MOVE_ON(s, pos, LEN) \ + do { \ + int diffLen = (LEN); \ + if ((LEN) == 0) { \ + break; \ + } \ + newString.replace(newStringPos, diffLen, s, pos, diffLen); \ + newStringPos += diffLen; \ + } while (0) + // string s is split as // oldStringPos, indices[0], indices[0] + before.size(), indices[1], // indices[1] + before.size() // .... indices[nIndices - 1], indices[nIndices - 1] + before.size() - copyAndMoveOn(str, oldStringPos, indices[0] - oldStringPos); - copyAndMoveOn(after, 0, after.size()); + _COPY_AND_MOVE_ON(str, oldStringPos, indices[0] - oldStringPos); + _COPY_AND_MOVE_ON(after, 0, after.size()); for (int i = 1; i < nIndices; i++) { - copyAndMoveOn(str, indices[i - 1] + before.size(), - indices[i] - (indices[i - 1] + before.size())); - copyAndMoveOn(after, 0, after.size()); + _COPY_AND_MOVE_ON(str, indices[i] + before.size(), + indices[i] - + (indices[i - 1] + before.size())); + _COPY_AND_MOVE_ON(after, 0, after.size()); } oldStringPos = indices[nIndices - 1] + before.size(); @@ -253,7 +253,7 @@ std::string replaceAll(std::string str, const std::string &before, return str; } - copyAndMoveOn(str, oldStringPos, str.size() - oldStringPos); + _COPY_AND_MOVE_ON(str, oldStringPos, str.size() - oldStringPos); newString.resize(newStringPos); return newString; @@ -282,8 +282,7 @@ const char *backwardSearch(const char *haystack, size_t l, const char *needle, const unsigned int ol_minus_1 = ol - 1; const char *n = needle + ol_minus_1; const char *h = haystack + ol_minus_1; - unsigned int hashNeedle = 0; - unsigned int hashHaystack = 0; + unsigned int hashNeedle = 0, hashHaystack = 0; size_t idx; for (idx = 0; idx < ol; ++idx) { hashNeedle = ((hashNeedle << 1) + *(n - idx)); @@ -378,31 +377,15 @@ std::optional unescapeForValue(std::string_view str) { } std::string escapeForValue(std::string_view str) { - std::string value; - value.reserve(str.size()); - const bool needQuote = - str.find_first_of("\f\r\t\v \"") != std::string::npos; - if (needQuote) { - value.push_back('"'); - } - for (char c : str) { - switch (c) { - case '\\': - value.append("\\\\"); - break; - case '\n': - value.append("\\n"); - break; - case '"': - value.append("\\\""); - break; - default: - value.push_back(c); - break; - } - } + std::string value(str); + value = stringutils::replaceAll(value, "\\", "\\\\"); + value = stringutils::replaceAll(value, "\n", "\\n"); + + bool needQuote = value.find_first_of("\f\r\t\v \"") != std::string::npos; + if (needQuote) { - value.push_back('"'); + value = stringutils::replaceAll(value, "\"", "\\\""); + return stringutils::concat("\"", value, "\""); } return value; diff --git a/src/lib/fcitx-utils/stringutils.h b/src/lib/fcitx-utils/stringutils.h index fc8888f3..24aab817 100644 --- a/src/lib/fcitx-utils/stringutils.h +++ b/src/lib/fcitx-utils/stringutils.h @@ -22,7 +22,8 @@ #include "fcitxutils_export.h" #include "stringutils_details.h" -namespace fcitx::stringutils { +namespace fcitx { +namespace stringutils { /// \brief Check if a string starts with a prefix. FCITXUTILS_EXPORT bool startsWith(std::string_view str, @@ -182,6 +183,7 @@ unescapeForValue(std::string_view str); */ FCITXUTILS_EXPORT std::string escapeForValue(std::string_view str); -} // namespace fcitx::stringutils +} // namespace stringutils +} // namespace fcitx #endif // _FCITX_UTILS_STRINGUTILS_H_ diff --git a/src/lib/fcitx-utils/testing.cpp b/src/lib/fcitx-utils/testing.cpp index 5b7ed79c..b3f82a01 100644 --- a/src/lib/fcitx-utils/testing.cpp +++ b/src/lib/fcitx-utils/testing.cpp @@ -9,11 +9,9 @@ #include "standardpath.h" #include "stringutils.h" -namespace fcitx { - -void setupTestingEnvironment(const std::string &testBinaryDir, - const std::vector &addonDirs, - const std::vector &dataDirs) { +void fcitx::setupTestingEnvironment(const std::string &testBinaryDir, + const std::vector &addonDirs, + const std::vector &dataDirs) { // Skip resolution with fcitxPath setenv("SKIP_FCITX_PATH", "1", 1); setenv("SKIP_FCITX_USER_PATH", "1", 1); @@ -55,5 +53,3 @@ void setupTestingEnvironment(const std::string &testBinaryDir, fullDataDirs.push_back(StandardPath::fcitxPath("pkgdatadir", "testing")); setenv("FCITX_DATA_DIRS", stringutils::join(fullDataDirs, ":").data(), 1); } - -} // namespace fcitx \ No newline at end of file diff --git a/src/lib/fcitx-utils/textformatflags.h b/src/lib/fcitx-utils/textformatflags.h index 776ba58b..a88dd84f 100644 --- a/src/lib/fcitx-utils/textformatflags.h +++ b/src/lib/fcitx-utils/textformatflags.h @@ -27,7 +27,7 @@ enum class TextFormatFlag : int { NoFlag = 0, }; -using TextFormatFlags = Flags; +typedef Flags TextFormatFlags; } // namespace fcitx #endif // _FCITX_UTILS_TEXTFORMATFLAGS_H_ diff --git a/src/lib/fcitx-utils/trackableobject.h b/src/lib/fcitx-utils/trackableobject.h index 15638f81..389bc27e 100644 --- a/src/lib/fcitx-utils/trackableobject.h +++ b/src/lib/fcitx-utils/trackableobject.h @@ -71,7 +71,7 @@ class TrackableObject { : self_(std::make_unique>( std::make_shared())) {} TrackableObject(const TrackableObject &) = delete; - virtual ~TrackableObject() = default; + virtual ~TrackableObject() {} TrackableObjectReference watch() { return TrackableObjectReference(*self_, static_cast(this)); diff --git a/src/lib/fcitx-utils/tuplehelpers.h b/src/lib/fcitx-utils/tuplehelpers.h index 16e96134..b9fd4ccb 100644 --- a/src/lib/fcitx-utils/tuplehelpers.h +++ b/src/lib/fcitx-utils/tuplehelpers.h @@ -7,7 +7,6 @@ #ifndef _FCITX_UTILS_COMBINETUPLES_H_ #define _FCITX_UTILS_COMBINETUPLES_H_ -#include #include namespace fcitx { @@ -17,23 +16,23 @@ struct CombineTuples; template <> struct CombineTuples<> { - using type = std::tuple<>; + typedef std::tuple<> type; }; template struct CombineTuples<_T1, _Rem...> { - using type = typename CombineTuples, _Rem...>::type; + typedef typename CombineTuples, _Rem...>::type type; }; template struct CombineTuples> { - using type = std::tuple<_Ts...>; + typedef std::tuple<_Ts...> type; }; template struct CombineTuples, std::tuple<_T2s...>, _Rem...> { - using type = - typename CombineTuples, _Rem...>::type; + typedef typename CombineTuples, _Rem...>::type + type; }; template @@ -47,12 +46,11 @@ struct MakeSequence : MakeSequence {}; template struct MakeSequence<0, S...> { - using type = Sequence; + typedef Sequence type; }; template -auto callWithIndices(const F &func, Sequence, - std::tuple &tuple) { +auto callWithIndices(F func, Sequence, std::tuple &tuple) { return func(std::get(tuple)...); } diff --git a/src/lib/fcitx-utils/unixfd.cpp b/src/lib/fcitx-utils/unixfd.cpp index 13861fd2..37ed236a 100644 --- a/src/lib/fcitx-utils/unixfd.cpp +++ b/src/lib/fcitx-utils/unixfd.cpp @@ -6,16 +6,15 @@ */ #include "unixfd.h" +#include #include #include -#include #include namespace fcitx { UnixFD::UnixFD() noexcept = default; -UnixFD::UnixFD(int fd) : UnixFD(fd, 0) {} -UnixFD::UnixFD(int fd, int min) { set(fd, min); } +UnixFD::UnixFD(int fd) { set(fd); } UnixFD::UnixFD(UnixFD &&other) noexcept { operator=(std::forward(other)); @@ -43,11 +42,11 @@ void UnixFD::give(int fd) noexcept { } } -void UnixFD::set(int fd, int min) { +void UnixFD::set(int fd) { if (fd == -1) { reset(); } else { - int nfd = ::fcntl(fd, F_DUPFD_CLOEXEC, min); + int nfd = ::fcntl(fd, F_DUPFD_CLOEXEC, 0); if (nfd == -1) { throw std::runtime_error("Failed to dup file descriptor"); } @@ -56,8 +55,6 @@ void UnixFD::set(int fd, int min) { } } -void UnixFD::set(int fd) { set(fd, 0); } - void UnixFD::reset() noexcept { if (fd_ != -1) { int ret; diff --git a/src/lib/fcitx-utils/unixfd.h b/src/lib/fcitx-utils/unixfd.h index 97d4d751..6cfd06bf 100644 --- a/src/lib/fcitx-utils/unixfd.h +++ b/src/lib/fcitx-utils/unixfd.h @@ -12,12 +12,15 @@ /// \file /// \brief Utility class to handle unix file decriptor. +#include #include #include #include "fcitxutils_export.h" namespace fcitx { +class UnixFDPrivate; + /// \brief Class wrap around the unix fd. class FCITXUTILS_EXPORT UnixFD { public: @@ -26,14 +29,6 @@ class FCITXUTILS_EXPORT UnixFD { /// \brief Create a UnixFD by using dup. explicit UnixFD(int fd); - /** - * Create UnixFD with dup, with give parameter to dup. - * - * @param fd file descriptor to duplicate. - * @param min minimum file descriptor number - * @since 5.1.6 - */ - explicit UnixFD(int fd, int min); UnixFD(const UnixFD &other) = delete; FCITX_DECLARE_MOVE(UnixFD); ~UnixFD() noexcept; @@ -53,17 +48,6 @@ class FCITXUTILS_EXPORT UnixFD { /// if fd is -1, reset it. Otherwise use dup to make copy. void set(int fd); - /** - * Set a new FD. - * - * if fd is -1, reset it. Otherwise use dup to make copy. - * - * @param fd file descriptor to duplicate. - * @param min minimum file descriptor number - * @since 5.1.6 - */ - void set(int fd, int min); - /// \brief Clear the FD and close it. void reset() noexcept; diff --git a/src/lib/fcitx-utils/utf8.cpp b/src/lib/fcitx-utils/utf8.cpp index 36e8d926..d625dcba 100644 --- a/src/lib/fcitx-utils/utf8.cpp +++ b/src/lib/fcitx-utils/utf8.cpp @@ -11,7 +11,8 @@ namespace fcitx::utf8 { bool UCS4IsValid(uint32_t code) { - return ((code) < 0x110000 && (((code) & 0xFFFFF800) != 0xD800)); + return ((code) < 0x110000 && (((code)&0xFFFFF800) != 0xD800) && + ((code) < 0xFDD0 || (code) > 0xFDEF) && ((code)&0xFFFE) != 0xFFFE); } std::string UCS4ToUTF8(uint32_t code) { diff --git a/src/lib/fcitx-utils/utf8.h b/src/lib/fcitx-utils/utf8.h index e9dfb82b..1970e5a0 100644 --- a/src/lib/fcitx-utils/utf8.h +++ b/src/lib/fcitx-utils/utf8.h @@ -12,15 +12,14 @@ /// \file /// \brief C++ Utility functions for handling utf8 strings. -#include #include #include -#include #include #include #include "fcitxutils_export.h" -namespace fcitx::utf8 { +namespace fcitx { +namespace utf8 { /// \brief Return the number UTF-8 characters in the string iterator range. /// \see lengthValidated() @@ -120,9 +119,10 @@ inline Iter getNextChar(Iter iter, Iter end, uint32_t *chr) { /// This function has no error check on invalid string or end of string. Check /// the string before use it. template -inline ssize_t ncharByteLength(Iter iter, size_t n) { +inline int ncharByteLength(Iter iter, size_t n) { const char *c = &(*iter); - return fcitx_utf8_get_nth_char(c, n) - c; + int diff = fcitx_utf8_get_nth_char(c, n) - c; + return diff; } /// \brief Move iter over next n character. @@ -159,11 +159,11 @@ uint32_t getLastChar(const T &str) { template class UTF8CharIterator { public: - using iterator_category = std::input_iterator_tag; - using value_type = uint32_t; - using difference_type = std::ptrdiff_t; - using reference = const value_type &; - using pointer = const value_type *; + typedef std::input_iterator_tag iterator_category; + typedef uint32_t value_type; + typedef std::ptrdiff_t difference_type; + typedef const value_type &reference; + typedef const value_type *pointer; UTF8CharIterator(Iter iter, Iter end) : iter_(iter), end_(end) { update(); } FCITX_INLINE_DEFINE_DEFAULT_DTOR_AND_COPY(UTF8CharIterator) @@ -223,76 +223,7 @@ auto MakeUTF8CharRange(const T &str) { return MakeIterRange(MakeUTF8CharIterator(std::begin(str), std::end(str)), MakeUTF8CharIterator(std::end(str), std::end(str))); } - -template -class UTF8StringViewIter { -public: - using iterator_category = std::input_iterator_tag; - using value_type = std::string_view; - using difference_type = std::ptrdiff_t; - using reference = const value_type &; - using pointer = const value_type *; - - UTF8StringViewIter(Iter iter, Iter end) : iter_(iter), end_(end) { - update(); - } - FCITX_INLINE_DEFINE_DEFAULT_DTOR_AND_COPY(UTF8StringViewIter) - - reference operator*() const { return currentView_; } - - pointer operator->() const { return ¤tView_; } - - size_t charLength() const { return currentView_.size(); } - - uint32_t chr() const { return currentChar_; } - - UTF8StringViewIter &operator++() { - iter_ = next_; - update(); - return *this; - } - - UTF8StringViewIter operator++(int) { - auto old = *this; - ++(*this); - return old; - } - - bool operator==(const UTF8StringViewIter &other) { - return iter_ == other.iter_; - } - bool operator!=(const UTF8StringViewIter &other) { - return !operator==(other); - } - -private: - void update() { - next_ = getNextChar(iter_, end_, ¤tChar_); - if (iter_ != end_ && iter_ == next_) { - throw std::runtime_error("Invalid UTF8 character."); - } - currentView_ = std::string_view(&*iter_, std::distance(iter_, next_)); - } - - std::string_view currentView_; - uint32_t currentChar_ = 0; - Iter iter_; - Iter next_; - Iter end_; -}; - -template -auto MakeUTF8StringViewIterator(Iter iter, Iter end) { - return UTF8StringViewIter(iter, end); -} - -template -auto MakeUTF8StringViewRange(const T &str) { - return MakeIterRange( - MakeUTF8StringViewIterator(std::begin(str), std::end(str)), - MakeUTF8StringViewIterator(std::end(str), std::end(str))); -} - -} // namespace fcitx::utf8 +} // namespace utf8 +} // namespace fcitx #endif // _FCITX_UTILS_UTF8_H_ diff --git a/src/lib/fcitx-utils/uuid_p.h b/src/lib/fcitx-utils/uuid_p.h index 165b9a4c..6cb434b9 100644 --- a/src/lib/fcitx-utils/uuid_p.h +++ b/src/lib/fcitx-utils/uuid_p.h @@ -12,7 +12,6 @@ #include #include #include -#include #include "charutils.h" #include "event.h" #include "unixfd.h" diff --git a/src/lib/fcitx-wayland/CMakeLists.txt b/src/lib/fcitx-wayland/CMakeLists.txt index b5f58ba2..def6f47e 100644 --- a/src/lib/fcitx-wayland/CMakeLists.txt +++ b/src/lib/fcitx-wayland/CMakeLists.txt @@ -3,11 +3,4 @@ add_subdirectory(input-method) add_subdirectory(input-method-v2) add_subdirectory(wlr-data-control) add_subdirectory(blur) -add_subdirectory(plasma-window-management) -add_subdirectory(wlr-foreign-toplevel-management-unstable-v1) -add_subdirectory(fractional-scale-v1) -add_subdirectory(viewporter) -# Unused for now, introduced as a dependency to cursor-shape -add_subdirectory(tablet-v2) -add_subdirectory(cursor-shape) #add_subdirectory(input-method-v3) diff --git a/src/lib/fcitx-wayland/blur/CMakeLists.txt b/src/lib/fcitx-wayland/blur/CMakeLists.txt index 74608441..6a6c3a53 100644 --- a/src/lib/fcitx-wayland/blur/CMakeLists.txt +++ b/src/lib/fcitx-wayland/blur/CMakeLists.txt @@ -9,7 +9,8 @@ set(FCITX_WAYLAND_BLUR_PROTOCOL_SOURCES add_library(Fcitx5WaylandBlur STATIC ${FCITX_WAYLAND_BLUR_PROTOCOL_SOURCES} ${BLUR_PROTOCOL_SRCS}) set_target_properties(Fcitx5WaylandBlur PROPERTIES - POSITION_INDEPENDENT_CODE ON + COMPILE_FLAGS "-fPIC" + LINK_FLAGS "-Wl,--no-undefined" ) target_include_directories(Fcitx5WaylandBlur PUBLIC "$") diff --git a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.cpp b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.cpp index cd709445..da2c156d 100644 --- a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.cpp +++ b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.cpp @@ -1,4 +1,5 @@ #include "org_kde_kwin_blur.h" +#include #include "wl_region.h" namespace fcitx::wayland { OrgKdeKwinBlur::OrgKdeKwinBlur(org_kde_kwin_blur *data) diff --git a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.h b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.h index 3b49367c..39ca3c87 100644 --- a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.h +++ b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur.h @@ -1,5 +1,6 @@ #ifndef ORG_KDE_KWIN_BLUR #define ORG_KDE_KWIN_BLUR +#include #include #include "fcitx-utils/signals.h" #include "wayland-blur-client-protocol.h" diff --git a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.cpp b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.cpp index 4d17c63e..79ffb81b 100644 --- a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.cpp +++ b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.cpp @@ -1,4 +1,5 @@ #include "org_kde_kwin_blur_manager.h" +#include #include "org_kde_kwin_blur.h" #include "wl_surface.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.h b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.h index ff63c529..9b13725c 100644 --- a/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.h +++ b/src/lib/fcitx-wayland/blur/org_kde_kwin_blur_manager.h @@ -1,5 +1,6 @@ #ifndef ORG_KDE_KWIN_BLUR_MANAGER #define ORG_KDE_KWIN_BLUR_MANAGER +#include #include #include "fcitx-utils/signals.h" #include "wayland-blur-client-protocol.h" diff --git a/src/lib/fcitx-wayland/core/CMakeLists.txt b/src/lib/fcitx-wayland/core/CMakeLists.txt index 4403532a..9924c3a6 100644 --- a/src/lib/fcitx-wayland/core/CMakeLists.txt +++ b/src/lib/fcitx-wayland/core/CMakeLists.txt @@ -26,7 +26,8 @@ set(FCITX_WAYLAND_CORE_SOURCES add_library(Fcitx5WaylandCore STATIC ${FCITX_WAYLAND_CORE_SOURCES}) set_target_properties(Fcitx5WaylandCore PROPERTIES - POSITION_INDEPENDENT_CODE ON + COMPILE_FLAGS "-fPIC" + LINK_FLAGS "-Wl,--no-undefined" ) target_include_directories(Fcitx5WaylandCore PUBLIC "$") diff --git a/src/lib/fcitx-wayland/core/display.cpp b/src/lib/fcitx-wayland/core/display.cpp index d79957b9..bba87e59 100644 --- a/src/lib/fcitx-wayland/core/display.cpp +++ b/src/lib/fcitx-wayland/core/display.cpp @@ -8,6 +8,10 @@ #include "display.h" #include #include +#include +#include +#include +#include "wl_callback.h" #include "wl_output.h" #include "wl_registry.h" @@ -22,6 +26,8 @@ void Display::createGlobalHelper( globalCreatedSignal_(std::get(globalsPair.second), std::get>(globalsPair.second)); + sync(); + flush(); } Display::Display(wl_display *display) : display_(display) { @@ -67,12 +73,24 @@ Display::Display(wl_display *display) : display_(display) { auto *output = static_cast(data.get()); removeOutput(output); }); + + roundtrip(); + flush(); } Display::~Display() {} void Display::roundtrip() { wl_display_roundtrip(*this); } +void Display::sync() { + callbacks_.emplace_back( + std::make_unique(wl_display_sync(*this))); + callbacks_.back()->done().connect( + [this, iter = std::prev(callbacks_.end())](uint32_t) { + callbacks_.erase(iter); + }); +} + void Display::flush() { wl_display_flush(*this); } void Display::run() { diff --git a/src/lib/fcitx-wayland/core/display.h b/src/lib/fcitx-wayland/core/display.h index 7fbee59f..6b92bf5d 100644 --- a/src/lib/fcitx-wayland/core/display.h +++ b/src/lib/fcitx-wayland/core/display.h @@ -7,12 +7,14 @@ #ifndef _FCITX_WAYLAND_CORE_DISPLAY_H_ #define _FCITX_WAYLAND_CORE_DISPLAY_H_ +#include #include #include #include #include #include #include +#include #include "fcitx-utils/signals.h" #include "outputinformation.h" #include "wl_registry.h" @@ -21,6 +23,7 @@ namespace fcitx { namespace wayland { class WlOutput; +class WlCallback; class GlobalsFactoryBase { public: @@ -57,6 +60,7 @@ class Display { operator wl_display *() { return display_.get(); } void roundtrip(); + void sync(); void flush(); void run(); @@ -74,11 +78,8 @@ class Display { std::vector> results; for (uint32_t item : items) { auto iter = globals_.find(item); - // This should always be true. - if (iter != globals_.end()) { - results.push_back(std::static_pointer_cast( - std::get>(iter->second))); - } + results.push_back(std::static_pointer_cast( + std::get>(iter->second))); } return results; @@ -143,6 +144,7 @@ class Display { std::shared_ptr>> globals_; std::list conns_; + std::list> callbacks_; std::unordered_map outputInfo_; }; } // namespace wayland diff --git a/src/lib/fcitx-wayland/core/wl_buffer.h b/src/lib/fcitx-wayland/core/wl_buffer.h index fec4f488..23c43a5b 100644 --- a/src/lib/fcitx-wayland/core/wl_buffer.h +++ b/src/lib/fcitx-wayland/core/wl_buffer.h @@ -1,5 +1,6 @@ #ifndef WL_BUFFER #define WL_BUFFER +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_callback.h b/src/lib/fcitx-wayland/core/wl_callback.h index c2203c73..9669cbc2 100644 --- a/src/lib/fcitx-wayland/core/wl_callback.h +++ b/src/lib/fcitx-wayland/core/wl_callback.h @@ -1,5 +1,6 @@ #ifndef WL_CALLBACK #define WL_CALLBACK +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_compositor.cpp b/src/lib/fcitx-wayland/core/wl_compositor.cpp index a3b6e5c5..6f4c2b9e 100644 --- a/src/lib/fcitx-wayland/core/wl_compositor.cpp +++ b/src/lib/fcitx-wayland/core/wl_compositor.cpp @@ -1,4 +1,5 @@ #include "wl_compositor.h" +#include #include "wl_region.h" #include "wl_surface.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_compositor.h b/src/lib/fcitx-wayland/core/wl_compositor.h index f64c1154..7182136d 100644 --- a/src/lib/fcitx-wayland/core/wl_compositor.h +++ b/src/lib/fcitx-wayland/core/wl_compositor.h @@ -1,5 +1,6 @@ #ifndef WL_COMPOSITOR #define WL_COMPOSITOR +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_data_device.h b/src/lib/fcitx-wayland/core/wl_data_device.h index 9c8d51f4..a5adc34c 100644 --- a/src/lib/fcitx-wayland/core/wl_data_device.h +++ b/src/lib/fcitx-wayland/core/wl_data_device.h @@ -1,5 +1,6 @@ #ifndef WL_DATA_DEVICE #define WL_DATA_DEVICE +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_data_device_manager.cpp b/src/lib/fcitx-wayland/core/wl_data_device_manager.cpp index 75dae7fe..3fd0945e 100644 --- a/src/lib/fcitx-wayland/core/wl_data_device_manager.cpp +++ b/src/lib/fcitx-wayland/core/wl_data_device_manager.cpp @@ -1,4 +1,5 @@ #include "wl_data_device_manager.h" +#include #include "wl_data_device.h" #include "wl_data_source.h" #include "wl_seat.h" diff --git a/src/lib/fcitx-wayland/core/wl_data_device_manager.h b/src/lib/fcitx-wayland/core/wl_data_device_manager.h index d4c58de6..02fb717b 100644 --- a/src/lib/fcitx-wayland/core/wl_data_device_manager.h +++ b/src/lib/fcitx-wayland/core/wl_data_device_manager.h @@ -1,5 +1,6 @@ #ifndef WL_DATA_DEVICE_MANAGER #define WL_DATA_DEVICE_MANAGER +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_data_offer.h b/src/lib/fcitx-wayland/core/wl_data_offer.h index bbef54de..7fe1da90 100644 --- a/src/lib/fcitx-wayland/core/wl_data_offer.h +++ b/src/lib/fcitx-wayland/core/wl_data_offer.h @@ -1,5 +1,6 @@ #ifndef WL_DATA_OFFER #define WL_DATA_OFFER +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_data_source.h b/src/lib/fcitx-wayland/core/wl_data_source.h index bb83273e..51690bfd 100644 --- a/src/lib/fcitx-wayland/core/wl_data_source.h +++ b/src/lib/fcitx-wayland/core/wl_data_source.h @@ -1,5 +1,6 @@ #ifndef WL_DATA_SOURCE #define WL_DATA_SOURCE +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_keyboard.cpp b/src/lib/fcitx-wayland/core/wl_keyboard.cpp index d6f50192..5a4c171f 100644 --- a/src/lib/fcitx-wayland/core/wl_keyboard.cpp +++ b/src/lib/fcitx-wayland/core/wl_keyboard.cpp @@ -1,5 +1,6 @@ #include "wl_keyboard.h" #include +#include "wl_surface.h" namespace fcitx::wayland { const struct wl_keyboard_listener WlKeyboard::listener = { [](void *data, wl_keyboard *wldata, uint32_t format, int32_t fd, diff --git a/src/lib/fcitx-wayland/core/wl_keyboard.h b/src/lib/fcitx-wayland/core/wl_keyboard.h index 96e798c6..78b977eb 100644 --- a/src/lib/fcitx-wayland/core/wl_keyboard.h +++ b/src/lib/fcitx-wayland/core/wl_keyboard.h @@ -1,5 +1,6 @@ #ifndef WL_KEYBOARD #define WL_KEYBOARD +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_output.h b/src/lib/fcitx-wayland/core/wl_output.h index 1ccfe265..4a9ab2ec 100644 --- a/src/lib/fcitx-wayland/core/wl_output.h +++ b/src/lib/fcitx-wayland/core/wl_output.h @@ -1,5 +1,6 @@ #ifndef WL_OUTPUT #define WL_OUTPUT +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_pointer.h b/src/lib/fcitx-wayland/core/wl_pointer.h index 689bfa90..bf5a51e6 100644 --- a/src/lib/fcitx-wayland/core/wl_pointer.h +++ b/src/lib/fcitx-wayland/core/wl_pointer.h @@ -1,5 +1,6 @@ #ifndef WL_POINTER #define WL_POINTER +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_region.cpp b/src/lib/fcitx-wayland/core/wl_region.cpp index d0957930..31eb3254 100644 --- a/src/lib/fcitx-wayland/core/wl_region.cpp +++ b/src/lib/fcitx-wayland/core/wl_region.cpp @@ -1,4 +1,5 @@ #include "wl_region.h" +#include namespace fcitx::wayland { WlRegion::WlRegion(wl_region *data) : version_(wl_region_get_version(data)), data_(data) { diff --git a/src/lib/fcitx-wayland/core/wl_region.h b/src/lib/fcitx-wayland/core/wl_region.h index 68c2cf79..7cd511cb 100644 --- a/src/lib/fcitx-wayland/core/wl_region.h +++ b/src/lib/fcitx-wayland/core/wl_region.h @@ -1,5 +1,6 @@ #ifndef WL_REGION #define WL_REGION +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_registry.h b/src/lib/fcitx-wayland/core/wl_registry.h index 5bb5e652..b95e8c58 100644 --- a/src/lib/fcitx-wayland/core/wl_registry.h +++ b/src/lib/fcitx-wayland/core/wl_registry.h @@ -1,5 +1,6 @@ #ifndef WL_REGISTRY #define WL_REGISTRY +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_seat.h b/src/lib/fcitx-wayland/core/wl_seat.h index 1b6f1861..df1f51d1 100644 --- a/src/lib/fcitx-wayland/core/wl_seat.h +++ b/src/lib/fcitx-wayland/core/wl_seat.h @@ -1,5 +1,6 @@ #ifndef WL_SEAT #define WL_SEAT +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_shell_surface.h b/src/lib/fcitx-wayland/core/wl_shell_surface.h index 74966c11..7d720e1f 100644 --- a/src/lib/fcitx-wayland/core/wl_shell_surface.h +++ b/src/lib/fcitx-wayland/core/wl_shell_surface.h @@ -1,5 +1,6 @@ #ifndef WL_SHELL_SURFACE #define WL_SHELL_SURFACE +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_shm.h b/src/lib/fcitx-wayland/core/wl_shm.h index 9a4654bc..19364347 100644 --- a/src/lib/fcitx-wayland/core/wl_shm.h +++ b/src/lib/fcitx-wayland/core/wl_shm.h @@ -1,5 +1,6 @@ #ifndef WL_SHM #define WL_SHM +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_shm_pool.cpp b/src/lib/fcitx-wayland/core/wl_shm_pool.cpp index c1534315..dd09ae2c 100644 --- a/src/lib/fcitx-wayland/core/wl_shm_pool.cpp +++ b/src/lib/fcitx-wayland/core/wl_shm_pool.cpp @@ -1,4 +1,5 @@ #include "wl_shm_pool.h" +#include #include "wl_buffer.h" namespace fcitx::wayland { WlShmPool::WlShmPool(wl_shm_pool *data) diff --git a/src/lib/fcitx-wayland/core/wl_shm_pool.h b/src/lib/fcitx-wayland/core/wl_shm_pool.h index 3309af25..a1a8eb47 100644 --- a/src/lib/fcitx-wayland/core/wl_shm_pool.h +++ b/src/lib/fcitx-wayland/core/wl_shm_pool.h @@ -1,5 +1,6 @@ #ifndef WL_SHM_POOL #define WL_SHM_POOL +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_subcompositor.cpp b/src/lib/fcitx-wayland/core/wl_subcompositor.cpp index f6a28dd9..433b0ac0 100644 --- a/src/lib/fcitx-wayland/core/wl_subcompositor.cpp +++ b/src/lib/fcitx-wayland/core/wl_subcompositor.cpp @@ -1,4 +1,5 @@ #include "wl_subcompositor.h" +#include #include "wl_subsurface.h" #include "wl_surface.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_subcompositor.h b/src/lib/fcitx-wayland/core/wl_subcompositor.h index 57cbd2d7..b4a49d39 100644 --- a/src/lib/fcitx-wayland/core/wl_subcompositor.h +++ b/src/lib/fcitx-wayland/core/wl_subcompositor.h @@ -1,5 +1,6 @@ #ifndef WL_SUBCOMPOSITOR #define WL_SUBCOMPOSITOR +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_subsurface.cpp b/src/lib/fcitx-wayland/core/wl_subsurface.cpp index a745156d..acfdb6a4 100644 --- a/src/lib/fcitx-wayland/core/wl_subsurface.cpp +++ b/src/lib/fcitx-wayland/core/wl_subsurface.cpp @@ -1,4 +1,5 @@ #include "wl_subsurface.h" +#include #include "wl_surface.h" namespace fcitx::wayland { WlSubsurface::WlSubsurface(wl_subsurface *data) diff --git a/src/lib/fcitx-wayland/core/wl_subsurface.h b/src/lib/fcitx-wayland/core/wl_subsurface.h index 026e7b0c..f4b125e8 100644 --- a/src/lib/fcitx-wayland/core/wl_subsurface.h +++ b/src/lib/fcitx-wayland/core/wl_subsurface.h @@ -1,5 +1,6 @@ #ifndef WL_SUBSURFACE #define WL_SUBSURFACE +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_surface.h b/src/lib/fcitx-wayland/core/wl_surface.h index 7548639d..8fe0902d 100644 --- a/src/lib/fcitx-wayland/core/wl_surface.h +++ b/src/lib/fcitx-wayland/core/wl_surface.h @@ -1,5 +1,6 @@ #ifndef WL_SURFACE #define WL_SURFACE +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/core/wl_touch.h b/src/lib/fcitx-wayland/core/wl_touch.h index 844bbe7b..7349042e 100644 --- a/src/lib/fcitx-wayland/core/wl_touch.h +++ b/src/lib/fcitx-wayland/core/wl_touch.h @@ -1,5 +1,6 @@ #ifndef WL_TOUCH #define WL_TOUCH +#include #include #include "fcitx-utils/signals.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/cursor-shape/CMakeLists.txt b/src/lib/fcitx-wayland/cursor-shape/CMakeLists.txt deleted file mode 100644 index 1942bb9b..00000000 --- a/src/lib/fcitx-wayland/cursor-shape/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -ecm_add_wayland_client_protocol(CURSOR_SHAPE_PROTOCOL_SRCS - PROTOCOL ${CMAKE_CURRENT_SOURCE_DIR}/cursor-shape-v1.xml - BASENAME cursor-shape) - -set(FCITX_WAYLAND_CURSOR_SHAPE_PROTOCOL_SOURCES - wp_cursor_shape_manager_v1.cpp - wp_cursor_shape_device_v1.cpp -) - -add_library(Fcitx5WaylandCursorShape STATIC ${FCITX_WAYLAND_CURSOR_SHAPE_PROTOCOL_SOURCES} ${CURSOR_SHAPE_PROTOCOL_SRCS}) -set_target_properties(Fcitx5WaylandCursorShape PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) -target_include_directories(Fcitx5WaylandCursorShape PUBLIC - "$") -target_link_libraries(Fcitx5WaylandCursorShape PUBLIC Wayland::Client Fcitx5::Utils Fcitx5::Wayland::Core Fcitx5::Wayland::Tablet) - -add_library(Fcitx5::Wayland::CursorShape ALIAS Fcitx5WaylandCursorShape) - diff --git a/src/lib/fcitx-wayland/cursor-shape/cursor-shape-v1.xml b/src/lib/fcitx-wayland/cursor-shape/cursor-shape-v1.xml deleted file mode 100644 index 56f6a1a6..00000000 --- a/src/lib/fcitx-wayland/cursor-shape/cursor-shape-v1.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - - Copyright 2018 The Chromium Authors - Copyright 2023 Simon Ser - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice (including the next - paragraph) shall be included in all copies or substantial portions of the - Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - - - - This global offers an alternative, optional way to set cursor images. This - new way uses enumerated cursors instead of a wl_surface like - wl_pointer.set_cursor does. - - Warning! The protocol described in this file is currently in the testing - phase. Backward compatible changes may be added together with the - corresponding interface version bump. Backward incompatible changes can - only be done by creating a new major version of the extension. - - - - - Destroy the cursor shape manager. - - - - - - Obtain a wp_cursor_shape_device_v1 for a wl_pointer object. - - - - - - - - Obtain a wp_cursor_shape_device_v1 for a zwp_tablet_tool_v2 object. - - - - - - - - - This interface advertises the list of supported cursor shapes for a - device, and allows clients to set the cursor shape. - - - - - This enum describes cursor shapes. - - The names are taken from the CSS W3C specification: - https://w3c.github.io/csswg-drafts/css-ui/#cursor - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Destroy the cursor shape device. - - The device cursor shape remains unchanged. - - - - - - Sets the device cursor to the specified shape. The compositor will - change the cursor image based on the specified shape. - - The cursor actually changes only if the input device focus is one of - the requesting client's surfaces. If any, the previous cursor image - (surface or shape) is replaced. - - The "shape" argument must be a valid enum entry, otherwise the - invalid_shape protocol error is raised. - - This is similar to the wl_pointer.set_cursor and - zwp_tablet_tool_v2.set_cursor requests, but this request accepts a - shape instead of contents in the form of a surface. Clients can mix - set_cursor and set_shape requests. - - The serial parameter must match the latest wl_pointer.enter or - zwp_tablet_tool_v2.proximity_in serial number sent to the client. - Otherwise the request will be ignored. - - - - - - diff --git a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_device_v1.cpp b/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_device_v1.cpp deleted file mode 100644 index 28293569..00000000 --- a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_device_v1.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "wp_cursor_shape_device_v1.h" -namespace fcitx::wayland { -WpCursorShapeDeviceV1::WpCursorShapeDeviceV1(wp_cursor_shape_device_v1 *data) - : version_(wp_cursor_shape_device_v1_get_version(data)), data_(data) { - wp_cursor_shape_device_v1_set_user_data(*this, this); -} -void WpCursorShapeDeviceV1::destructor(wp_cursor_shape_device_v1 *data) { - auto version = wp_cursor_shape_device_v1_get_version(data); - if (version >= 1) { - return wp_cursor_shape_device_v1_destroy(data); - } -} -void WpCursorShapeDeviceV1::setShape(uint32_t serial, uint32_t shape) { - return wp_cursor_shape_device_v1_set_shape(*this, serial, shape); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_device_v1.h b/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_device_v1.h deleted file mode 100644 index 39ebb53d..00000000 --- a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_device_v1.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef WP_CURSOR_SHAPE_DEVICE_V1 -#define WP_CURSOR_SHAPE_DEVICE_V1 -#include -#include "fcitx-utils/signals.h" -#include "wayland-cursor-shape-client-protocol.h" -namespace fcitx::wayland { -class WpCursorShapeDeviceV1 final { -public: - static constexpr const char *interface = "wp_cursor_shape_device_v1"; - static constexpr const wl_interface *const wlInterface = - &wp_cursor_shape_device_v1_interface; - static constexpr const uint32_t version = 1; - typedef wp_cursor_shape_device_v1 wlType; - operator wp_cursor_shape_device_v1 *() { return data_.get(); } - WpCursorShapeDeviceV1(wlType *data); - WpCursorShapeDeviceV1(WpCursorShapeDeviceV1 &&other) noexcept = delete; - WpCursorShapeDeviceV1 & - operator=(WpCursorShapeDeviceV1 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setShape(uint32_t serial, uint32_t shape); - -private: - static void destructor(wp_cursor_shape_device_v1 *); - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline wp_cursor_shape_device_v1 *rawPointer(WpCursorShapeDeviceV1 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_manager_v1.cpp b/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_manager_v1.cpp deleted file mode 100644 index bf83917d..00000000 --- a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_manager_v1.cpp +++ /dev/null @@ -1,26 +0,0 @@ -#include "wp_cursor_shape_manager_v1.h" -#include "wl_pointer.h" -#include "wp_cursor_shape_device_v1.h" -#include "zwp_tablet_tool_v2.h" -namespace fcitx::wayland { -WpCursorShapeManagerV1::WpCursorShapeManagerV1(wp_cursor_shape_manager_v1 *data) - : version_(wp_cursor_shape_manager_v1_get_version(data)), data_(data) { - wp_cursor_shape_manager_v1_set_user_data(*this, this); -} -void WpCursorShapeManagerV1::destructor(wp_cursor_shape_manager_v1 *data) { - auto version = wp_cursor_shape_manager_v1_get_version(data); - if (version >= 1) { - return wp_cursor_shape_manager_v1_destroy(data); - } -} -WpCursorShapeDeviceV1 *WpCursorShapeManagerV1::getPointer(WlPointer *pointer) { - return new WpCursorShapeDeviceV1( - wp_cursor_shape_manager_v1_get_pointer(*this, rawPointer(pointer))); -} -WpCursorShapeDeviceV1 * -WpCursorShapeManagerV1::getTabletToolV2(ZwpTabletToolV2 *tabletTool) { - return new WpCursorShapeDeviceV1( - wp_cursor_shape_manager_v1_get_tablet_tool_v2(*this, - rawPointer(tabletTool))); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_manager_v1.h b/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_manager_v1.h deleted file mode 100644 index 31c9e003..00000000 --- a/src/lib/fcitx-wayland/cursor-shape/wp_cursor_shape_manager_v1.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef WP_CURSOR_SHAPE_MANAGER_V1 -#define WP_CURSOR_SHAPE_MANAGER_V1 -#include -#include "fcitx-utils/signals.h" -#include "wayland-cursor-shape-client-protocol.h" -namespace fcitx::wayland { -class WlPointer; -class WpCursorShapeDeviceV1; -class ZwpTabletToolV2; -class WpCursorShapeManagerV1 final { -public: - static constexpr const char *interface = "wp_cursor_shape_manager_v1"; - static constexpr const wl_interface *const wlInterface = - &wp_cursor_shape_manager_v1_interface; - static constexpr const uint32_t version = 1; - typedef wp_cursor_shape_manager_v1 wlType; - operator wp_cursor_shape_manager_v1 *() { return data_.get(); } - WpCursorShapeManagerV1(wlType *data); - WpCursorShapeManagerV1(WpCursorShapeManagerV1 &&other) noexcept = delete; - WpCursorShapeManagerV1 & - operator=(WpCursorShapeManagerV1 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - WpCursorShapeDeviceV1 *getPointer(WlPointer *pointer); - WpCursorShapeDeviceV1 *getTabletToolV2(ZwpTabletToolV2 *tabletTool); - -private: - static void destructor(wp_cursor_shape_manager_v1 *); - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline wp_cursor_shape_manager_v1 * -rawPointer(WpCursorShapeManagerV1 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/fractional-scale-v1/CMakeLists.txt b/src/lib/fcitx-wayland/fractional-scale-v1/CMakeLists.txt deleted file mode 100644 index ec12e564..00000000 --- a/src/lib/fcitx-wayland/fractional-scale-v1/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -ecm_add_wayland_client_protocol(FRACTIONAL_SCALE_PROTOCOL_SRCS - PROTOCOL ${CMAKE_CURRENT_SOURCE_DIR}/fractional-scale-v1.xml - BASENAME fractional-scale-v1) - -set(FCITX_WAYLAND_FRACTIONAL_SCALE_PROTOCOL_SRCS - wp_fractional_scale_manager_v1.cpp - wp_fractional_scale_v1.cpp -) - -add_library(Fcitx5WaylandFractionalScale STATIC ${FCITX_WAYLAND_FRACTIONAL_SCALE_PROTOCOL_SRCS} ${FRACTIONAL_SCALE_PROTOCOL_SRCS}) -set_target_properties(Fcitx5WaylandFractionalScale PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) -target_include_directories(Fcitx5WaylandFractionalScale PUBLIC - "$") -target_link_libraries(Fcitx5WaylandFractionalScale Wayland::Client Fcitx5::Utils Fcitx5::Wayland::Core) - -add_library(Fcitx5::Wayland::FractionalScale ALIAS Fcitx5WaylandFractionalScale) - diff --git a/src/lib/fcitx-wayland/fractional-scale-v1/fractional-scale-v1.xml b/src/lib/fcitx-wayland/fractional-scale-v1/fractional-scale-v1.xml deleted file mode 100644 index 350bfc01..00000000 --- a/src/lib/fcitx-wayland/fractional-scale-v1/fractional-scale-v1.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - Copyright © 2022 Kenny Levinsen - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice (including the next - paragraph) shall be included in all copies or substantial portions of the - Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - - - This protocol allows a compositor to suggest for surfaces to render at - fractional scales. - - A client can submit scaled content by utilizing wp_viewport. This is done by - creating a wp_viewport object for the surface and setting the destination - rectangle to the surface size before the scale factor is applied. - - The buffer size is calculated by multiplying the surface size by the - intended scale. - - The wl_surface buffer scale should remain set to 1. - - If a surface has a surface-local size of 100 px by 50 px and wishes to - submit buffers with a scale of 1.5, then a buffer of 150px by 75 px should - be used and the wp_viewport destination rectangle should be 100 px by 50 px. - - For toplevel surfaces, the size is rounded halfway away from zero. The - rounding algorithm for subsurface position and size is not defined. - - - - - A global interface for requesting surfaces to use fractional scales. - - - - - Informs the server that the client will not be using this protocol - object anymore. This does not affect any other objects, - wp_fractional_scale_v1 objects included. - - - - - - - - - - Create an add-on object for the the wl_surface to let the compositor - request fractional scales. If the given wl_surface already has a - wp_fractional_scale_v1 object associated, the fractional_scale_exists - protocol error is raised. - - - - - - - - - An additional interface to a wl_surface object which allows the compositor - to inform the client of the preferred scale. - - - - - Destroy the fractional scale object. When this object is destroyed, - preferred_scale events will no longer be sent. - - - - - - Notification of a new preferred scale for this surface that the - compositor suggests that the client should use. - - The sent scale is the numerator of a fraction with a denominator of 120. - - - - - diff --git a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_manager_v1.cpp b/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_manager_v1.cpp deleted file mode 100644 index 2cd09a37..00000000 --- a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_manager_v1.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include "wp_fractional_scale_manager_v1.h" -#include "wl_surface.h" -#include "wp_fractional_scale_v1.h" -namespace fcitx::wayland { -WpFractionalScaleManagerV1::WpFractionalScaleManagerV1( - wp_fractional_scale_manager_v1 *data) - : version_(wp_fractional_scale_manager_v1_get_version(data)), data_(data) { - wp_fractional_scale_manager_v1_set_user_data(*this, this); -} -void WpFractionalScaleManagerV1::destructor( - wp_fractional_scale_manager_v1 *data) { - auto version = wp_fractional_scale_manager_v1_get_version(data); - if (version >= 1) { - return wp_fractional_scale_manager_v1_destroy(data); - } -} -WpFractionalScaleV1 * -WpFractionalScaleManagerV1::getFractionalScale(WlSurface *surface) { - return new WpFractionalScaleV1( - wp_fractional_scale_manager_v1_get_fractional_scale( - *this, rawPointer(surface))); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_manager_v1.h b/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_manager_v1.h deleted file mode 100644 index 6e1f9e47..00000000 --- a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_manager_v1.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef WP_FRACTIONAL_SCALE_MANAGER_V1 -#define WP_FRACTIONAL_SCALE_MANAGER_V1 -#include -#include "fcitx-utils/signals.h" -#include "wayland-fractional-scale-v1-client-protocol.h" -namespace fcitx::wayland { -class WlSurface; -class WpFractionalScaleV1; -class WpFractionalScaleManagerV1 final { -public: - static constexpr const char *interface = "wp_fractional_scale_manager_v1"; - static constexpr const wl_interface *const wlInterface = - &wp_fractional_scale_manager_v1_interface; - static constexpr const uint32_t version = 1; - typedef wp_fractional_scale_manager_v1 wlType; - operator wp_fractional_scale_manager_v1 *() { return data_.get(); } - WpFractionalScaleManagerV1(wlType *data); - WpFractionalScaleManagerV1(WpFractionalScaleManagerV1 &&other) noexcept = - delete; - WpFractionalScaleManagerV1 & - operator=(WpFractionalScaleManagerV1 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - WpFractionalScaleV1 *getFractionalScale(WlSurface *surface); - -private: - static void destructor(wp_fractional_scale_manager_v1 *); - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline wp_fractional_scale_manager_v1 * -rawPointer(WpFractionalScaleManagerV1 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_v1.cpp b/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_v1.cpp deleted file mode 100644 index 3681e1fd..00000000 --- a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_v1.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include "wp_fractional_scale_v1.h" -#include -namespace fcitx::wayland { -const struct wp_fractional_scale_v1_listener WpFractionalScaleV1::listener = { - [](void *data, wp_fractional_scale_v1 *wldata, uint32_t scale) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->preferredScale()(scale); } - }, -}; -WpFractionalScaleV1::WpFractionalScaleV1(wp_fractional_scale_v1 *data) - : version_(wp_fractional_scale_v1_get_version(data)), data_(data) { - wp_fractional_scale_v1_set_user_data(*this, this); - wp_fractional_scale_v1_add_listener(*this, &WpFractionalScaleV1::listener, - this); -} -void WpFractionalScaleV1::destructor(wp_fractional_scale_v1 *data) { - auto version = wp_fractional_scale_v1_get_version(data); - if (version >= 1) { - return wp_fractional_scale_v1_destroy(data); - } -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_v1.h b/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_v1.h deleted file mode 100644 index e1a15f74..00000000 --- a/src/lib/fcitx-wayland/fractional-scale-v1/wp_fractional_scale_v1.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef WP_FRACTIONAL_SCALE_V1 -#define WP_FRACTIONAL_SCALE_V1 -#include -#include "fcitx-utils/signals.h" -#include "wayland-fractional-scale-v1-client-protocol.h" -namespace fcitx::wayland { -class WpFractionalScaleV1 final { -public: - static constexpr const char *interface = "wp_fractional_scale_v1"; - static constexpr const wl_interface *const wlInterface = - &wp_fractional_scale_v1_interface; - static constexpr const uint32_t version = 1; - typedef wp_fractional_scale_v1 wlType; - operator wp_fractional_scale_v1 *() { return data_.get(); } - WpFractionalScaleV1(wlType *data); - WpFractionalScaleV1(WpFractionalScaleV1 &&other) noexcept = delete; - WpFractionalScaleV1 & - operator=(WpFractionalScaleV1 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - auto &preferredScale() { return preferredScaleSignal_; } - -private: - static void destructor(wp_fractional_scale_v1 *); - static const struct wp_fractional_scale_v1_listener listener; - fcitx::Signal preferredScaleSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline wp_fractional_scale_v1 *rawPointer(WpFractionalScaleV1 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/input-method-v2/CMakeLists.txt b/src/lib/fcitx-wayland/input-method-v2/CMakeLists.txt index 658dd2ea..698cd53b 100644 --- a/src/lib/fcitx-wayland/input-method-v2/CMakeLists.txt +++ b/src/lib/fcitx-wayland/input-method-v2/CMakeLists.txt @@ -16,7 +16,8 @@ set(FCITX_WAYLAND_INPUTMETHOD_V2_SOURCES add_library(Fcitx5WaylandInputMethodV2 STATIC ${FCITX_WAYLAND_INPUTMETHOD_V2_SOURCES} ${WAYLAND_IM_V2_PROTOCOL_SRCS}) set_target_properties(Fcitx5WaylandInputMethodV2 PROPERTIES - POSITION_INDEPENDENT_CODE ON + COMPILE_FLAGS "-fPIC" + LINK_FLAGS "-Wl,--no-undefined" ) target_include_directories(Fcitx5WaylandInputMethodV2 PUBLIC "$") diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.cpp b/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.cpp index f71042b9..6415e840 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.cpp +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.cpp @@ -1,4 +1,5 @@ #include "zwp_input_method_manager_v2.h" +#include #include "wl_seat.h" #include "zwp_input_method_v2.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.h b/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.h index 7b598a52..71f4212c 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.h +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_manager_v2.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_METHOD_MANAGER_V2 #define ZWP_INPUT_METHOD_MANAGER_V2 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v2-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_v2.h b/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_v2.h index d7786204..cc237a23 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_v2.h +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_input_method_v2.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_METHOD_V2 #define ZWP_INPUT_METHOD_V2 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v2-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_input_popup_surface_v2.h b/src/lib/fcitx-wayland/input-method-v2/zwp_input_popup_surface_v2.h index 2e08f168..a3ade3d7 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_input_popup_surface_v2.h +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_input_popup_surface_v2.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_POPUP_SURFACE_V2 #define ZWP_INPUT_POPUP_SURFACE_V2 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v2-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.cpp b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.cpp index 22bbc478..d1c4d341 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.cpp +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.cpp @@ -1,4 +1,5 @@ #include "zwp_virtual_keyboard_manager_v1.h" +#include #include "wl_seat.h" #include "zwp_virtual_keyboard_v1.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.h b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.h index 1af7af78..b6e2591a 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.h +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_manager_v1.h @@ -1,5 +1,6 @@ #ifndef ZWP_VIRTUAL_KEYBOARD_MANAGER_V1 #define ZWP_VIRTUAL_KEYBOARD_MANAGER_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-virtual-keyboard-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.cpp b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.cpp index ea6b7e70..f8e9e2a6 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.cpp +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.cpp @@ -1,4 +1,5 @@ #include "zwp_virtual_keyboard_v1.h" +#include namespace fcitx::wayland { ZwpVirtualKeyboardV1::ZwpVirtualKeyboardV1(zwp_virtual_keyboard_v1 *data) : version_(zwp_virtual_keyboard_v1_get_version(data)), data_(data) { diff --git a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.h b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.h index 39b0f7ea..b5c28668 100644 --- a/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.h +++ b/src/lib/fcitx-wayland/input-method-v2/zwp_virtual_keyboard_v1.h @@ -1,5 +1,6 @@ #ifndef ZWP_VIRTUAL_KEYBOARD_V1 #define ZWP_VIRTUAL_KEYBOARD_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-virtual-keyboard-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method/CMakeLists.txt b/src/lib/fcitx-wayland/input-method/CMakeLists.txt index dfc637a6..dcb7b8b0 100644 --- a/src/lib/fcitx-wayland/input-method/CMakeLists.txt +++ b/src/lib/fcitx-wayland/input-method/CMakeLists.txt @@ -11,7 +11,8 @@ set(FCITX_WAYLAND_INPUTMETHOD_SOURCES add_library(Fcitx5WaylandInputMethod STATIC ${FCITX_WAYLAND_INPUTMETHOD_SOURCES} ${WAYLAND_IM_PROTOCOL_SRCS}) set_target_properties(Fcitx5WaylandInputMethod PROPERTIES - POSITION_INDEPENDENT_CODE ON + COMPILE_FLAGS "-fPIC" + LINK_FLAGS "-Wl,--no-undefined" ) target_include_directories(Fcitx5WaylandInputMethod PUBLIC "$") diff --git a/src/lib/fcitx-wayland/input-method/zwp_input_method_context_v1.h b/src/lib/fcitx-wayland/input-method/zwp_input_method_context_v1.h index 41d297e3..538d3dbd 100644 --- a/src/lib/fcitx-wayland/input-method/zwp_input_method_context_v1.h +++ b/src/lib/fcitx-wayland/input-method/zwp_input_method_context_v1.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_METHOD_CONTEXT_V1 #define ZWP_INPUT_METHOD_CONTEXT_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method/zwp_input_method_v1.h b/src/lib/fcitx-wayland/input-method/zwp_input_method_v1.h index 3a34f241..175df919 100644 --- a/src/lib/fcitx-wayland/input-method/zwp_input_method_v1.h +++ b/src/lib/fcitx-wayland/input-method/zwp_input_method_v1.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_METHOD_V1 #define ZWP_INPUT_METHOD_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.cpp b/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.cpp index bd7eafa8..a6d53bf2 100644 --- a/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.cpp +++ b/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.cpp @@ -1,4 +1,5 @@ #include "zwp_input_panel_surface_v1.h" +#include #include "wl_output.h" namespace fcitx::wayland { ZwpInputPanelSurfaceV1::ZwpInputPanelSurfaceV1(zwp_input_panel_surface_v1 *data) diff --git a/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.h b/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.h index a8ace97f..d6dd5eb1 100644 --- a/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.h +++ b/src/lib/fcitx-wayland/input-method/zwp_input_panel_surface_v1.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_PANEL_SURFACE_V1 #define ZWP_INPUT_PANEL_SURFACE_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.cpp b/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.cpp index b94ae507..b3fd73d2 100644 --- a/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.cpp +++ b/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.cpp @@ -1,4 +1,5 @@ #include "zwp_input_panel_v1.h" +#include #include "wl_surface.h" #include "zwp_input_panel_surface_v1.h" namespace fcitx::wayland { diff --git a/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.h b/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.h index 66176568..78877ad9 100644 --- a/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.h +++ b/src/lib/fcitx-wayland/input-method/zwp_input_panel_v1.h @@ -1,5 +1,6 @@ #ifndef ZWP_INPUT_PANEL_V1 #define ZWP_INPUT_PANEL_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-input-method-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/plasma-window-management/CMakeLists.txt b/src/lib/fcitx-wayland/plasma-window-management/CMakeLists.txt deleted file mode 100644 index 5890a25a..00000000 --- a/src/lib/fcitx-wayland/plasma-window-management/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -ecm_add_wayland_client_protocol(PLASMA_WINDOW_MANAGEMENT_PROTOCOL_SRCS - PROTOCOL ${CMAKE_CURRENT_SOURCE_DIR}/plasma-window-management.xml - BASENAME plasma-window-management) - -set(FCITX_WAYLAND_PLASMA_WINDOW_MANAGEMENT_SOURCES - org_kde_plasma_window_management.cpp - org_kde_plasma_window.cpp -) - -add_library(Fcitx5WaylandPlasmaWindowManagement STATIC ${FCITX_WAYLAND_PLASMA_WINDOW_MANAGEMENT_SOURCES} ${PLASMA_WINDOW_MANAGEMENT_PROTOCOL_SRCS}) -set_target_properties(Fcitx5WaylandPlasmaWindowManagement PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) -target_include_directories(Fcitx5WaylandPlasmaWindowManagement PUBLIC - "$") -target_link_libraries(Fcitx5WaylandPlasmaWindowManagement Wayland::Client Fcitx5::Utils Fcitx5::Wayland::Core) - -add_library(Fcitx5::Wayland::PlasmaWindowManagement ALIAS Fcitx5WaylandPlasmaWindowManagement) - diff --git a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window.cpp b/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window.cpp deleted file mode 100644 index 3c19cc6a..00000000 --- a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window.cpp +++ /dev/null @@ -1,158 +0,0 @@ -#include "org_kde_plasma_window.h" -#include -#include "wl_output.h" -#include "wl_surface.h" -namespace fcitx::wayland { -const struct org_kde_plasma_window_listener OrgKdePlasmaWindow::listener = { - [](void *data, org_kde_plasma_window *wldata, const char *title) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->titleChanged()(title); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *appId) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->appIdChanged()(appId); } - }, - [](void *data, org_kde_plasma_window *wldata, uint32_t flags) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->stateChanged()(flags); } - }, - [](void *data, org_kde_plasma_window *wldata, int32_t number) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->virtualDesktopChanged()(number); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *name) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->themedIconNameChanged()(name); } - }, - [](void *data, org_kde_plasma_window *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->unmapped()(); } - }, - [](void *data, org_kde_plasma_window *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->initialState()(); } - }, - [](void *data, org_kde_plasma_window *wldata, - org_kde_plasma_window *parent) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *parent_ = - parent ? static_cast( - org_kde_plasma_window_get_user_data(parent)) - : nullptr; - return obj->parentWindow()(parent_); - } - }, - [](void *data, org_kde_plasma_window *wldata, int32_t x, int32_t y, - uint32_t width, uint32_t height) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->geometry()(x, y, width, height); } - }, - [](void *data, org_kde_plasma_window *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->iconChanged()(); } - }, - [](void *data, org_kde_plasma_window *wldata, uint32_t pid) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->pidChanged()(pid); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->virtualDesktopEntered()(id); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *is) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->virtualDesktopLeft()(is); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *serviceName, - const char *objectPath) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->applicationMenu()(serviceName, objectPath); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->activityEntered()(id); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->activityLeft()(id); } - }, - [](void *data, org_kde_plasma_window *wldata, const char *resourceName) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->resourceNameChanged()(resourceName); } - }, -}; -OrgKdePlasmaWindow::OrgKdePlasmaWindow(org_kde_plasma_window *data) - : version_(org_kde_plasma_window_get_version(data)), data_(data) { - org_kde_plasma_window_set_user_data(*this, this); - org_kde_plasma_window_add_listener(*this, &OrgKdePlasmaWindow::listener, - this); -} -void OrgKdePlasmaWindow::destructor(org_kde_plasma_window *data) { - auto version = org_kde_plasma_window_get_version(data); - if (version >= 4) { - return org_kde_plasma_window_destroy(data); - } -} -void OrgKdePlasmaWindow::setState(uint32_t flags, uint32_t state) { - return org_kde_plasma_window_set_state(*this, flags, state); -} -void OrgKdePlasmaWindow::setVirtualDesktop(uint32_t number) { - return org_kde_plasma_window_set_virtual_desktop(*this, number); -} -void OrgKdePlasmaWindow::setMinimizedGeometry(WlSurface *panel, uint32_t x, - uint32_t y, uint32_t width, - uint32_t height) { - return org_kde_plasma_window_set_minimized_geometry( - *this, rawPointer(panel), x, y, width, height); -} -void OrgKdePlasmaWindow::unsetMinimizedGeometry(WlSurface *panel) { - return org_kde_plasma_window_unset_minimized_geometry(*this, - rawPointer(panel)); -} -void OrgKdePlasmaWindow::close() { return org_kde_plasma_window_close(*this); } -void OrgKdePlasmaWindow::requestMove() { - return org_kde_plasma_window_request_move(*this); -} -void OrgKdePlasmaWindow::requestResize() { - return org_kde_plasma_window_request_resize(*this); -} -void OrgKdePlasmaWindow::getIcon(int32_t fd) { - return org_kde_plasma_window_get_icon(*this, fd); -} -void OrgKdePlasmaWindow::requestEnterVirtualDesktop(const char *id) { - return org_kde_plasma_window_request_enter_virtual_desktop(*this, id); -} -void OrgKdePlasmaWindow::requestEnterNewVirtualDesktop() { - return org_kde_plasma_window_request_enter_new_virtual_desktop(*this); -} -void OrgKdePlasmaWindow::requestLeaveVirtualDesktop(const char *id) { - return org_kde_plasma_window_request_leave_virtual_desktop(*this, id); -} -void OrgKdePlasmaWindow::requestEnterActivity(const char *id) { - return org_kde_plasma_window_request_enter_activity(*this, id); -} -void OrgKdePlasmaWindow::requestLeaveActivity(const char *id) { - return org_kde_plasma_window_request_leave_activity(*this, id); -} -void OrgKdePlasmaWindow::sendToOutput(WlOutput *output) { - return org_kde_plasma_window_send_to_output(*this, rawPointer(output)); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window.h b/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window.h deleted file mode 100644 index c6489c7b..00000000 --- a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window.h +++ /dev/null @@ -1,84 +0,0 @@ -#ifndef ORG_KDE_PLASMA_WINDOW -#define ORG_KDE_PLASMA_WINDOW -#include -#include "fcitx-utils/signals.h" -#include "wayland-plasma-window-management-client-protocol.h" -namespace fcitx::wayland { -class WlOutput; -class WlSurface; -class OrgKdePlasmaWindow final { -public: - static constexpr const char *interface = "org_kde_plasma_window"; - static constexpr const wl_interface *const wlInterface = - &org_kde_plasma_window_interface; - static constexpr const uint32_t version = 16; - typedef org_kde_plasma_window wlType; - operator org_kde_plasma_window *() { return data_.get(); } - OrgKdePlasmaWindow(wlType *data); - OrgKdePlasmaWindow(OrgKdePlasmaWindow &&other) noexcept = delete; - OrgKdePlasmaWindow &operator=(OrgKdePlasmaWindow &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setState(uint32_t flags, uint32_t state); - void setVirtualDesktop(uint32_t number); - void setMinimizedGeometry(WlSurface *panel, uint32_t x, uint32_t y, - uint32_t width, uint32_t height); - void unsetMinimizedGeometry(WlSurface *panel); - void close(); - void requestMove(); - void requestResize(); - void getIcon(int32_t fd); - void requestEnterVirtualDesktop(const char *id); - void requestEnterNewVirtualDesktop(); - void requestLeaveVirtualDesktop(const char *id); - void requestEnterActivity(const char *id); - void requestLeaveActivity(const char *id); - void sendToOutput(WlOutput *output); - auto &titleChanged() { return titleChangedSignal_; } - auto &appIdChanged() { return appIdChangedSignal_; } - auto &stateChanged() { return stateChangedSignal_; } - auto &virtualDesktopChanged() { return virtualDesktopChangedSignal_; } - auto &themedIconNameChanged() { return themedIconNameChangedSignal_; } - auto &unmapped() { return unmappedSignal_; } - auto &initialState() { return initialStateSignal_; } - auto &parentWindow() { return parentWindowSignal_; } - auto &geometry() { return geometrySignal_; } - auto &iconChanged() { return iconChangedSignal_; } - auto &pidChanged() { return pidChangedSignal_; } - auto &virtualDesktopEntered() { return virtualDesktopEnteredSignal_; } - auto &virtualDesktopLeft() { return virtualDesktopLeftSignal_; } - auto &applicationMenu() { return applicationMenuSignal_; } - auto &activityEntered() { return activityEnteredSignal_; } - auto &activityLeft() { return activityLeftSignal_; } - auto &resourceNameChanged() { return resourceNameChangedSignal_; } - -private: - static void destructor(org_kde_plasma_window *); - static const struct org_kde_plasma_window_listener listener; - fcitx::Signal titleChangedSignal_; - fcitx::Signal appIdChangedSignal_; - fcitx::Signal stateChangedSignal_; - fcitx::Signal virtualDesktopChangedSignal_; - fcitx::Signal themedIconNameChangedSignal_; - fcitx::Signal unmappedSignal_; - fcitx::Signal initialStateSignal_; - fcitx::Signal parentWindowSignal_; - fcitx::Signal geometrySignal_; - fcitx::Signal iconChangedSignal_; - fcitx::Signal pidChangedSignal_; - fcitx::Signal virtualDesktopEnteredSignal_; - fcitx::Signal virtualDesktopLeftSignal_; - fcitx::Signal applicationMenuSignal_; - fcitx::Signal activityEnteredSignal_; - fcitx::Signal activityLeftSignal_; - fcitx::Signal resourceNameChangedSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline org_kde_plasma_window *rawPointer(OrgKdePlasmaWindow *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window_management.cpp b/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window_management.cpp deleted file mode 100644 index c2a55012..00000000 --- a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window_management.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "org_kde_plasma_window_management.h" -#include -#include "org_kde_plasma_window.h" -namespace fcitx::wayland { -const struct org_kde_plasma_window_management_listener - OrgKdePlasmaWindowManagement::listener = { - [](void *data, org_kde_plasma_window_management *wldata, - uint32_t state) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->showDesktopChanged()(state); } - }, - [](void *data, org_kde_plasma_window_management *wldata, uint32_t id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->window()(id); } - }, - [](void *data, org_kde_plasma_window_management *wldata, - wl_array *ids) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->stackingOrderChanged()(ids); } - }, - [](void *data, org_kde_plasma_window_management *wldata, - const char *uuids) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->stackingOrderUuidChanged()(uuids); } - }, - [](void *data, org_kde_plasma_window_management *wldata, uint32_t id, - const char *uuid) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->windowWithUuid()(id, uuid); } - }, -}; -OrgKdePlasmaWindowManagement::OrgKdePlasmaWindowManagement( - org_kde_plasma_window_management *data) - : version_(org_kde_plasma_window_management_get_version(data)), - data_(data) { - org_kde_plasma_window_management_set_user_data(*this, this); - org_kde_plasma_window_management_add_listener( - *this, &OrgKdePlasmaWindowManagement::listener, this); -} -void OrgKdePlasmaWindowManagement::destructor( - org_kde_plasma_window_management *data) { - { return org_kde_plasma_window_management_destroy(data); } -} -void OrgKdePlasmaWindowManagement::showDesktop(uint32_t state) { - return org_kde_plasma_window_management_show_desktop(*this, state); -} -OrgKdePlasmaWindow * -OrgKdePlasmaWindowManagement::getWindow(uint32_t internalWindowId) { - return new OrgKdePlasmaWindow( - org_kde_plasma_window_management_get_window(*this, internalWindowId)); -} -OrgKdePlasmaWindow * -OrgKdePlasmaWindowManagement::getWindowByUuid(const char *internalWindowUuid) { - return new OrgKdePlasmaWindow( - org_kde_plasma_window_management_get_window_by_uuid( - *this, internalWindowUuid)); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window_management.h b/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window_management.h deleted file mode 100644 index c7353901..00000000 --- a/src/lib/fcitx-wayland/plasma-window-management/org_kde_plasma_window_management.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef ORG_KDE_PLASMA_WINDOW_MANAGEMENT -#define ORG_KDE_PLASMA_WINDOW_MANAGEMENT -#include -#include "fcitx-utils/signals.h" -#include "wayland-plasma-window-management-client-protocol.h" -namespace fcitx::wayland { -class OrgKdePlasmaWindow; -class OrgKdePlasmaWindowManagement final { -public: - static constexpr const char *interface = "org_kde_plasma_window_management"; - static constexpr const wl_interface *const wlInterface = - &org_kde_plasma_window_management_interface; - static constexpr const uint32_t version = 16; - typedef org_kde_plasma_window_management wlType; - operator org_kde_plasma_window_management *() { return data_.get(); } - OrgKdePlasmaWindowManagement(wlType *data); - OrgKdePlasmaWindowManagement( - OrgKdePlasmaWindowManagement &&other) noexcept = delete; - OrgKdePlasmaWindowManagement & - operator=(OrgKdePlasmaWindowManagement &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void showDesktop(uint32_t state); - OrgKdePlasmaWindow *getWindow(uint32_t internalWindowId); - OrgKdePlasmaWindow *getWindowByUuid(const char *internalWindowUuid); - auto &showDesktopChanged() { return showDesktopChangedSignal_; } - auto &window() { return windowSignal_; } - auto &stackingOrderChanged() { return stackingOrderChangedSignal_; } - auto &stackingOrderUuidChanged() { return stackingOrderUuidChangedSignal_; } - auto &windowWithUuid() { return windowWithUuidSignal_; } - -private: - static void destructor(org_kde_plasma_window_management *); - static const struct org_kde_plasma_window_management_listener listener; - fcitx::Signal showDesktopChangedSignal_; - fcitx::Signal windowSignal_; - fcitx::Signal stackingOrderChangedSignal_; - fcitx::Signal stackingOrderUuidChangedSignal_; - fcitx::Signal windowWithUuidSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline org_kde_plasma_window_management * -rawPointer(OrgKdePlasmaWindowManagement *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/plasma-window-management/plasma-window-management.xml b/src/lib/fcitx-wayland/plasma-window-management/plasma-window-management.xml deleted file mode 100644 index 6f6bb37a..00000000 --- a/src/lib/fcitx-wayland/plasma-window-management/plasma-window-management.xml +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - - This interface manages application windows. - It provides requests to show and hide the desktop and emits - an event every time a window is created so that the client can - use it to manage the window. - - Only one client can bind this interface at a time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tell the compositor to show/hide the desktop. - - - - - - Deprecated: use get_window_by_uuid - - - - - - - - - - - - This event will be sent whenever the show desktop mode changes. E.g. when it is entered - or left. - - On binding the interface the current state is sent. - - - - - - - This event will be sent immediately after a window is mapped. - - - - - - - This event will be sent when stacking order changed and on bind - - - - - - - This event will be sent when stacking order changed and on bind - - - - - - - This event will be sent immediately after a window is mapped. - - - - - - - - - Manages and control an application window. - - Only one client can bind this interface at a time. - - - - - Set window state. - - Values for state argument are described by org_kde_plasma_window_management.state - and can be used together in a bitfield. The flags bitfield describes which flags are - supposed to be set, the state bitfield the value for the set flags - - - - - - - - Deprecated: use enter_virtual_desktop - Maps the window to a different virtual desktop. - - To show the window on all virtual desktops, call the - org_kde_plasma_window.set_state request and specify a on_all_desktops - state in the bitfield. - - - - - - - Sets the geometry of the taskbar entry for this window. - The geometry is relative to a panel in particular. - - - - - - - - - - - Remove the task geometry information for a particular panel. - - - - - - - - - Close this window. - - - - - - Request an interactive move for this window. - - - - - - Request an interactive resize for this window. - - - - - - Removes the resource bound for this org_kde_plasma_window. - - - - - - The compositor will write the window icon into the provided file descriptor. - The data is a serialized QIcon with QDataStream. - - - - - - - This event will be sent as soon as the window title is changed. - - - - - - - This event will be sent as soon as the application - identifier is changed. - - - - - - - This event will be sent as soon as the window state changes. - - Values for state argument are described by org_kde_plasma_window_management.state. - - - - - - - DEPRECATED: use virtual_desktop_entered and virtual_desktop_left instead - This event will be sent when a window is moved to another - virtual desktop. - - It is not sent if it becomes visible on all virtual desktops though. - - - - - - - This event will be sent whenever the themed icon name changes. May be null. - - - - - - - This event will be sent immediately after the window is closed - and its surface is unmapped. - - - - - - This event will be sent immediately after all initial state been sent to the client. - If the Plasma window is already unmapped, the unmapped event will be sent before the - initial_state event. - - - - - - This event will be sent whenever the parent window of this org_kde_plasma_window changes. - The passed parent is another org_kde_plasma_window and this org_kde_plasma_window is a - transient window to the parent window. If the parent argument is null, this - org_kde_plasma_window does not have a parent window. - - - - - - - This event will be sent whenever the window geometry of this org_kde_plasma_window changes. - The coordinates are in absolute coordinates of the windowing system. - - - - - - - - - - This event will be sent whenever the icon of the window changes, but there is no themed - icon name. Common examples are Xwayland windows which have a pixmap based icon. - - The client can request the icon using get_icon. - - - - - - This event will be sent when the compositor has set the process id this window belongs to. - This should be set once before the initial_state is sent. - - - - - - - - - - Make the window enter a virtual desktop. A window can enter more - than one virtual desktop. if the id is empty or invalid, no action will be performed. - - - - - - RFC: do this with an empty id to request_enter_virtual_desktop? - Make the window enter a new virtual desktop. If the server consents the request, - it will create a new virtual desktop and assign the window to it. - - - - - - Make the window exit a virtual desktop. If it exits all desktops it will be considered on all of them. - - - - - - - This event will be sent when the window has entered a new virtual desktop. The window can be on more than one desktop, or none: then is considered on all of them. - - - - - - - This event will be sent when the window left a virtual desktop. If the window leaves all desktops, it can be considered on all. - If the window gets manually added on all desktops, the server has to send virtual_desktop_left for every previous desktop it was in for the window to be really considered on all desktops. - - - - - - - - - This event will be sent after the application menu - for the window has changed. - - - - - - - - Make the window enter an activity. A window can enter more activity. If the id is empty or invalid, no action will be performed. - - - - - - - Make the window exit a an activity. If it exits all activities it will be considered on all of them. - - - - - - - This event will be sent when the window has entered an activity. The window can be on more than one activity, or none: then is considered on all of them. - - - - - - - This event will be sent when the window left an activity. If the window leaves all activities, it will be considered on all. - If the window gets manually added on all activities, the server has to send activity_left for every previous activity it was in for the window to be really considered on all activities. - - - - - - - Requests this window to be displayed in a specific output. - - - - - - - This event will be sent when the X11 resource name of the window has changed. - This is only set for XWayland windows. - - - - - - - - The activation manager interface provides a way to get notified - when an application is about to be activated. - - - - - Destroy the activation manager object. The activation objects introduced - by this manager object will be unaffected. - - - - - - Will be issued when an app is set to be activated. It offers - an instance of org_kde_plasma_activation that will tell us the app_id - and the extent of the activation. - - - - - - - - - Notify the compositor that the org_kde_plasma_activation object will no - longer be used. - - - - - - - - - - - - - diff --git a/src/lib/fcitx-wayland/tablet-v2/CMakeLists.txt b/src/lib/fcitx-wayland/tablet-v2/CMakeLists.txt deleted file mode 100644 index 888091c8..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -ecm_add_wayland_client_protocol(WAYLAND_TABLET_PROTOCOL_SRCS - PROTOCOL ${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/tablet/tablet-unstable-v2.xml - BASENAME tablet) - -set(FCITX_WAYLAND_TABLET_SOURCES - zwp_tablet_manager_v2.cpp - zwp_tablet_pad_group_v2.cpp - zwp_tablet_pad_ring_v2.cpp - zwp_tablet_pad_strip_v2.cpp - zwp_tablet_pad_v2.cpp - zwp_tablet_seat_v2.cpp - zwp_tablet_tool_v2.cpp - zwp_tablet_v2.cpp -) - -add_library(Fcitx5WaylandTablet STATIC ${FCITX_WAYLAND_TABLET_SOURCES} ${WAYLAND_TABLET_PROTOCOL_SRCS}) -set_target_properties(Fcitx5WaylandTablet PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) -target_include_directories(Fcitx5WaylandTablet PUBLIC - "$") -target_link_libraries(Fcitx5WaylandTablet Wayland::Client Fcitx5::Utils Fcitx5::Wayland::Core) - -add_library(Fcitx5::Wayland::Tablet ALIAS Fcitx5WaylandTablet) diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_manager_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_manager_v2.cpp deleted file mode 100644 index 4241af53..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_manager_v2.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "zwp_tablet_manager_v2.h" -#include "wl_seat.h" -#include "zwp_tablet_seat_v2.h" -namespace fcitx::wayland { -ZwpTabletManagerV2::ZwpTabletManagerV2(zwp_tablet_manager_v2 *data) - : version_(zwp_tablet_manager_v2_get_version(data)), data_(data) { - zwp_tablet_manager_v2_set_user_data(*this, this); -} -void ZwpTabletManagerV2::destructor(zwp_tablet_manager_v2 *data) { - auto version = zwp_tablet_manager_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_manager_v2_destroy(data); - } -} -ZwpTabletSeatV2 *ZwpTabletManagerV2::getTabletSeat(WlSeat *seat) { - return new ZwpTabletSeatV2( - zwp_tablet_manager_v2_get_tablet_seat(*this, rawPointer(seat))); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_manager_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_manager_v2.h deleted file mode 100644 index eaea4ae5..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_manager_v2.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef ZWP_TABLET_MANAGER_V2 -#define ZWP_TABLET_MANAGER_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class WlSeat; -class ZwpTabletSeatV2; -class ZwpTabletManagerV2 final { -public: - static constexpr const char *interface = "zwp_tablet_manager_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_manager_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_manager_v2 wlType; - operator zwp_tablet_manager_v2 *() { return data_.get(); } - ZwpTabletManagerV2(wlType *data); - ZwpTabletManagerV2(ZwpTabletManagerV2 &&other) noexcept = delete; - ZwpTabletManagerV2 &operator=(ZwpTabletManagerV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - ZwpTabletSeatV2 *getTabletSeat(WlSeat *seat); - -private: - static void destructor(zwp_tablet_manager_v2 *); - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_manager_v2 *rawPointer(ZwpTabletManagerV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_group_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_group_v2.cpp deleted file mode 100644 index 64286518..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_group_v2.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "zwp_tablet_pad_group_v2.h" -#include -#include "zwp_tablet_pad_ring_v2.h" -#include "zwp_tablet_pad_strip_v2.h" -namespace fcitx::wayland { -const struct zwp_tablet_pad_group_v2_listener ZwpTabletPadGroupV2::listener = { - [](void *data, zwp_tablet_pad_group_v2 *wldata, wl_array *buttons) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->buttons()(buttons); } - }, - [](void *data, zwp_tablet_pad_group_v2 *wldata, - zwp_tablet_pad_ring_v2 *ring) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *ring_ = new ZwpTabletPadRingV2(ring); - return obj->ring()(ring_); - } - }, - [](void *data, zwp_tablet_pad_group_v2 *wldata, - zwp_tablet_pad_strip_v2 *strip) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *strip_ = new ZwpTabletPadStripV2(strip); - return obj->strip()(strip_); - } - }, - [](void *data, zwp_tablet_pad_group_v2 *wldata, uint32_t modes) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->modes()(modes); } - }, - [](void *data, zwp_tablet_pad_group_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->done()(); } - }, - [](void *data, zwp_tablet_pad_group_v2 *wldata, uint32_t time, - uint32_t serial, uint32_t mode) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->modeSwitch()(time, serial, mode); } - }, -}; -ZwpTabletPadGroupV2::ZwpTabletPadGroupV2(zwp_tablet_pad_group_v2 *data) - : version_(zwp_tablet_pad_group_v2_get_version(data)), data_(data) { - zwp_tablet_pad_group_v2_set_user_data(*this, this); - zwp_tablet_pad_group_v2_add_listener(*this, &ZwpTabletPadGroupV2::listener, - this); -} -void ZwpTabletPadGroupV2::destructor(zwp_tablet_pad_group_v2 *data) { - auto version = zwp_tablet_pad_group_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_pad_group_v2_destroy(data); - } -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_group_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_group_v2.h deleted file mode 100644 index 40c8d2f6..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_group_v2.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef ZWP_TABLET_PAD_GROUP_V2 -#define ZWP_TABLET_PAD_GROUP_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class ZwpTabletPadRingV2; -class ZwpTabletPadStripV2; -class ZwpTabletPadGroupV2 final { -public: - static constexpr const char *interface = "zwp_tablet_pad_group_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_pad_group_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_pad_group_v2 wlType; - operator zwp_tablet_pad_group_v2 *() { return data_.get(); } - ZwpTabletPadGroupV2(wlType *data); - ZwpTabletPadGroupV2(ZwpTabletPadGroupV2 &&other) noexcept = delete; - ZwpTabletPadGroupV2 & - operator=(ZwpTabletPadGroupV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - auto &buttons() { return buttonsSignal_; } - auto &ring() { return ringSignal_; } - auto &strip() { return stripSignal_; } - auto &modes() { return modesSignal_; } - auto &done() { return doneSignal_; } - auto &modeSwitch() { return modeSwitchSignal_; } - -private: - static void destructor(zwp_tablet_pad_group_v2 *); - static const struct zwp_tablet_pad_group_v2_listener listener; - fcitx::Signal buttonsSignal_; - fcitx::Signal ringSignal_; - fcitx::Signal stripSignal_; - fcitx::Signal modesSignal_; - fcitx::Signal doneSignal_; - fcitx::Signal modeSwitchSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_pad_group_v2 *rawPointer(ZwpTabletPadGroupV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_ring_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_ring_v2.cpp deleted file mode 100644 index 06cba7d5..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_ring_v2.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "zwp_tablet_pad_ring_v2.h" -#include -namespace fcitx::wayland { -const struct zwp_tablet_pad_ring_v2_listener ZwpTabletPadRingV2::listener = { - [](void *data, zwp_tablet_pad_ring_v2 *wldata, uint32_t source) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->source()(source); } - }, - [](void *data, zwp_tablet_pad_ring_v2 *wldata, wl_fixed_t degrees) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->angle()(degrees); } - }, - [](void *data, zwp_tablet_pad_ring_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->stop()(); } - }, - [](void *data, zwp_tablet_pad_ring_v2 *wldata, uint32_t time) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->frame()(time); } - }, -}; -ZwpTabletPadRingV2::ZwpTabletPadRingV2(zwp_tablet_pad_ring_v2 *data) - : version_(zwp_tablet_pad_ring_v2_get_version(data)), data_(data) { - zwp_tablet_pad_ring_v2_set_user_data(*this, this); - zwp_tablet_pad_ring_v2_add_listener(*this, &ZwpTabletPadRingV2::listener, - this); -} -void ZwpTabletPadRingV2::destructor(zwp_tablet_pad_ring_v2 *data) { - auto version = zwp_tablet_pad_ring_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_pad_ring_v2_destroy(data); - } -} -void ZwpTabletPadRingV2::setFeedback(const char *description, uint32_t serial) { - return zwp_tablet_pad_ring_v2_set_feedback(*this, description, serial); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_ring_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_ring_v2.h deleted file mode 100644 index 872c4c87..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_ring_v2.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef ZWP_TABLET_PAD_RING_V2 -#define ZWP_TABLET_PAD_RING_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class ZwpTabletPadRingV2 final { -public: - static constexpr const char *interface = "zwp_tablet_pad_ring_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_pad_ring_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_pad_ring_v2 wlType; - operator zwp_tablet_pad_ring_v2 *() { return data_.get(); } - ZwpTabletPadRingV2(wlType *data); - ZwpTabletPadRingV2(ZwpTabletPadRingV2 &&other) noexcept = delete; - ZwpTabletPadRingV2 &operator=(ZwpTabletPadRingV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setFeedback(const char *description, uint32_t serial); - auto &source() { return sourceSignal_; } - auto &angle() { return angleSignal_; } - auto &stop() { return stopSignal_; } - auto &frame() { return frameSignal_; } - -private: - static void destructor(zwp_tablet_pad_ring_v2 *); - static const struct zwp_tablet_pad_ring_v2_listener listener; - fcitx::Signal sourceSignal_; - fcitx::Signal angleSignal_; - fcitx::Signal stopSignal_; - fcitx::Signal frameSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_pad_ring_v2 *rawPointer(ZwpTabletPadRingV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_strip_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_strip_v2.cpp deleted file mode 100644 index c672f614..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_strip_v2.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include "zwp_tablet_pad_strip_v2.h" -#include -namespace fcitx::wayland { -const struct zwp_tablet_pad_strip_v2_listener ZwpTabletPadStripV2::listener = { - [](void *data, zwp_tablet_pad_strip_v2 *wldata, uint32_t source) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->source()(source); } - }, - [](void *data, zwp_tablet_pad_strip_v2 *wldata, uint32_t position) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->position()(position); } - }, - [](void *data, zwp_tablet_pad_strip_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->stop()(); } - }, - [](void *data, zwp_tablet_pad_strip_v2 *wldata, uint32_t time) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->frame()(time); } - }, -}; -ZwpTabletPadStripV2::ZwpTabletPadStripV2(zwp_tablet_pad_strip_v2 *data) - : version_(zwp_tablet_pad_strip_v2_get_version(data)), data_(data) { - zwp_tablet_pad_strip_v2_set_user_data(*this, this); - zwp_tablet_pad_strip_v2_add_listener(*this, &ZwpTabletPadStripV2::listener, - this); -} -void ZwpTabletPadStripV2::destructor(zwp_tablet_pad_strip_v2 *data) { - auto version = zwp_tablet_pad_strip_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_pad_strip_v2_destroy(data); - } -} -void ZwpTabletPadStripV2::setFeedback(const char *description, - uint32_t serial) { - return zwp_tablet_pad_strip_v2_set_feedback(*this, description, serial); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_strip_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_strip_v2.h deleted file mode 100644 index bf293133..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_strip_v2.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef ZWP_TABLET_PAD_STRIP_V2 -#define ZWP_TABLET_PAD_STRIP_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class ZwpTabletPadStripV2 final { -public: - static constexpr const char *interface = "zwp_tablet_pad_strip_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_pad_strip_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_pad_strip_v2 wlType; - operator zwp_tablet_pad_strip_v2 *() { return data_.get(); } - ZwpTabletPadStripV2(wlType *data); - ZwpTabletPadStripV2(ZwpTabletPadStripV2 &&other) noexcept = delete; - ZwpTabletPadStripV2 & - operator=(ZwpTabletPadStripV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setFeedback(const char *description, uint32_t serial); - auto &source() { return sourceSignal_; } - auto &position() { return positionSignal_; } - auto &stop() { return stopSignal_; } - auto &frame() { return frameSignal_; } - -private: - static void destructor(zwp_tablet_pad_strip_v2 *); - static const struct zwp_tablet_pad_strip_v2_listener listener; - fcitx::Signal sourceSignal_; - fcitx::Signal positionSignal_; - fcitx::Signal stopSignal_; - fcitx::Signal frameSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_pad_strip_v2 *rawPointer(ZwpTabletPadStripV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_v2.cpp deleted file mode 100644 index 5111febe..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_v2.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "zwp_tablet_pad_v2.h" -#include -#include "wl_surface.h" -#include "zwp_tablet_pad_group_v2.h" -#include "zwp_tablet_v2.h" -namespace fcitx::wayland { -const struct zwp_tablet_pad_v2_listener ZwpTabletPadV2::listener = { - [](void *data, zwp_tablet_pad_v2 *wldata, - zwp_tablet_pad_group_v2 *padGroup) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *padGroup_ = new ZwpTabletPadGroupV2(padGroup); - return obj->group()(padGroup_); - } - }, - [](void *data, zwp_tablet_pad_v2 *wldata, const char *path) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->path()(path); } - }, - [](void *data, zwp_tablet_pad_v2 *wldata, uint32_t buttons) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->buttons()(buttons); } - }, - [](void *data, zwp_tablet_pad_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->done()(); } - }, - [](void *data, zwp_tablet_pad_v2 *wldata, uint32_t time, uint32_t button, - uint32_t state) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->button()(time, button, state); } - }, - [](void *data, zwp_tablet_pad_v2 *wldata, uint32_t serial, - zwp_tablet_v2 *tablet, wl_surface *surface) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - if (!tablet) { - return; - } - auto *tablet_ = - static_cast(zwp_tablet_v2_get_user_data(tablet)); - if (!surface) { - return; - } - auto *surface_ = - static_cast(wl_surface_get_user_data(surface)); - return obj->enter()(serial, tablet_, surface_); - } - }, - [](void *data, zwp_tablet_pad_v2 *wldata, uint32_t serial, - wl_surface *surface) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - if (!surface) { - return; - } - auto *surface_ = - static_cast(wl_surface_get_user_data(surface)); - return obj->leave()(serial, surface_); - } - }, - [](void *data, zwp_tablet_pad_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->removed()(); } - }, -}; -ZwpTabletPadV2::ZwpTabletPadV2(zwp_tablet_pad_v2 *data) - : version_(zwp_tablet_pad_v2_get_version(data)), data_(data) { - zwp_tablet_pad_v2_set_user_data(*this, this); - zwp_tablet_pad_v2_add_listener(*this, &ZwpTabletPadV2::listener, this); -} -void ZwpTabletPadV2::destructor(zwp_tablet_pad_v2 *data) { - auto version = zwp_tablet_pad_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_pad_v2_destroy(data); - } -} -void ZwpTabletPadV2::setFeedback(uint32_t button, const char *description, - uint32_t serial) { - return zwp_tablet_pad_v2_set_feedback(*this, button, description, serial); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_v2.h deleted file mode 100644 index 9fbac1a6..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_pad_v2.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef ZWP_TABLET_PAD_V2 -#define ZWP_TABLET_PAD_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class WlSurface; -class ZwpTabletPadGroupV2; -class ZwpTabletV2; -class ZwpTabletPadV2 final { -public: - static constexpr const char *interface = "zwp_tablet_pad_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_pad_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_pad_v2 wlType; - operator zwp_tablet_pad_v2 *() { return data_.get(); } - ZwpTabletPadV2(wlType *data); - ZwpTabletPadV2(ZwpTabletPadV2 &&other) noexcept = delete; - ZwpTabletPadV2 &operator=(ZwpTabletPadV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setFeedback(uint32_t button, const char *description, uint32_t serial); - auto &group() { return groupSignal_; } - auto &path() { return pathSignal_; } - auto &buttons() { return buttonsSignal_; } - auto &done() { return doneSignal_; } - auto &button() { return buttonSignal_; } - auto &enter() { return enterSignal_; } - auto &leave() { return leaveSignal_; } - auto &removed() { return removedSignal_; } - -private: - static void destructor(zwp_tablet_pad_v2 *); - static const struct zwp_tablet_pad_v2_listener listener; - fcitx::Signal groupSignal_; - fcitx::Signal pathSignal_; - fcitx::Signal buttonsSignal_; - fcitx::Signal doneSignal_; - fcitx::Signal buttonSignal_; - fcitx::Signal enterSignal_; - fcitx::Signal leaveSignal_; - fcitx::Signal removedSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_pad_v2 *rawPointer(ZwpTabletPadV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_seat_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_seat_v2.cpp deleted file mode 100644 index 652c9975..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_seat_v2.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "zwp_tablet_seat_v2.h" -#include -#include "zwp_tablet_pad_v2.h" -#include "zwp_tablet_tool_v2.h" -#include "zwp_tablet_v2.h" -namespace fcitx::wayland { -const struct zwp_tablet_seat_v2_listener ZwpTabletSeatV2::listener = { - [](void *data, zwp_tablet_seat_v2 *wldata, zwp_tablet_v2 *id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *id_ = new ZwpTabletV2(id); - return obj->tabletAdded()(id_); - } - }, - [](void *data, zwp_tablet_seat_v2 *wldata, zwp_tablet_tool_v2 *id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *id_ = new ZwpTabletToolV2(id); - return obj->toolAdded()(id_); - } - }, - [](void *data, zwp_tablet_seat_v2 *wldata, zwp_tablet_pad_v2 *id) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *id_ = new ZwpTabletPadV2(id); - return obj->padAdded()(id_); - } - }, -}; -ZwpTabletSeatV2::ZwpTabletSeatV2(zwp_tablet_seat_v2 *data) - : version_(zwp_tablet_seat_v2_get_version(data)), data_(data) { - zwp_tablet_seat_v2_set_user_data(*this, this); - zwp_tablet_seat_v2_add_listener(*this, &ZwpTabletSeatV2::listener, this); -} -void ZwpTabletSeatV2::destructor(zwp_tablet_seat_v2 *data) { - auto version = zwp_tablet_seat_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_seat_v2_destroy(data); - } -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_seat_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_seat_v2.h deleted file mode 100644 index 77b5f56d..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_seat_v2.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef ZWP_TABLET_SEAT_V2 -#define ZWP_TABLET_SEAT_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class ZwpTabletPadV2; -class ZwpTabletToolV2; -class ZwpTabletV2; -class ZwpTabletSeatV2 final { -public: - static constexpr const char *interface = "zwp_tablet_seat_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_seat_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_seat_v2 wlType; - operator zwp_tablet_seat_v2 *() { return data_.get(); } - ZwpTabletSeatV2(wlType *data); - ZwpTabletSeatV2(ZwpTabletSeatV2 &&other) noexcept = delete; - ZwpTabletSeatV2 &operator=(ZwpTabletSeatV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - auto &tabletAdded() { return tabletAddedSignal_; } - auto &toolAdded() { return toolAddedSignal_; } - auto &padAdded() { return padAddedSignal_; } - -private: - static void destructor(zwp_tablet_seat_v2 *); - static const struct zwp_tablet_seat_v2_listener listener; - fcitx::Signal tabletAddedSignal_; - fcitx::Signal toolAddedSignal_; - fcitx::Signal padAddedSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_seat_v2 *rawPointer(ZwpTabletSeatV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_tool_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_tool_v2.cpp deleted file mode 100644 index 6fc8b7a3..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_tool_v2.cpp +++ /dev/null @@ -1,137 +0,0 @@ -#include "zwp_tablet_tool_v2.h" -#include -#include "wl_surface.h" -#include "zwp_tablet_v2.h" -namespace fcitx::wayland { -const struct zwp_tablet_tool_v2_listener ZwpTabletToolV2::listener = { - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t toolType) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->type()(toolType); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t hardwareSerialHi, - uint32_t hardwareSerialLo) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->hardwareSerial()(hardwareSerialHi, hardwareSerialLo); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t hardwareIdHi, - uint32_t hardwareIdLo) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->hardwareIdWacom()(hardwareIdHi, hardwareIdLo); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t capability) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->capability()(capability); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->done()(); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->removed()(); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t serial, - zwp_tablet_v2 *tablet, wl_surface *surface) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - if (!tablet) { - return; - } - auto *tablet_ = - static_cast(zwp_tablet_v2_get_user_data(tablet)); - if (!surface) { - return; - } - auto *surface_ = - static_cast(wl_surface_get_user_data(surface)); - return obj->proximityIn()(serial, tablet_, surface_); - } - }, - [](void *data, zwp_tablet_tool_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->proximityOut()(); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t serial) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->down()(serial); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->up()(); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, wl_fixed_t x, wl_fixed_t y) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->motion()(x, y); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t pressure) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->pressure()(pressure); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t distance) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->distance()(distance); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, wl_fixed_t tiltX, - wl_fixed_t tiltY) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->tilt()(tiltX, tiltY); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, wl_fixed_t degrees) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->rotation()(degrees); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, int32_t position) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->slider()(position); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, wl_fixed_t degrees, - int32_t clicks) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->wheel()(degrees, clicks); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t serial, uint32_t button, - uint32_t state) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->button()(serial, button, state); } - }, - [](void *data, zwp_tablet_tool_v2 *wldata, uint32_t time) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->frame()(time); } - }, -}; -ZwpTabletToolV2::ZwpTabletToolV2(zwp_tablet_tool_v2 *data) - : version_(zwp_tablet_tool_v2_get_version(data)), data_(data) { - zwp_tablet_tool_v2_set_user_data(*this, this); - zwp_tablet_tool_v2_add_listener(*this, &ZwpTabletToolV2::listener, this); -} -void ZwpTabletToolV2::destructor(zwp_tablet_tool_v2 *data) { - auto version = zwp_tablet_tool_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_tool_v2_destroy(data); - } -} -void ZwpTabletToolV2::setCursor(uint32_t serial, WlSurface *surface, - int32_t hotspotX, int32_t hotspotY) { - return zwp_tablet_tool_v2_set_cursor(*this, serial, rawPointer(surface), - hotspotX, hotspotY); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_tool_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_tool_v2.h deleted file mode 100644 index 301ba8ec..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_tool_v2.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef ZWP_TABLET_TOOL_V2 -#define ZWP_TABLET_TOOL_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class WlSurface; -class ZwpTabletV2; -class ZwpTabletToolV2 final { -public: - static constexpr const char *interface = "zwp_tablet_tool_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_tool_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_tool_v2 wlType; - operator zwp_tablet_tool_v2 *() { return data_.get(); } - ZwpTabletToolV2(wlType *data); - ZwpTabletToolV2(ZwpTabletToolV2 &&other) noexcept = delete; - ZwpTabletToolV2 &operator=(ZwpTabletToolV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setCursor(uint32_t serial, WlSurface *surface, int32_t hotspotX, - int32_t hotspotY); - auto &type() { return typeSignal_; } - auto &hardwareSerial() { return hardwareSerialSignal_; } - auto &hardwareIdWacom() { return hardwareIdWacomSignal_; } - auto &capability() { return capabilitySignal_; } - auto &done() { return doneSignal_; } - auto &removed() { return removedSignal_; } - auto &proximityIn() { return proximityInSignal_; } - auto &proximityOut() { return proximityOutSignal_; } - auto &down() { return downSignal_; } - auto &up() { return upSignal_; } - auto &motion() { return motionSignal_; } - auto &pressure() { return pressureSignal_; } - auto &distance() { return distanceSignal_; } - auto &tilt() { return tiltSignal_; } - auto &rotation() { return rotationSignal_; } - auto &slider() { return sliderSignal_; } - auto &wheel() { return wheelSignal_; } - auto &button() { return buttonSignal_; } - auto &frame() { return frameSignal_; } - -private: - static void destructor(zwp_tablet_tool_v2 *); - static const struct zwp_tablet_tool_v2_listener listener; - fcitx::Signal typeSignal_; - fcitx::Signal hardwareSerialSignal_; - fcitx::Signal hardwareIdWacomSignal_; - fcitx::Signal capabilitySignal_; - fcitx::Signal doneSignal_; - fcitx::Signal removedSignal_; - fcitx::Signal - proximityInSignal_; - fcitx::Signal proximityOutSignal_; - fcitx::Signal downSignal_; - fcitx::Signal upSignal_; - fcitx::Signal motionSignal_; - fcitx::Signal pressureSignal_; - fcitx::Signal distanceSignal_; - fcitx::Signal tiltSignal_; - fcitx::Signal rotationSignal_; - fcitx::Signal sliderSignal_; - fcitx::Signal wheelSignal_; - fcitx::Signal buttonSignal_; - fcitx::Signal frameSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_tool_v2 *rawPointer(ZwpTabletToolV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_v2.cpp b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_v2.cpp deleted file mode 100644 index 756d1e34..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_v2.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "zwp_tablet_v2.h" -namespace fcitx::wayland { -const struct zwp_tablet_v2_listener ZwpTabletV2::listener = { - [](void *data, zwp_tablet_v2 *wldata, const char *name) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->name()(name); } - }, - [](void *data, zwp_tablet_v2 *wldata, uint32_t vid, uint32_t pid) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->id()(vid, pid); } - }, - [](void *data, zwp_tablet_v2 *wldata, const char *path) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->path()(path); } - }, - [](void *data, zwp_tablet_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->done()(); } - }, - [](void *data, zwp_tablet_v2 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->removed()(); } - }, -}; -ZwpTabletV2::ZwpTabletV2(zwp_tablet_v2 *data) - : version_(zwp_tablet_v2_get_version(data)), data_(data) { - zwp_tablet_v2_set_user_data(*this, this); - zwp_tablet_v2_add_listener(*this, &ZwpTabletV2::listener, this); -} -void ZwpTabletV2::destructor(zwp_tablet_v2 *data) { - auto version = zwp_tablet_v2_get_version(data); - if (version >= 1) { - return zwp_tablet_v2_destroy(data); - } -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_v2.h b/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_v2.h deleted file mode 100644 index 17880522..00000000 --- a/src/lib/fcitx-wayland/tablet-v2/zwp_tablet_v2.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef ZWP_TABLET_V2 -#define ZWP_TABLET_V2 -#include -#include "fcitx-utils/signals.h" -#include "wayland-tablet-client-protocol.h" -namespace fcitx::wayland { -class ZwpTabletV2 final { -public: - static constexpr const char *interface = "zwp_tablet_v2"; - static constexpr const wl_interface *const wlInterface = - &zwp_tablet_v2_interface; - static constexpr const uint32_t version = 1; - typedef zwp_tablet_v2 wlType; - operator zwp_tablet_v2 *() { return data_.get(); } - ZwpTabletV2(wlType *data); - ZwpTabletV2(ZwpTabletV2 &&other) noexcept = delete; - ZwpTabletV2 &operator=(ZwpTabletV2 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - auto &name() { return nameSignal_; } - auto &id() { return idSignal_; } - auto &path() { return pathSignal_; } - auto &done() { return doneSignal_; } - auto &removed() { return removedSignal_; } - -private: - static void destructor(zwp_tablet_v2 *); - static const struct zwp_tablet_v2_listener listener; - fcitx::Signal nameSignal_; - fcitx::Signal idSignal_; - fcitx::Signal pathSignal_; - fcitx::Signal doneSignal_; - fcitx::Signal removedSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwp_tablet_v2 *rawPointer(ZwpTabletV2 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/viewporter/CMakeLists.txt b/src/lib/fcitx-wayland/viewporter/CMakeLists.txt deleted file mode 100644 index 8a6825ed..00000000 --- a/src/lib/fcitx-wayland/viewporter/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -ecm_add_wayland_client_protocol(VIEWPORTER_PROTOCOL_SRCS - PROTOCOL ${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml - BASENAME viewporter) - -set(FCITX_WAYLAND_VIEWPORTER_SOURCES - wp_viewport.cpp - wp_viewporter.cpp -) - -add_library(Fcitx5WaylandViewporter STATIC ${FCITX_WAYLAND_VIEWPORTER_SOURCES} ${VIEWPORTER_PROTOCOL_SRCS}) -set_target_properties(Fcitx5WaylandViewporter PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) -target_include_directories(Fcitx5WaylandViewporter PUBLIC - "$") -target_link_libraries(Fcitx5WaylandViewporter Wayland::Client Fcitx5::Utils Fcitx5::Wayland::Core) - -add_library(Fcitx5::Wayland::Viewporter ALIAS Fcitx5WaylandViewporter) diff --git a/src/lib/fcitx-wayland/viewporter/wp_viewport.cpp b/src/lib/fcitx-wayland/viewporter/wp_viewport.cpp deleted file mode 100644 index 826e1baa..00000000 --- a/src/lib/fcitx-wayland/viewporter/wp_viewport.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "wp_viewport.h" -namespace fcitx::wayland { -WpViewport::WpViewport(wp_viewport *data) - : version_(wp_viewport_get_version(data)), data_(data) { - wp_viewport_set_user_data(*this, this); -} -void WpViewport::destructor(wp_viewport *data) { - auto version = wp_viewport_get_version(data); - if (version >= 1) { - return wp_viewport_destroy(data); - } -} -void WpViewport::setSource(wl_fixed_t x, wl_fixed_t y, wl_fixed_t width, - wl_fixed_t height) { - return wp_viewport_set_source(*this, x, y, width, height); -} -void WpViewport::setDestination(int32_t width, int32_t height) { - return wp_viewport_set_destination(*this, width, height); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/viewporter/wp_viewport.h b/src/lib/fcitx-wayland/viewporter/wp_viewport.h deleted file mode 100644 index b86fed65..00000000 --- a/src/lib/fcitx-wayland/viewporter/wp_viewport.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef WP_VIEWPORT -#define WP_VIEWPORT -#include -#include "fcitx-utils/signals.h" -#include "wayland-viewporter-client-protocol.h" -namespace fcitx::wayland { -class WpViewport final { -public: - static constexpr const char *interface = "wp_viewport"; - static constexpr const wl_interface *const wlInterface = - &wp_viewport_interface; - static constexpr const uint32_t version = 1; - typedef wp_viewport wlType; - operator wp_viewport *() { return data_.get(); } - WpViewport(wlType *data); - WpViewport(WpViewport &&other) noexcept = delete; - WpViewport &operator=(WpViewport &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setSource(wl_fixed_t x, wl_fixed_t y, wl_fixed_t width, - wl_fixed_t height); - void setDestination(int32_t width, int32_t height); - -private: - static void destructor(wp_viewport *); - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline wp_viewport *rawPointer(WpViewport *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/viewporter/wp_viewporter.cpp b/src/lib/fcitx-wayland/viewporter/wp_viewporter.cpp deleted file mode 100644 index 3808685f..00000000 --- a/src/lib/fcitx-wayland/viewporter/wp_viewporter.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "wp_viewporter.h" -#include "wl_surface.h" -#include "wp_viewport.h" -namespace fcitx::wayland { -WpViewporter::WpViewporter(wp_viewporter *data) - : version_(wp_viewporter_get_version(data)), data_(data) { - wp_viewporter_set_user_data(*this, this); -} -void WpViewporter::destructor(wp_viewporter *data) { - auto version = wp_viewporter_get_version(data); - if (version >= 1) { - return wp_viewporter_destroy(data); - } -} -WpViewport *WpViewporter::getViewport(WlSurface *surface) { - return new WpViewport( - wp_viewporter_get_viewport(*this, rawPointer(surface))); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/viewporter/wp_viewporter.h b/src/lib/fcitx-wayland/viewporter/wp_viewporter.h deleted file mode 100644 index 5fa2a397..00000000 --- a/src/lib/fcitx-wayland/viewporter/wp_viewporter.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef WP_VIEWPORTER -#define WP_VIEWPORTER -#include -#include "fcitx-utils/signals.h" -#include "wayland-viewporter-client-protocol.h" -namespace fcitx::wayland { -class WlSurface; -class WpViewport; -class WpViewporter final { -public: - static constexpr const char *interface = "wp_viewporter"; - static constexpr const wl_interface *const wlInterface = - &wp_viewporter_interface; - static constexpr const uint32_t version = 1; - typedef wp_viewporter wlType; - operator wp_viewporter *() { return data_.get(); } - WpViewporter(wlType *data); - WpViewporter(WpViewporter &&other) noexcept = delete; - WpViewporter &operator=(WpViewporter &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - WpViewport *getViewport(WlSurface *surface); - -private: - static void destructor(wp_viewporter *); - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline wp_viewporter *rawPointer(WpViewporter *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/wlr-data-control/CMakeLists.txt b/src/lib/fcitx-wayland/wlr-data-control/CMakeLists.txt index e18f2d06..d59aba1d 100644 --- a/src/lib/fcitx-wayland/wlr-data-control/CMakeLists.txt +++ b/src/lib/fcitx-wayland/wlr-data-control/CMakeLists.txt @@ -11,7 +11,8 @@ set(FCITX_WAYLAND_WLR_DATA_CONTROL_PROTOCOL_SOURCES add_library(Fcitx5WaylandWLRDataControl STATIC ${FCITX_WAYLAND_WLR_DATA_CONTROL_PROTOCOL_SOURCES} ${WLR_DATA_CONTROL_PROTOCOL_SRCS}) set_target_properties(Fcitx5WaylandWLRDataControl PROPERTIES - POSITION_INDEPENDENT_CODE ON + COMPILE_FLAGS "-fPIC" + LINK_FLAGS "-Wl,--no-undefined" ) target_include_directories(Fcitx5WaylandWLRDataControl PUBLIC "$") diff --git a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_device_v1.h b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_device_v1.h index 58e3aed4..865f486c 100644 --- a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_device_v1.h +++ b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_device_v1.h @@ -1,5 +1,6 @@ #ifndef ZWLR_DATA_CONTROL_DEVICE_V1 #define ZWLR_DATA_CONTROL_DEVICE_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-wlr-data-control-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.cpp b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.cpp index 7ee95f46..919cfd1d 100644 --- a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.cpp +++ b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.cpp @@ -1,4 +1,5 @@ #include "zwlr_data_control_manager_v1.h" +#include #include "wl_seat.h" #include "zwlr_data_control_device_v1.h" #include "zwlr_data_control_source_v1.h" diff --git a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.h b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.h index d319d04e..0bb7038c 100644 --- a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.h +++ b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_manager_v1.h @@ -1,5 +1,6 @@ #ifndef ZWLR_DATA_CONTROL_MANAGER_V1 #define ZWLR_DATA_CONTROL_MANAGER_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-wlr-data-control-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_offer_v1.h b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_offer_v1.h index 62514228..f067718c 100644 --- a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_offer_v1.h +++ b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_offer_v1.h @@ -1,5 +1,6 @@ #ifndef ZWLR_DATA_CONTROL_OFFER_V1 #define ZWLR_DATA_CONTROL_OFFER_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-wlr-data-control-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_source_v1.h b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_source_v1.h index 4e296fbc..21acd381 100644 --- a/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_source_v1.h +++ b/src/lib/fcitx-wayland/wlr-data-control/zwlr_data_control_source_v1.h @@ -1,5 +1,6 @@ #ifndef ZWLR_DATA_CONTROL_SOURCE_V1 #define ZWLR_DATA_CONTROL_SOURCE_V1 +#include #include #include "fcitx-utils/signals.h" #include "wayland-wlr-data-control-unstable-v1-client-protocol.h" diff --git a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/CMakeLists.txt b/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/CMakeLists.txt deleted file mode 100644 index fa09dc8a..00000000 --- a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -ecm_add_wayland_client_protocol(WLR_FOREIGN_TOPLEVEL_MANAGEMENT_PROTOCOL_SRCS - PROTOCOL ${CMAKE_CURRENT_SOURCE_DIR}/wlr-foreign-toplevel-management-unstable-v1.xml - BASENAME wlr-foreign-toplevel-management) - -set(FCITX_WAYLAND_WLR_FOREIGN_TOPLEVEL_MANAGEMENT_PROTOCOL_SOURCES - zwlr_foreign_toplevel_manager_v1.cpp - zwlr_foreign_toplevel_handle_v1.cpp -) - -add_library(Fcitx5WaylandWLRForeignToplevelManagement STATIC ${FCITX_WAYLAND_WLR_FOREIGN_TOPLEVEL_MANAGEMENT_PROTOCOL_SOURCES} ${WLR_FOREIGN_TOPLEVEL_MANAGEMENT_PROTOCOL_SRCS}) -set_target_properties(Fcitx5WaylandWLRForeignToplevelManagement PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) -target_include_directories(Fcitx5WaylandWLRForeignToplevelManagement PUBLIC - "$") -target_link_libraries(Fcitx5WaylandWLRForeignToplevelManagement Wayland::Client Fcitx5::Utils Fcitx5::Wayland::Core) - -add_library(Fcitx5::Wayland::WLRForeignToplevelManagement ALIAS Fcitx5WaylandWLRForeignToplevelManagement) - diff --git a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/wlr-foreign-toplevel-management-unstable-v1.xml b/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/wlr-foreign-toplevel-management-unstable-v1.xml deleted file mode 100644 index 10813371..00000000 --- a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/wlr-foreign-toplevel-management-unstable-v1.xml +++ /dev/null @@ -1,270 +0,0 @@ - - - - Copyright © 2018 Ilia Bozhinov - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that copyright notice and this permission - notice appear in supporting documentation, and that the name of - the copyright holders not be used in advertising or publicity - pertaining to distribution of the software without specific, - written prior permission. The copyright holders make no - representations about the suitability of this software for any - purpose. It is provided "as is" without express or implied - warranty. - - THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS - SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY - SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN - AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF - THIS SOFTWARE. - - - - - The purpose of this protocol is to enable the creation of taskbars - and docks by providing them with a list of opened applications and - letting them request certain actions on them, like maximizing, etc. - - After a client binds the zwlr_foreign_toplevel_manager_v1, each opened - toplevel window will be sent via the toplevel event - - - - - This event is emitted whenever a new toplevel window is created. It - is emitted for all toplevels, regardless of the app that has created - them. - - All initial details of the toplevel(title, app_id, states, etc.) will - be sent immediately after this event via the corresponding events in - zwlr_foreign_toplevel_handle_v1. - - - - - - - Indicates the client no longer wishes to receive events for new toplevels. - However the compositor may emit further toplevel_created events, until - the finished event is emitted. - - The client must not send any more requests after this one. - - - - - - This event indicates that the compositor is done sending events to the - zwlr_foreign_toplevel_manager_v1. The server will destroy the object - immediately after sending this request, so it will become invalid and - the client should free any resources associated with it. - - - - - - - A zwlr_foreign_toplevel_handle_v1 object represents an opened toplevel - window. Each app may have multiple opened toplevels. - - Each toplevel has a list of outputs it is visible on, conveyed to the - client with the output_enter and output_leave events. - - - - - This event is emitted whenever the title of the toplevel changes. - - - - - - - This event is emitted whenever the app-id of the toplevel changes. - - - - - - - This event is emitted whenever the toplevel becomes visible on - the given output. A toplevel may be visible on multiple outputs. - - - - - - - This event is emitted whenever the toplevel stops being visible on - the given output. It is guaranteed that an entered-output event - with the same output has been emitted before this event. - - - - - - - Requests that the toplevel be maximized. If the maximized state actually - changes, this will be indicated by the state event. - - - - - - Requests that the toplevel be unmaximized. If the maximized state actually - changes, this will be indicated by the state event. - - - - - - Requests that the toplevel be minimized. If the minimized state actually - changes, this will be indicated by the state event. - - - - - - Requests that the toplevel be unminimized. If the minimized state actually - changes, this will be indicated by the state event. - - - - - - Request that this toplevel be activated on the given seat. - There is no guarantee the toplevel will be actually activated. - - - - - - - The different states that a toplevel can have. These have the same meaning - as the states with the same names defined in xdg-toplevel - - - - - - - - - - - This event is emitted immediately after the zlw_foreign_toplevel_handle_v1 - is created and each time the toplevel state changes, either because of a - compositor action or because of a request in this protocol. - - - - - - - - This event is sent after all changes in the toplevel state have been - sent. - - This allows changes to the zwlr_foreign_toplevel_handle_v1 properties - to be seen as atomic, even if they happen via multiple events. - - - - - - Send a request to the toplevel to close itself. The compositor would - typically use a shell-specific method to carry out this request, for - example by sending the xdg_toplevel.close event. However, this gives - no guarantees the toplevel will actually be destroyed. If and when - this happens, the zwlr_foreign_toplevel_handle_v1.closed event will - be emitted. - - - - - - The rectangle of the surface specified in this request corresponds to - the place where the app using this protocol represents the given toplevel. - It can be used by the compositor as a hint for some operations, e.g - minimizing. The client is however not required to set this, in which - case the compositor is free to decide some default value. - - If the client specifies more than one rectangle, only the last one is - considered. - - The dimensions are given in surface-local coordinates. - Setting width=height=0 removes the already-set rectangle. - - - - - - - - - - - - - - - - This event means the toplevel has been destroyed. It is guaranteed there - won't be any more events for this zwlr_foreign_toplevel_handle_v1. The - toplevel itself becomes inert so any requests will be ignored except the - destroy request. - - - - - - Destroys the zwlr_foreign_toplevel_handle_v1 object. - - This request should be called either when the client does not want to - use the toplevel anymore or after the closed event to finalize the - destruction of the object. - - - - - - - - Requests that the toplevel be fullscreened on the given output. If the - fullscreen state and/or the outputs the toplevel is visible on actually - change, this will be indicated by the state and output_enter/leave - events. - - The output parameter is only a hint to the compositor. Also, if output - is NULL, the compositor should decide which output the toplevel will be - fullscreened on, if at all. - - - - - - - Requests that the toplevel be unfullscreened. If the fullscreen state - actually changes, this will be indicated by the state event. - - - - - - - - This event is emitted whenever the parent of the toplevel changes. - - No event is emitted when the parent handle is destroyed by the client. - - - - - diff --git a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_handle_v1.cpp b/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_handle_v1.cpp deleted file mode 100644 index 0ae93b20..00000000 --- a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_handle_v1.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include "zwlr_foreign_toplevel_handle_v1.h" -#include -#include "wl_output.h" -#include "wl_seat.h" -#include "wl_surface.h" -namespace fcitx::wayland { -const struct zwlr_foreign_toplevel_handle_v1_listener - ZwlrForeignToplevelHandleV1::listener = { - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata, - const char *title) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->title()(title); } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata, - const char *appId) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->appId()(appId); } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata, - wl_output *output) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - if (!output) { - return; - } - auto *output_ = - static_cast(wl_output_get_user_data(output)); - return obj->outputEnter()(output_); - } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata, - wl_output *output) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - if (!output) { - return; - } - auto *output_ = - static_cast(wl_output_get_user_data(output)); - return obj->outputLeave()(output_); - } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata, - wl_array *state) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->state()(state); } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->done()(); } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->closed()(); } - }, - [](void *data, zwlr_foreign_toplevel_handle_v1 *wldata, - zwlr_foreign_toplevel_handle_v1 *parent) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *parent_ = - parent ? static_cast( - zwlr_foreign_toplevel_handle_v1_get_user_data( - parent)) - : nullptr; - return obj->parent()(parent_); - } - }, -}; -ZwlrForeignToplevelHandleV1::ZwlrForeignToplevelHandleV1( - zwlr_foreign_toplevel_handle_v1 *data) - : version_(zwlr_foreign_toplevel_handle_v1_get_version(data)), data_(data) { - zwlr_foreign_toplevel_handle_v1_set_user_data(*this, this); - zwlr_foreign_toplevel_handle_v1_add_listener( - *this, &ZwlrForeignToplevelHandleV1::listener, this); -} -void ZwlrForeignToplevelHandleV1::destructor( - zwlr_foreign_toplevel_handle_v1 *data) { - auto version = zwlr_foreign_toplevel_handle_v1_get_version(data); - if (version >= 1) { - return zwlr_foreign_toplevel_handle_v1_destroy(data); - } -} -void ZwlrForeignToplevelHandleV1::setMaximized() { - return zwlr_foreign_toplevel_handle_v1_set_maximized(*this); -} -void ZwlrForeignToplevelHandleV1::unsetMaximized() { - return zwlr_foreign_toplevel_handle_v1_unset_maximized(*this); -} -void ZwlrForeignToplevelHandleV1::setMinimized() { - return zwlr_foreign_toplevel_handle_v1_set_minimized(*this); -} -void ZwlrForeignToplevelHandleV1::unsetMinimized() { - return zwlr_foreign_toplevel_handle_v1_unset_minimized(*this); -} -void ZwlrForeignToplevelHandleV1::activate(WlSeat *seat) { - return zwlr_foreign_toplevel_handle_v1_activate(*this, rawPointer(seat)); -} -void ZwlrForeignToplevelHandleV1::close() { - return zwlr_foreign_toplevel_handle_v1_close(*this); -} -void ZwlrForeignToplevelHandleV1::setRectangle(WlSurface *surface, int32_t x, - int32_t y, int32_t width, - int32_t height) { - return zwlr_foreign_toplevel_handle_v1_set_rectangle( - *this, rawPointer(surface), x, y, width, height); -} -void ZwlrForeignToplevelHandleV1::setFullscreen(WlOutput *output) { - return zwlr_foreign_toplevel_handle_v1_set_fullscreen(*this, - rawPointer(output)); -} -void ZwlrForeignToplevelHandleV1::unsetFullscreen() { - return zwlr_foreign_toplevel_handle_v1_unset_fullscreen(*this); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_handle_v1.h b/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_handle_v1.h deleted file mode 100644 index dc65e2a8..00000000 --- a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_handle_v1.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1 -#define ZWLR_FOREIGN_TOPLEVEL_HANDLE_V1 -#include -#include "fcitx-utils/signals.h" -#include "wayland-wlr-foreign-toplevel-management-client-protocol.h" -namespace fcitx::wayland { -class WlOutput; -class WlSeat; -class WlSurface; -class ZwlrForeignToplevelHandleV1 final { -public: - static constexpr const char *interface = "zwlr_foreign_toplevel_handle_v1"; - static constexpr const wl_interface *const wlInterface = - &zwlr_foreign_toplevel_handle_v1_interface; - static constexpr const uint32_t version = 3; - typedef zwlr_foreign_toplevel_handle_v1 wlType; - operator zwlr_foreign_toplevel_handle_v1 *() { return data_.get(); } - ZwlrForeignToplevelHandleV1(wlType *data); - ZwlrForeignToplevelHandleV1(ZwlrForeignToplevelHandleV1 &&other) noexcept = - delete; - ZwlrForeignToplevelHandleV1 & - operator=(ZwlrForeignToplevelHandleV1 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void setMaximized(); - void unsetMaximized(); - void setMinimized(); - void unsetMinimized(); - void activate(WlSeat *seat); - void close(); - void setRectangle(WlSurface *surface, int32_t x, int32_t y, int32_t width, - int32_t height); - void setFullscreen(WlOutput *output); - void unsetFullscreen(); - auto &title() { return titleSignal_; } - auto &appId() { return appIdSignal_; } - auto &outputEnter() { return outputEnterSignal_; } - auto &outputLeave() { return outputLeaveSignal_; } - auto &state() { return stateSignal_; } - auto &done() { return doneSignal_; } - auto &closed() { return closedSignal_; } - auto &parent() { return parentSignal_; } - -private: - static void destructor(zwlr_foreign_toplevel_handle_v1 *); - static const struct zwlr_foreign_toplevel_handle_v1_listener listener; - fcitx::Signal titleSignal_; - fcitx::Signal appIdSignal_; - fcitx::Signal outputEnterSignal_; - fcitx::Signal outputLeaveSignal_; - fcitx::Signal stateSignal_; - fcitx::Signal doneSignal_; - fcitx::Signal closedSignal_; - fcitx::Signal parentSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwlr_foreign_toplevel_handle_v1 * -rawPointer(ZwlrForeignToplevelHandleV1 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_manager_v1.cpp b/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_manager_v1.cpp deleted file mode 100644 index bf6d7039..00000000 --- a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_manager_v1.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include "zwlr_foreign_toplevel_manager_v1.h" -#include -#include "zwlr_foreign_toplevel_handle_v1.h" -namespace fcitx::wayland { -const struct zwlr_foreign_toplevel_manager_v1_listener - ZwlrForeignToplevelManagerV1::listener = { - [](void *data, zwlr_foreign_toplevel_manager_v1 *wldata, - zwlr_foreign_toplevel_handle_v1 *toplevel) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { - auto *toplevel_ = new ZwlrForeignToplevelHandleV1(toplevel); - return obj->toplevel()(toplevel_); - } - }, - [](void *data, zwlr_foreign_toplevel_manager_v1 *wldata) { - auto *obj = static_cast(data); - assert(*obj == wldata); - { return obj->finished()(); } - }, -}; -ZwlrForeignToplevelManagerV1::ZwlrForeignToplevelManagerV1( - zwlr_foreign_toplevel_manager_v1 *data) - : version_(zwlr_foreign_toplevel_manager_v1_get_version(data)), - data_(data) { - zwlr_foreign_toplevel_manager_v1_set_user_data(*this, this); - zwlr_foreign_toplevel_manager_v1_add_listener( - *this, &ZwlrForeignToplevelManagerV1::listener, this); -} -void ZwlrForeignToplevelManagerV1::destructor( - zwlr_foreign_toplevel_manager_v1 *data) { - { return zwlr_foreign_toplevel_manager_v1_destroy(data); } -} -void ZwlrForeignToplevelManagerV1::stop() { - return zwlr_foreign_toplevel_manager_v1_stop(*this); -} -} // namespace fcitx::wayland diff --git a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_manager_v1.h b/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_manager_v1.h deleted file mode 100644 index a031725e..00000000 --- a/src/lib/fcitx-wayland/wlr-foreign-toplevel-management-unstable-v1/zwlr_foreign_toplevel_manager_v1.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef ZWLR_FOREIGN_TOPLEVEL_MANAGER_V1 -#define ZWLR_FOREIGN_TOPLEVEL_MANAGER_V1 -#include -#include "fcitx-utils/signals.h" -#include "wayland-wlr-foreign-toplevel-management-client-protocol.h" -namespace fcitx::wayland { -class ZwlrForeignToplevelHandleV1; -class ZwlrForeignToplevelManagerV1 final { -public: - static constexpr const char *interface = "zwlr_foreign_toplevel_manager_v1"; - static constexpr const wl_interface *const wlInterface = - &zwlr_foreign_toplevel_manager_v1_interface; - static constexpr const uint32_t version = 3; - typedef zwlr_foreign_toplevel_manager_v1 wlType; - operator zwlr_foreign_toplevel_manager_v1 *() { return data_.get(); } - ZwlrForeignToplevelManagerV1(wlType *data); - ZwlrForeignToplevelManagerV1( - ZwlrForeignToplevelManagerV1 &&other) noexcept = delete; - ZwlrForeignToplevelManagerV1 & - operator=(ZwlrForeignToplevelManagerV1 &&other) noexcept = delete; - auto actualVersion() const { return version_; } - void *userData() const { return userData_; } - void setUserData(void *userData) { userData_ = userData; } - void stop(); - auto &toplevel() { return toplevelSignal_; } - auto &finished() { return finishedSignal_; } - -private: - static void destructor(zwlr_foreign_toplevel_manager_v1 *); - static const struct zwlr_foreign_toplevel_manager_v1_listener listener; - fcitx::Signal toplevelSignal_; - fcitx::Signal finishedSignal_; - uint32_t version_; - void *userData_ = nullptr; - UniqueCPtr data_; -}; -static inline zwlr_foreign_toplevel_manager_v1 * -rawPointer(ZwlrForeignToplevelManagerV1 *p) { - return p ? static_cast(*p) : nullptr; -} -} // namespace fcitx::wayland -#endif diff --git a/src/lib/fcitx/CMakeLists.txt b/src/lib/fcitx/CMakeLists.txt index df15dd57..ec027560 100644 --- a/src/lib/fcitx/CMakeLists.txt +++ b/src/lib/fcitx/CMakeLists.txt @@ -23,7 +23,6 @@ set(FCITX_CORE_SOURCES statusarea.cpp inputpanel.cpp candidatelist.cpp - candidateaction.cpp icontheme.cpp inputmethodengine.cpp ) @@ -39,7 +38,6 @@ set(FCITX_CORE_HEADERS inputcontextproperty.h inputpanel.h candidatelist.h - candidateaction.h focusgroup.h surroundingtext.h addonloader.h @@ -88,7 +86,7 @@ configure_file(Fcitx5Core.pc.in ${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Core.pc @ONLY) install(TARGETS Fcitx5Core EXPORT Fcitx5CoreTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Fcitx5Core.pc DESTINATION "${CMAKE_INSTALL_LIBDATADIR}/pkgconfig") -install(FILES ${FCITX_CORE_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Core/fcitx" COMPONENT header) +install(FILES ${FCITX_CORE_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/Fcitx5/Core/fcitx") add_library(Fcitx5::Core ALIAS Fcitx5Core) diff --git a/src/lib/fcitx/action.h b/src/lib/fcitx/action.h index c6d0d02c..002e5f48 100644 --- a/src/lib/fcitx/action.h +++ b/src/lib/fcitx/action.h @@ -10,6 +10,7 @@ #include #include #include +#include #include "fcitxcore_export.h" namespace fcitx { @@ -19,15 +20,6 @@ class Menu; class UserInterfaceManager; class InputContext; -/// \addtogroup FcitxCore -/// \{ -/// \file -/// \brief Action class - -/** - * The Action class provides an abstraction for user commands that can be added - * to user interfaces. - */ class FCITXCORE_EXPORT Action : public Element { friend class UserInterfaceManager; friend class UserInterfaceManagerPrivate; @@ -36,105 +28,27 @@ class FCITXCORE_EXPORT Action : public Element { Action(); virtual ~Action(); - /** - * Whether the action is a separator action. - */ bool isSeparator() const; - - /** - * Set whether this action is a separator. - * - * How separator is displayed depends on the user interface implementation. - * The separator may be not displayed at all. - */ Action &setSeparator(bool separator); - /** - * Whether the action is a checkable action. - */ bool isCheckable() const; - /** - * Set whether this action is a checkable action. - * - * This property mainly affect how this action is presented. Usually, it - * will be displayed as a radio button. - */ Action &setCheckable(bool checkable); - /** - * The action name when this action is registered. - */ const std::string &name() const; - - /** - * Register an action to UserInterfaceManager. - * - * All action should have a unique name, but it is suggested that the action - * using a human readable string for its name. In order to make addons work - * together, other addon may use this name to lookup a certain action. - */ bool registerAction(const std::string &name, UserInterfaceManager *uiManager); - /** - * Short description for this action of given input context. - */ virtual std::string shortText(InputContext *) const = 0; - - /** - * Icon name of this action of given input context. - */ virtual std::string icon(InputContext *) const = 0; - - /** - * Return if this action is checked. - * - * It is only meaningful when isCheckable is true. - * @see setCheckable - */ virtual bool isChecked(InputContext *) const { return false; } - - /** - * Return a long description for this action. - * - * In some UI implementation, this is not displayed at all. In some other - * implemented, it is only displayed as tooltip. - */ virtual std::string longText(InputContext *) const { return {}; } - /** - * Set the sub menu of this action. - * - * Some status area implemenation only supports one level of menu, so it is - * preferred that only one level of menu is used. - */ void setMenu(Menu *menu); - - /** - * Return the sub menu of this action. - */ Menu *menu(); - /** - * Return the unique integer id of action. - * - * This id is generated when the action is registered. If it is not - * registered, the value will be 0. - */ int id(); - /** - * Activate this action. - * - * This function may be triggered by user mouse click of the given action. - */ virtual void activate(InputContext *) {} - - /** - * Notify that this action is required to be updated of given input context. - * - * @param ic the input context that need to update this action. - */ void update(InputContext *ic); FCITX_DECLARE_SIGNAL(Action, Update, void(InputContext *)); diff --git a/src/lib/fcitx/addonfactory.h b/src/lib/fcitx/addonfactory.h index b1c287df..611c20a9 100644 --- a/src/lib/fcitx/addonfactory.h +++ b/src/lib/fcitx/addonfactory.h @@ -7,6 +7,7 @@ #ifndef _FCITX_ADDONFACTORY_H_ #define _FCITX_ADDONFACTORY_H_ +#include #include #include "fcitxcore_export.h" @@ -28,7 +29,7 @@ class FCITXCORE_EXPORT AddonFactory { * * This function is called by AddonManager * - * @return a created addon instance. + * @return a created addon isntance. * * @see AddonManager */ diff --git a/src/lib/fcitx/addoninfo.cpp b/src/lib/fcitx/addoninfo.cpp index 49d8c6e4..c8265024 100644 --- a/src/lib/fcitx/addoninfo.cpp +++ b/src/lib/fcitx/addoninfo.cpp @@ -6,19 +6,7 @@ */ #include "addoninfo.h" - -#include -#include -#include -#include -#include #include "fcitx-config/configuration.h" -#include "fcitx-config/option.h" -#include "fcitx-config/rawconfig.h" -#include "fcitx-utils/i18nstring.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/semver.h" -#include "fcitx-utils/stringutils.h" namespace fcitx { FCITX_CONFIGURATION( @@ -35,9 +23,7 @@ FCITX_CONFIGURATION( Option> optionalDependencies{ this, "OptionalDependencies", "Optional Dependencies"}; Option onDemand{this, "OnDemand", "Load only on request", false}; - Option uiPriority{this, "UIPriority", "User interface priority", 0}; - Option uiType{this, "UIType", "User interface type", - UIType::PhyscialKeyboard};) + Option uiPriority{this, "UIPriority", "User interface priority", 0};) FCITX_CONFIGURATION(AddonConfig, Option addon{this, "Addon", "Addon"};) @@ -69,7 +55,7 @@ void parseDependencies(const std::vector &data, class AddonInfoPrivate : public AddonConfig { public: - AddonInfoPrivate(std::string name) : uniqueName_(std::move(name)) {} + AddonInfoPrivate(const std::string &name) : uniqueName_(name) {} bool valid_ = false; std::string uniqueName_; @@ -154,11 +140,6 @@ int AddonInfo::uiPriority() const { return d->addon->uiPriority.value(); } -UIType AddonInfo::uiType() const { - FCITX_D(); - return d->addon->uiType.value(); -} - void AddonInfo::load(const RawConfig &config) { FCITX_D(); d->load(config); diff --git a/src/lib/fcitx/addoninfo.h b/src/lib/fcitx/addoninfo.h index 55704851..a4e31474 100644 --- a/src/lib/fcitx/addoninfo.h +++ b/src/lib/fcitx/addoninfo.h @@ -8,11 +8,8 @@ #define _FCITX_ADDON_H_ #include -#include -#include #include #include -#include #include #include #include @@ -26,8 +23,6 @@ FCITX_CONFIG_ENUM(AddonCategory, InputMethod, Frontend, Loader, Module, UI) enum class OverrideEnabled { NotSet, Enabled, Disabled }; -FCITX_CONFIG_ENUM(UIType, PhyscialKeyboard, OnScreenKeyboard); - class FCITXCORE_EXPORT AddonInfo { public: AddonInfo(const std::string &name); @@ -48,7 +43,6 @@ class FCITXCORE_EXPORT AddonInfo { optionalDependenciesWithVersion() const; bool onDemand() const; int uiPriority() const; - UIType uiType() const; bool isEnabled() const; bool isDefaultEnabled() const; void setOverrideEnabled(OverrideEnabled overrideEnabled); diff --git a/src/lib/fcitx/addoninstance.cpp b/src/lib/fcitx/addoninstance.cpp index 840ab189..fb2b74b8 100644 --- a/src/lib/fcitx/addoninstance.cpp +++ b/src/lib/fcitx/addoninstance.cpp @@ -6,10 +6,14 @@ */ #include "addoninstance.h" -#include "addoninstance_p.h" namespace fcitx { +class AddonInstancePrivate { +public: + std::unordered_map callbackMap_; +}; + AddonInstance::AddonInstance() : d_ptr(std::make_unique()) {} AddonInstance::~AddonInstance() = default; @@ -20,11 +24,6 @@ void AddonInstance::registerCallback(const std::string &name, d->callbackMap_[name] = adaptor; } -const AddonInfo *AddonInstance::addonInfo() const { - FCITX_D(); - return d->addonInfo_; -} - AddonFunctionAdaptorBase *AddonInstance::findCall(const std::string &name) { FCITX_D(); auto iter = d->callbackMap_.find(name); @@ -33,15 +32,4 @@ AddonFunctionAdaptorBase *AddonInstance::findCall(const std::string &name) { } return iter->second; } - -void AddonInstance::setCanRestart(bool canRestart) { - FCITX_D(); - d->canRestart_ = canRestart; -} - -bool AddonInstance::canRestart() const { - FCITX_D(); - return d->canRestart_; -} - } // namespace fcitx diff --git a/src/lib/fcitx/addoninstance.h b/src/lib/fcitx/addoninstance.h index 549948a3..ce71ef41 100644 --- a/src/lib/fcitx/addoninstance.h +++ b/src/lib/fcitx/addoninstance.h @@ -9,10 +9,12 @@ #include #include +#include +#include #include +#include #include -#include -#include // IWYU pragma: export +#include #include "fcitxcore_export.h" /// \addtogroup FcitxCore @@ -22,8 +24,6 @@ namespace fcitx { -class AddonManagerPrivate; - /// \brief Base class for any addon in fcitx. /// To implement addon in fcitx, you will need to create a sub class for this /// class. @@ -69,8 +69,6 @@ class AddonManagerPrivate; /// addon->call(7); /// \endcode class FCITXCORE_EXPORT AddonInstance { - friend class AddonManagerPrivate; - public: AddonInstance(); virtual ~AddonInstance(); @@ -100,8 +98,7 @@ class FCITXCORE_EXPORT AddonInstance { return erasureAdaptor->callback(std::forward(args)...); } template - AddonFunctionSignatureReturnType - callWithMetaString(Args &&...args) { + auto callWithMetaString(Args &&...args) { return callWithSignature< AddonFunctionSignatureType>( MetaSignatureString::data(), std::forward(args)...); @@ -109,8 +106,7 @@ class FCITXCORE_EXPORT AddonInstance { /// Call an exported function for this addon. template - AddonFunctionSignatureReturnType - call(Args &&...args) { + auto call(Args &&...args) { return callWithSignature( MetaType::Name::data(), std::forward(args)...); } @@ -118,39 +114,6 @@ class FCITXCORE_EXPORT AddonInstance { void registerCallback(const std::string &name, AddonFunctionAdaptorBase *adaptor); - const AddonInfo *addonInfo() const; - - /** - * Check if this addon can safely restart. - * - * When the existing fcitx 5 instance returns false, fcitx5 -r, or - * Instance::restart will just be no-op. - * - * @return whether it is safe for fcitx to restart on its own. - * @see AddonInstance::setCanRestart - * @since 5.1.6 - */ - bool canRestart() const; - -protected: - /** - * Set if this addon can safely restart. - * - * In certain cases, it is not a good idea to allow restart fcitx 5. - * Otherwise fcitx will lose permission. For example, when fcitx is - * launching with WAYLAND_SOCKET. In that case, user is recommended to use - * other way to restart fcitx. - * - * The value will be false be default, but it will default to true when - * running as fcitx5 binary. After initialize addon, addon may change it - * back to false, for example, wayland module. - * - * @param canRestart Whether fcitx is allowed to restart on its own. - * @see Instance::restart - * @since 5.1.6 - */ - void setCanRestart(bool canRestart); - private: AddonFunctionAdaptorBase *findCall(const std::string &name); std::unique_ptr d_ptr; @@ -178,10 +141,10 @@ class FCITXCORE_EXPORT AddonInstance { &CLASS::FUNCTION)) FUNCTION##Adaptor{#CLASS "::" #FUNCTION, this, \ &CLASS::FUNCTION}; \ static_assert( \ - std::is_same_v>, \ + std::is_same>::value, \ "Signature doesn't match"); #define FCITX_ADDON_FACTORY(ClassName) \ diff --git a/src/lib/fcitx/addoninstance_details.h b/src/lib/fcitx/addoninstance_details.h index c0fd3629..50e71476 100644 --- a/src/lib/fcitx/addoninstance_details.h +++ b/src/lib/fcitx/addoninstance_details.h @@ -7,10 +7,6 @@ #ifndef _FCITX_ADDONINSTANCE_DETAILS_H_ #define _FCITX_ADDONINSTANCE_DETAILS_H_ -#include -#include -#include - namespace fcitx { class AddonInstance; @@ -37,10 +33,6 @@ template using AddonFunctionSignatureType = typename AddonFunctionSignature::type; -template -using AddonFunctionSignatureReturnType = - typename std::function>::result_type; - template class AddonFunctionAdaptor; @@ -59,7 +51,7 @@ class AddonFunctionAdaptor } Ret callback(Args... args) override { - return (addon_->*pCallback_)(std::forward(args)...); + return (addon_->*pCallback_)(args...); } private: @@ -82,7 +74,7 @@ class AddonFunctionAdaptor } Ret callback(Args... args) override { - return (addon_->*pCallback_)(std::forward(args)...); + return (addon_->*pCallback_)(args...); } private: diff --git a/src/lib/fcitx/addoninstance_p.h b/src/lib/fcitx/addoninstance_p.h deleted file mode 100644 index ec7873e8..00000000 --- a/src/lib/fcitx/addoninstance_p.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022-2022 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#ifndef _FCITX_ADDONINSTANCE_P_H_ -#define _FCITX_ADDONINSTANCE_P_H_ - -#include -#include -#include "addoninfo.h" -#include "addoninstance.h" - -namespace fcitx { - -class AddonInstancePrivate { -public: - std::unordered_map callbackMap_; - const AddonInfo *addonInfo_ = nullptr; - bool canRestart_ = true; -}; - -} // namespace fcitx - -#endif // _FCITX_ADDONINSTANCE_P_H_ diff --git a/src/lib/fcitx/addonmanager.cpp b/src/lib/fcitx/addonmanager.cpp index 55269f33..3ac54112 100644 --- a/src/lib/fcitx/addonmanager.cpp +++ b/src/lib/fcitx/addonmanager.cpp @@ -7,29 +7,15 @@ #include "addonmanager.h" #include -#include -#include -#include -#include +#include #include #include -#include -#include #include "fcitx-config/iniparser.h" -#include "fcitx-config/rawconfig.h" #include "fcitx-utils/log.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/misc_p.h" -#include "fcitx-utils/semver.h" -#include "fcitx-utils/standardpath.h" -#include "fcitx-utils/unixfd.h" -#include "addoninfo.h" -#include "addoninstance.h" -#include "addoninstance_p.h" #include "addonloader.h" #include "addonloader_p.h" -#include "config.h" #include "instance.h" +#include "misc_p.h" namespace fcitx { @@ -73,7 +59,7 @@ enum class DependencyCheckStatus { class AddonManagerPrivate { public: - AddonManagerPrivate() {} + AddonManagerPrivate() : instance_(nullptr) {} Addon *addon(const std::string &name) const { auto iter = addons_.find(name); @@ -89,8 +75,9 @@ class AddonManagerPrivate { if (dependency == "core") { if (depVersion <= version_) { continue; + } else { + return DependencyCheckStatus::Failed; } - return DependencyCheckStatus::Failed; } Addon *dep = addon(dependency); if (!dep || !dep->isLoadable()) { @@ -201,7 +188,6 @@ class AddonManagerPrivate { FCITX_INFO() << "Could not load addon " << addon.info().uniqueName(); } else { - addon.instance_->d_func()->addonInfo_ = &(addon.info()); FCITX_INFO() << "Loaded addon " << addon.info().uniqueName(); } } @@ -222,8 +208,6 @@ class AddonManagerPrivate { int64_t timestamp_ = 0; const SemanticVersion version_ = SemanticVersion::parse(FCITX_VERSION_STRING).value(); - - std::unordered_map> options_; }; AddonManager::AddonManager() : d_ptr(std::make_unique()) {} @@ -262,24 +246,29 @@ void AddonManager::load(const std::unordered_set &enabled, const auto &path = StandardPath::global(); d->timestamp_ = path.timestamp(StandardPath::Type::PkgData, d->addonConfigDir_); - auto fileNames = path.locate(StandardPath::Type::PkgData, - d->addonConfigDir_, filter::Suffix(".conf")); + auto fileMap = + path.multiOpenAll(StandardPath::Type::PkgData, d->addonConfigDir_, + O_RDONLY, filter::Suffix(".conf")); bool enableAll = enabled.count("all"); bool disableAll = disabled.count("all"); - for (const auto &[fileName, fullName] : fileNames) { + for (const auto &file : fileMap) { // remove .conf - std::string name = fileName.substr(0, fileName.size() - 5); + auto name = file.first.substr(0, file.first.size() - 5); if (name == "core") { FCITX_ERROR() << "\"core\" is not a valid addon name."; - continue; } if (d->addons_.count(name)) { continue; } + const auto &files = file.second; RawConfig config; - UnixFD fd = UnixFD::own(open(fullName.c_str(), O_RDONLY)); - readFromIni(config, fd.fd()); + // reverse the order, so we end up parse user file at last. + for (auto iter = files.rbegin(), end = files.rend(); iter != end; + iter++) { + auto fd = iter->fd(); + readFromIni(config, fd); + } // override configuration auto addon = std::make_unique(name, config); @@ -350,17 +339,6 @@ const AddonInfo *AddonManager::addonInfo(const std::string &name) const { return nullptr; } -AddonInstance *AddonManager::lookupAddon(const std::string &name) const { - FCITX_D(); - auto *addon = d->addon(name); - return addon ? addon->instance() : nullptr; -} - -const std::vector &AddonManager::loadedAddonNames() const { - FCITX_D(); - return d->loadOrder_; -} - std::unordered_set AddonManager::addonNames(AddonCategory category) { FCITX_D(); @@ -407,18 +385,4 @@ bool AddonManager::checkUpdate() const { return timestamp > d->timestamp_; } -void AddonManager::setAddonOptions( - std::unordered_map> options) { - FCITX_D(); - d->options_ = std::move(options); -} - -std::vector AddonManager::addonOptions(const std::string &name) { - FCITX_D(); - if (auto *options = findValue(d->options_, name)) { - return *options; - } - return {}; -} - } // namespace fcitx diff --git a/src/lib/fcitx/addonmanager.h b/src/lib/fcitx/addonmanager.h index 09bced6d..6c56868d 100644 --- a/src/lib/fcitx/addonmanager.h +++ b/src/lib/fcitx/addonmanager.h @@ -10,8 +10,9 @@ #include #include #include -#include #include +#include +#include #include #include "fcitxcore_export.h" @@ -55,7 +56,7 @@ class FCITXCORE_EXPORT AddonManager { * Register addon loader, including static and shared library loader. * * This function usually need to be called before any other function call to - * addon manager. + * adddon manager. * * @param registry static addon registry that can be used to set a list of * built-in addons. @@ -118,26 +119,6 @@ class FCITXCORE_EXPORT AddonManager { */ AddonInstance *addon(const std::string &name, bool load = false); - /** - * Get the currently loaded addon instance. - * - * This is same as AddonManager::addon(name, false), but allow to be used - * with a constant AddonManager. - * - * @param name of addon. - * @return instance of addon, null if not found. - * @since 5.1.6 - */ - AddonInstance *lookupAddon(const std::string &name) const; - - /** - * Return the loaded addon name in the order of they were loaded. - * - * @return the name of loaded addons. - * @since 5.1.6 - */ - const std::vector &loadedAddonNames() const; - /** * Get addon information for given addon. * @@ -186,26 +167,6 @@ class FCITXCORE_EXPORT AddonManager { */ bool checkUpdate() const; - /** - * Set addon parameters that may be used during addon construction. - * - * This is usually passed from command line flags --option or -o. - * - * @param options map from addon name to a set of string values - * @since 5.1.7 - */ - void setAddonOptions( - std::unordered_map> options); - - /** - * Query addon options that set with setAddonOptions for given addon. - * - * @param name addon name - * @return Options for given addon - * @since 5.1.7 - */ - std::vector addonOptions(const std::string &name); - private: void setInstance(Instance *instance); std::unique_ptr d_ptr; diff --git a/src/lib/fcitx/candidateaction.cpp b/src/lib/fcitx/candidateaction.cpp deleted file mode 100644 index b8effa63..00000000 --- a/src/lib/fcitx/candidateaction.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2024-2024 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#include "candidateaction.h" -#include "fcitx-utils/macros.h" - -namespace fcitx { - -class CandidateActionPrivate { -public: - CandidateActionPrivate() = default; - FCITX_INLINE_DEFINE_DEFAULT_DTOR_COPY_AND_MOVE_WITHOUT_SPEC( - CandidateActionPrivate); - - int id_ = 0; - std::string text_; - bool isSeparator_ = false; - std::string icon_; - bool isCheckable_ = false; - bool isChecked_ = false; -}; - -CandidateAction::CandidateAction() - : d_ptr(std::make_unique()) {} - -FCITX_DEFINE_DPTR_COPY_AND_DEFAULT_DTOR_AND_MOVE(CandidateAction); - -FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, int, id, setId); -FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, std::string, text, setText); -FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, bool, isSeparator, setSeparator); -FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, std::string, icon, setIcon); -FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, bool, isCheckable, setCheckable); -FCITX_DEFINE_PROPERTY_PRIVATE(CandidateAction, bool, isChecked, setChecked); - -} // namespace fcitx diff --git a/src/lib/fcitx/candidateaction.h b/src/lib/fcitx/candidateaction.h deleted file mode 100644 index a5b9dff7..00000000 --- a/src/lib/fcitx/candidateaction.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2024-2024 CSSlayer - * - * SPDX-License-Identifier: LGPL-2.1-or-later - * - */ -#ifndef _FCITX_CANDIDATEACTION_H_ -#define _FCITX_CANDIDATEACTION_H_ - -#include -#include -#include -#include "fcitxcore_export.h" - -namespace fcitx { - -class CandidateActionPrivate; - -class FCITXCORE_EXPORT CandidateAction { -public: - CandidateAction(); - virtual ~CandidateAction(); - FCITX_DECLARE_COPY_AND_MOVE(CandidateAction); - - FCITX_DECLARE_PROPERTY(int, id, setId); - FCITX_DECLARE_PROPERTY(std::string, text, setText); - FCITX_DECLARE_PROPERTY(bool, isSeparator, setSeparator); - FCITX_DECLARE_PROPERTY(std::string, icon, setIcon); - FCITX_DECLARE_PROPERTY(bool, isCheckable, setCheckable); - FCITX_DECLARE_PROPERTY(bool, isChecked, setChecked); - -private: - FCITX_DECLARE_PRIVATE(CandidateAction); - std::unique_ptr d_ptr; -}; - -} // namespace fcitx - -#endif // _FCITX_CANDIDATEACTION_H_ diff --git a/src/lib/fcitx/candidatelist.cpp b/src/lib/fcitx/candidatelist.cpp index 4d1950ed..7ee0531d 100644 --- a/src/lib/fcitx/candidatelist.cpp +++ b/src/lib/fcitx/candidatelist.cpp @@ -6,10 +6,8 @@ */ #include "candidatelist.h" -#include #include #include -#include #include namespace fcitx { @@ -31,63 +29,14 @@ void fillLabels(std::vector &labels, const Container &container, } } -template -class CandidateListInterfaceAdapter : public QPtrHolder, - public InterfaceType { -public: - CandidateListInterfaceAdapter(CandidateListType *q) - : QPtrHolder(q) {} -}; - -#define FCITX_COMMA_IF_2 , -#define FCITX_COMMA_IF_1 -#define FCITX_COMMA_IF(X) FCITX_EXPAND(FCITX_CONCATENATE(FCITX_COMMA_IF_, X)) - -#define FCITX_FORWARD_METHOD_ARG(N, ARG) ARG arg##N FCITX_COMMA_IF(N) - -#define FCITX_FORWARD_METHOD_ARG_NAME(N, ARG) arg##N FCITX_COMMA_IF(N) - -#define FCITX_FORWARD_METHOD(RETURN_TYPE, METHOD_NAME, ARGS, ...) \ - RETURN_TYPE METHOD_NAME(FCITX_FOR_EACH_IDX(FCITX_FORWARD_METHOD_ARG, \ - FCITX_REMOVE_PARENS(ARGS))) \ - __VA_ARGS__ override { \ - FCITX_Q(); \ - return q->METHOD_NAME(FCITX_FOR_EACH_IDX( \ - FCITX_FORWARD_METHOD_ARG_NAME, FCITX_REMOVE_PARENS(ARGS))); \ - } - -class BulkCursorAdaptorForCommonCandidateList - : public CandidateListInterfaceAdapter { -public: - using CandidateListInterfaceAdapter::CandidateListInterfaceAdapter; - - FCITX_FORWARD_METHOD(void, setGlobalCursorIndex, (int)); - FCITX_FORWARD_METHOD(int, globalCursorIndex, (), const); -}; - -class CursorModifiableAdaptorForCommonCandidateList - : public CandidateListInterfaceAdapter { -public: - using CandidateListInterfaceAdapter::CandidateListInterfaceAdapter; - - FCITX_FORWARD_METHOD(void, setCursorIndex, (int)); -}; - } // namespace -ActionableCandidateList::~ActionableCandidateList() = default; - class CandidateListPrivate { public: BulkCandidateList *bulk_ = nullptr; ModifiableCandidateList *modifiable_ = nullptr; PageableCandidateList *pageable_ = nullptr; CursorMovableCandidateList *cursorMovable_ = nullptr; - BulkCursorCandidateList *bulkCursor_ = nullptr; - CursorModifiableCandidateList *cursorModifiable_ = nullptr; - ActionableCandidateList *actionable_ = nullptr; }; CandidateList::CandidateList() @@ -117,21 +66,6 @@ CursorMovableCandidateList *CandidateList::toCursorMovable() const { return d->cursorMovable_; } -CursorModifiableCandidateList *CandidateList::toCursorModifiable() const { - FCITX_D(); - return d->cursorModifiable_; -} - -BulkCursorCandidateList *CandidateList::toBulkCursor() const { - FCITX_D(); - return d->bulkCursor_; -} - -ActionableCandidateList *CandidateList::toActionable() const { - FCITX_D(); - return d->actionable_; -} - void CandidateList::setBulk(BulkCandidateList *list) { FCITX_D(); d->bulk_ = list; @@ -152,21 +86,6 @@ void CandidateList::setCursorMovable(CursorMovableCandidateList *list) { d->cursorMovable_ = list; } -void CandidateList::setCursorModifiable(CursorModifiableCandidateList *list) { - FCITX_D(); - d->cursorModifiable_ = list; -} - -void CandidateList::setBulkCursor(BulkCursorCandidateList *list) { - FCITX_D(); - d->bulkCursor_ = list; -} - -void CandidateList::setActionable(ActionableCandidateList *list) { - FCITX_D(); - d->actionable_ = list; -} - class CandidateWordPrivate { public: CandidateWordPrivate(Text &&text) : text_(std::move(text)) {} @@ -174,7 +93,6 @@ class CandidateWordPrivate { bool isPlaceHolder_ = false; Text customLabel_; bool hasCustomLabel_ = false; - Text comment_; }; CandidateWord::CandidateWord(Text text) @@ -192,26 +110,6 @@ void CandidateWord::setText(Text text) { d->text_ = std::move(text); } -const Text &CandidateWord::comment() const { - FCITX_D(); - return d->comment_; -} - -void CandidateWord::setComment(Text comment) { - FCITX_D(); - d->comment_ = std::move(comment); -} - -Text CandidateWord::textWithComment(std::string separator) const { - FCITX_D(); - auto text = d->text_; - if (!d->comment_.empty()) { - text.append(std::move(separator)); - text.append(d->comment_); - } - return text; -} - bool CandidateWord::isPlaceHolder() const { FCITX_D(); return d->isPlaceHolder_; @@ -326,11 +224,6 @@ CandidateLayoutHint DisplayOnlyCandidateList::layoutHint() const { class CommonCandidateListPrivate { public: - CommonCandidateListPrivate(CommonCandidateList *q) - : bulkCursor_(q), cursorModifiable_(q) {} - - BulkCursorAdaptorForCommonCandidateList bulkCursor_; - CursorModifiableAdaptorForCommonCandidateList cursorModifiable_; bool usedNextBefore_ = false; int cursorIndex_ = -1; int currentPage_ = 0; @@ -343,7 +236,6 @@ class CommonCandidateListPrivate { bool cursorKeepInSamePage_ = false; CursorPositionAfterPaging cursorPositionAfterPaging_ = CursorPositionAfterPaging::DonotChange; - std::unique_ptr actionable_; int size() const { auto start = currentPage_ * pageSize_; @@ -394,14 +286,11 @@ class CommonCandidateListPrivate { }; CommonCandidateList::CommonCandidateList() - : d_ptr(std::make_unique(this)) { - FCITX_D(); + : d_ptr(std::make_unique()) { setPageable(this); setModifiable(this); setBulk(this); setCursorMovable(this); - setBulkCursor(&d->bulkCursor_); - setCursorModifiable(&d->cursorModifiable_); setLabels(); } @@ -582,13 +471,6 @@ void CommonCandidateList::setGlobalCursorIndex(int index) { } } -void CommonCandidateList::setCursorIndex(int index) { - FCITX_D(); - d->checkIndex(index); - auto globalIndex = d->toGlobalIndex(index); - setGlobalCursorIndex(globalIndex); -} - int CommonCandidateList::globalCursorIndex() const { FCITX_D(); return d->cursorIndex_; @@ -725,12 +607,4 @@ void CommonCandidateList::fixAfterUpdate() { } } } - -void CommonCandidateList::setActionableImpl( - std::unique_ptr actionable) { - FCITX_D(); - d->actionable_ = std::move(actionable); - setActionable(d->actionable_.get()); -} - } // namespace fcitx diff --git a/src/lib/fcitx/candidatelist.h b/src/lib/fcitx/candidatelist.h index 8013e4fd..6251f7db 100644 --- a/src/lib/fcitx/candidatelist.h +++ b/src/lib/fcitx/candidatelist.h @@ -8,21 +8,16 @@ #define _FCITX_CANDIDATELIST_H_ #include -#include -#include #include -#include "fcitxcore_export.h" namespace fcitx { class InputContext; +class CandidateList; class PageableCandidateList; class BulkCandidateList; class ModifiableCandidateList; class CursorMovableCandidateList; -class CursorModifiableCandidateList; -class BulkCursorCandidateList; -class ActionableCandidateList; class CandidateListPrivate; @@ -52,28 +47,12 @@ class FCITXCORE_EXPORT CandidateWord { bool isPlaceHolder() const; bool hasCustomLabel() const; const Text &customLabel() const; - /** - * Return comment corresponding to the candidate. - * - * @return value of comment. - * @since 5.1.9 - */ - const Text &comment() const; - /** - * Return text with comment. - * - * @param separator separator between text and comment. - * @return value of comment. - * @since 5.1.9 - */ - Text textWithComment(std::string separator = " ") const; protected: void setText(Text text); void setPlaceHolder(bool placeHolder); void resetCustomLabel(); void setCustomLabel(Text text); - void setComment(Text comment); private: std::unique_ptr d_ptr; @@ -98,18 +77,12 @@ class FCITXCORE_EXPORT CandidateList { BulkCandidateList *toBulk() const; ModifiableCandidateList *toModifiable() const; CursorMovableCandidateList *toCursorMovable() const; - CursorModifiableCandidateList *toCursorModifiable() const; - BulkCursorCandidateList *toBulkCursor() const; - ActionableCandidateList *toActionable() const; protected: void setPageable(PageableCandidateList *list); void setBulk(BulkCandidateList *list); void setModifiable(ModifiableCandidateList *list); void setCursorMovable(CursorMovableCandidateList *list); - void setCursorModifiable(CursorModifiableCandidateList *list); - void setBulkCursor(BulkCursorCandidateList *list); - void setActionable(ActionableCandidateList *list); private: std::unique_ptr d_ptr; @@ -139,24 +112,10 @@ class FCITXCORE_EXPORT CursorMovableCandidateList { virtual void nextCandidate() = 0; }; -class FCITXCORE_EXPORT CursorModifiableCandidateList { -public: - virtual void setCursorIndex(int index) = 0; -}; - // useful for virtual keyboard class FCITXCORE_EXPORT BulkCandidateList { public: - /** - * If idx is out of range, it may raise exception. Catching the exception is - * useful to iterate over all candidate list for candidate list has no total - * size. - */ virtual const CandidateWord &candidateFromAll(int idx) const = 0; - /** - * It's possible for this function to return -1 if the implement has no - * clear number how many candidates are available. - */ virtual int totalSize() const = 0; }; @@ -187,41 +146,6 @@ class FCITXCORE_EXPORT DisplayOnlyCandidateWord : public CandidateWord { void select(InputContext *) const override {} }; -class FCITXCORE_EXPORT BulkCursorCandidateList { -public: - virtual int globalCursorIndex() const = 0; - virtual void setGlobalCursorIndex(int index) = 0; -}; - -/** - * Interface for trigger actions on candidates. - * - * @since 5.1.10 - */ -class FCITXCORE_EXPORT ActionableCandidateList { -public: - virtual ~ActionableCandidateList(); - - /** - * Check whether this candidate has action. - * - * This function should be fast and guarantee that candidateActions return a - * not empty vector. - */ - virtual bool hasAction(const CandidateWord &candidate) const = 0; - - /** - * Return a list of actions. - */ - virtual std::vector - candidateActions(const CandidateWord &candidate) const = 0; - - /** - * Trigger the action based on the index returned from candidateActions. - */ - virtual void triggerAction(const CandidateWord &candidate, int id) = 0; -}; - class DisplayOnlyCandidateListPrivate; class FCITXCORE_EXPORT DisplayOnlyCandidateList : public CandidateList { @@ -296,14 +220,6 @@ class FCITXCORE_EXPORT CommonCandidateList : public CandidateList, */ int globalCursorIndex() const; - /** - * Set cursor index on current page. - * - * @param index index on current page; - * @since 5.1.9 - */ - void setCursorIndex(int index); - // CandidateList const fcitx::Text &label(int idx) const override; const CandidateWord &candidate(int idx) const override; @@ -343,13 +259,6 @@ class FCITXCORE_EXPORT CommonCandidateList : public CandidateList, void setCursorKeepInSamePage(bool); void setCursorPositionAfterPaging(CursorPositionAfterPaging afterPaging); - /** - * Set an optional implemenation of actionable candidate list - * - * @since 5.1.10 - */ - void setActionableImpl(std::unique_ptr actionable); - private: void fixAfterUpdate(); void moveCursor(bool prev); diff --git a/src/lib/fcitx/event.cpp b/src/lib/fcitx/event.cpp index 7e300f18..846bd1b7 100644 --- a/src/lib/fcitx/event.cpp +++ b/src/lib/fcitx/event.cpp @@ -8,61 +8,10 @@ #include "event.h" namespace fcitx { - -class VirtualKeyboardEventPrivate { -public: - VirtualKeyboardEventPrivate(bool isRelease, int time) - : isRelease_(isRelease), time_(time) {} - - Key key_; - bool isRelease_ = false; - int time_ = 0; - uint64_t userAction_ = 0; - std::string text_; - bool isLongPress_ = false; - float x_ = 0.0f, y_ = 0.0f; -}; - Event::~Event() {} KeyEventBase::KeyEventBase(EventType type, InputContext *context, Key rawKey, bool isRelease, int time) : InputContextEvent(context, type), key_(rawKey.normalize()), origKey_(rawKey), rawKey_(rawKey), isRelease_(isRelease), time_(time) {} - -VirtualKeyboardEvent::VirtualKeyboardEvent(InputContext *context, - bool isRelease, int time) - : InputContextEvent(context, EventType::InputContextVirtualKeyboardEvent), - d_ptr(std::make_unique(isRelease, time)) {} - -FCITX_DEFINE_DEFAULT_DTOR(VirtualKeyboardEvent); - -FCITX_DEFINE_PROPERTY_PRIVATE(VirtualKeyboardEvent, Key, key, setKey); -FCITX_DEFINE_PROPERTY_PRIVATE(VirtualKeyboardEvent, uint64_t, userAction, - setUserAction); -FCITX_DEFINE_PROPERTY_PRIVATE(VirtualKeyboardEvent, std::string, text, setText); -FCITX_DEFINE_PROPERTY_PRIVATE(VirtualKeyboardEvent, bool, isLongPress, - setLongPress); -FCITX_DEFINE_READ_ONLY_PROPERTY_PRIVATE(VirtualKeyboardEvent, float, x); -FCITX_DEFINE_READ_ONLY_PROPERTY_PRIVATE(VirtualKeyboardEvent, float, y); -FCITX_DEFINE_READ_ONLY_PROPERTY_PRIVATE(VirtualKeyboardEvent, int, time); - -void VirtualKeyboardEvent::setPosition(float x, float y) { - FCITX_D(); - d->x_ = x; - d->y_ = y; -} - -std::unique_ptr fcitx::VirtualKeyboardEvent::toKeyEvent() const { - FCITX_D(); - if (!d->key_.isValid()) { - return nullptr; - } - - Key key{d->key_.sym(), d->key_.states() | KeyState::Virtual, - d->key_.code()}; - return std::make_unique(inputContext(), key, d->isRelease_, - time()); -} - } // namespace fcitx diff --git a/src/lib/fcitx/event.h b/src/lib/fcitx/event.h index 0ada9bb0..6094b03f 100644 --- a/src/lib/fcitx/event.h +++ b/src/lib/fcitx/event.h @@ -13,11 +13,6 @@ #include #include "fcitxcore_export.h" -/// \addtogroup FcitxCore -/// \{ -/// \file -/// \brief Input Method event for Fcitx. - namespace fcitx { class InputContext; @@ -52,13 +47,11 @@ enum class InputMethodSwitchedReason { Other, }; -enum class InputMethodMode { PhysicalKeyboard, OnScreenKeyboard }; - /** * Type of input method events. */ enum class EventType : uint32_t { - EventTypeFlag = 0xfffff000, + EventTypeFlag = 0xffff0000, UserTypeFlag = 0xffff0000, // send by frontend, captured by core, input method, or module InputContextEventFlag = 0x0001000, @@ -87,7 +80,7 @@ enum class EventType : uint32_t { * * So OnClose is called when preedit IS committed (not like * CChangeByInactivate, - * this behavior cannot be overridden), it give im a chance to choose + * this behavior cannot be overrided), it give im a chance to choose * remember this * word or not. * @@ -133,15 +126,11 @@ enum class EventType : uint32_t { */ InputContextInvokeAction = InputContextEventFlag | 0xE, - InputContextVirtualKeyboardEvent = InputContextEventFlag | 0xF, - InputContextForwardKey = InputMethodEventFlag | 0x1, InputContextCommitString = InputMethodEventFlag | 0x2, InputContextDeleteSurroundingText = InputMethodEventFlag | 0x3, InputContextUpdatePreedit = InputMethodEventFlag | 0x4, InputContextUpdateUI = InputMethodEventFlag | 0x5, - InputContextCommitStringWithCursor = InputMethodEventFlag | 0x6, - InputContextFlushUI = InputMethodEventFlag | 0x7, /** * This is generated when input method group changed. @@ -179,26 +168,6 @@ enum class EventType : uint32_t { * @see FocusOutEvent */ FocusGroupFocusChanged = InstanceEventFlag | 0x5, - /** - * Input method mode changed - */ - InputMethodModeChanged = InstanceEventFlag | 0x6, - /** - * Global config is reloaded - * - * This only fires after fcitx has entered running state. - * The initial load will not trigger this event. - * @see GlobalConfig - * @since 5.1.0 - */ - GlobalConfigReloaded = InstanceEventFlag | 0x7, - /** - * Virtual keyboard visibility changed - * - * @see UserInterfaceManager - * @since 5.1.0 - */ - VirtualKeyboardVisibilityChanged = InstanceEventFlag | 0x8, }; /** @@ -242,8 +211,7 @@ class FCITXCORE_EXPORT Event { */ bool isInputContextEvent() const { auto flag = static_cast(EventType::InputContextEventFlag); - auto mask = static_cast(EventType::EventTypeFlag); - return (static_cast(type_) & mask) == flag; + return (static_cast(type_) & flag) == flag; } protected: @@ -334,14 +302,6 @@ class FCITXCORE_EXPORT KeyEventBase : public InputContextEvent { */ bool forward() const { return forward_; } - /** - * Whether this key event is derived from a virtual keyboard - * - * @return bool - * @since 5.1.2 - */ - bool isVirtual() const { return origKey_.isVirtual(); } - protected: Key key_, origKey_, rawKey_; bool isRelease_; @@ -367,38 +327,6 @@ class FCITXCORE_EXPORT KeyEvent : public KeyEventBase { bool filtered_ = false; }; -class VirtualKeyboardEventPrivate; - -class FCITXCORE_EXPORT VirtualKeyboardEvent : public InputContextEvent { -public: - VirtualKeyboardEvent(InputContext *context, bool isRelease, int time = 0); - ~VirtualKeyboardEvent(); - - int time() const; - - void setKey(Key key); - const Key &key() const; - - void setPosition(float x, float y); - float x() const; - float y() const; - - void setLongPress(bool longPress); - bool isLongPress() const; - - void setUserAction(uint64_t actionId); - uint64_t userAction() const; - - void setText(std::string text); - const std::string &text() const; - - std::unique_ptr toKeyEvent() const; - -protected: - FCITX_DECLARE_PRIVATE(VirtualKeyboardEvent); - std::unique_ptr d_ptr; -}; - class FCITXCORE_EXPORT ForwardKeyEvent : public KeyEventBase { public: ForwardKeyEvent(InputContext *context, Key rawKey, bool isRelease = false, @@ -419,28 +347,6 @@ class FCITXCORE_EXPORT CommitStringEvent : public InputContextEvent { std::string text_; }; -/** - * Event for commit string with cursor - * - * @see InputContext::commitStringWithCursor - * @since 5.1.2 - */ -class FCITXCORE_EXPORT CommitStringWithCursorEvent : public InputContextEvent { -public: - CommitStringWithCursorEvent(std::string text, size_t cursor, - InputContext *context) - : InputContextEvent(context, - EventType::InputContextCommitStringWithCursor), - text_(std::move(text)), cursor_(cursor) {} - - const std::string &text() const { return text_; } - size_t cursor() const { return cursor_; } - -protected: - std::string text_; - size_t cursor_; -}; - class FCITXCORE_EXPORT InvokeActionEvent : public InputContextEvent { public: enum class Action { LeftClick, RightClick }; @@ -510,30 +416,6 @@ class FCITXCORE_EXPORT InputContextUpdateUIEvent : public InputContextEvent { bool immediate_; }; -/** - * Events triggered that user interface manager that flush the UI update. - * - * @since 5.1.2 - */ -class FCITXCORE_EXPORT InputContextFlushUIEvent : public InputContextEvent { -public: - InputContextFlushUIEvent(UserInterfaceComponent component, - InputContext *context) - : InputContextEvent(context, EventType::InputContextFlushUI), - component_(component) {} - - UserInterfaceComponent component() const { return component_; } - -protected: - UserInterfaceComponent component_; -}; - -class FCITXCORE_EXPORT VirtualKeyboardVisibilityChangedEvent : public Event { -public: - VirtualKeyboardVisibilityChangedEvent() - : Event(EventType::VirtualKeyboardVisibilityChanged) {} -}; - class FCITXCORE_EXPORT InputMethodNotificationEvent : public InputContextEvent { public: InputMethodNotificationEvent(EventType type, const std::string &name, @@ -632,28 +514,6 @@ class FCITXCORE_EXPORT FocusGroupFocusChangedEvent : public Event { InputContext *newFocus_; }; -/** - * Notify the input method mode is changed. - * - * @see Instance::InputMethodMode - * @since 5.1.0 - */ -class FCITXCORE_EXPORT InputMethodModeChangedEvent : public Event { -public: - InputMethodModeChangedEvent() : Event(EventType::InputMethodModeChanged) {} -}; - -/** - * Notify the global config is reloaded. - * - * @see GlobalConfig - * @since 5.1.0 - */ -class FCITXCORE_EXPORT GlobalConfigReloadedEvent : public Event { -public: - GlobalConfigReloadedEvent() : Event(EventType::GlobalConfigReloaded) {} -}; - class FCITXCORE_EXPORT CapabilityEvent : public InputContextEvent { public: CapabilityEvent(InputContext *ic, EventType type, CapabilityFlags oldFlags, @@ -684,7 +544,6 @@ class FCITXCORE_EXPORT CapabilityAboutToChangeEvent : public CapabilityEvent { : CapabilityEvent(ic, EventType::InputContextCapabilityAboutToChange, oldFlags, newFlags) {} }; - } // namespace fcitx #endif // _FCITX_EVENT_H_ diff --git a/src/lib/fcitx/frontend.cpp b/src/lib/fcitx/frontend.cpp new file mode 100644 index 00000000..0b740011 --- /dev/null +++ b/src/lib/fcitx/frontend.cpp @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: 2016-2016 CSSlayer + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + */ + +#include "frontend.h" diff --git a/src/lib/fcitx/frontend.h b/src/lib/fcitx/frontend.h new file mode 100644 index 00000000..f21ed881 --- /dev/null +++ b/src/lib/fcitx/frontend.h @@ -0,0 +1,10 @@ +/* + * SPDX-FileCopyrightText: 2016-2016 CSSlayer + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * + */ +#ifndef _FCITX_FRONTEND_H_ +#define _FCITX_FRONTEND_H_ + +#endif // _FCITX_FRONTEND_H_ diff --git a/src/lib/fcitx/globalconfig.cpp b/src/lib/fcitx/globalconfig.cpp index 49946c51..ab284cb7 100644 --- a/src/lib/fcitx/globalconfig.cpp +++ b/src/lib/fcitx/globalconfig.cpp @@ -7,9 +7,7 @@ #include "globalconfig.h" #include "fcitx-config/configuration.h" -#include "fcitx-config/enum.h" #include "fcitx-config/iniparser.h" -#include "fcitx-config/option.h" #include "fcitx-utils/i18n.h" #include "config.h" #include "inputcontextmanager.h" @@ -50,14 +48,14 @@ FCITX_CONFIGURATION( this, "EnumerateForwardKeys", _("Enumerate Input Method Forward"), - {}, + {Key("Control+Shift_L")}, KeyListConstrain({KeyConstrainFlag::AllowModifierLess, KeyConstrainFlag::AllowModifierOnly})}; KeyListOption enumerateBackwardKeys{ this, "EnumerateBackwardKeys", _("Enumerate Input Method Backward"), - {}, + {Key("Control+Shift_R")}, KeyListConstrain({KeyConstrainFlag::AllowModifierLess, KeyConstrainFlag::AllowModifierOnly})}; Option enumerateSkipFirst{ @@ -137,16 +135,10 @@ FCITX_CONFIGURATION( FCITX_CONFIGURATION( BehaviorConfig, Option activeByDefault{this, "ActiveByDefault", _("Active By Default")}; - OptionWithAnnotation - resetStateWhenFocusIn{this, "resetStateWhenFocusIn", - _("Reset state on Focus In"), - PropertyPropagatePolicy::No}; OptionWithAnnotation shareState{this, "ShareInputState", _("Share Input State"), - isAndroid() ? PropertyPropagatePolicy::All - : PropertyPropagatePolicy::No}; + PropertyPropagatePolicy::No}; Option preeditEnabledByDefault{this, "PreeditEnabledByDefault", _("Show preedit in application"), true}; @@ -186,22 +178,7 @@ FCITX_CONFIGURATION( this, "DisabledAddons", "Force Disabled Addons"}; HiddenOption preloadInputMethod{ this, "PreloadInputMethod", - "Preload input method to be used by default", true}; - Option allowInputMethodForPassword{ - this, "AllowInputMethodForPassword", - _("Allow input method in the password field"), false}; - Option showPreeditForPassword{ - this, "ShowPreeditForPassword", - _("Show preedit text when typing password"), false}; - Option, ToolTipAnnotation> - autoSavePeriod{this, - "AutoSavePeriod", - _("Interval of saving user data in minutes"), - 30, - IntConstrain(0, 1440), - {}, - {_("If value is 0, the user data may only be saved when " - "fcitx quits (e.g. logout).")}};); + "Preload input method to be used by default", true};); FCITX_CONFIGURATION(GlobalConfig, Option hotkey{this, "Hotkey", _("Hotkey")}; @@ -290,11 +267,6 @@ bool GlobalConfig::activeByDefault() const { return d->behavior->activeByDefault.value(); } -PropertyPropagatePolicy GlobalConfig::resetStateWhenFocusIn() const { - FCITX_D(); - return d->behavior->resetStateWhenFocusIn.value(); -} - bool GlobalConfig::showInputMethodInformation() const { FCITX_D(); return d->behavior->showInputMethodInformation.value(); @@ -385,21 +357,6 @@ bool GlobalConfig::preloadInputMethod() const { return *d->behavior->preloadInputMethod; } -bool GlobalConfig::allowInputMethodForPassword() const { - FCITX_D(); - return *d->behavior->allowInputMethodForPassword; -} - -bool GlobalConfig::showPreeditForPassword() const { - FCITX_D(); - return *d->behavior->showPreeditForPassword; -} - -int GlobalConfig::autoSavePeriod() const { - FCITX_D(); - return *d->behavior->autoSavePeriod; -} - const Configuration &GlobalConfig::config() const { FCITX_D(); return *d; diff --git a/src/lib/fcitx/globalconfig.h b/src/lib/fcitx/globalconfig.h index b1daee3e..d1812a39 100644 --- a/src/lib/fcitx/globalconfig.h +++ b/src/lib/fcitx/globalconfig.h @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -36,16 +37,6 @@ class FCITXCORE_EXPORT GlobalConfig { const KeyList &togglePreeditKeys() const; bool activeByDefault() const; - - /** - * Reset active state to the value of activeByDefault on Focus In. - * - * @see activeByDefault - * @return the reset policy, no for disable, all for always reset, program - * for only reset on program changes. - * @since 5.1.8 - */ - PropertyPropagatePolicy resetStateWhenFocusIn() const; bool showInputMethodInformation() const; bool showInputMethodInformationWhenFocusIn() const; bool compactInputMethodInformation() const; @@ -85,30 +76,6 @@ class FCITXCORE_EXPORT GlobalConfig { */ const std::string &customXkbOption() const; - /** - * Allow use input method in password field. - * - * @return whether allow use input method in password field. - * @since 5.1.2 - */ - bool allowInputMethodForPassword() const; - - /** - * Show preedit when typing in password field. - * - * @return whether show preedit in password field. - * @since 5.1.2 - */ - bool showPreeditForPassword() const; - - /** - * Number of minutes that fcitx will automatically save user data. - * - * @return the period of auto save - * @since 5.1.2 - */ - int autoSavePeriod() const; - const std::vector &enabledAddons() const; const std::vector &disabledAddons() const; diff --git a/src/lib/fcitx/icontheme.cpp b/src/lib/fcitx/icontheme.cpp index 46979bf2..efbf2d78 100644 --- a/src/lib/fcitx/icontheme.cpp +++ b/src/lib/fcitx/icontheme.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -15,7 +16,9 @@ #include "fcitx-config/iniparser.h" #include "fcitx-config/marshallfunction.h" #include "fcitx-utils/fs.h" +#include "fcitx-utils/log.h" #include "fcitx-utils/mtime_p.h" +#include "config.h" #include "misc_p.h" namespace fcitx { @@ -550,9 +553,9 @@ class IconThemePrivate : QPtrHolder { } auto distance = dir.sizeDistance(size, scale); if (distance < minSize) { - if (auto path = checkDirectory(dir, baseDir.first); - !path.empty()) { - closestFilename = std::move(path); + auto path = checkDirectory(dir, baseDir.first); + if (!path.empty()) { + closestFilename = path; minSize = distance; } } @@ -797,15 +800,13 @@ std::string IconTheme::defaultIconThemeName() { /// Rename fcitx-* icon to org.fcitx.Fcitx5.fcitx-* if in flatpak std::string IconTheme::iconName(const std::string &icon, bool inFlatpak) { - constexpr std::string_view fcitxIconPrefix = "fcitx"; - if (inFlatpak && stringutils::startsWith(icon, fcitxIconPrefix)) { - // Map "fcitx" to org.fcitx.Fcitx5 - // And map fcitx* to org.fcitx.Fcitx5.fcitx* - if (icon.size() == fcitxIconPrefix.size()) { - return "org.fcitx.Fcitx5"; - } +#ifdef USE_FLATPAK_ICON + if (inFlatpak && stringutils::startsWith(icon, "fcitx-")) { return stringutils::concat("org.fcitx.Fcitx5.", icon); } +#else + FCITX_UNUSED(inFlatpak); +#endif return icon; } } // namespace fcitx diff --git a/src/lib/fcitx/icontheme.h b/src/lib/fcitx/icontheme.h index e01af578..71ad192b 100644 --- a/src/lib/fcitx/icontheme.h +++ b/src/lib/fcitx/icontheme.h @@ -7,16 +7,16 @@ #ifndef _FCITX_UTILS_ICONTHEME_H_ #define _FCITX_UTILS_ICONTHEME_H_ +#include #include #include #include #include #include -#include #include #include "fcitxcore_export.h" -/// \addtogroup FcitxCore +/// \addtogroup FcitxUtils /// \{ /// \file /// \brief XDG icon specification helper. @@ -85,8 +85,7 @@ class FCITXCORE_EXPORT IconTheme { FCITX_DECLARE_READ_ONLY_PROPERTY(std::string, example); /// Rename fcitx-* icon to org.fcitx.Fcitx5.fcitx-* if in flatpak - static std::string iconName(const std::string &icon, - bool inFlatpak = isInFlatpak()); + static std::string iconName(const std::string &icon, bool inFlatpak); private: IconTheme(const std::string &name, IconTheme *parent, diff --git a/src/lib/fcitx/inputcontext.cpp b/src/lib/fcitx/inputcontext.cpp index 26a89e6b..eaf687e5 100644 --- a/src/lib/fcitx/inputcontext.cpp +++ b/src/lib/fcitx/inputcontext.cpp @@ -8,16 +8,14 @@ #include "inputcontext.h" #include #include +#include #include -#include -#include -#include "fcitx-utils/utf8.h" +#include "fcitx-utils/event.h" #include "focusgroup.h" #include "inputcontext_p.h" #include "inputcontextmanager.h" #include "instance.h" #include "misc_p.h" -#include "userinterfacemanager.h" namespace fcitx { @@ -77,8 +75,6 @@ void InputContext::created() { d->emplaceEvent(this); } -std::string_view InputContext::frontendName() const { return frontend(); } - void InputContext::destroy() { FCITX_D(); assert(!d->destroyed_); @@ -148,48 +144,6 @@ void InputContext::updateProperty(const InputContextPropertyFactory *factory) { d->manager_.propagateProperty(*this, factory); } -bool InputContext::isVirtualKeyboardVisible() const { - FCITX_D(); - if (auto *instance = d->manager_.instance()) { - return instance->userInterfaceManager().isVirtualKeyboardVisible(); - } - return false; -} - -void InputContext::showVirtualKeyboard() const { - FCITX_D(); - if (auto *instance = d->manager_.instance()) { - return instance->userInterfaceManager().showVirtualKeyboard(); - } -} - -void InputContext::hideVirtualKeyboard() const { - FCITX_D(); - if (auto *instance = d->manager_.instance()) { - return instance->userInterfaceManager().hideVirtualKeyboard(); - } -} - -bool InputContext::clientControlVirtualkeyboardShow() const { - FCITX_D(); - return d->clientControlVirtualkeyboardShow_; -} - -void InputContext::setClientControlVirtualkeyboardShow(bool show) { - FCITX_D(); - d->clientControlVirtualkeyboardShow_ = show; -} - -bool InputContext::clientControlVirtualkeyboardHide() const { - FCITX_D(); - return d->clientControlVirtualkeyboardHide_; -} - -void InputContext::setClientControlVirtualkeyboardHide(bool hide) { - FCITX_D(); - d->clientControlVirtualkeyboardHide_ = hide; -} - CapabilityFlags calculateFlags(CapabilityFlags flag, bool isPreeditEnabled) { if (!isPreeditEnabled) { flag = flag.unset(CapabilityFlag::Preedit) @@ -326,23 +280,6 @@ bool InputContext::keyEvent(KeyEvent &event) { return result; } -bool InputContext::virtualKeyboardEvent(VirtualKeyboardEvent &event) { - FCITX_D(); - RETURN_IF_HAS_NO_FOCUS(false); - decltype(std::chrono::steady_clock::now()) start; - // Don't query time if we don't want log. - if (::keyTrace().checkLogLevel(LogLevel::Debug)) { - start = std::chrono::steady_clock::now(); - } - auto result = d->postEvent(event); - FCITX_KEYTRACE() << "VirtualKeyboardEvent handling time: " - << std::chrono::duration_cast( - std::chrono::steady_clock::now() - start) - .count() - << "ms result:" << result; - return result; -} - void InputContext::invokeAction(InvokeActionEvent &event) { FCITX_D(); RETURN_IF_HAS_NO_FOCUS(); @@ -390,27 +327,6 @@ bool InputContext::hasPendingEvents() const { return !d->blockedEvents_.empty(); } -bool InputContext::hasPendingEventsStrictOrder() const { - FCITX_D(); - if (d->blockedEvents_.empty()) { - return false; - } - - // Check we only have update preedit. - if (std::any_of(d->blockedEvents_.begin(), d->blockedEvents_.end(), - [](const auto &event) { - return event->type() != - EventType::InputContextUpdatePreedit; - })) { - return true; - } - - // Check whether the preedit is non-empty. - // If key event may produce anything, it still may trigger the clear - // preedit. In that case, preedit order does matter. - return !inputPanel().clientPreedit().toString().empty(); -} - void InputContext::commitString(const std::string &text) { FCITX_D(); if (auto *instance = d->manager_.instance()) { @@ -421,22 +337,6 @@ void InputContext::commitString(const std::string &text) { } } -void InputContext::commitStringWithCursor(const std::string &text, - size_t cursor) { - FCITX_D(); - if (cursor > utf8::length(text)) { - throw std::invalid_argument(text); - } - - if (auto *instance = d->manager_.instance()) { - auto newString = instance->commitFilter(this, text); - d->pushEvent(std::move(newString), cursor, - this); - } else { - d->pushEvent(text, cursor, this); - } -} - void InputContext::deleteSurroundingText(int offset, unsigned int size) { deleteSurroundingTextImpl(offset, size); } @@ -451,12 +351,6 @@ void InputContext::updatePreedit() { if (!capabilityFlags().test(CapabilityFlag::Preedit)) { return; } - - const bool preeditIsEmpty = inputPanel().clientPreedit().empty(); - if (preeditIsEmpty && d->lastPreeditUpdateIsEmpty_) { - return; - } - d->lastPreeditUpdateIsEmpty_ = preeditIsEmpty; d->pushEvent(this); } @@ -471,25 +365,13 @@ InputPanel &InputContext::inputPanel() { return d->inputPanel_; } -const InputPanel &InputContext::inputPanel() const { - FCITX_D(); - return d->inputPanel_; -} - StatusArea &InputContext::statusArea() { FCITX_D(); return d->statusArea_; } -const StatusArea &InputContext::statusArea() const { - FCITX_D(); - return d->statusArea_; -} - void InputContext::updateClientSideUIImpl() {} -InputContextV2::~InputContextV2() = default; - InputContextEventBlocker::InputContextEventBlocker(InputContext *inputContext) : inputContext_(inputContext->watch()) { inputContext->setBlockEventToClient(true); diff --git a/src/lib/fcitx/inputcontext.h b/src/lib/fcitx/inputcontext.h index 215f9331..58363b50 100644 --- a/src/lib/fcitx/inputcontext.h +++ b/src/lib/fcitx/inputcontext.h @@ -13,12 +13,16 @@ #include #include #include +#include +#include #include #include #include #include #include #include +#include +#include #include "fcitxcore_export.h" /// \addtogroup FcitxCore @@ -27,7 +31,7 @@ /// \brief Input Context for Fcitx. namespace fcitx { -using ICUUID = std::array; +typedef std::array ICUUID; class InputContextManager; class FocusGroup; @@ -46,7 +50,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { friend class InputContextManagerPrivate; friend class FocusGroup; friend class UserInterfaceManager; - friend class UserInterfaceManagerPrivate; public: InputContext(InputContextManager &manager, const std::string &program = {}); @@ -56,16 +59,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { /// Returns the underlying implementation of Input Context. virtual const char *frontend() const = 0; - /** - * Return the frontend name. - * - * Helper function that simply calls InputContext::frontend, but returns a - * string_view. - * - * @since 5.0.22 - */ - std::string_view frontendName() const; - /// Returns the uuid of this input context. const ICUUID &uuid() const; @@ -84,7 +77,7 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { double scaleFactor() const; // Following functions should only be called by Frontend. - // Calling following most of following functions will generate a + // Calling following most of folloing functions will generate a // corresponding InputContextEvent. /// Called When input context gains the input focus. @@ -128,7 +121,7 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { /// Override the preedit hint from client. void setEnablePreedit(bool enable); - /// Check if preedit is manually disabled. + /// Check if preedit is manually disalbed. bool isPreeditEnabled() const; /// Update the current cursor rect of the input context. @@ -140,15 +133,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { /// Send a key event to current input context. bool keyEvent(KeyEvent &event); - /** - * Send a virtual keyboard event to current input context. - * - * @param event virtual keyboard event - * @return whether event is accepted. - * @since 5.1.0 - */ - bool virtualKeyboardEvent(VirtualKeyboardEvent &event); - /// Returns whether the input context holds the input focus. Input context /// need to have focus. bool hasFocus() const; @@ -176,16 +160,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { /// Commit a string to the client. void commitString(const std::string &text); - /** - * Commit a string to application with a cursor location after commit. - * - * @param text text to commit - * @param cursor cursor position after commit, the value should be within - * [0, utf8::length(text)]. - * @see CapabilityFlag::CommitStringWithCursor - */ - void commitStringWithCursor(const std::string &text, size_t cursor); - /// Ask client to delete a range of surrounding text. void deleteSurroundingText(int offset, unsigned int size); @@ -223,16 +197,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { void setBlockEventToClient(bool block); bool hasPendingEvents() const; - /** - * Has pending event that need to use key order fix. - * - * If pending event only have preedit, then it's generally fine to not use - * key forward. - * - * @since 5.0.21 - */ - bool hasPendingEventsStrictOrder() const; - /// Returns the input context property by name. InputContextProperty *property(const std::string &name); @@ -242,23 +206,9 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { /// Returns the associated input panel. InputPanel &inputPanel(); - /** - * Returns the associated input panel. - * - * @since 5.0.22 - */ - const InputPanel &inputPanel() const; - /// Returns the associated StatusArea. StatusArea &statusArea(); - /** - * Returns the associated StatusArea. - * - * @since 5.0.22 - */ - const StatusArea &statusArea() const; - /** * Helper function to return the input context property in specific type. * @@ -285,7 +235,7 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { } /** - * Notifies the change of a given input context property + * Notifes the change of a given input context property * * @param name name of the input context property. * @@ -294,7 +244,7 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { void updateProperty(const std::string &name); /** - * Notifies the change of a given input context property by its factory. + * Notifes the change of a given input context property by its factory. * * @param name name of the input context property. * @@ -302,20 +252,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { */ void updateProperty(const InputContextPropertyFactory *factory); - bool isVirtualKeyboardVisible() const; - - void showVirtualKeyboard() const; - - void hideVirtualKeyboard() const; - - bool clientControlVirtualkeyboardShow() const; - - void setClientControlVirtualkeyboardShow(bool show); - - bool clientControlVirtualkeyboardHide() const; - - void setClientControlVirtualkeyboardHide(bool show); - protected: /** * Send the committed string to client @@ -370,18 +306,6 @@ class FCITXCORE_EXPORT InputContext : public TrackableObject { FCITX_DECLARE_PRIVATE(InputContext); }; -class FCITXCORE_EXPORT InputContextV2 : public InputContext { - friend class InputContextPrivate; - -public: - using InputContext::InputContext; - ~InputContextV2() override; - -protected: - virtual void commitStringWithCursorImpl(const std::string &text, - size_t cursor) = 0; -}; - /** * A helper class for frontend addon. It use RAII to call * setBlockEventToClient(true) in constructor and setBlockEventToClient(false) diff --git a/src/lib/fcitx/inputcontext_p.h b/src/lib/fcitx/inputcontext_p.h index 0b7bc693..d3a8dc4e 100644 --- a/src/lib/fcitx/inputcontext_p.h +++ b/src/lib/fcitx/inputcontext_p.h @@ -16,7 +16,6 @@ #include #include #include -#include "fcitx/event.h" namespace fcitx { @@ -114,17 +113,6 @@ class InputContextPrivate : public QPtrHolder { } break; } - case EventType::InputContextCommitStringWithCursor: { - auto &event = static_cast(icEvent); - if (!postEvent(event)) { - if (auto v2 = dynamic_cast(q)) { - v2->commitStringWithCursorImpl(event.text(), - event.cursor()); - } else { - q->commitStringImpl(event.text()); - } - } - } default: break; } @@ -149,8 +137,6 @@ class InputContextPrivate : public QPtrHolder { InputPanel inputPanel_; StatusArea statusArea_; bool hasFocus_ = false; - bool clientControlVirtualkeyboardShow_ = false; - bool clientControlVirtualkeyboardHide_ = false; std::string program_; CapabilityFlags capabilityFlags_; bool isPreeditEnabled_ = true; @@ -166,7 +152,6 @@ class InputContextPrivate : public QPtrHolder { std::list> blockedEvents_; bool blockEventToClient_ = false; - bool lastPreeditUpdateIsEmpty_ = true; }; } // namespace fcitx diff --git a/src/lib/fcitx/inputcontextmanager.cpp b/src/lib/fcitx/inputcontextmanager.cpp index f696eeee..0ac89f5a 100644 --- a/src/lib/fcitx/inputcontextmanager.cpp +++ b/src/lib/fcitx/inputcontextmanager.cpp @@ -11,7 +11,6 @@ #include #include "fcitx-utils/intrusivelist.h" #include "fcitx-utils/log.h" -#include "fcitx/misc_p.h" #include "focusgroup.h" #include "focusgroup_p.h" #include "inputcontext_p.h" @@ -38,6 +37,10 @@ class DummyInputContext : public InputContext { void updatePreeditImpl() override {} }; +void hash_combine(std::size_t &seed, std::size_t value) { + seed ^= value + 0x9e3779b9 + (seed << 6) + (seed >> 2); +} + struct container_hasher { template std::size_t operator()(const T &c) const { @@ -352,10 +355,8 @@ void InputContextManager::unregisterFocusGroup(FocusGroup &group) { d->groups_.erase(d->groups_.iterator_to(group)); if (d->instance_ && d->instance_->exitWhenMainDisplayDisconnected() && d->groups_.empty()) { - if (!d->instance_->exiting()) { - FCITX_INFO() << "All display connections are gone, exit now."; - d->instance_->exit(); - } + FCITX_INFO() << "All display connections are gone, exit now."; + d->instance_->exit(); } } InputContextPropertyFactory * @@ -454,11 +455,6 @@ InputContext *InputContextManager::mostRecentInputContext() { return ic; } -InputContext *InputContextManager::dummyInputContext() const { - FCITX_D(); - return d->dummyInputContext_.get(); -} - void InputContextManager::setPreeditEnabledByDefault(bool enable) { FCITX_D(); d->preeditEnabledByDefault_ = enable; diff --git a/src/lib/fcitx/inputcontextmanager.h b/src/lib/fcitx/inputcontextmanager.h index 3c3561f5..6e82b05b 100644 --- a/src/lib/fcitx/inputcontextmanager.h +++ b/src/lib/fcitx/inputcontextmanager.h @@ -11,6 +11,7 @@ #include #include #include +#include #include "fcitxcore_export.h" namespace fcitx { @@ -100,17 +101,6 @@ class FCITXCORE_EXPORT InputContextManager { */ InputContext *mostRecentInputContext(); - /** - * Return a dummy input context registered with this input method manager. - * - * The value is useful for a place holder in certain cases, e.g. get some - * value from action. - * - * @return fcitx::InputContext* - * @since 5.0.24 - */ - InputContext *dummyInputContext() const; - void setPreeditEnabledByDefault(bool enable); bool isPreeditEnabledByDefault() const; diff --git a/src/lib/fcitx/inputcontextproperty.h b/src/lib/fcitx/inputcontextproperty.h index e5c0d99c..26566364 100644 --- a/src/lib/fcitx/inputcontextproperty.h +++ b/src/lib/fcitx/inputcontextproperty.h @@ -51,6 +51,7 @@ class FCITXCORE_EXPORT InputContextProperty { }; class InputContext; +class InputContextManager; class InputContextPropertyFactoryPrivate; /** @@ -94,7 +95,7 @@ class LambdaInputContextPropertyFactory : public InputContextPropertyFactory { public: typedef Ret PropertyType; LambdaInputContextPropertyFactory(std::function f) - : func_(std::move(f)) {} + : func_(f) {} InputContextProperty *create(InputContext &ic) override { return func_(ic); diff --git a/src/lib/fcitx/inputmethodconfig_p.h b/src/lib/fcitx/inputmethodconfig_p.h index 8b8f0e9f..825f35e7 100644 --- a/src/lib/fcitx/inputmethodconfig_p.h +++ b/src/lib/fcitx/inputmethodconfig_p.h @@ -38,14 +38,13 @@ FCITX_CONFIGURATION( Option label{this, "Label", "Label"}; Option languageCode{this, "LangCode", "Language Code"}; Option addon{this, "Addon", "Addon"}; - Option configurable{this, "Configurable", "Configurable", false}; - Option enable{this, "Enable", "Enable", true};) + Option configurable{this, "Configurable", "Configurable", false};) FCITX_CONFIGURATION(InputMethodInfo, Option im{ this, "InputMethod", "Input Method"};) -inline InputMethodEntry toInputMethodEntry(const std::string &uniqueName, - const InputMethodInfo &config) { +InputMethodEntry toInputMethodEntry(const std::string &uniqueName, + const InputMethodInfo &config) { const auto &langCode = config.im->languageCode.value(); const auto &name = config.im->name.value(); InputMethodEntry result(uniqueName, name.match("system"), langCode, diff --git a/src/lib/fcitx/inputmethodengine.cpp b/src/lib/fcitx/inputmethodengine.cpp index 83787083..06b76a17 100644 --- a/src/lib/fcitx/inputmethodengine.cpp +++ b/src/lib/fcitx/inputmethodengine.cpp @@ -5,7 +5,6 @@ * */ #include "inputmethodengine.h" -#include #include "inputcontext.h" #include "inputpanel.h" @@ -27,22 +26,6 @@ std::string InputMethodEngine::subModeLabel(const InputMethodEntry &entry, return {}; } -void InputMethodEngine::virtualKeyboardEvent( - const InputMethodEntry &entry, VirtualKeyboardEvent &virtualKeyboardEvent) { - if (auto *this4 = dynamic_cast(this)) { - this4->virtualKeyboardEventImpl(entry, virtualKeyboardEvent); - } else if (auto virtualKeyEvent = virtualKeyboardEvent.toKeyEvent()) { - keyEvent(entry, *virtualKeyEvent); - // TODO: revisit the default action. - if (virtualKeyEvent->accepted()) { - virtualKeyboardEvent.accept(); - } else if (!virtualKeyboardEvent.text().empty()) { - virtualKeyboardEvent.inputContext()->commitString( - virtualKeyboardEvent.text()); - } - } -} - void defaultInvokeActionBehavior(InvokeActionEvent &event) { auto ic = event.inputContext(); auto commit = ic->inputPanel().clientPreedit().toStringForCommit(); @@ -62,25 +45,10 @@ void InputMethodEngine::invokeAction(const InputMethodEntry &entry, defaultInvokeActionBehavior(event); } -std::string InputMethodEngineV2::subModeIconImpl(const InputMethodEntry &, - InputContext &) { - return {}; -} - -std::string InputMethodEngineV2::subModeLabelImpl(const InputMethodEntry &, - InputContext &) { - return {}; -} - void InputMethodEngineV3::invokeActionImpl(const InputMethodEntry &entry, InvokeActionEvent &event) { FCITX_UNUSED(entry); defaultInvokeActionBehavior(event); } -void InputMethodEngineV4::virtualKeyboardEventImpl(const InputMethodEntry &, - VirtualKeyboardEvent &) { - throw std::logic_error("Not implemented virtualKeyboardEventImpl"); -} - } // namespace fcitx diff --git a/src/lib/fcitx/inputmethodengine.h b/src/lib/fcitx/inputmethodengine.h index a01431a2..7e040f32 100644 --- a/src/lib/fcitx/inputmethodengine.h +++ b/src/lib/fcitx/inputmethodengine.h @@ -172,24 +172,18 @@ class FCITXCORE_EXPORT InputMethodEngine : public AddonInstance { * @since 5.0.11 */ void invokeAction(const InputMethodEntry &entry, InvokeActionEvent &event); - - /** - * Process virtual keyboard event - * - * @param entry input method entry - * @param event virtual keyboard event - * @since 5.1.0 - */ - void virtualKeyboardEvent(const InputMethodEntry &entry, - VirtualKeyboardEvent &VirtualKeyboardEvent); }; class FCITXCORE_EXPORT InputMethodEngineV2 : public InputMethodEngine { public: virtual std::string subModeIconImpl(const InputMethodEntry &, - InputContext &); + InputContext &) { + return {}; + } virtual std::string subModeLabelImpl(const InputMethodEntry &, - InputContext &); + InputContext &) { + return {}; + } }; class FCITXCORE_EXPORT InputMethodEngineV3 : public InputMethodEngineV2 { @@ -198,13 +192,6 @@ class FCITXCORE_EXPORT InputMethodEngineV3 : public InputMethodEngineV2 { InvokeActionEvent &event); }; -class FCITXCORE_EXPORT InputMethodEngineV4 : public InputMethodEngineV3 { -public: - virtual void - virtualKeyboardEventImpl(const InputMethodEntry &entry, - VirtualKeyboardEvent &VirtualKeyboardEvent) = 0; -}; - } // namespace fcitx #endif // _FCITX_INPUTMETHODENGINE_H_ diff --git a/src/lib/fcitx/inputmethodentry.h b/src/lib/fcitx/inputmethodentry.h index 075c6f26..6073ce4b 100644 --- a/src/lib/fcitx/inputmethodentry.h +++ b/src/lib/fcitx/inputmethodentry.h @@ -41,19 +41,6 @@ class FCITXCORE_EXPORT InputMethodEntry { const std::string &uniqueName() const; const std::string &languageCode() const; const std::string &addon() const; - /** - * A compact label that intented to be shown in a compact space. - * - * usually some latin-character, or a single character of the input method - * language. - * - * UI may choose to strip it to a shorter version if the content is too - * long. For example, classicui will take the first section of text to make - * it fit with in 3 character width. custom -> cus fr-tg -> fr mon-a1 -> mon - * us (intl) -> us - * - * @return label text - */ const std::string &label() const; bool isConfigurable() const; diff --git a/src/lib/fcitx/inputmethodgroup.h b/src/lib/fcitx/inputmethodgroup.h index 41757fbd..752e104d 100644 --- a/src/lib/fcitx/inputmethodgroup.h +++ b/src/lib/fcitx/inputmethodgroup.h @@ -7,6 +7,7 @@ #ifndef _FCITX_INPUTMETHODGROUP_H_ #define _FCITX_INPUTMETHODGROUP_H_ +#include #include #include #include diff --git a/src/lib/fcitx/inputmethodmanager.cpp b/src/lib/fcitx/inputmethodmanager.cpp index 35675a1b..ce53b286 100644 --- a/src/lib/fcitx/inputmethodmanager.cpp +++ b/src/lib/fcitx/inputmethodmanager.cpp @@ -7,35 +7,20 @@ #include "inputmethodmanager.h" #include -#include +#include #include -#include -#include -#include #include -#include -#include -#include #include -#include -#include -#include #include "fcitx-config/iniparser.h" #include "fcitx-config/rawconfig.h" -#include "fcitx-utils/connectableobject.h" -#include "fcitx-utils/handlertable.h" #include "fcitx-utils/i18n.h" #include "fcitx-utils/log.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/misc_p.h" #include "fcitx-utils/standardpath.h" -#include "fcitx-utils/unixfd.h" -#include "addoninfo.h" #include "addonmanager.h" #include "inputmethodconfig_p.h" #include "inputmethodengine.h" -#include "inputmethodgroup.h" #include "instance.h" +#include "misc_p.h" namespace fcitx { @@ -157,7 +142,7 @@ void InputMethodManagerPrivate::buildDefaultGroup( InputMethodGroupItem("keyboard-us")); group.setDefaultInputMethod(""); group.setDefaultLayout("us"); - setGroupOrder({std::move(name)}); + setGroupOrder({name}); } assert(!groups_.empty()); assert(!groupOrder_.empty()); @@ -167,25 +152,29 @@ void InputMethodManagerPrivate::loadStaticEntries( const std::unordered_set &addonNames) { const auto &path = StandardPath::global(); timestamp_ = path.timestamp(StandardPath::Type::PkgData, "inputmethod"); - auto filesMap = path.locate(StandardPath::Type::PkgData, "inputmethod", - filter::Suffix(".conf")); - for (const auto &[fileName, fullName] : filesMap) { - std::string name = fileName.substr(0, fileName.size() - 5); + auto filesMap = + path.multiOpenAll(StandardPath::Type::PkgData, "inputmethod", O_RDONLY, + filter::Suffix(".conf")); + for (const auto &file : filesMap) { + const auto name = file.first.substr(0, file.first.size() - 5); if (entries_.count(name) != 0) { continue; } + const auto &files = file.second; RawConfig config; - UnixFD fd = UnixFD::own(open(fullName.c_str(), O_RDONLY)); - readFromIni(config, fd.fd()); + // reverse the order, so we end up parse user file at last. + for (auto iter = files.rbegin(), end = files.rend(); iter != end; + iter++) { + auto fd = iter->fd(); + readFromIni(config, fd); + } InputMethodInfo imInfo; imInfo.load(config); - if (!*imInfo.im->enable) { - continue; - } // Remove ".conf" InputMethodEntry entry = toInputMethodEntry(name, imInfo); - if (checkEntry(entry, addonNames)) { + if (checkEntry(entry, addonNames) && + stringutils::isConcatOf(file.first, entry.uniqueName(), ".conf")) { entries_.emplace(std::string(entry.uniqueName()), std::move(entry)); } } @@ -282,22 +271,6 @@ void InputMethodManager::setCurrentGroup(const std::string &groupName) { } } -void InputMethodManager::enumerateGroupTo(const std::string &groupName) { - FCITX_D(); - if (groupName == d->groupOrder_.front()) { - return; - } - auto iter = - std::find(d->groupOrder_.begin(), d->groupOrder_.end(), groupName); - if (iter != d->groupOrder_.end()) { - emit( - d->groupOrder_.front()); - d->groupOrder_.splice(d->groupOrder_.begin(), d->groupOrder_, iter, - d->groupOrder_.end()); - emit(groupName); - } -} - const InputMethodGroup &InputMethodManager::currentGroup() const { FCITX_D(); return d->groups_.find(d->groupOrder_.front())->second; diff --git a/src/lib/fcitx/inputmethodmanager.h b/src/lib/fcitx/inputmethodmanager.h index 63faabb8..0be42630 100644 --- a/src/lib/fcitx/inputmethodmanager.h +++ b/src/lib/fcitx/inputmethodmanager.h @@ -87,15 +87,6 @@ class FCITXCORE_EXPORT InputMethodManager : public ConnectableObject { /// Simply enumerate input method groups. void enumerateGroup(bool forward); - /** - * enumerate group to a certain group. - * - * For example, current order is A,B,C,D, enumerateGroupTo(C) - * will make order to be C,D,A,B. - * @arg groupName group name - */ - void enumerateGroupTo(const std::string &groupName); - /** * Set default input method for current group. * diff --git a/src/lib/fcitx/inputpanel.cpp b/src/lib/fcitx/inputpanel.cpp index 7cd8541e..0c3db7bc 100644 --- a/src/lib/fcitx/inputpanel.cpp +++ b/src/lib/fcitx/inputpanel.cpp @@ -17,8 +17,6 @@ class InputPanelPrivate { Text clientPreedit_; std::shared_ptr candidate_; InputContext *ic_; - CustomInputPanelCallback customCallback_ = nullptr; - CustomInputPanelCallback customVirtualKeyboardCallback_ = nullptr; }; InputPanel::InputPanel(InputContext *ic) @@ -46,12 +44,7 @@ void InputPanel::setCandidateList(std::unique_ptr candidate) { void InputPanel::setClientPreedit(const Text &clientPreedit) { FCITX_D(); - d->clientPreedit_ = clientPreedit.normalize(); - // If it is empty preedit, always set cursor to 0. - // An empty preedit with hidden cursor would only cause issues. - if (d->clientPreedit_.empty()) { - d->clientPreedit_.setCursor(0); - } + d->clientPreedit_ = clientPreedit; } void InputPanel::setPreedit(const Text &text) { @@ -79,29 +72,6 @@ const Text &InputPanel::preedit() const { return d->preedit_; } -const CustomInputPanelCallback &InputPanel::customInputPanelCallback() const { - FCITX_D(); - return d->customCallback_; -} - -void InputPanel::setCustomInputPanelCallback( - CustomInputPanelCallback callback) { - FCITX_D(); - d->customCallback_ = std::move(callback); -} - -const CustomInputPanelCallback & -InputPanel::customVirtualKeyboardCallback() const { - FCITX_D(); - return d->customVirtualKeyboardCallback_; -} - -void InputPanel::setCustomVirtualKeyboardCallback( - CustomInputPanelCallback callback) { - FCITX_D(); - d->customVirtualKeyboardCallback_ = std::move(callback); -} - void InputPanel::reset() { FCITX_D(); d->preedit_.clear(); @@ -110,8 +80,6 @@ void InputPanel::reset() { d->candidate_.reset(); d->auxUp_.clear(); d->auxDown_.clear(); - d->customCallback_ = nullptr; - d->customVirtualKeyboardCallback_ = nullptr; } bool InputPanel::empty() const { diff --git a/src/lib/fcitx/inputpanel.h b/src/lib/fcitx/inputpanel.h index a78ba269..d3810d47 100644 --- a/src/lib/fcitx/inputpanel.h +++ b/src/lib/fcitx/inputpanel.h @@ -7,8 +7,9 @@ #ifndef _FCITX_INPUTPANEL_H_ #define _FCITX_INPUTPANEL_H_ -#include +#include #include +#include #include "fcitxcore_export.h" /// \addtogroup FcitxCore @@ -21,8 +22,6 @@ namespace fcitx { class InputPanelPrivate; class InputContext; -using CustomInputPanelCallback = std::function; - /** * Input Panel is usually a floating window that is display at the cursor of * input. @@ -67,39 +66,6 @@ class FCITXCORE_EXPORT InputPanel { std::shared_ptr candidateList() const; void setCandidateList(std::unique_ptr candidate); - /** - * Return the current input panel display callback. - * - * @see setCustomInputPanelCallback - * @return current custom ui callback - * @since 5.0.24 - */ - const CustomInputPanelCallback &customInputPanelCallback() const; - - /** - * Set a custom callback to display the input panel. - * - * When this is set, - * Instance::updateUserInterface(UserInterfaceComponent::InputPanel) will - * trigger a call to the callback function instead. The capability flag - * ClientSideInputPanel will not be respected, but the clientPreedit will - * still be sent if InputContext::updatePreedit is called. - * - * All the UI display batching logic still applies. The actual update that - * triggers this callback will be called as a deferred event after current - * event. If you need UI update right away (rare), you can still true as - * immediate to Instance::updateUserInterface. - * - * @param callback callback to display input panel. - * - * @since 5.0.24 - */ - void setCustomInputPanelCallback(CustomInputPanelCallback callback); - - const CustomInputPanelCallback &customVirtualKeyboardCallback() const; - - void setCustomVirtualKeyboardCallback(CustomInputPanelCallback callback); - void reset(); /// Whether input panel is totally empty. diff --git a/src/lib/fcitx/instance.cpp b/src/lib/fcitx/instance.cpp index 271e20a1..21d39c0e 100644 --- a/src/lib/fcitx/instance.cpp +++ b/src/lib/fcitx/instance.cpp @@ -10,27 +10,17 @@ #include #include #include -#include -#include -#include #include -#include #include #include #include #include "fcitx-config/iniparser.h" -#include "fcitx-utils/capabilityflags.h" #include "fcitx-utils/event.h" -#include "fcitx-utils/eventdispatcher.h" #include "fcitx-utils/i18n.h" #include "fcitx-utils/log.h" -#include "fcitx-utils/macros.h" -#include "fcitx-utils/misc.h" #include "fcitx-utils/standardpath.h" #include "fcitx-utils/stringutils.h" #include "fcitx-utils/utf8.h" -#include "fcitx/event.h" -#include "fcitx/inputmethodgroup.h" #include "../../modules/notifications/notifications_public.h" #include "addonmanager.h" #include "focusgroup.h" @@ -46,7 +36,6 @@ #include "userinterfacemanager.h" #ifdef ENABLE_X11 -#define FCITX_NO_XCB #include <../modules/xcb/xcb_public.h> #endif @@ -61,8 +50,8 @@ namespace fcitx { namespace { -constexpr uint64_t AutoSaveMinInUsecs = 60ull * 1000000ull; // 30 minutes -constexpr uint64_t AutoSaveIdleTime = 60ull * 1000000ull; // 1 minutes +constexpr uint64_t AutoSavePeriod = 1800ull * 1000000ull; // 30 minutes +constexpr uint64_t AutoSaveIdleTime = 60ull * 1000000ull; // 1 minutes FCITX_CONFIGURATION(DefaultInputMethod, Option> defaultInputMethods{ @@ -87,7 +76,7 @@ void initAsDaemon() { if (fork() > 0) { exit(0); } - (void)chdir("/"); + chdir("/"); signal(SIGINT, oldint); signal(SIGHUP, oldhup); @@ -110,7 +99,7 @@ bool shouldSwitchIM(const CapabilityFlags &oldFlags, } // namespace -void InstanceArgument::printUsage() const { +void InstanceArgument::printUsage() { std::cout << "Usage: " << argv0 << " [Option]\n" << " --disable \tA comma separated list of addons to " @@ -145,9 +134,6 @@ void InstanceArgument::printUsage() const { << " -k, --keep\t\t\tKeep running even the main display is " "disconnected.\n" << " -r, --replace\t\t\tReplace the existing instance.\n" - << " -o --option