Import Upstream version 5.0.14
This commit is contained in:
commit
bef8873e8d
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
Language: Cpp
|
||||
# BasedOnStyle: LLVM
|
||||
AccessModifierOffset: -4
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
AlignEscapedNewlinesLeft: false
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
BreakBeforeBinaryOperators: false
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BinPackParameters: true
|
||||
ColumnLimit: 80
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
||||
DerivePointerAlignment: false
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
IndentCaseLabels: false
|
||||
IndentWrappedFunctionNames: false
|
||||
IndentFunctionDeclarationAfterType: false
|
||||
MaxEmptyLinesToKeep: 1
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true
|
||||
NamespaceIndentation: None
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerAlignment: Right
|
||||
SpacesBeforeTrailingComments: 1
|
||||
Cpp11BracedListStyle: true
|
||||
Standard: Cpp11
|
||||
IndentWidth: 4
|
||||
TabWidth: 4
|
||||
UseTab: Never
|
||||
BreakBeforeBraces: Attach
|
||||
SpacesInParentheses: false
|
||||
SpacesInAngles: false
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
ContinuationIndentWidth: 4
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]
|
||||
SpaceBeforeParens: ControlStatements
|
||||
DisableFormat: false
|
||||
SortIncludes: true
|
||||
...
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
build/*
|
||||
*.kdev4
|
||||
.kdev_include_paths
|
||||
.directory
|
||||
*.kate-swp
|
||||
*.orig
|
||||
*~
|
|
@ -0,0 +1,86 @@
|
|||
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
|
||||
|
||||
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
|
||||
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
|
||||
|
||||
if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
|
||||
message(FATAL_ERROR "In-source builds are disabled.
|
||||
Please create a subfolder and use `cmake ..` inside it.
|
||||
NOTE: cmake will now create CMakeCache.txt and CMakeFiles/*.
|
||||
You must delete them, or cmake will refuse to work.")
|
||||
endif()
|
||||
|
||||
project(fcitx5-configtool VERSION 5.0.19)
|
||||
|
||||
set(QT_MIN_VERSION "5.12.0")
|
||||
find_package(ECM 1.0.0 REQUIRED NO_MODULE)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
|
||||
include(KDEInstallDirs)
|
||||
include(KDECMakeSettings)
|
||||
include(KDECompilerSettings)
|
||||
include(FeatureSummary)
|
||||
include(ECMSetupVersion)
|
||||
include(GenerateExportHeader)
|
||||
option(ENABLE_KCM "Enable KDE Config Module" On)
|
||||
option(ENABLE_CONFIG_QT "Enable fcitx5-config-qt" On)
|
||||
option(ENABLE_TEST "Enable test" Off)
|
||||
add_definitions(-DTRANSLATION_DOMAIN=\"org.fcitx.fcitx5.kcm\")
|
||||
add_definitions(-DFCITX_GETTEXT_DOMAIN=\"fcitx5-configtool\")
|
||||
add_definitions(-DQT_NO_KEYWORDS)
|
||||
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets X11Extras Concurrent)
|
||||
|
||||
if (ENABLE_CONFIG_QT)
|
||||
find_package(KF5ItemViews REQUIRED)
|
||||
endif()
|
||||
|
||||
if (ENABLE_KCM)
|
||||
find_package(Qt5QuickControls2 REQUIRED)
|
||||
find_package(KF5CoreAddons REQUIRED)
|
||||
find_package(KF5I18n REQUIRED)
|
||||
find_package(KF5Package REQUIRED)
|
||||
find_package(KF5Declarative REQUIRED)
|
||||
find_package(KF5IconThemes REQUIRED)
|
||||
find_package(KF5Kirigami2 5.68 REQUIRED)
|
||||
find_package(XKBCommon REQUIRED COMPONENTS XKBCommon)
|
||||
find_package(KF5Plasma REQUIRED)
|
||||
|
||||
if (KF5Kirigami2_VERSION VERSION_LESS 5.76)
|
||||
set(DISABLE_UNDER_KIRIGAMI2_5_76 "//Needs Kirigami2 5.76 ")
|
||||
else()
|
||||
set(DISABLE_UNDER_KIRIGAMI2_5_76 "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(Fcitx5Core 5.0.4 REQUIRED)
|
||||
find_package(Fcitx5Config REQUIRED)
|
||||
find_package(Fcitx5Utils REQUIRED)
|
||||
find_package(Fcitx5Qt5DBusAddons REQUIRED)
|
||||
find_package(Fcitx5Qt5WidgetsAddons 5.0.2 REQUIRED)
|
||||
find_package(Qt5Svg)
|
||||
set_package_properties(Qt5Svg PROPERTIES
|
||||
DESCRIPTION "May be used for show icons"
|
||||
TYPE RUNTIME)
|
||||
|
||||
get_target_property(FCITX5_QT5_GUI_WRAPPER Fcitx5Qt5::gui-wrapper IMPORTED_LOCATION)
|
||||
|
||||
find_package(KF5WidgetsAddons REQUIRED)
|
||||
find_package(IsoCodes REQUIRED)
|
||||
kde_enable_exceptions()
|
||||
|
||||
include("${FCITX_INSTALL_CMAKECONFIG_DIR}/Fcitx5Utils/Fcitx5CompilerSettings.cmake")
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
find_package(Gettext REQUIRED)
|
||||
find_package(X11 REQUIRED)
|
||||
find_package(XKeyboardConfig REQUIRED)
|
||||
pkg_check_modules(XkbFile "xkbfile" REQUIRED IMPORTED_TARGET)
|
||||
|
||||
configure_file(config.h.in config.h)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
add_subdirectory(po)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(layout)
|
||||
|
||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
|
@ -0,0 +1,319 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||
document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share
|
||||
and change it. By contrast, the GNU General Public License is intended to
|
||||
guarantee your freedom to share and change free software--to make sure the
|
||||
software is free for all its users. This General Public License applies to
|
||||
most of the Free Software Foundation's software and to any other program whose
|
||||
authors commit to using it. (Some other Free Software Foundation software
|
||||
is covered by the GNU Lesser General Public License instead.) You can apply
|
||||
it to your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our
|
||||
General Public Licenses are designed to make sure that you have the freedom
|
||||
to distribute copies of free software (and charge for this service if you
|
||||
wish), that you receive source code or can get it if you want it, that you
|
||||
can change the software or use pieces of it in new free programs; and that
|
||||
you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone to
|
||||
deny you these rights or to ask you to surrender the rights. These restrictions
|
||||
translate to certain responsibilities for you if you distribute copies of
|
||||
the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether gratis or
|
||||
for a fee, you must give the recipients all the rights that you have. You
|
||||
must make sure that they, too, receive or can get the source code. And you
|
||||
must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||
offer you this license which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain that
|
||||
everyone understands that there is no warranty for this free software. If
|
||||
the software is modified by someone else and passed on, we want its recipients
|
||||
to know that what they have is not the original, so that any problems introduced
|
||||
by others will not reflect on the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software patents. We
|
||||
wish to avoid the danger that redistributors of a free program will individually
|
||||
obtain patent licenses, in effect making the program proprietary. To prevent
|
||||
this, we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification
|
||||
follow.
|
||||
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains a notice
|
||||
placed by the copyright holder saying it may be distributed under the terms
|
||||
of this General Public License. The "Program", below, refers to any such program
|
||||
or work, and a "work based on the Program" means either the Program or any
|
||||
derivative work under copyright law: that is to say, a work containing the
|
||||
Program or a portion of it, either verbatim or with modifications and/or translated
|
||||
into another language. (Hereinafter, translation is included without limitation
|
||||
in the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not covered
|
||||
by this License; they are outside its scope. The act of running the Program
|
||||
is not restricted, and the output from the Program is covered only if its
|
||||
contents constitute a work based on the Program (independent of having been
|
||||
made by running the Program). Whether that is true depends on what the Program
|
||||
does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source code
|
||||
as you receive it, in any medium, provided that you conspicuously and appropriately
|
||||
publish on each copy an appropriate copyright notice and disclaimer of warranty;
|
||||
keep intact all the notices that refer to this License and to the absence
|
||||
of any warranty; and give any other recipients of the Program a copy of this
|
||||
License along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you
|
||||
may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of it,
|
||||
thus forming a work based on the Program, and copy and distribute such modifications
|
||||
or work under the terms of Section 1 above, provided that you also meet all
|
||||
of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices stating that
|
||||
you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in whole or
|
||||
in part contains or is derived from the Program or any part thereof, to be
|
||||
licensed as a whole at no charge to all third parties under the terms of this
|
||||
License.
|
||||
|
||||
c) If the modified program normally reads commands interactively when run,
|
||||
you must cause it, when started running for such interactive use in the most
|
||||
ordinary way, to print or display an announcement including an appropriate
|
||||
copyright notice and a notice that there is no warranty (or else, saying that
|
||||
you provide a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this License.
|
||||
(Exception: if the Program itself is interactive but does not normally print
|
||||
such an announcement, your work based on the Program is not required to print
|
||||
an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable
|
||||
sections of that work are not derived from the Program, and can be reasonably
|
||||
considered independent and separate works in themselves, then this License,
|
||||
and its terms, do not apply to those sections when you distribute them as
|
||||
separate works. But when you distribute the same sections as part of a whole
|
||||
which is a work based on the Program, the distribution of the whole must be
|
||||
on the terms of this License, whose permissions for other licensees extend
|
||||
to the entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your
|
||||
rights to work written entirely by you; rather, the intent is to exercise
|
||||
the right to control the distribution of derivative or collective works based
|
||||
on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program with
|
||||
the Program (or with a work based on the Program) on a volume of a storage
|
||||
or distribution medium does not bring the other work under the scope of this
|
||||
License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it, under Section
|
||||
2) in object code or executable form under the terms of Sections 1 and 2 above
|
||||
provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable source code,
|
||||
which must be distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three years, to give
|
||||
any third party, for a charge no more than your cost of physically performing
|
||||
source distribution, a complete machine-readable copy of the corresponding
|
||||
source code, to be distributed under the terms of Sections 1 and 2 above on
|
||||
a medium customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer to distribute
|
||||
corresponding source code. (This alternative is allowed only for noncommercial
|
||||
distribution and only if you received the program in object code or executable
|
||||
form with such an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable work, complete source code means all
|
||||
the source code for all modules it contains, plus any associated interface
|
||||
definition files, plus the scripts used to control compilation and installation
|
||||
of the executable. However, as a special exception, the source code distributed
|
||||
need not include anything that is normally distributed (in either source or
|
||||
binary form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component itself
|
||||
accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering access to
|
||||
copy from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place counts as distribution of the source code,
|
||||
even though third parties are not compelled to copy the source along with
|
||||
the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program except
|
||||
as expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||
sublicense or distribute the Program is void, and will automatically terminate
|
||||
your rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses terminated
|
||||
so long as such parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not signed
|
||||
it. However, nothing else grants you permission to modify or distribute the
|
||||
Program or its derivative works. These actions are prohibited by law if you
|
||||
do not accept this License. Therefore, by modifying or distributing the Program
|
||||
(or any work based on the Program), you indicate your acceptance of this License
|
||||
to do so, and all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the Program),
|
||||
the recipient automatically receives a license from the original licensor
|
||||
to copy, distribute or modify the Program subject to these terms and conditions.
|
||||
You may not impose any further restrictions on the recipients' exercise of
|
||||
the rights granted herein. You are not responsible for enforcing compliance
|
||||
by third parties to this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent infringement
|
||||
or for any other reason (not limited to patent issues), conditions are imposed
|
||||
on you (whether by court order, agreement or otherwise) that contradict the
|
||||
conditions of this License, they do not excuse you from the conditions of
|
||||
this License. If you cannot distribute so as to satisfy simultaneously your
|
||||
obligations under this License and any other pertinent obligations, then as
|
||||
a consequence you may not distribute the Program at all. For example, if a
|
||||
patent license would not permit royalty-free redistribution of the Program
|
||||
by all those who receive copies directly or indirectly through you, then the
|
||||
only way you could satisfy both it and this License would be to refrain entirely
|
||||
from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply and
|
||||
the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents
|
||||
or other property right claims or to contest validity of any such claims;
|
||||
this section has the sole purpose of protecting the integrity of the free
|
||||
software distribution system, which is implemented by public license practices.
|
||||
Many people have made generous contributions to the wide range of software
|
||||
distributed through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing to
|
||||
distribute software through any other system and a licensee cannot impose
|
||||
that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a
|
||||
consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in certain
|
||||
countries either by patents or by copyrighted interfaces, the original copyright
|
||||
holder who places the Program under this License may add an explicit geographical
|
||||
distribution limitation excluding those countries, so that distribution is
|
||||
permitted only in or among countries not thus excluded. In such case, this
|
||||
License incorporates the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions of
|
||||
the General Public License from time to time. Such new versions will be similar
|
||||
in spirit to the present version, but may differ in detail to address new
|
||||
problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program specifies
|
||||
a version number of this License which applies to it and "any later version",
|
||||
you have the option of following the terms and conditions either of that version
|
||||
or of any later version published by the Free Software Foundation. If the
|
||||
Program does not specify a version number of this License, you may choose
|
||||
any version ever published by the Free Software Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free programs
|
||||
whose distribution conditions are different, write to the author to ask for
|
||||
permission. For software which is copyrighted by the Free Software Foundation,
|
||||
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||
Our decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing and reuse
|
||||
of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
|
||||
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
||||
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
|
||||
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
|
||||
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
|
||||
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
|
||||
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest possible
|
||||
use to the public, the best way to achieve this is to make it free software
|
||||
which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to attach
|
||||
them to the start of each source file to most effectively convey the exclusion
|
||||
of warranty; and each file should have at least the "copyright" line and a
|
||||
pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and an idea of what it does.>
|
||||
|
||||
Copyright (C) <yyyy> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
Foundation; either version 2 of the License, or (at your option) any later
|
||||
version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
|
||||
Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this when
|
||||
it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||
with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,
|
||||
and you are welcome to redistribute it under certain conditions; type `show
|
||||
c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may be
|
||||
called something other than `show w' and `show c'; they could even be mouse-clicks
|
||||
or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||
is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
|
||||
(which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General
|
||||
Public License does not permit incorporating your program into proprietary
|
||||
programs. If your program is a subroutine library, you may consider it more
|
||||
useful to permit linking proprietary applications with the library. If this
|
||||
is what you want to do, use the GNU Lesser General Public License instead
|
||||
of this License.
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
gen_pot kde:appdata:desktop:ui fcitx5-configtool po/fcitx5-configtool layout/ src/configtool/ src/lib/ src/migrator/
|
||||
gen_pot kde:appdata:desktop:ui org.fcitx.fcitx5.kcm po/org.fcitx.fcitx5.kcm src/kcm/ src/plasmathemegenerator/
|
|
@ -0,0 +1,36 @@
|
|||
# - Try to find the IsoCodes libraries
|
||||
# Once done this will define
|
||||
#
|
||||
# ISOCODES_FOUND - system has ISOCODES
|
||||
# ISOCODES_INCLUDE_DIR - the ISOCODES include directory
|
||||
# ISOCODES_LIBRARIES - ISOCODES library
|
||||
#
|
||||
# Copyright (c) 2012 CSSlayer <wengxt@gmail.com>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
if(ISOCODES_INCLUDE_DIR AND ISOCODES_LIBRARIES)
|
||||
# Already in cache, be silent
|
||||
set(ISOCODES_FIND_QUIETLY TRUE)
|
||||
endif(ISOCODES_INCLUDE_DIR AND ISOCODES_LIBRARIES)
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_ISOCODES iso-codes)
|
||||
|
||||
find_file(ISOCODES_ISO639_2_JSON iso_639-2.json
|
||||
HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/"
|
||||
)
|
||||
|
||||
find_file(ISOCODES_ISO639_3_JSON iso_639-3.json
|
||||
HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/"
|
||||
)
|
||||
|
||||
find_file(ISOCODES_ISO639_5_JSON iso_639-5.json
|
||||
HINTS "${PC_ISOCODES_PREFIX}/share/iso-codes/json/"
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(IsoCodes DEFAULT_MSG ISOCODES_ISO639_2_JSON ISOCODES_ISO639_3_JSON ISOCODES_ISO639_5_JSON)
|
||||
|
||||
mark_as_advanced(ISOCODES_ISO639_2_JSON ISOCODES_ISO639_3_JSON ISOCODES_ISO639_5_JSON)
|
|
@ -0,0 +1,44 @@
|
|||
|
||||
include(ECMFindModuleHelpersStub)
|
||||
|
||||
ecm_find_package_version_check(XKBCommon)
|
||||
|
||||
# Note that this list needs to be ordered such that any component
|
||||
# appears after its dependencies
|
||||
set(XKBCommon_known_components
|
||||
XKBCommon
|
||||
X11)
|
||||
|
||||
set(XKBCommon_XKBCommon_component_deps)
|
||||
set(XKBCommon_XKBCommon_pkg_config "xkbcommon")
|
||||
set(XKBCommon_XKBCommon_lib "xkbcommon")
|
||||
set(XKBCommon_XKBCommon_header "xkbcommon/xkbcommon.h")
|
||||
|
||||
set(XKBCommon_X11_component_deps XKBCommon)
|
||||
set(XKBCommon_X11_pkg_config "xkbcommon-x11")
|
||||
set(XKBCommon_X11_lib "xkbcommon-x11")
|
||||
set(XKBCommon_X11_header "xkbcommon/xkbcommon-x11.h")
|
||||
|
||||
ecm_find_package_parse_components(XKBCommon
|
||||
RESULT_VAR XKBCommon_components
|
||||
KNOWN_COMPONENTS ${XKBCommon_known_components}
|
||||
)
|
||||
ecm_find_package_handle_library_components(XKBCommon
|
||||
COMPONENTS ${XKBCommon_components}
|
||||
)
|
||||
|
||||
find_package_handle_standard_args(XKBCommon
|
||||
FOUND_VAR
|
||||
XKBCommon_FOUND
|
||||
REQUIRED_VARS
|
||||
XKBCommon_LIBRARIES
|
||||
VERSION_VAR
|
||||
XKBCommon_VERSION
|
||||
HANDLE_COMPONENTS
|
||||
)
|
||||
|
||||
include(FeatureSummary)
|
||||
set_package_properties(XKBCommon PROPERTIES
|
||||
URL "http://xkbcommon.org"
|
||||
DESCRIPTION "Keyboard handling library using XKB data"
|
||||
)
|
|
@ -0,0 +1,20 @@
|
|||
find_package(PkgConfig)
|
||||
|
||||
pkg_check_modules(PKG_XKEYBOARDCONFIG QUIET xkeyboard-config)
|
||||
|
||||
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)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(XKeyboardConfig
|
||||
FOUND_VAR
|
||||
XKEYBOARDCONFIG_FOUND
|
||||
REQUIRED_VARS
|
||||
XKEYBOARDCONFIG_XKBBASE
|
||||
XKEYBOARDCONFIG_DATADIR
|
||||
VERSION_VAR
|
||||
XKEYBOARDCONFIG_VERSION
|
||||
)
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2017~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef _KCM_FCITX5_CONFIG_H_
|
||||
#define _KCM_FCITX5_CONFIG_H_
|
||||
|
||||
#cmakedefine PROJECT_VERSION "@PROJECT_VERSION@"
|
||||
#cmakedefine XKEYBOARDCONFIG_XKBBASE "@XKEYBOARDCONFIG_XKBBASE@"
|
||||
#cmakedefine ISOCODES_ISO639_2_JSON "@ISOCODES_ISO639_2_JSON@"
|
||||
#cmakedefine ISOCODES_ISO639_3_JSON "@ISOCODES_ISO639_3_JSON@"
|
||||
#cmakedefine ISOCODES_ISO639_5_JSON "@ISOCODES_ISO639_5_JSON@"
|
||||
|
||||
#define FCITX5_QT5_GUI_WRAPPER "@FCITX5_QT5_GUI_WRAPPER@"
|
||||
|
||||
#endif // _KCM_FCITX5_CONFIG_H_
|
|
@ -0,0 +1,28 @@
|
|||
add_library(X11Import UNKNOWN IMPORTED)
|
||||
set_target_properties(X11Import PROPERTIES
|
||||
IMPORTED_LOCATION "${X11_X11_LIB}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${X11_X11_INCLUDE_PATH}")
|
||||
|
||||
add_library(X11XkblibImport INTERFACE IMPORTED)
|
||||
set_target_properties(X11XkblibImport PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${X11_Xkblib_INCLUDE_PATH}")
|
||||
|
||||
add_library(layoutlib STATIC keyboardlayoutwidget.cpp)
|
||||
set_target_properties(layoutlib PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
|
||||
target_link_libraries(layoutlib PUBLIC Fcitx5::Utils Qt5::Widgets PRIVATE Qt5::X11Extras X11Import X11XkblibImport PkgConfig::XkbFile)
|
||||
target_include_directories(layoutlib INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
set(kbd_layout_viewer_SOURCES
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_executable(kbd-layout-viewer5 ${kbd_layout_viewer_SOURCES})
|
||||
|
||||
target_link_libraries(kbd-layout-viewer5 Fcitx5::Utils Qt5::Widgets Qt5::X11Extras layoutlib)
|
||||
|
||||
install(TARGETS kbd-layout-viewer5 DESTINATION ${KDE_INSTALL_BINDIR})
|
||||
fcitx5_translate_desktop_file(
|
||||
kbd-layout-viewer5.desktop.in
|
||||
kbd-layout-viewer5.desktop PO_DIRECTORY ${PROJECT_SOURCE_DIR}/po/fcitx5-configtool)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/kbd-layout-viewer5.desktop"
|
||||
DESTINATION ${KDE_INSTALL_APPDIR})
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2011~2011 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _LAYOUT_DEADMAPDATA_H_
|
||||
#define _LAYOUT_DEADMAPDATA_H_
|
||||
|
||||
struct DeadMap {
|
||||
unsigned int dead;
|
||||
unsigned int nondead;
|
||||
} deadMapData[] = {
|
||||
|
||||
{XK_dead_grave, 0x0060},
|
||||
{XK_dead_acute, 0x00b4},
|
||||
{XK_dead_circumflex, 0x02c6},
|
||||
{XK_dead_tilde, 0x02dc},
|
||||
{XK_dead_macron, 0x00af},
|
||||
{XK_dead_breve, 0x02D8},
|
||||
{XK_dead_abovedot, 0x02D9},
|
||||
{XK_dead_diaeresis, 0x00A8},
|
||||
{XK_dead_abovering, 0x02DA},
|
||||
{XK_dead_doubleacute, 0x02DD},
|
||||
{XK_dead_caron, 0x02C7},
|
||||
{XK_dead_cedilla, 0x00B8},
|
||||
{XK_dead_ogonek, 0x02DB},
|
||||
{XK_dead_iota, 0x0269},
|
||||
{XK_dead_voiced_sound, 0x309B},
|
||||
{XK_dead_semivoiced_sound, 0x309A},
|
||||
{XK_dead_belowdot, 0x0323},
|
||||
{XK_dead_hook, 0x0309},
|
||||
{XK_dead_horn, 0x031b},
|
||||
{XK_dead_stroke, 0x0335},
|
||||
{XK_dead_abovecomma, 0x0312},
|
||||
{XK_dead_abovereversedcomma, 0x0314},
|
||||
{XK_dead_doublegrave, 0x030f},
|
||||
{XK_dead_belowring, 0x0325},
|
||||
{XK_dead_belowmacron, 0x0331},
|
||||
{XK_dead_belowcircumflex, 0x032D},
|
||||
{XK_dead_belowtilde, 0x0330},
|
||||
{XK_dead_belowbreve, 0x032e},
|
||||
{XK_dead_belowdiaeresis, 0x0324},
|
||||
{XK_dead_invertedbreve, 0x0311},
|
||||
{XK_dead_belowcomma, 0x0326},
|
||||
{XK_dead_currency, 0x00A4},
|
||||
|
||||
/* dead vowels for universal syllable entry */
|
||||
{XK_dead_a, 0x0061},
|
||||
{XK_dead_A, 0x0041},
|
||||
{XK_dead_e, 0x0065},
|
||||
{XK_dead_E, 0x0045},
|
||||
{XK_dead_i, 0x0069},
|
||||
{XK_dead_I, 0x0049},
|
||||
{XK_dead_o, 0x006f},
|
||||
{XK_dead_O, 0x004f},
|
||||
{XK_dead_u, 0x0075},
|
||||
{XK_dead_U, 0x0055},
|
||||
{XK_dead_small_schwa, 0x0259},
|
||||
{XK_dead_capital_schwa, 0x018F},
|
||||
};
|
||||
|
||||
#endif // _LAYOUT_DEADMAPDATA_H_
|
|
@ -0,0 +1,11 @@
|
|||
[Desktop Entry]
|
||||
Exec=kbd-layout-viewer5
|
||||
Icon=input-keyboard
|
||||
Type=Application
|
||||
|
||||
Name=Keyboard layout viewer
|
||||
Comment=View keyboard layout
|
||||
|
||||
X-KDE-Keywords=keyboard;input;im
|
||||
|
||||
Categories=Qt;KDE;Utility;
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,157 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2011~2011 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
|
||||
/* this file is based on from libgnomekbd/libgnomekbd/gkbd-keyboard-drawing.c */
|
||||
|
||||
#ifndef KEYBOARDLAYOUTWIDGET_H
|
||||
#define KEYBOARDLAYOUTWIDGET_H
|
||||
|
||||
#include <QAbstractNativeEventFilter>
|
||||
#include <QMap>
|
||||
#include <QWidget>
|
||||
#include <vector>
|
||||
|
||||
class QPainter;
|
||||
struct Doodad;
|
||||
struct _XkbDesc;
|
||||
struct _XkbShapeDoodad;
|
||||
union _XkbDoodad;
|
||||
|
||||
typedef enum {
|
||||
KEYBOARD_DRAWING_ITEM_TYPE_INVALID = 0,
|
||||
KEYBOARD_DRAWING_ITEM_TYPE_KEY,
|
||||
KEYBOARD_DRAWING_ITEM_TYPE_KEY_EXTRA,
|
||||
KEYBOARD_DRAWING_ITEM_TYPE_DOODAD
|
||||
} KeyboardDrawingItemType;
|
||||
|
||||
typedef enum {
|
||||
KEYBOARD_DRAWING_POS_TOPLEFT,
|
||||
KEYBOARD_DRAWING_POS_TOPRIGHT,
|
||||
KEYBOARD_DRAWING_POS_BOTTOMLEFT,
|
||||
KEYBOARD_DRAWING_POS_BOTTOMRIGHT,
|
||||
KEYBOARD_DRAWING_POS_TOTAL,
|
||||
KEYBOARD_DRAWING_POS_FIRST = KEYBOARD_DRAWING_POS_TOPLEFT,
|
||||
KEYBOARD_DRAWING_POS_LAST = KEYBOARD_DRAWING_POS_BOTTOMRIGHT
|
||||
} KeyboardDrawingGroupLevelPosition;
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
struct DrawingItem {
|
||||
DrawingItem()
|
||||
: type(KEYBOARD_DRAWING_ITEM_TYPE_INVALID), originX(0), originY(0),
|
||||
angle(0), priority(0) {}
|
||||
|
||||
virtual ~DrawingItem() {}
|
||||
KeyboardDrawingItemType type;
|
||||
int originX;
|
||||
int originY;
|
||||
int angle;
|
||||
unsigned int priority;
|
||||
};
|
||||
|
||||
struct Doodad : public DrawingItem {
|
||||
Doodad() : doodad(0), on(0) {}
|
||||
union _XkbDoodad *doodad;
|
||||
int on;
|
||||
};
|
||||
|
||||
struct DrawingKey : public DrawingItem {
|
||||
DrawingKey() : xkbkey(0), pressed(false), keycode(0) {}
|
||||
struct _XkbKey *xkbkey;
|
||||
bool pressed;
|
||||
unsigned int keycode;
|
||||
};
|
||||
|
||||
struct KeyboardDrawingGroupLevel {
|
||||
int group;
|
||||
int level;
|
||||
};
|
||||
|
||||
class KeyboardLayoutWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit KeyboardLayoutWidget(QWidget *parent = 0);
|
||||
virtual ~KeyboardLayoutWidget();
|
||||
void setGroup(int group);
|
||||
void setKeyboardLayout(const QString &layout, const QString &variant);
|
||||
void generatePixmap(bool force = false);
|
||||
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
void keyReleaseEvent(QKeyEvent *event) override;
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
void init();
|
||||
void alloc();
|
||||
void release();
|
||||
void initInicatorDoodad(union _XkbDoodad *xkbdoodad, Doodad &doodad);
|
||||
unsigned int findKeycode(const char *keyName);
|
||||
void rotateRectangle(int origin_x, int origin_y, int x, int y, int angle,
|
||||
int &rotated_x, int &rotated_y);
|
||||
bool parseXkbColorSpec(char *colorspec, QColor &color);
|
||||
void initColors();
|
||||
|
||||
void focusOutEvent(QFocusEvent *event) override;
|
||||
|
||||
void drawKey(QPainter *painter, DrawingKey *item);
|
||||
void drawDoodad(QPainter *painter, Doodad *doodad);
|
||||
void drawKeyLabel(QPainter *painter, unsigned int keycode, int angle,
|
||||
int arg4, int originY, int x2, int y2, bool pressed);
|
||||
void drawKeyLabelHelper(QPainter *painter, const QString &text, int angle,
|
||||
int glp, int end_glp, int x, int y, int width,
|
||||
int height, int padding, bool is_pressed);
|
||||
|
||||
void drawShapeDoodad(QPainter *painter, Doodad *doodad,
|
||||
struct _XkbShapeDoodad *shapeDoodad);
|
||||
void drawTextDoodad(QPainter *painter, Doodad *doodad,
|
||||
struct _XkbTextDoodad *textDoodad);
|
||||
void drawIndicatorDoodad(QPainter *painter, Doodad *doodad,
|
||||
struct _XkbIndicatorDoodad *indicatorDoodad);
|
||||
|
||||
int calcShapeOriginOffsetX(struct _XkbOutline *outline);
|
||||
void drawOutline(QPainter *painter, struct _XkbOutline *outline,
|
||||
QColor color, int angle, int originX, int originY);
|
||||
void drawRectangle(QPainter *painter, QColor color, int angle, int xkb_x,
|
||||
int xkb_y, int xkb_width, int xkb_height,
|
||||
unsigned int radius);
|
||||
void drawPolygon(QPainter *painter, QColor color, int originX, int originY,
|
||||
struct _XkbPoint *points, unsigned int num_points,
|
||||
unsigned int radius);
|
||||
void rotateCoordinate(int originX, int originY, int x, int y, int angle,
|
||||
int *rotated_x, int *rotated_y);
|
||||
int xkbToPixmapCoord(int n);
|
||||
double xkbToPixmapDouble(double d);
|
||||
void roundedPolygon(QPainter *painter, bool filled, double radius,
|
||||
const std::vector<QPointF> &points);
|
||||
void drawCurveRectangle(QPainter *painter, bool filled, QColor color, int x,
|
||||
int y, int width, int height, double radius);
|
||||
void roundedCorner(QPainterPath &path, QPointF b, QPointF c, double radius);
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
void setKeyboard(struct _XkbComponentNames *xkbDesc);
|
||||
|
||||
private:
|
||||
void keyEvent(QKeyEvent *keyEvent);
|
||||
QString keySymToString(unsigned long keysym);
|
||||
|
||||
QList<DrawingItem *> keyboardItems;
|
||||
std::vector<DrawingKey> keys;
|
||||
QList<Doodad *> physicalIndicators;
|
||||
struct _XkbDesc *xkb = nullptr;
|
||||
unsigned int l3mod = 0;
|
||||
std::vector<QColor> colors;
|
||||
QPixmap image;
|
||||
double ratio = 1.0;
|
||||
KeyboardDrawingGroupLevel **groupLevels;
|
||||
bool trackModifiers = false;
|
||||
int mods;
|
||||
QMap<unsigned int, unsigned int> deadMap;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif
|
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2011~2011 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "keyboardlayoutwidget.h"
|
||||
#include <QApplication>
|
||||
#include <QCommandLineParser>
|
||||
#include <QMainWindow>
|
||||
#include <QMessageBox>
|
||||
#include <QX11Info>
|
||||
#include <fcitx-utils/i18n.h>
|
||||
#include <fcitx-utils/standardpath.h>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
qputenv("QT_QPA_PLATFORM", "xcb");
|
||||
|
||||
QApplication app(argc, argv);
|
||||
app.setApplicationName(QLatin1String("kbd-layout-viewer"));
|
||||
app.setApplicationVersion(QLatin1String(PROJECT_VERSION));
|
||||
|
||||
if (!QX11Info::isPlatformX11()) {
|
||||
QMessageBox msgBox(QMessageBox::Critical, _("Error"),
|
||||
_("This program only works on X11."));
|
||||
msgBox.exec();
|
||||
return 1;
|
||||
}
|
||||
|
||||
QCommandLineParser parser;
|
||||
parser.setApplicationDescription(_("A general keyboard layout viewer"));
|
||||
parser.addHelpOption();
|
||||
parser.addOptions(
|
||||
{{{"g", "group"}, _("Keyboard layout <group> (0-3)"), _("group")},
|
||||
{{"l", "layout"}, _("Keyboard <layout>"), _("layout")},
|
||||
{{"v", "variant"}, _("Keyboard layout <variant>"), _("variant")}});
|
||||
|
||||
parser.process(app);
|
||||
|
||||
int group = -1;
|
||||
QString variant, layout;
|
||||
if (parser.isSet("group")) {
|
||||
group = parser.value("group").toInt();
|
||||
}
|
||||
if (parser.isSet("layout")) {
|
||||
layout = parser.value("layout");
|
||||
}
|
||||
if (parser.isSet("variant")) {
|
||||
variant = parser.value("variant");
|
||||
}
|
||||
|
||||
app.setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
|
||||
QMainWindow mainWindow;
|
||||
mainWindow.setWindowIcon(QIcon::fromTheme("input-keyboard"));
|
||||
mainWindow.setWindowTitle(_("Keyboard Layout viewer"));
|
||||
mainWindow.setMinimumSize(QSize(900, 400));
|
||||
fcitx::kcm::KeyboardLayoutWidget widget;
|
||||
if (group > 0 || layout.isNull()) {
|
||||
if (group < 0)
|
||||
group = 0;
|
||||
widget.setGroup(group);
|
||||
} else if (!layout.isNull()) {
|
||||
widget.setKeyboardLayout(layout, variant);
|
||||
}
|
||||
|
||||
mainWindow.setCentralWidget(&widget);
|
||||
mainWindow.show();
|
||||
|
||||
return app.exec();
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
add_subdirectory(fcitx5-configtool)
|
||||
add_subdirectory(org.fcitx.fcitx5.kcm)
|
|
@ -0,0 +1 @@
|
|||
fcitx5_install_translation(fcitx5-configtool)
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
ca
|
||||
da
|
||||
de
|
||||
fr
|
||||
he
|
||||
ja
|
||||
ko
|
||||
ru
|
||||
tr
|
||||
vi
|
||||
zh_CN
|
||||
zh_TW
|
|
@ -0,0 +1,772 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2017
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2017\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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "Un visualitzador general de disposició de teclat"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "Qualsevol llengua"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "Mètode d'entrada disponible:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "No es pot connectar a fcitx amb DBus, està fcitx en execució?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "Mètode d'entrada actual:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "Predeterminat"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "Frontal"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "Nom del grup:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Grup:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Mètode d'entrada"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "Teclat <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "Visualitzador de disposició de teclat"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "Disposició del teclat <group> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "Disposició del teclat <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr ""
|
||||
"Disposició de teclat que s'ha d'utilitzar quan no hi ha cap mètode d'entrada "
|
||||
"actiu"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "Visualitzador de disposició de teclat"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Llengua:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Disposició:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "Mòdul"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Plurilingüe"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "Grup nou"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "Mo%stra sols la llengua actual"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Altres"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Cerca complements"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "Cerca el mètode d'entrada"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Selecciona la &lletra..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "Selecciona la disposició predeterminada"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "Mostra les opcions &avançades"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"El primer mètode d'entrada serà l'estat inactiu. Generalment heu de posar "
|
||||
"<b>Keyboard</b> o <b>Keyboard - <i>nom de disposició</i></b> en el primer "
|
||||
"lloc."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "Interfície d'usuari"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Desconegut"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variant:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "Visualitza la disposició de teclat"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "grup"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "disposició"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "variant"
|
|
@ -0,0 +1,779 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# scootergrisen, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: scootergrisen, 2021\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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 holdt op med at virke."
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1 kunne ikke starte."
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "&Anvend"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "&Annuller"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "&Luk"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "&Næste >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "&Nulstil"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- Deaktivér %1\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- Deaktivér nogle funktionaliteter i %1\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "En generel tastaturlayout-fremviser"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "Tilføjelser"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "Alle overførselsopgaver er fuldført."
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "Vilkårligt sprog"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "Spørger Fcitx om at afslutte ..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "Tilgængelig inputmetode:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "Kan ikke oprette forbindelse til Fcitx med DBus. Kører Fcitx?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "Skift inputmetode til at matche valget af layout."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr "Skift systemets layout til at matche valget af inputmetode."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "Tjekker om Fcitx kører ..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "Tjekker om Fcitx stadigvæk kører ..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "Klik på en post for flere detaljer."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurer"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "Konverter holdt op med at virke."
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "Kopierer filen %1 til %2"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "Nuværende inputmetode:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "Nuværende gruppe ændret"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "Mappen %1 findes ikke."
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "Deaktivér %1"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"Deaktivering af %1 vil også:\n"
|
||||
"%2%3\n"
|
||||
"Er du sikker på, at du vil deaktivere den?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "Vil du ændre gruppe? Ændringerne til den nuværende vil gå tabt!"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "Ned"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "Rediger"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "Kunne ikke kopiere filen %1 til %2"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "Kunne ikke oprette mappen %1."
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "Kunne ikke hente konfiguration for %1"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "Kunne ikke starte DBus-kald."
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 kører ikke."
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx-konfiguration"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Fcitx afsluttet."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx er afsluttet helt."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx er startet."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "Frontend"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "Global konfiguration"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "Globale valgmuligheder"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "Fik fejl: %1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "Gruppenavn:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Gruppe:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "Importér Pinyin-ordbog fra Fcitx 4"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr "Importér tabeldata for installeret tabel fra Fcitx 4"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Inputmetode"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "Tastatur <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "Tastaturlayout-fremviser"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "Tastaturlayout <gruppe> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "Tastaturlayout <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "Tastaturlayout som skal bruges når der ikke er nogen aktiv inputmetode"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "Tastaturlayout-fremviser"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Sprog:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Layout:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "Indlæser"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "Overfør data fra Fcitx 4"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "Overfør Kkc-ordbog fra Fcitx 4"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
"Overfør Rime-ordbog fra Fcitx 4. Bemærk: det fjerner al eksisterende data."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "Overfør Skk-ordbog fra Fcitx 4"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "Overfør global tastvalgmulighed fra Fcitx 4"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "Overfør valgmulighed for Kkc-regel ..."
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "Overfører Pinyin-data ..."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "Overfør valgmulighed for Skk-regel ..."
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "Overfør tastvalgmulighed for global hottast ..."
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "Overførelsesværktøj"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "Modul"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Flersproget"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "Ny gruppe"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "Nej"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "En af opgaverne mislykkedes. Afslutter øverførelsen."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "&Vis kun nuværende sprog"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Andre"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "Pinyin"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "Pinyin-data er overført."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "Gendan &standarder"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "Rime"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Kør Fcitx 5"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Søg efter tilføjelser"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "Søg efter inputmetode"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "Vælg &alle"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Vælg &skrifttype ..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Vælg layout"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "Vælg standardlayout"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "Vælg overførelsesopgaver"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "Vælg systemets tastaturlayout"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "Tjenesten %1 findes ikke på DBus."
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "Tjenesten %1 findes stadigvæk på DBus."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "Vis &avancerede valgmuligheder"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "Skk"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "Tabel"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"Den første inputmetode vil være i inaktiv tilstand. Typisk skal der først "
|
||||
"stå <b>Tastatur</b> eller <b>Tastatur - <i>layoutnavn</i></b>."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
"Assistenten hjælper dig med at overføre eksisterende brugerdata fra Fcitx 4 "
|
||||
"til Fcitx 5"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "Prøv at overføre tabelfil: %1 ..."
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "Brugerflade"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Ukendt"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "Op"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variant:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "Vis tastaturlayout"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "WelcomePage"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Din nuværende konfigurerede inputmetode matcher ikke dit layout. Vil du "
|
||||
"skifte layoutindstillingen?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Din nuværende konfigurerede inputmetode matcher ikke dit layout. Vil du "
|
||||
"tilføje layoutets tilhørende inputmetode?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "gruppe"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "layout"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "variant"
|
|
@ -0,0 +1,776 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# mar well <m.wellendorf@gmx.de>, 2018
|
||||
# Ettore Atalan <atalanttore@googlemail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>, 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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 abgestürzt."
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "&Anwenden"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "&Abbrechen"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "&Löschen"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "&Schließen"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "&Weiter >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "&Zurücksetzen"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- %1 deaktivieren\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "Ein allgemeiner Betrachter für Tastaturlayouts"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Gruppe hinzufügen"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "Jede Sprache"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "Konfigurationsänderungen anwenden"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "Verfügbare Eingabemethoden"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBus kann sich nicht mit FCITX verbinden. Läuft FCITX?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "Eingabemethode wechseln, um mit der Layoutauswahl übereinzustimmen."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
"Systemlayout ändern, um mit der Eingabemethodenauswahl übereinzustimmen"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurieren"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "Konverter abgestürzt."
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "Datei %1 wird nach %2 kopiert"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "Aktive Eingabemethode:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "Gegenwärtige Gruppe geändert"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "Standard"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "Gruppe löschen"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "Verzeichnis %1 existiert nicht."
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "%1 deaktivieren"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "Herunter"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 Konfiguration"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Fcitx 5 Migrationsassistent"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 läuft nicht."
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx-Konfiguration"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx ist gestartet."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "Frontend"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "Globale Optionen"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "Fehler erhalten: %1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "Gruppenname:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Gruppe:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Eingabemethode"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "Tastatur <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "Ansicht Tastaturlayout"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "Tastaturlayout <group> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "Tastaturlayout <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "Verwendetes Tastaturlayout wenn keine Eingabemethode Aktiv ist"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "Tastaturlayout-Betrachter"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Sprache:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Layout:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "Starter"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "Daten aus Fcitx 4 migrieren"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "Migrationswerkzeug"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "Modul"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "Nach unten verschieben"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "Nach oben verschieben"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Mehrsprachig"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "Neue Gruppe"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "Nur &gegenwärtige Sprache anzeigen"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Andere"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "Neustart"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "&Standardeinstellungen wiederherstellen"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Fcitx 5 ausführen"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Addons suchen"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "Eingabemethoden filtern"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "&Alles auswählen"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Auswahl &Font"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "Standardlayout auswählen"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "Migrationsaufgaben auswählen"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "Systemtastatur auswählen"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "&Fortgeschrittene Optionen anzeigen"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "Tabelle"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"Die erste Eingabemethode wird die inaktive sein. Normalerweise sollte "
|
||||
"<b>Tastatur</b> oder <b>Tastatur - <i>Tastaturlayout</i></b> als Erstes "
|
||||
"stehen."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "Dieses Programm funktioniert nur unter X11."
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "Benutzeroberfläche"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Unbekannt"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "Hoch"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variante:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "Tastaturlayout ansehen"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "WillkommensSeite"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Ihre gegenwärtig ausgewählte Eingabemethode passt nicht zu Ihrem Layout, "
|
||||
"wollen sie die Layouteinstellungen ändern?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Ihre gegenwärtig ausgewählte Eingabemethode passt nicht zu Ihrem Layout, "
|
||||
"wollen sie passenden Layouteinstellungen hinzufügen?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "Gruppe"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "Layout"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "Variante"
|
|
@ -0,0 +1,762 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-08-16 20:24+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: LANG\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr ""
|
|
@ -0,0 +1,801 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# roxfr <roxfr@outlook.fr>, 2022
|
||||
# csslayer <wengxt@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-08-16 20:24+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 2022\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"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
|
||||
"1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 -%2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 a planté."
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1 n'a pas pu démarrer."
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1 :"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "&Appliquer"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "&Annuler"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "&Effacer"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "&Fermer"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "&Suivant >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "&Réinitialiser"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- Désactiver %1\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- Désactiver certaines fonctionnalités dans %1\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "Un visualiseur de disposition du clavier général"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Ajouter un groupe"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "Modules complémentaires"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "Toutes les tâches de migration sont terminées avec succès."
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "N'importe quelle langue"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "Appliquer les changements de configuration"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "Demande à Fcitx de quitter..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "Méthode de saisie disponible :"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
"Impossible de se connecter à Fcitx par DBus, Fcitx est-il en cours "
|
||||
"d'exécution ?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "Modifier la configuration de Fcitx 5"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr ""
|
||||
"Modifier la méthode d'entrée pour correspondre à la sélection de la "
|
||||
"disposition."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
"Modifier la disposition du système pour correspondre à la sélection de la "
|
||||
"méthode d'entrée."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "Vérifier si Fcitx est en cours d'exécution..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "Vérifier si Fcitx est toujours en cours d'exécution..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "Cliquer sur un élément pour plus de détails."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Configurer"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "Le convertisseur a planté."
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "Copie du fichier %1 vers %2"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "Méthode d'entrée actuelle :"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "Le groupe actuel a changé"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "Par défaut"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "Supprimer le groupe"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "Le répertoire %1 n'existe pas."
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "Désactiver %1"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"La désactivation de %1 permettra également :\n"
|
||||
"%2%3\n"
|
||||
"Êtes-vous sûr de vouloir le désactiver ?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
"Voulez-vous changer de groupe ? Les modifications apportées au groupe actuel "
|
||||
"seront perdues !"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr "Voulez-vous enregistrer les modifications ou les annuler ?"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "En bas"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "Échec de la copie du fichier %1 vers %2"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "Échec de création du répertoire %1."
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "Échec de récupération de la configuration pour %1"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "Échec du démarrage de l'appel DBus."
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Configuration Fcitx 5"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Assistant de migration Fcitx 5"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 n'est pas en cours d'exécution."
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Configuration Fcitx"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Fcitx a quitté."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx est complètement fermé."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx est démarré."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"Mises à jour trouvées pour l'installation de fcitx. Voulez-vous vérifier les "
|
||||
"méthodes de saisie et les modules complémentaires nouvellement installés ? "
|
||||
"Pour mettre à jour les modules complémentaires déjà chargés, fcitx doit être "
|
||||
"redémarré."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
"Mises à jour trouvées pour l'installation de fcitx. Voulez-vous redémarrer "
|
||||
"Fcitx ?"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "Frontal"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "Configuration globale"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "Options globales"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "Erreur : %1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "Nom du groupe :"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Groupe :"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "Importer le dictionnaire Pinyin depuis Fcitx 4"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
"Importer des données à partir d'une autre méthode d'entrée telle que Fcitx 4"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
"Importer les données de la table pour la table installée depuis Fcitx 4"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Méthode de saisie"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "Configuration de la méthode d'entrée"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "Clavier <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "Visionneuse de disposition de clavier"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "Disposition du clavier<group> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "Disposition du clavier <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr ""
|
||||
"Disposition du clavier à utiliser lorsqu'aucune méthode de saisie n'est "
|
||||
"active"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "Visionneuse de disposition de clavier"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Langue :"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "Disposition"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Disposition :"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "Chargeur"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "Migrer les données depuis Fcitx 4"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "Migrer le dictionnaire Kkc depuis Fcitx 4"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
"Migrer le dictionnaire Rime de Fcitx 4. Remarque : cela supprimera toutes "
|
||||
"les données existantes."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "Migrer le dictionnaire Skk depuis Fcitx 4"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "Option de migration de clé globale depuis Fcitx 4"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "Migration de l'option de règle Kkc..."
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "Migration des données Pinyin..."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "Migration de l'option de règle Skk..."
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "Migration de l'option de touche de raccourci globale..."
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "Outil de migration"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "Module"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "Déplacer vers le bas"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "Déplacer vers le haut"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Multilingue"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "Nouveau groupe"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "L'une des tâches a échoué. Arrêt de la migration."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "&Afficher uniquement la langue actuelle"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Autre"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "Pinyin"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "Les données Pinyin sont migrées."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "Redémarrer"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "Restaurer les &défauts"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "Rime"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Exécuter Fcitx 5"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Modules de recherche"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "Méthode d'entrée de recherche"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "Sélectionner &tout"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Sélectionner la &police..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Sélectionner la disposition"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "Sélectionner la disposition par défaut"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "Sélectionner les tâches de migration"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "Sélectionner la disposition du clavier système"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "Le service %1 n'est pas présent sur DBus."
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "Le service %1 est toujours présent sur DBus."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "Afficher les options &avancées"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "Skk"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "Tableau"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"La première méthode d'entrée sera l'état inactif. Habituellement, vous devez "
|
||||
"mettre<b> Clavier</b>ou <b>Clavier - <i>nom de la disposition</i></b> en "
|
||||
"premier lieu."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "Ce programme ne fonctionne que sur X11."
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
"Cet assistant vous aidera à migrer les données utilisateur existantes de "
|
||||
"Fcitx 4 vers Fcitx 5"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "Essayez de migrer le fichier de table : %1..."
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "Interface Utilisateur"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "Haut"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "Mettre à jour"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variante :"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "Afficher la disposition du clavier"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "Page d'accueil"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Votre méthode de saisie actuellement configurée ne correspond pas à votre "
|
||||
"disposition, voulez-vous modifier le paramètre de la disposition ?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Votre méthode de saisie actuellement configurée ne correspond pas à la "
|
||||
"disposition sélectionnée, voulez-vous ajouter la méthode de saisie "
|
||||
"correspondante pour la disposition ?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "groupe"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "disposition"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "variante"
|
|
@ -0,0 +1,767 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# Omer I.S. <omeritzicschwartz@gmail.com>, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: Omer I.S. <omeritzicschwartz@gmail.com>, 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=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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "הוספה"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "כל שפה"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "הגדרה"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "ברירת מחדל"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "ממשק גרפי"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "שם קבוצה:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "מציג פריסות מקלדת"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "שפה:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "פריסה:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "קבוצה חדשה"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "לא"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "שונות"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "פיניין"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "ממשק משתמש"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "כן"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr ""
|
|
@ -0,0 +1,787 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# ABE Tsunehiko, 2017
|
||||
# Takuro Onoue <kusanaginoturugi@gmail.com>, 2020
|
||||
# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 がクラッシュしました。"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1 を開始できませんでした。"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "適用(&A)"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "キャンセル(&C)"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "クリア(&C)"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "閉じる(&C)"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "次へ(&N) >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "リセット(&R)"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- %1 を無効にする\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- %1 の一部の機能を無効にする\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "一般的なキーボドレイアウトビューアー"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "追加"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "グループを追加"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "アドオン"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "すべての移行タスクが正常に完了しました。"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "すべての言語"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "設定の変更を適用する"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "Fcitxに終了を要求しています..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "有効な入力メソッド:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBusがFcitxと接続できませんでした。Fcitxは動いていますか?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 の設定を変更"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "レイアウトの選択に一致するように入力メソッドを変更します。"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr "入力メソッドの選択に一致するようにシステムレイアウトを変更します。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "Fcitxが実行中か確認しています..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "Fcitxがまだ実行中か確認しています..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "詳細についてはアイテムをクリックしてください。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "コンバーターがクラッシュしました。"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "ファイル %1 を %2 にコピーしています"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "現在の入力メソッド:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "現在のグループを変更しました"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "デフォルト"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "グループを削除"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "ディレクトリ %1 は存在しません。"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "%1 を無効にする"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"%1 を無効にすると次のようにもなります:\n"
|
||||
"%2 %3\n"
|
||||
"無効にしますか?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "グループを変更しますか?現在のグループへの変更は失われます!"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr "変更を保存しますか、それとも破棄しますか?"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "下へ"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "編集"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "ファイル %1 を %2 にコピーできませんでした"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "ディレクトリ %1 の作成に失敗しました。"
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "%1 の設定の取得に失敗しました"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "DBus Call の開始に失敗しました。"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 の設定"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Fcitx 5 移行ウィザード"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 が実行されていません。"
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx の設定"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Fcitx が終了しました。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx は完全に終了します。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx が開始されます。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"fcitx のアップデートが見つかりました。新しくインストールされる入力メソッドと"
|
||||
"アドオンを確認しますか?すでにロードされているアドオンを更新するには、fcitx "
|
||||
"を再起動する必要があります。"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
"Fcitx インストールのアップデートが見つかりました。Fcitx を再起動しますか?"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "フロントエンド"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "グローバル設定"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "グローバルオプション"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "エラーが発生しました: %1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "グループ名:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "グループ:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "Fcitx 4 からピンイン辞書をインポートする"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr "Fcitx 4 などの他の入力メソッドからデータをインポートする"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr "Fcitx 4 からインストール済みテーブルのデータをインポートする"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "入力メソッド"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "入力メソッドの設定"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "キーボード <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "キーボードレイアウトビューアー"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "キーボードレイアウト <group> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "キーボードレイアウト <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "どの入力メソッドが有効でない場合のキーボードレイアウト"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "キーボードレイアウトビューアー"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "言語:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "レイアウト"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "レイアウト:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "ローダー"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "Fcitx 4 からデータを移行する"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "Fcitx 4 から kkc 辞書を移行する"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
"Fcitx 4 から Rime 辞書を移行します。注意: これにより既存のデータがすべて削除"
|
||||
"されます。"
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "Fcitx 4 から SKK 辞書を移行する"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "Fcitx 4 からグローバルキーオプションを移行する"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "kkc ルールオプションを移行しています..."
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "ピンインデータを移行しています..."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "SKK ルールオプションを移行しています..."
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "グローバルホットキーオプションを移行しています..."
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "移行ツール"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "モジュール"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "下に移動"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "上に移動"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "多言語"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "新しいグループ"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "いいえ"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "タスクの1つが失敗しました。移行を終了します。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "現在の言語のみ表示(&S)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "その他"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "ピンイン"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "ピンインデータが移行されます。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "削除"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "再起動"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "デフォルトに戻す(&D)"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "Rime"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Fcitx 5 を実行する"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "アドオンの検索"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "入力メソッドの検索"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "すべて選択(&A)"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "フォントを選択(&F)..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "レイアウトを選択"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "デフォルトのレイアウトを選択"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "移行タスクを選択"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "システムキーボードのレイアウトを選択"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "サービス %1 は DBus に存在しません。"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "サービス %1 はまだ DBus に存在します。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "拡張オプションの表示(&A)"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "SKK"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "テーブル"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"第1入力メソッドは非アクティブ状態になります。通常は第1入力メソッドとして <b>"
|
||||
"キーボード</b> または <b>キーボード - <i>レイアウト名</i></b> を置く必要があ"
|
||||
"ります。"
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "このプログラムは X11 でのみ動作します。"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
"このウィザードは、既存のユーザーデータを Fcitx 4 から Fcitx 5 に移行するのに"
|
||||
"役立ちます"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "テーブルファイルの移行を試みています: %1 ..."
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "UI"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "不明"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "上へ"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "バリアント:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "キーボードレイアウトを見る"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "ウェルカムページ"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "はい"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"現在設定されている入力メソッドがレイアウトと一致しません。レイアウト設定を変"
|
||||
"更しますか?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"現在設定されている入力メソッドが選択したレイアウトと一致しません。対応する入"
|
||||
"力メソッドをレイアウトに追加しますか?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "グループ"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "レイアウト"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "バリアント"
|
|
@ -0,0 +1,782 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# Bon Keun Seo <scobyseo@gmail.com>, 2021
|
||||
# Junghee Lee <daemul72@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: Junghee Lee <daemul72@gmail.com>, 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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 충돌함."
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1을(를) 시작하지 못함."
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "적용(&A)"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "취소(&C)"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "지우기(&C)"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "닫기(&C)"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "다음(&N)>"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "확인(&O)"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "재설정(&R)"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- %1 비활성화\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- %1의 일부 기능 비활성화\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "일반 키보드 자판 보기도구"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "그룹 추가"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "애드온"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "모든 마이그레이션 작업이 성공적으로 완료되었습니다."
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "모든 언어"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "구성 변경사항 적용"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "Fcitx를 종료하도록 요청하는 중..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "사용가능한 입력기:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBus로 Fcitx에 연결할 수 없습니다. Fcitx가 실행되고 있습니까?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "Fcitx5 구성 변경"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "선택된 자판에 맞게 입력기 변경"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr "입력기 선택과 일치하도록 시스템 자판을 변경합니다."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "Fcitx가 실행 중인지 확인하는 중..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "Fcitx가 여전히 실행 중인지 확인하는 중..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "자세한 내용을 보려면 항목을 클릭합니다."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "구성하기"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "변환도구 충돌함."
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "파일 %1을 %2로 복사 중"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "현재 입력기:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "현재 그룹이 변경됨"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "기본값"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "그룹 삭제"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "%1 디렉토리가 없어요."
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "%1 비활성화"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"%1을 해제하면 %2%3도 함께 꺼집니다.\n"
|
||||
"정말로 해제하실 건가요?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "그룹을 변경하시겠습니까? 현재 그룹에 대한 변경 사항은 손실됩니다!"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr "변경 사항을 저장하시겠습니까 아니면 삭제하시겠습니까?"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "아래쪽"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "편집"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "오류"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "%1 파일을 %2로 복사하지 못했어요"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "%1디렉토리를 생성하지 못했어요"
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "%1의 구성을 가져오지 못했어요"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "DBus 호출을 시작하지 못했습니다."
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Fcitx5 구성"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Fcitx5 마이그레이션 마법사"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx5가 실행되고 있지 않습니다."
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx 구성"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Fcitx가 종료되었습니다."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx가 완전히 종료되었습니다."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx가 시작됩니다."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"Fcitx 설치에 대한 업데이트를 찾았습니다. 새로 설치된 입력기 및 추가 기능을 확"
|
||||
"인하시겠습니까? 이미 불러온 추가 기능을 업데이트하려면 Fcitx를 다시 시작해야 "
|
||||
"합니다."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "전처리기"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "전역 구성"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "전역 옵션"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "오류: %1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "그룹 이름:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "그룹:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "Fcitx 4에서 Pinyin 사전 가져오기"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr "Fcitx 4와 같은 다른 입력기에서 데이터 가져오기"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr "Fcitx 4에서 설치된 테이블의 테이블 데이터 가져오기"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "입력기"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "입력기 구성"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "키보드 <자판>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "키보드 자판 보기도구"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "키보드 자판 <그룹> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "키보드 자판 <변형>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "활성 입력기가 없을 때 사용할 키보드 자판"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "키보드 자판 보기도구"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "언어:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "자판"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "자판:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "불러오기 도구"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "Fcitx 4에서 데이터 마이그레이션"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "Fcitx 4에서 Kkc 사전 마이그레이션"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
"Fcitx 4에서 Rime 사전을 마이그레이션합니다. 참고: 기존 데이터가 모두 제거됩니"
|
||||
"다."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "Fcitx 4에서 Skk 사전 마이그레이션"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "Fcitx 4에서 전역 키 옵션 마이그레이션"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "Kkc 규칙 옵션을 마이그레이션하는 중..."
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "Pinyin 데이터를 마이그레이션하는 중..."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "Skk 규칙 옵션을 마이그레이션하는 중..."
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "전역 단축키 키 옵션을 마이그레이션하는 중..."
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "마이그레이션 도구"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "모듈"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "아래로 이동"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "위로 이동"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "다국어"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "새 그룹"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "아니오"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "작업 중 하나가 실패했습니다. 마이그레이션을 종료하고 있습니다."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "현재 언어만 표시(&S)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "기타"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "Pinyin"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "Pinyin 데이터가 마이그레이션됩니다."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "제거"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "재시작"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "기본값 복원(&D)"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "Rime"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Fcitx5 실행"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "애드온 검색"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "입력기 검색"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "모두 선택(&A)"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "글꼴 선택(&F)"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "자판 선택"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "기본 자판 선택"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "마이그레이션 작업 선택"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "시스템 키보드 자판 선택"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "%1 서비스가 DBus에 없습니다."
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "%1 서비스가 여전히 DBus에 있습니다."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "고급 옵션 표시(&A)"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "Skk"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "표"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"첫번째 입력기가 비활성화 상태입니다. 대체로 <b>키보드</b> 또는 <b>키보드 - "
|
||||
"<i> 자판명 </i> </b>을 첫 항목으로 하여야 합니다."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "이 프로그램은 X11에서만 작동합니다."
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
"이 마법사는 기존 사용자 데이터를 Fcitx 4에서 Fcitx5로 옮기는 것을 도와줄 거에"
|
||||
"요."
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "표 파일을 옮기려고 시도: %1 ..."
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "사용자 인터페이스"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "알 수 없음 "
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "위쪽"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "업데이트"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "변형:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "키보드 자판 보기"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "시작 페이지"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "예"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"현재 구성된 입력기가 자판과 맞지 않습니다. 자판 구성을 변경하시겠습니까?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"현재 구성된 입력기가 선택한 자판과 맞지 않습니다. 자판에 적합한 입력기를 추가"
|
||||
"하시겠습니까?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "그룹"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "자판"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "변형"
|
|
@ -0,0 +1,787 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# TotalCaesar659 <x24cm5b8c54q6szxw@yandex.ru>, 2017
|
||||
# Dmitry <dmitrydmitry761@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: Dmitry <dmitrydmitry761@gmail.com>, 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"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 повреждён."
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1 не удалось начать. "
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "&Применить"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "&Отмена"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "&Очистить"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "&Закрыть"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "&Следующее >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "&OK"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "&Перезагрузить"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- Отключить %1\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- Отключить некоторые функции в %1\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "Основной просмотрщик раскладки клавиатуры"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Добавить"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Добавить группу"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "Аддоны"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "Все задачи перемещения успешно завершены."
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "Любой язык"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "Применить изменения конфигурации"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "Прошу Fcitx выйти..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "Доступный метод ввода:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "Не удалось соединиться с Fcitx через DBus, запущен ли Fcitx?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "Изменить конфигурацию Fcitx 5"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "Измените Метод ввода, чтобы он соответствовал выбранной раскладке."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr "Измените раскладку системы в соответствии с выбором метода ввода."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "Проверяем, запущен ли Fcitx..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "Проверяем, работает ли Fcitx..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "Нажмите на элемент для получения более подробной информации."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Настроить"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "Сбой конвертера."
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "Копирование файла %1 в %2"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "Текущий метод ввода:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "Текущая группа изменена"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "По умолчанию"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "Удалить Группу"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "Каталог %1 не существует."
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "Отключить %1"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"Отключить %1 также:\n"
|
||||
"%2%3\n"
|
||||
"Вы уверены, что хотите отключить?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "Вы хотите сменить группу? Изменения в текущей группе будут потеряны!"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr "Вы хотите сохранить изменения или отказаться от них?"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "Вниз"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "Редактировать"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "Не удалось скопировать файл %1 в %2"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "Не удалось создать каталог %1."
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "Не удалось получить конфигурацию для %1"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "Не удалось запустить вызов DBus."
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Конфигурация Fcitx 5"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Мастер Перемещения Fcitx 5"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 не запущен."
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Настройка Fcitx"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Выход из Fcitx."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx полностью закрыт."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx запущен."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"Найдены обновления для установки fcitx. Вы хотите проверить наличие недавно "
|
||||
"установленных методов ввода и дополнений? Чтобы обновить уже загруженные "
|
||||
"дополнения, необходимо перезапустить fcitx."
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr "Найдены обновления для установки fcitx. Вы хотите перезапустить Fcitx?"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "Интерфейс"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "Общие настройки"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "Глобальные параметры"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "Получена ошибка: %1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "Название группы:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Группа:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "Импорт словаря Pinyin из Fcitx 4"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr "Импорт данных из другого метода ввода, такого как Fcitx 4"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr "Импорт данных таблицы для установленной таблицы из Fcitx 4"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Метод ввода"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "Настройка метода ввода"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "Клавиатура <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "Просмотрщик раскладки клавиатуры"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "Раскладка клавиатуры <group> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "Раскладка клавиатуры <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "Раскладка клавиатуры при неактивных методах ввода"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "Просмотрщик раскладки клавиатуры"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Язык:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "Раскладка"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Раскладка:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "Загрузчик"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "Перенос данных из Fcitx 4"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "Перенос словаря Kkc из Fcitx 4"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
"Перенесите словарь Rime из Fcitx 4. Обратите внимание: это удалит все "
|
||||
"существующие данные."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "Перенос словаря Skk из Fcitx 4"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "Перенести глобальные ключевые параметры из Fcitx 4"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "Опция переноса правила Kkc..."
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "Перенос данных Pinyin..."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "Опция переноса правила Skk..."
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "Перенос глобальных параметров горячей клавиши..."
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "Инструмент Перемещения"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "Модуль"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "Двигать Вниз"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "Двигать Вверх"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Многоязычный"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "Новая группа"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "Нет"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "Одно из заданий не выполнено. Прекращение перемещения."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "&Показывать только текущий язык"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Другое"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "Pinyin"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "Переносятся данные Pinyin."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "Перезапустить"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "Восстановить &Значения по умолчанию"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "Rime"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Запустить Fcitx 5"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Найти дополнения"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "Поиск метода ввода"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "Выбрать &Все"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Выбрать &шрифт..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Выбрать Раскладку"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "Выберите раскладку по умолчанию"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "Выберите задачи переноса"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "Выберите системную раскладку клавиатуры"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "Служба %1 не представлена на DBus."
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "Служба %1 все еще присутствует на DBus."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "Показать &дополнительные настройки"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "Skk"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "Таблица"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"Первый метод ввода будет неактивным. Обычно вам потребуется установить "
|
||||
"<b>Клавиатура</b> или <b>Клавиатура - <i>название раскладки</i></b> на "
|
||||
"первое место."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "Эта программа работает только на X11."
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
"Этот мастер поможет вам перенести существующие пользовательские данные с "
|
||||
"Fcitx 4 на Fcitx 5."
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "Попробуйте выполнить перенос файла таблицы: %1 ..."
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "Графический интерфейс"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестно"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "Вверх"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "Обновить"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Вариант:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "Просмотреть раскладку клавиатуры"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "Страница Приветствия"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Текущий настроенный метод ввода не соответствует раскладке. Хотите изменить "
|
||||
"настройку раскладки?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Ваш текущий метод ввода не соответствует выбранной раскладке. Вы хотите "
|
||||
"добавить соответствующий метод ввода для раскладки?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "group"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "layout"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "variant"
|
|
@ -0,0 +1,769 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# abc Def <hdogan1974@gmail.com>, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: abc Def <hdogan1974@gmail.com>, 2021\n"
|
||||
"Language-Team: Turkish (https://www.transifex.com/fcitx/teams/12005/tr/)\n"
|
||||
"Language: tr\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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "Genel bir klavye serilimi görüntüleyici"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Ekle"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Grup Ekle"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "Eklentiler"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "Tüm göç etme görevleri başarıyla tamamlandı."
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "Herhangi bir dil"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "Yapılandırma değişimlerini uygulayın"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "Kullanılabilir Giriş Yöntemi:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBus tarafından Fcitx'e bağlanılamıyor, Fcitx çalışıyor mu?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 Yapılandırmasını Değiştirin"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Yapılandır"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "Geçerli Giriş Yöntemi:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "Geçerli grup değişti"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "Varsayılan"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "Grubu Sil"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "Aşağı"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "Düzenle"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 Yapılandırması"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Fcitx 5 Göç Etme Sihirbazı"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx Yapılandırması"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx başlatıldı."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "Küresel Yapılandırma"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "Küresel Tercihler"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "Grup Adı:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Grup:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Girdi Yöntemi"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "Girdi Yöntemi Yapılandırması"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "Klavye"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "Klavye Serilimi görüntüleyici"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "Klavye düzen (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "Klavye Düzeni"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "Giriş yöntemi etkin değilken kullanılacak klavye düzeni"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "Klavye Düzeni görüntüleyici"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Dil:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "Serilim"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Serilim:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "Yükleyici"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "Göçme Aracı"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "Modül"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "Aşağı Taşı"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "Yukarı Taşı"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Çok dilli"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "Yeni Grup"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "Hayır"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "Göster :&Sadece Geçerli Dili"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Diğer"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "Pinyin"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Kaldır"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "Yeniden Başlat"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "Fcitx 5'i Çalıştır"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Eklentileri Ara"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "Giriş Yöntemi Ara"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Seç &Yazı tipi..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Serilimi Seçin"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "Varsayılan serilimi seçin"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "Göçme görevlerini seçin"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "Sistem klavye serilimini seçin"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"İlk giriş yöntemi aktif değildirr. Genellikle <b> Klavye </ b> veya <b> "
|
||||
"Klavye - <i> düzen adı </ i> </ b> koymanız gerekir."
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "UI"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Bilinmeyen"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "Yukarı"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "Güncelle"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "Klavye serilimini görüntüle"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "Hoşgeldin Sayfası"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "Evet"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "grup"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "düzeni"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "türü"
|
|
@ -0,0 +1,766 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 2017\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"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "Mặc định"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "Kiểu gõ"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "Đa ngôn ngữ"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "Khác"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "Tìm kiếm Addons"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "Chọn &Font..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr ""
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "Không rõ"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr ""
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr ""
|
|
@ -0,0 +1,776 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# wwj402 <wwj402@gmail.com>, 2021
|
||||
# csslayer <wengxt@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 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"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 已崩溃。"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1 启动失败。"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "应用(&A)"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "取消(&C)"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "清空(&C)"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "关闭(&C)"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "下一步(&N) >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "确定(&O)"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "重置(&R)"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ","
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- 禁用 %1\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- 禁用 %1 中的某些功能\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "通用键盘布局查看器"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "添加"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "添加分组"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "附加组件"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "所有迁移任务都已成功完成。"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "任意语言"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "应用配置更改"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "请求 Fcitx 退出..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "可用输入法:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "无法通过 DBus 连接到 Fcitx,Fcitx 是否正在运行?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "修改 Fcitx 5 配置"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "更改输入方式以匹配布局选择。"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr "更改系统布局以匹配输入方式选择。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "检查 Fcitx 是否正在运行..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "检查 Fcitx 是否仍在运行..."
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "点击项目查看更多细节。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "配置"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "转换器崩溃。"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "复制文件 %1 到 %2"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "当前输入法:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "当前分组已修改"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "默认"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "删除分组"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "目录 %1 不存在。"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "禁用 %1"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"禁用 %1 将同时:\n"
|
||||
"%2%3\n"
|
||||
"确认要禁用它吗?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "您想要更改分组吗?当前分组未保存的修改将会丢失!"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr "您想保存更改还是放弃更改?"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "向下"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "编辑"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "错误"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "从 %1 复制文件到 %2 失败"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "创建目录 %1 失败。"
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "获取 %1 的配置失败"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "执行 DBus 调用失败。"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 配置"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Fcitx 5 迁移向导"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 没有在运行。"
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx 配置"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Fcitx 已退出。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx 已经完全退出。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx 已启动。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"发现了 Fcitx 安装的更新。是否想要检查新安装的输入法和附加组件?如果需要更新已"
|
||||
"经加载的附加组件,Fcitx 需要重新启动。"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr "发现 Fcitx 已更新。是否要重新启动 Fcitx?"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "前端"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "全局配置"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "全局选项"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "发生错误:%1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "分组名称:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "分组:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "从 Fcitx 4 导入拼音词典"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr "从其他输入法导入数据例如 Fcitx 4"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr "从 Fcitx 4 导入码表数据到已安装的码表"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "输入法"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "输入法配置"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "键盘 <布局>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "键盘布局查看器"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "键盘布局<分组号> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "键盘布局<变体>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "无活动输入法时使用的键盘布局"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "键盘布局查看器"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "语言:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "布局"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "布局:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "启动器"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "从 Fcitx 4 迁移数据"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "从 Fcitx 4 迁移 Kkc 词典"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr "从 Fcitx 4 迁移 Rime 目录。注意:这将删除所有已有数据。"
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "从 Fcitx 4 迁移 Skk 词典"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "从 Fcitx 4 迁移全局按键选项"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "迁移 Kkc 规则选项..."
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "迁移拼音数据..."
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "迁移 Skk 规则选项..."
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "正在迁移全局快捷键选项..."
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "迁移工具"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "模块"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "下移"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "上移"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "多语言"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "新建分组"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "有一个任务失败了。终止迁移。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "仅显示当前语言(&S)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "其它"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "拼音"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "拼音数据已迁移。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "重启"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "恢复默认(&D)"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "中州韻"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "运行 Fcitx 5"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "搜索附加组件"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "搜索输入法"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "全选(&A)"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "选择字体(&F)..."
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "选择布局"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "选择默认布局"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "选择迁移任务"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "选择系统键盘布局"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "服务 %1 不在 DBus 上。"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "服务 %1 还在 DBus 上存在。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "显示高级选项(&A)"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "Skk"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "码表"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"第一个输入法将为非激活状态。通常您需要将<b>键盘</b>或<b>键盘 - <i>布局名称</"
|
||||
"i></b>放在第一位。"
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "这个程序仅能在 X11 下使用。"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr "这个向导将帮助你从 Fcitx 4 迁移已有的用户数据到 Fcitx 5。"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "尝试迁移码表文件:%1... "
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "界面"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "未知"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "向上"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "变体:"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "查看键盘布局"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "欢迎页"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr "您当前配置的输入方式与您的布局不匹配,是否要更改布局设置?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"您当前配置的输入方式与您所选的布局不匹配,是否要为布局添加相应的输入方式?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "分组"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "布局"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "变体"
|
|
@ -0,0 +1,779 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the fcitx5-configtool package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2017
|
||||
# 黃柏諺 <s8321414@gmail.com>, 2017
|
||||
# pan93412 <pan93412@gmail.com>, 2019
|
||||
# bruh, 2020
|
||||
# Weizhong Yang <zonble@gmail.com>, 2022
|
||||
# 菘菘 <rrt467778@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: fcitx5-configtool\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2017-11-23 04:55+0000\n"
|
||||
"Last-Translator: 菘菘 <rrt467778@gmail.com>, 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"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:74
|
||||
#, kde-format
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:135
|
||||
#, kde-format
|
||||
msgctxt "%1 is language name, %2 is country name"
|
||||
msgid "%1 (%2)"
|
||||
msgstr "%1 (%2)"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:153
|
||||
#, kde-format
|
||||
msgid "%1 - %2"
|
||||
msgstr "%1 - %2"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:69
|
||||
#, kde-format
|
||||
msgid "%1 crashed."
|
||||
msgstr "%1 當掉了。"
|
||||
|
||||
#: src/migrator/lib/processrunner.cpp:76
|
||||
#, kde-format
|
||||
msgid "%1 failed to start."
|
||||
msgstr "%1 啟動失敗。"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:539
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:550
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:556
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:559
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:562
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:565
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:568
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:571
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:56
|
||||
msgid "&Apply"
|
||||
msgstr "&套用"
|
||||
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:205
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:48
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:615
|
||||
msgid "&Cancel"
|
||||
msgstr "&取消"
|
||||
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:76
|
||||
msgid "&Clear"
|
||||
msgstr "&清除"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:58
|
||||
msgid "&Close"
|
||||
msgstr "&關閉"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:203
|
||||
msgid "&Next >"
|
||||
msgstr "&下一步 >"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:57
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:204
|
||||
#: src/lib/configwidgetslib/fontbutton.cpp:47
|
||||
#: src/lib/configwidgetslib/layoutselector.cpp:75
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:614
|
||||
msgid "&OK"
|
||||
msgstr "&確定"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:59
|
||||
msgid "&Reset"
|
||||
msgstr "&重置"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:384
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr "、"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:394
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- 停用 %1\n"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:405
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- 停用 %1 的部分功能\n"
|
||||
|
||||
#: layout/main.cpp:33
|
||||
msgid "A general keyboard layout viewer"
|
||||
msgstr "一般鍵盤佈局檢視器"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:31
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:69
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:139
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:142
|
||||
#. i18n: ectx: property (text), widget (QToolButton, addIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:31 rc.cpp:9 rc.cpp:42 rc.cpp:57
|
||||
#: rc.cpp:60
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "新增"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:66
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, addGroupButton)
|
||||
#: rc.cpp:39
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "新增群組"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:47
|
||||
msgid "Addons"
|
||||
msgstr "附加元件"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:44
|
||||
msgid "All migration tasks are completed successfully."
|
||||
msgstr "遷移任務已全部完成。"
|
||||
|
||||
#: src/lib/configlib/layoutprovider.cpp:66
|
||||
#: src/lib/configlib/layoutprovider.cpp:68
|
||||
msgid "Any language"
|
||||
msgstr "任何語言"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:120
|
||||
msgid "Apply configuration changes"
|
||||
msgstr "修改設定"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Asking Fcitx to exit..."
|
||||
msgstr "請求 Fcitx 退出……"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:285
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:93
|
||||
#, kde-format
|
||||
msgid "Available Input Method:"
|
||||
msgstr "可用輸入法:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:167
|
||||
#. i18n: ectx: property (text), widget (QLabel, textLabel)
|
||||
#: rc.cpp:24
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "無法通過 DBus 連接到 Fcitx,Fcitx 是否正在運行?"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:5
|
||||
msgid "Change Fcitx 5 Configuration"
|
||||
msgstr "變更 Fcitx 5 設定"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:281
|
||||
msgid "Change Input method to match layout selection."
|
||||
msgstr "變更輸入法以符合選擇的配置。"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:359
|
||||
msgid "Change System layout to match input method selection."
|
||||
msgstr "變更系統配置以符合選擇的輸入法。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:249
|
||||
msgid "Checking if Fcitx is running..."
|
||||
msgstr "檢查 Fcitx 是否正在執行……"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:237
|
||||
msgid "Checking if Fcitx is still running..."
|
||||
msgstr "檢查 Fcitx 是否仍在執行……"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:151 src/migrator/app/taskpage.cpp:159
|
||||
msgid "Click on an item for more details."
|
||||
msgstr "點選項目以檢視更多細節。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:236
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, configureButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:239
|
||||
#. i18n: ectx: property (text), widget (QToolButton, configureButton)
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:185
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:474 rc.cpp:81 rc.cpp:84
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/migrator/lib/renamefile.cpp:32
|
||||
msgid "Converter crashed."
|
||||
msgstr "轉換器當掉了。"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:114
|
||||
#, kde-format
|
||||
msgid "Copying file %1 to %2"
|
||||
msgstr "複製文件 %1 至 %2"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:33
|
||||
#, kde-format
|
||||
msgid "Current Input Method:"
|
||||
msgstr "目前輸入法:"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:193
|
||||
msgid "Current group changed"
|
||||
msgstr "目前的群組已變更"
|
||||
|
||||
#: src/lib/configlib/layoutmodel.cpp:123
|
||||
msgid "Default"
|
||||
msgstr "預設"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:82
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, deleteGroupButton)
|
||||
#: rc.cpp:45
|
||||
#, kde-format
|
||||
msgid "Delete Group"
|
||||
msgstr "刪除群組"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:86
|
||||
#, kde-format
|
||||
msgid "Directory %1 does not exist."
|
||||
msgstr "目錄 %1 不存在。"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:413
|
||||
#, kde-format
|
||||
msgid "Disable %1"
|
||||
msgstr "停用 %1"
|
||||
|
||||
#: src/lib/configwidgetslib/addonselector.cpp:408
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2%3\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"停用 %1 將同時:\n"
|
||||
"%2%3\n"
|
||||
"確認要停用它嗎?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:194
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "您想要變更群組嗎?對目前群組的變更將會遺失!"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:121
|
||||
msgid "Do you want to save the changes or discard them?"
|
||||
msgstr "您想要儲存還是要捨棄修改過的設定?"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:79
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:217
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:18 rc.cpp:78
|
||||
#, kde-format
|
||||
msgid "Down"
|
||||
msgstr "下"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:47
|
||||
#. i18n: ectx: property (text), widget (QToolButton, editButton)
|
||||
#: rc.cpp:12
|
||||
#, kde-format
|
||||
msgid "Edit"
|
||||
msgstr "編輯"
|
||||
|
||||
#: layout/main.cpp:26
|
||||
msgid "Error"
|
||||
msgstr "錯誤"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:120
|
||||
#, kde-format
|
||||
msgid "Failed to copy file %1 to %2"
|
||||
msgstr "複製文件 %1 至 %2 失敗"
|
||||
|
||||
#: src/migrator/lib/copydirectory.cpp:93
|
||||
#, kde-format
|
||||
msgid "Failed to create directory %1."
|
||||
msgstr "建立資料夾 %1 失敗。"
|
||||
|
||||
#: src/migrator/lib/configmigrator.cpp:89
|
||||
#, kde-format
|
||||
msgid "Failed to fetch config for %1"
|
||||
msgstr "獲取 %1 設定失敗"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:21
|
||||
msgid "Failed to start DBus Call."
|
||||
msgstr "執行 DBus 調用失敗。"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:3
|
||||
msgid "Fcitx 5 Configuration"
|
||||
msgstr "Fcitx 5 設定"
|
||||
|
||||
#: src/migrator/app/main.cpp:21
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:3
|
||||
msgid "Fcitx 5 Migration Wizard"
|
||||
msgstr "Fcitx 5 資料搬移精靈"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:23
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, fcitxNotRunningMessage)
|
||||
#: rc.cpp:126 rc.cpp:135
|
||||
#, kde-format
|
||||
msgid "Fcitx 5 is not running."
|
||||
msgstr "Fcitx 5 未執行。"
|
||||
|
||||
#. i18n: file: src/configtool/mainwindow.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QMainWindow, MainWindow)
|
||||
#: src/configtool/main.cpp:15 rc.cpp:3
|
||||
#, kde-format
|
||||
msgid "Fcitx Configuration"
|
||||
msgstr "Fcitx 設定"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:235
|
||||
msgid "Fcitx Exited."
|
||||
msgstr "Fcitx 已退出。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:238
|
||||
msgid "Fcitx is fully exited."
|
||||
msgstr "Fcitx 已完全退出。"
|
||||
|
||||
#: src/migrator/app/taskpage.cpp:250
|
||||
msgid "Fcitx is started."
|
||||
msgstr "Fcitx 已啟動。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:20
|
||||
#. i18n: ectx: property (text), widget (KMessageWidget, checkUpdateMessage)
|
||||
#: rc.cpp:30
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"有新的 Fcitx 安裝套件。您想要檢查是否有新的輸入法以及附加組件嗎?如果要更新已"
|
||||
"經安裝的附加組件,您需要重新啟動 Fcitx。"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:110
|
||||
msgid "Found updates to fcitx installation. Do you want to restart Fcitx?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Frontend"
|
||||
msgstr "前端"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:45
|
||||
msgid "Global Config"
|
||||
msgstr "全域設定"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:46
|
||||
msgid "Global Options"
|
||||
msgstr "全域選項"
|
||||
|
||||
#: src/migrator/lib/dbuscaller.cpp:29
|
||||
#, kde-format
|
||||
msgid "Got error: %1 %2"
|
||||
msgstr "發生錯誤:%1 %2"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "Group Name:"
|
||||
msgstr "群組名稱:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:43
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_5)
|
||||
#: rc.cpp:36
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "群組:"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:19
|
||||
msgid "Import Pinyin dictionary from Fcitx 4"
|
||||
msgstr "從 Fcitx 4 導入拼音詞典"
|
||||
|
||||
#: src/migrator/app/org.fcitx.fcitx5-migrator.desktop.in:4
|
||||
msgid "Import data from other input method such as Fcitx 4"
|
||||
msgstr "從其他輸入法(如 Fcitx 4)匯入資料"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:44
|
||||
msgid "Import table data for installed table from Fcitx 4"
|
||||
msgstr "從 Fcitx 4 導入已安裝碼表的碼表資料"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:45 src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Input Method"
|
||||
msgstr "輸入法"
|
||||
|
||||
#: src/configtool/org.fcitx.fcitx5-config-qt.desktop.in:4
|
||||
msgid "Input Method Configuration"
|
||||
msgstr "輸入法設定"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "Keyboard <layout>"
|
||||
msgstr "鍵盤 <layout>"
|
||||
|
||||
#: layout/main.cpp:58
|
||||
msgid "Keyboard Layout viewer"
|
||||
msgstr "鍵盤佈局檢視器"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "Keyboard layout <group> (0-3)"
|
||||
msgstr "鍵盤配置 <group> (0-3)"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "Keyboard layout <variant>"
|
||||
msgstr "鍵盤配置 <variant>"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:97
|
||||
#. i18n: ectx: property (toolTip), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:51
|
||||
#, kde-format
|
||||
msgid "Keyboard layout to use when no input method active"
|
||||
msgstr "無活動輸入法時使用的鍵盤佈局"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:7
|
||||
msgid "Keyboard layout viewer"
|
||||
msgstr "鍵盤佈局檢視器"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:37
|
||||
msgid "Kkc"
|
||||
msgstr "Kkc"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:22
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_3)
|
||||
#: rc.cpp:105
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "語言:"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:261
|
||||
#. i18n: ectx: property (text), widget (QToolButton, layoutButton)
|
||||
#: rc.cpp:90
|
||||
#, kde-format
|
||||
msgid "Layout"
|
||||
msgstr "佈局"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:39
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:108
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "佈局:"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:22
|
||||
msgid "Loader"
|
||||
msgstr "載入器"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:123
|
||||
#, kde-format
|
||||
msgid "Migrate Data from Fcitx 4"
|
||||
msgstr "從 Fcitx 4 遷移資料"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:40
|
||||
msgid "Migrate Kkc dictionary from Fcitx 4"
|
||||
msgstr "從 Fcitx 4 遷移 Kkc 詞典"
|
||||
|
||||
#: src/migrator/rime/rimemigrator.cpp:39
|
||||
msgid ""
|
||||
"Migrate Rime dictionary from Fcitx 4. Notice: this will remove all the "
|
||||
"existing data."
|
||||
msgstr "從 Fcitx 4 遷移 Rime 詞典。注意:這將會移除所有已有數據。"
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:40
|
||||
msgid "Migrate Skk dictionary from Fcitx 4"
|
||||
msgstr "從 Fcitx 4 遷移 Skk 詞典"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:48
|
||||
msgid "Migrate global key option from Fcitx 4"
|
||||
msgstr "從 Fcitx 4 遷移全局按鍵設定"
|
||||
|
||||
#: src/migrator/kkc/kkcmigrator.cpp:74
|
||||
msgid "Migrating Kkc rule option..."
|
||||
msgstr "遷移 Kkc 規則設定……"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:35
|
||||
msgid "Migrating Pinyin data..."
|
||||
msgstr "遷移拼音數據……"
|
||||
|
||||
#: src/migrator/skk/skkmigrator.cpp:74
|
||||
msgid "Migrating Skk rule option..."
|
||||
msgstr "遷移 Skk 規則設定……"
|
||||
|
||||
#: src/migrator/global/globalconfigmigrator.cpp:89
|
||||
msgid "Migrating global hotkey key option..."
|
||||
msgstr "遷移全局按鍵設定……"
|
||||
|
||||
#: src/migrator/app/mainwindow.cpp:23
|
||||
msgid "Migration Tool"
|
||||
msgstr "遷移工具"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "Module"
|
||||
msgstr "模組"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:214
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveDownButton)
|
||||
#: rc.cpp:75
|
||||
#, kde-format
|
||||
msgid "Move Down"
|
||||
msgstr "下移"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:189
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:69
|
||||
#, kde-format
|
||||
msgid "Move Up"
|
||||
msgstr "上移"
|
||||
|
||||
#: src/lib/configlib/model.cpp:97
|
||||
msgid "Multilingual"
|
||||
msgstr "多語言"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:417
|
||||
msgid "New Group"
|
||||
msgstr "新群組"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "No"
|
||||
msgstr "取消"
|
||||
|
||||
#: src/migrator/app/progresspage.cpp:49
|
||||
msgid "One of the task is failed. Terminating the migration."
|
||||
msgstr "有一個任務失敗了。終止遷移。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:324
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, onlyCurrentLanguageCheckBox)
|
||||
#: rc.cpp:99
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "只顯示目前語言(&S)"
|
||||
|
||||
#: src/lib/configlib/model.cpp:117
|
||||
msgid "Other"
|
||||
msgstr "其他"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:16
|
||||
msgid "Pinyin"
|
||||
msgstr "拼音"
|
||||
|
||||
#: src/migrator/pinyin/pinyinmigrator.cpp:36
|
||||
msgid "Pinyin data is migrated."
|
||||
msgstr "拼音數據已遷移。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:95
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:85
|
||||
#. i18n: ectx: property (text), widget (QToolButton, deleteGroupButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:164
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, removeIMButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:167
|
||||
#. i18n: ectx: property (text), widget (QToolButton, removeIMButton)
|
||||
#: src/lib/configwidgetslib/keylistwidget.cpp:63 rc.cpp:21 rc.cpp:48 rc.cpp:63
|
||||
#: rc.cpp:66
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:119
|
||||
msgid "Restart"
|
||||
msgstr "重新啟動"
|
||||
|
||||
#: src/configtool/mainwindow.cpp:61
|
||||
#: src/lib/configwidgetslib/configwidget.cpp:207
|
||||
msgid "Restore &Defaults"
|
||||
msgstr "還原成預設值"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/rime/rimemigrator.cpp:36
|
||||
msgid "Rime"
|
||||
msgstr "中州韻"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/erroroverlay.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, runFcitxButton)
|
||||
#: rc.cpp:27
|
||||
#, kde-format
|
||||
msgid "Run Fcitx 5"
|
||||
msgstr "執行 Fcitx 5"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:32
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, lineEdit)
|
||||
#: rc.cpp:114
|
||||
#, kde-format
|
||||
msgid "Search Addons"
|
||||
msgstr "搜尋附加元件"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:292
|
||||
#. i18n: ectx: property (placeholderText), widget (QLineEdit, filterTextEdit)
|
||||
#: rc.cpp:96
|
||||
#, kde-format
|
||||
msgid "Search Input Method"
|
||||
msgstr "搜尋輸入法"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:47
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, selectAllBox)
|
||||
#: rc.cpp:138
|
||||
#, kde-format
|
||||
msgid "Select &All"
|
||||
msgstr "選取全部"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/fontbutton.ui:60
|
||||
#. i18n: ectx: property (text), widget (QPushButton, fontSelectButton)
|
||||
#: rc.cpp:6
|
||||
#, kde-format
|
||||
msgid "Select &Font..."
|
||||
msgstr "選取字型"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:258
|
||||
#. i18n: ectx: property (toolTip), widget (QToolButton, layoutButton)
|
||||
#: src/lib/configwidgetslib/impage.cpp:326 rc.cpp:87
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "選取佈局"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:266
|
||||
msgid "Select default layout"
|
||||
msgstr "選取預設佈局"
|
||||
|
||||
#. i18n: file: src/migrator/app/taskpage.ui:17
|
||||
#. i18n: ectx: property (title), widget (QWizardPage, TaskPage)
|
||||
#: rc.cpp:132
|
||||
#, kde-format
|
||||
msgid "Select migration tasks"
|
||||
msgstr "選取遷移任務"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:100
|
||||
#. i18n: ectx: property (text), widget (QPushButton, defaultLayoutButton)
|
||||
#: rc.cpp:54
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout"
|
||||
msgstr "請選擇系統鍵盤配置"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:38
|
||||
#, kde-format
|
||||
msgid "Service %1 does not present on DBus."
|
||||
msgstr "服務 %1 不在 DBus 上。"
|
||||
|
||||
#: src/migrator/lib/dbuswatcher.cpp:34
|
||||
#, kde-format
|
||||
msgid "Service %1 still present on DBus."
|
||||
msgstr "服務 %1 仍在 DBus 上存在。"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/addonselector.ui:76
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, advancedCheckbox)
|
||||
#: rc.cpp:117
|
||||
#, kde-format
|
||||
msgid "Show &Advanced options"
|
||||
msgstr "顯示進階選項"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/skk/skkmigrator.cpp:37
|
||||
msgid "Skk"
|
||||
msgstr "Skk"
|
||||
|
||||
#. namespace
|
||||
#: src/migrator/table/tablemigrator.cpp:41
|
||||
msgid "Table"
|
||||
msgstr "碼表"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:381
|
||||
#. i18n: ectx: property (text), widget (QLabel, infoLabel)
|
||||
#: rc.cpp:102
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"The first input method will be inactive state. Usually you need to put "
|
||||
"<b>Keyboard</b> or <b>Keyboard - <i>layout name</i></b> in the first place."
|
||||
msgstr ""
|
||||
"第一個輸入法將作爲非激活狀態。通常您需要將<b>鍵盤<b>或者<b>鍵盤 - <i>佈局名稱"
|
||||
"</i></b>放到第一個。"
|
||||
|
||||
#: layout/main.cpp:27
|
||||
msgid "This program only works on X11."
|
||||
msgstr "本程式只能在 X11 下執行。"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:33
|
||||
#. i18n: ectx: property (text), widget (QLabel, label)
|
||||
#: rc.cpp:129
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"This wizard will help you to migrate existing user data from Fcitx 4 to "
|
||||
"Fcitx 5"
|
||||
msgstr "這個嚮導將幫助你從 Fcitx 4 遷移已有的使用者資料到 Fcitx 5。"
|
||||
|
||||
#: src/migrator/table/tablemigrator.cpp:68
|
||||
#, kde-format
|
||||
msgid "Try to Migrating table file: %1 ..."
|
||||
msgstr "嘗試遷移碼表文件:%1……"
|
||||
|
||||
#: src/lib/configlib/addonmodel.cpp:23
|
||||
msgid "UI"
|
||||
msgstr "使用者介面"
|
||||
|
||||
#: src/lib/configlib/model.cpp:95
|
||||
msgid "Unknown"
|
||||
msgstr "未知"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/listoptionwidget.ui:63
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#. i18n: file: src/lib/configwidgetslib/impage.ui:192
|
||||
#. i18n: ectx: property (text), widget (QToolButton, moveUpButton)
|
||||
#: rc.cpp:15 rc.cpp:72
|
||||
#, kde-format
|
||||
msgid "Up"
|
||||
msgstr "上"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:113
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#. i18n: file: src/lib/configwidgetslib/layoutselector.ui:56
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_2)
|
||||
#: rc.cpp:111
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "變體"
|
||||
|
||||
#: layout/kbd-layout-viewer5.desktop.in:8
|
||||
msgid "View keyboard layout"
|
||||
msgstr "檢視鍵盤佈局"
|
||||
|
||||
#. i18n: file: src/migrator/app/welcomepage.ui:14
|
||||
#. i18n: ectx: property (windowTitle), widget (QWizardPage, WelcomePage)
|
||||
#: rc.cpp:120
|
||||
#, kde-format
|
||||
msgid "WelcomePage"
|
||||
msgstr "歡迎頁"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:647
|
||||
msgid "Yes"
|
||||
msgstr "確定"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:360
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr "您目前設定的輸入法與配置不符,是否變更配置設定?"
|
||||
|
||||
#: src/lib/configwidgetslib/impage.cpp:282
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr "您目前設定的輸入法與選取配置不符,是否要對配置新增對應輸入法?"
|
||||
|
||||
#: src/lib/configwidgetslib/optionwidget.cpp:680
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: layout/main.cpp:36
|
||||
msgid "group"
|
||||
msgstr "群組"
|
||||
|
||||
#: layout/main.cpp:37
|
||||
msgid "layout"
|
||||
msgstr "配置"
|
||||
|
||||
#: layout/main.cpp:38
|
||||
msgid "variant"
|
||||
msgstr "變體"
|
|
@ -0,0 +1 @@
|
|||
fcitx5_install_translation(org.fcitx.fcitx5.kcm)
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
ca
|
||||
da
|
||||
de
|
||||
es
|
||||
fr
|
||||
he
|
||||
ja
|
||||
ko
|
||||
ru
|
||||
tr
|
||||
vi
|
||||
zh_CN
|
||||
zh_TW
|
|
@ -0,0 +1,386 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 2020\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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "Autor"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "No es pot connectar a fcitx amb DBus, està fcitx en execució?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Configura fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "Configura el mètode d'entrada"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Drets d'autor (c) 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Mètode d'entrada"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Llengua:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Disposició:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "Mo%stra sols la llengua actual"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variant:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,395 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
# scootergrisen, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: scootergrisen, 2020\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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- Deaktivér %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- Deaktivér nogle funktionaliteter i %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr " ..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Tilføj gruppe"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "Tilføj inputmetode"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "Tilføj inputmetode ..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "Tilføjelser"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "Forfatter"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "Kan ikke oprette forbindelse til Fcitx med DBus. Kører Fcitx?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "Ryd"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurer"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Konfigurer Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "Konfigurer inputmetode"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "Konfigurer tilføjelser ..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "Konfigurer globale valgmuligheder ..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Ophavsret 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "Nuværende gruppe ændret"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
"Den nuværende side er ikke gemt endnu. Gem venligst konfigurationen først."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"Deaktivering af %1 vil også:\n"
|
||||
"%2\n"
|
||||
"Er du sikker på, at du vil deaktivere den?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "Vil du ændre gruppe? Ændringerne til den nuværende gruppe vil gå tabt!"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "Tøm"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "Ret"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "Globale valgmuligheder"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "Gruppenavn"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Gruppe:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Inputmetode"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "Tastekode-tilstand"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Sprog:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Layout:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "Navn:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "Nej"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "&Vis kun nuværende sprog"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "Genaktivér"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Fjern"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Kør Fcitx"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "Søg ..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "Vælg farve"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "Vælg skrifttype"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Vælg layout"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "Vælg layout til %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "Vælg systemets tastaturlayout ..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "Vælg systemets layout til gruppen %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "Vælg systemets layout ..."
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "Noget af konfigurationen er ikke blevet gemt"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variant:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Din nuværende konfigurerede inputmetode matcher ikke dit layout. Vil du "
|
||||
"skifte layoutindstillingen?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Din nuværende konfigurerede inputmetode matcher ikke dit layout. Vil du "
|
||||
"tilføje layoutets tilhørende inputmetode?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "rediger"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,391 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
# Ettore Atalan <atalanttore@googlemail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: Ettore Atalan <atalanttore@googlemail.com>, 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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- %1 deaktivieren\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Gruppe hinzufügen"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "Eingabemethode hinzufügen"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "Eingabemethode hinzufügen..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "Autor"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBus kann sich nicht mit FCITX verbinden. Läuft FCITX?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurieren"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Fcitx 5 konfigurieren"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "Eingabemethode konfigurieren"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "Globale Optionen konfigurieren..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Copyright 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "Gegenwärtige Gruppe geändert"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "Leer"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "Globale Optionen"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "Gruppenname"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Gruppe:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Eingabemethode"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "Tastencode-Modus"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Sprache:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Layout:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "Name:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "Nein"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "Nur &gegenwärtige Sprache anzeigen"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "Reaktivieren"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Entfernen"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "Neustart"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Fcitx ausführen"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "Suche..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "Farbe auswählen"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "Schriftart auswählen"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variante:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Ihre gegenwärtig ausgewählte Eingabemethode passt nicht zu Ihrem Layout, "
|
||||
"wollen sie die Layouteinstellungen ändern?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Ihre gegenwärtig ausgewählte Eingabemethode passt nicht zu Ihrem Layout, "
|
||||
"wollen sie passenden Layouteinstellungen hinzufügen?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "bearbeiten"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,389 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# Adolfo Jayme-Barrientos, 2021
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: Adolfo Jayme-Barrientos, 2021\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/fcitx/teams/12005/es/)\n"
|
||||
"Language: es\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 ? 0 : n != 0 && n % 1000000 == 0 ? "
|
||||
"1 : 2;\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Añadir grupo"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "Añadir método de entrada"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "Añadir método de entrada…"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "Complementos"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "Autoría"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
"No se puede conectar con Fcitx por DBus. Cerciórese de que se esté "
|
||||
"ejecutando Fcitx."
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Configurar Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "Configurar método de entrada"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "Configurar complementos…"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "Configurar opciones globales…"
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "Vacío"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "Opciones globales"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Grupo:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Método de entrada"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Idioma:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Disposición:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "Nombre:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "Aceptar"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "Reactivar"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Quitar"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Ejecutar Fcitx"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "Buscar…"
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "Actualizar"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variante:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "editar"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,404 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# roxfr <roxfr@outlook.fr>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: roxfr <roxfr@outlook.fr>, 2022\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"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
|
||||
"1000000 == 0 ? 1 : 2;\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1 :"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- Désactiver %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- Désactiver certaines fonctionnalités dans %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Ajouter un groupe"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "Ajouter une méthode de saisie"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "Ajouter une méthode de saisie..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "Modules complémentaires"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "Auteur"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
"Impossible de se connecter à Fcitx par DBus, Fcitx est-il en cours "
|
||||
"d'exécution ?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "Effacer"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Configurer"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Configurer Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "Configurer la méthode d'entrée"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "Configurer les modules complémentaires..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "Configurer les options globales..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Copyright 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "Le groupe actuel a changé"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
"La page actuelle n'est pas encore enregistrée. Veuillez d'abord enregistrer "
|
||||
"la configuration."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"La désactivation de %1 entraînera également :\n"
|
||||
"%2\n"
|
||||
"Êtes-vous sûr de vouloir le désactiver ?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
"Voulez-vous changer de groupe ? Les modifications apportées au groupe actuel "
|
||||
"seront perdues !"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "Vide"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "Corriger"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"Mises à jour trouvées pour l'installation de fcitx. Voulez-vous vérifier les "
|
||||
"nouvelles \" \"Méthodes d'entrée et addons installés ? Pour mettre à jour "
|
||||
"les addons déjà chargés, fcitx \" \"devrait être redémarré."
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "Options globales"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "Nom du groupe"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Groupe :"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Méthode de saisie"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr "Méthode de saisie désactivée"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr "Méthode de saisie activée"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "Mode code clé"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Langue :"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "disposition :"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "Nom :"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "Non"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "Ok"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "&Afficher uniquement la langue actuelle"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "Réactiver"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "Redémarrer"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Exécuter Fcitx"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "Rechercher..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "Sélectionner la couleur"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "Sélectionner la police"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Sélectionner la disposition"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "Sélectionner la disposition pour %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "Sélectionner la disposition du clavier système..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "Sélectionner la disposition du système pour le groupe %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "Sélectionner la disposition du système..."
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "Certaines configurations ne sont pas enregistrées"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr "Tester l'entrée"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "Mettre à jour"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Variante :"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Votre méthode de saisie actuellement configurée ne correspond pas à votre "
|
||||
"disposition, n'est-ce pas, vous voulez changer le paramètre de disposition ?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Votre méthode de saisie actuellement configurée ne correspond pas à la "
|
||||
"disposition sélectionnée, voulez-vous ajouter la méthode de saisie "
|
||||
"correspondante pour la disposition ?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "modifier"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,387 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# Omer I.S. <omeritzicschwartz@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: Omer I.S. <omeritzicschwartz@gmail.com>, 2020\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=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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ","
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "הוספה"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "הוספת קבוצה"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "הוספת שיטת קלט"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "הוספת שיטת קלט..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "תוספים"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "ניקוי"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "הגדרה"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "הגדרת Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "הגדרת שיטת קלט"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "קבוצה:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "שיטת קלט"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "שפה:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "פריסה:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "שם:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "לא"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "אישור"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "הסרה"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "חיפוש..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "בחירת צבע"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "בחירת גופן"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "בחירת פריסה"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "כן"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,397 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
# UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 20:25+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: UTUMI Hirosi <utuhiro78@yahoo.co.jp>, 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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- %1 を無効にする\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- %1 の一部の機能を無効にする\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "追加"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "グループを追加"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "入力メソッドを追加"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "入力メソッドを追加..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "アドオン"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "作者"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBusがFcitxと接続できませんでした。Fcitxは動いていますか?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "クリア"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Fcitx 5 の設定"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "入力メソッドの設定"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "アドオンを設定..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "グローバルオプションを設定..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Copyright 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "現在のグループが変更されました"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr "現在のページはまだ保存されていません。最初に設定を保存してください。"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"%1 を無効にすると次のようにもなります:\n"
|
||||
"%2\n"
|
||||
"無効にしてもよろしいですか?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "グループを変更しますか?現在のグループへの変更は失われます!"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "空"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr "ファイル記述子 <fd>"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "修正"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"fcitx の更新が見つかりました。新しくインストールされる入力メソッドとアドオン"
|
||||
"を確認しますか?すでにロードされているアドオンを更新するには、fcitx を再起動"
|
||||
"する必要があります。"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr "Plasma テーマに基づいて Fcitx 5 クラシック UI テーマを生成する"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "グローバルオプション"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "グループ名"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "グループ:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "入力メソッド"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr "入力メソッドオフ"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr "入力メソッドオン"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "キーコードモード"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "言語:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "レイアウト:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "名前:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "いいえ"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "OK"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "現在の言語のみ表示 (&S)"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr "出力パス <output>"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr "Plasma テーマ名 <name>"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "再度有効にする"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "削除"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "再起動"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Fcitx を実行"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "検索"
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "色を選択"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "フォントを選択"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "レイアウトを選択"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "%1 のレイアウトを選択"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "システムキーボードのレイアウトを選択..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "グループ %1 のシステムレイアウトを選択"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "システムレイアウトを選択..."
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "一部の設定が保存されません"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr "テスト入力"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr "Plasma テーマから生成されたテーマ %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "バリアント:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "はい"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"現在設定されている入力メソッドがレイアウトと一致しません。レイアウト設定を変"
|
||||
"更しますか?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"現在設定されている入力メソッドが選択したレイアウトと一致しません。対応する入"
|
||||
"力メソッドをレイアウトに追加しますか?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "編集"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr "fd"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr "名前"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr "出力"
|
|
@ -0,0 +1,396 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
# Bon Keun Seo <scobyseo@gmail.com>, 2021
|
||||
# Junghee Lee <daemul72@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: Junghee Lee <daemul72@gmail.com>, 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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- %1 비활성화\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- %1의 일부 기능 비활성화\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "그룹 추가"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "입력기 추가"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "입력기 추가..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "애드온"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "작성자"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBus로 Fcitx에 연결할 수 없습니다. Fcitx가 실행되고 있습니까?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "지우기"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "구성하기"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Fcitx5 구성하기"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "입력기 구성하기"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "애드온 구성하기..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "전역 옵션 구성하기..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "저작권자 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "현재 그룹이 변경됨"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr "현재 페이지가 아직 저장되지 않았습니다. 먼저 구성을 저장합니다."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"%1을 해제하면 %2%3도 함께 꺼집니다.\n"
|
||||
"정말로 해제하실 건가요?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "그룹을 변경하시겠습니까? 현재 그룹에 대한 변경 사항은 손실됩니다!"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "비어있음"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "수정"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"Fcitx 설치에 대한 업데이트를 찾았습니다. 새로 설치된 입력기 및 추가 기능을 확"
|
||||
"인하시겠습니까? 이미 불러온 추가 기능을 업데이트하려면 Fcitx를 다시 시작해야 "
|
||||
"합니다."
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "전역 옵션"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "그룹 이름"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "그룹:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "입력기"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr "입력기 끔"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr "입력기 켬"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "키 코드 모드"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "언어:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "자판:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "이름:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "아니오"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "확인"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "현재 언어만 표시(&S)"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "재 활성화"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "제거"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "재시작"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Fcitx 실행"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "검색..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "색상 선택"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "글꼴 선택"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "자판 선택"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "%1용 자판 선택"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "시스템 키보드 자판 선택..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "%1 그룹용 시스템자판 선택"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "시스템 자판 선택..."
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "일부 구성이 저장되지 않음"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr "테스트 입력"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "업데이트"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "변형:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "예"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"현재 구성된 입력기가 자판과 맞지 않습니다. 자판 구성을 변경하시겠습니까?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"현재 구성된 입력기가 선택한 자판과 맞지 않습니다. 자판에 적합한 입력기를 추가"
|
||||
"하시겠습니까?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "편집"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,382 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-08-16 20:24+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: LANG\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,401 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
# Dmitry <dmitrydmitry761@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-25 20:25+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: Dmitry <dmitrydmitry761@gmail.com>, 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"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- Отключить %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- Отключить некоторые функции в %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "Добавить"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "Добавить группу"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "Добавить метод ввода"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "Добавить метод ввода..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "Дополнения"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "Автор"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "Не удалось соединиться с Fcitx через DBus, запущен ли Fcitx?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "Чисто"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Настроить"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "Настроить Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "Настроить метод ввода"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "Настроить дополнения..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "Настроить глобальные параметры..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Copyright 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "Текущая группа изменена"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr "Текущая страница еще не сохранена. Сначала сохраните конфигурацию."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"Отключение %1 также:\n"
|
||||
"%2\n"
|
||||
"Вы уверены, что хотите отключить его?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "Вы хотите сменить группу? Изменения в текущей группе будут потеряны!"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "Пусто"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr "Файловый дескриптор <fd>"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "Исправить"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"Найдены обновления для установки fcitx. Вы хотите проверить наличие недавно "
|
||||
"установленных методов ввода и дополнений? Чтобы обновить уже загруженные "
|
||||
"дополнения, необходимо перезапустить fcitx."
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
"Создать классическую тему пользовательского интерфейса Fcitx5 на основе "
|
||||
"Plasma theme"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "Глобальные параметры"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "Наименование группы"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "Группа"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Метод ввода"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr "Метод ввода Выключен"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr "Метод ввода Включен"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "Режим кода ключа"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "Язык:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "Раскладка:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "Имя"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "Нет"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "Хорошо"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "&Показывать только текущий язык"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr "Путь вывода <output>"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr "Наименование Plasma theme <name>"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "Повторное включение"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "Перезапуск"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "Запустить Fcitx"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "Поиск..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "Выбрать цвет"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "Выбрать шрифт"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "Выберите макет"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "Выберите макет для %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "Выбор системной раскладки клавиатуры..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "Выберите раскладку системы для группы %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "Выберите раскладку системы..."
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "Некоторые конфиги не сохраняются"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr "Тестовый ввод"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr "Тема сгенерирована из Plasma Theme %1"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "Обновить"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "Вариант:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
"Текущий настроенный метод ввода не соответствует раскладке. Хотите изменить "
|
||||
"настройку раскладки?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"Ваш текущий метод ввода не соответствует выбранной раскладке. Вы хотите "
|
||||
"добавить соответствующий метод ввода для раскладки?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "редактировать"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr "fd"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr "имя"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr "выход"
|
|
@ -0,0 +1,386 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 2020\n"
|
||||
"Language-Team: Turkish (https://www.transifex.com/fcitx/teams/12005/tr/)\n"
|
||||
"Language: tr\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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "DBus tarafından Fcitx'e bağlanılamıyor, Fcitx çalışıyor mu?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Giriş Yöntemi"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "Göster :&Sadece Geçerli Dili"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,386 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 2020\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"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "Kiểu gõ"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,394 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# rocka, 2022
|
||||
# csslayer <wengxt@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:16+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: csslayer <wengxt@gmail.com>, 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"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr ","
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- 禁用 %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- 禁用 %1 中的某些功能\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "添加"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "添加分组"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "添加输入法"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "添加输入法..."
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "附加组件"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "作者"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "无法通过 DBus 连接到 Fcitx,Fcitx 是否正在运行?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "清空"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "配置"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "配置 Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "配置输入法"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "配置附加组件..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "配置全局选项..."
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Copyright 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "当前分组已修改"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr "当前页未保存。请先保存配置。"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"禁用 %1 将同时:\n"
|
||||
"%2\n"
|
||||
"确认要禁用它吗?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "您想要更改分组吗?当前分组未保存的修改将会丢失!"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "空"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr "文件描述符<fd>"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "修复"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"发现了 Fcitx 安装的更新。是否想要检查新安装的输入法和附加组件?如果需要更新已"
|
||||
"经加载的附加组件,Fcitx 需要重新启动。"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr "根据 Plasma 主题生成 Fcitx 5 经典用户界面主题"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "全局选项"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "分组名称"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "分组:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "输入法"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr "输入法关闭"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr "输入法开启"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "扫描码模式"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "语言:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "布局:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "名称:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "确定"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "仅显示当前语言(&S)"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr "输出路径"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr "Plasma 主题名称"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "重新启用"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "重启"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "运行 Fcitx"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "搜索..."
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "选择颜色"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "选择字体"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "选择布局"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "选择 %1 的布局"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "选择系统键盘布局..."
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "选择分组 %1 的系统布局"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "选择系统布局..."
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "一些配置未保存"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr "测试输入"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr "从 Plasma 主题 %1 生成的主题"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "变体:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "翁学天"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr "您当前配置的输入方式与您的布局不匹配,是否要更改布局设置?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr ""
|
||||
"您当前配置的输入方式与您所选的布局不匹配,是否要为布局添加相应的输入方式?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "编辑"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr "fd"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr "名称"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr "输出"
|
|
@ -0,0 +1,395 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the org.fcitx.fcitx5.kcm package.
|
||||
#
|
||||
# Translators:
|
||||
# csslayer <wengxt@gmail.com>, 2020
|
||||
# 黃柏諺 <s8321414@gmail.com>, 2020
|
||||
# bruh, 2020
|
||||
# 菘菘 <rrt467778@gmail.com>, 2022
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: org.fcitx.fcitx5.kcm\n"
|
||||
"Report-Msgid-Bugs-To: fcitx-dev@googlegroups.com\n"
|
||||
"POT-Creation-Date: 2022-07-24 15:09+0000\n"
|
||||
"PO-Revision-Date: 2020-08-01 05:15+0000\n"
|
||||
"Last-Translator: 菘菘 <rrt467778@gmail.com>, 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"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/ConfigGroup.qml:67
|
||||
#, kde-format
|
||||
msgid "%1:"
|
||||
msgstr "%1:"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:98
|
||||
#, kde-format
|
||||
msgctxt "Separator of a comma list"
|
||||
msgid ", "
|
||||
msgstr "、"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:108
|
||||
#, kde-format
|
||||
msgid "- Disable %1\n"
|
||||
msgstr "- 停用 %1\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:118
|
||||
#, kde-format
|
||||
msgid "- Disable some features in %1\n"
|
||||
msgstr "- 停用 %1 的部分功能\n"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:49
|
||||
#, kde-format
|
||||
msgid "..."
|
||||
msgstr "……"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:179
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:41
|
||||
#, kde-format
|
||||
msgid "Add"
|
||||
msgstr "新增"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:112
|
||||
#, kde-format
|
||||
msgid "Add Group"
|
||||
msgstr "新增群組"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:14
|
||||
#, kde-format
|
||||
msgid "Add Input Method"
|
||||
msgstr "新增輸入法"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:216
|
||||
#, kde-format
|
||||
msgid "Add Input Method..."
|
||||
msgstr "新增輸入法……"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:18
|
||||
#, kde-format
|
||||
msgid "Addons"
|
||||
msgstr "附加元件"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Author"
|
||||
msgstr "作者"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:226
|
||||
#, kde-format
|
||||
msgid "Cannot connect to Fcitx by DBus, is Fcitx running?"
|
||||
msgstr "無法透過 DBus 連線至 Fcitx,Fcitx 有在執行嗎?"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:73
|
||||
#, kde-format
|
||||
msgid "Clear"
|
||||
msgstr "清除"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:58
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/kcm/main.cpp:47
|
||||
#, kde-format
|
||||
msgid "Configure Fcitx 5"
|
||||
msgstr "設定 Fcitx 5"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:13
|
||||
msgid "Configure Input Method"
|
||||
msgstr "設定輸入法"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:207
|
||||
#, kde-format
|
||||
msgid "Configure addons..."
|
||||
msgstr "設定附加元件……"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:201
|
||||
#, kde-format
|
||||
msgid "Configure global options..."
|
||||
msgstr "設定全域選項……"
|
||||
|
||||
#: src/kcm/main.cpp:48
|
||||
#, kde-format
|
||||
msgid "Copyright 2017 Xuetian Weng"
|
||||
msgstr "Copyright 2017 Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:147
|
||||
#, kde-format
|
||||
msgid "Current group changed"
|
||||
msgstr "目前的群組已變更"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:21
|
||||
#, kde-format
|
||||
msgid "Current page is not yet saved. Please save the config first."
|
||||
msgstr "目前的頁面尚未儲存。請先儲存設定。"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:120
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Disabling %1 will also:\n"
|
||||
"%2\n"
|
||||
"Are you sure you want to disable it?"
|
||||
msgstr ""
|
||||
"停用 %1 將同時:\n"
|
||||
"%2\n"
|
||||
"確認要停用它嗎?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:165
|
||||
#, kde-format
|
||||
msgid "Do you want to change group? Changes to current group will be lost!"
|
||||
msgstr "您想要變更群組嗎?對目前群組的變更將會遺失!"
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:51
|
||||
#, kde-format
|
||||
msgid "Empty"
|
||||
msgstr "空"
|
||||
|
||||
#: src/kcm/main.cpp:46
|
||||
#, kde-format
|
||||
msgid "Fcitx 5"
|
||||
msgstr "Fcitx 5"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:79
|
||||
#, kde-format
|
||||
msgid "File descriptor <fd> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:281
|
||||
#: src/kcm/package/contents/ui/main.qml:300
|
||||
#, kde-format
|
||||
msgid "Fix"
|
||||
msgstr "修復"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:246
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Found updates to fcitx installation. Do you want to check for newly "
|
||||
"installed input methods and addons? To update already loaded addons, fcitx "
|
||||
"would need to be restarted."
|
||||
msgstr ""
|
||||
"有新的 Fcitx 安裝套件。您想要檢查是否有新的輸入法以及附加組件嗎?如果要更新已"
|
||||
"經安裝的附加組件,您需要重新啟動 Fcitx。"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:74
|
||||
#, kde-format
|
||||
msgid "Generate Fcitx 5 Classic UI Theme based on Plasma theme"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:203
|
||||
#, kde-format
|
||||
msgid "Global Options"
|
||||
msgstr "全域選項"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:92
|
||||
#, kde-format
|
||||
msgid "Group Name"
|
||||
msgstr "群組名稱"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:312
|
||||
#, kde-format
|
||||
msgid "Group:"
|
||||
msgstr "群組:"
|
||||
|
||||
#: src/kcm/kcm_fcitx5.desktop.in:12
|
||||
msgid "Input Method"
|
||||
msgstr "輸入法"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method Off"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:355
|
||||
#, kde-format
|
||||
msgid "Input Method On"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/KeyOption.qml:141
|
||||
#, kde-format
|
||||
msgid "Key code mode"
|
||||
msgstr "關鍵代碼模式"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:32
|
||||
#, kde-format
|
||||
msgid "Language:"
|
||||
msgstr "語言:"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:46
|
||||
#, kde-format
|
||||
msgid "Layout:"
|
||||
msgstr "佈局:"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:91
|
||||
#, kde-format
|
||||
msgid "Name:"
|
||||
msgstr "名稱:"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "No"
|
||||
msgstr "否"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:101
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:82
|
||||
#, kde-format
|
||||
msgid "Ok"
|
||||
msgstr "是"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:29
|
||||
#, kde-format
|
||||
msgid "Only &Show Current Language"
|
||||
msgstr "只顯示目前語言(&S)"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "Output path <output> "
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "Plasma theme name <name> "
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:54
|
||||
#, kde-format
|
||||
msgid "Re-Enable"
|
||||
msgstr "重新啟用"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:145
|
||||
#: src/kcm/package/contents/ui/main.qml:72
|
||||
#, kde-format
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:263
|
||||
#, kde-format
|
||||
msgid "Restart"
|
||||
msgstr "重啟"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:234
|
||||
#, kde-format
|
||||
msgid "Run Fcitx"
|
||||
msgstr "執行 Fcitx"
|
||||
|
||||
#: src/kcm/package/contents/ui/AddonPage.qml:67
|
||||
#: src/kcm/package/contents/ui/AddIMPage.qml:59
|
||||
#, kde-format
|
||||
msgid "Search..."
|
||||
msgstr "搜尋……"
|
||||
|
||||
#: src/kcm/package/contents/ui/ColorOption.qml:41
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Color"
|
||||
msgstr "選取顏色"
|
||||
|
||||
#: src/kcm/package/contents/ui/FontOption.qml:35
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Select Font"
|
||||
msgstr "選取字型"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:65
|
||||
#, kde-format
|
||||
msgid "Select Layout"
|
||||
msgstr "選取佈局"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:68
|
||||
#, kde-format
|
||||
msgid "Select layout for %1"
|
||||
msgstr "選取 %1 的佈局"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:184
|
||||
#, kde-format
|
||||
msgid "Select system keyboard layout..."
|
||||
msgstr "選取系統鍵盤佈局……"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:180
|
||||
#, kde-format
|
||||
msgid "Select system layout for group %1"
|
||||
msgstr "選取群組 %1 的系統佈局"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:177
|
||||
#, kde-format
|
||||
msgid "Select system layout..."
|
||||
msgstr "選取系統佈局……"
|
||||
|
||||
#: src/kcm/package/contents/ui/SaveWarningDialog.qml:16
|
||||
#, kde-format
|
||||
msgid "Some config is not saved"
|
||||
msgstr "某些設定尚未儲存"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:193
|
||||
#, kde-format
|
||||
msgid "Test Input"
|
||||
msgstr "測試輸入"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:152
|
||||
#, kde-format
|
||||
msgid "Theme generated from Plasma Theme %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:254
|
||||
#, kde-format
|
||||
msgid "Update"
|
||||
msgstr "更新"
|
||||
|
||||
#: src/kcm/package/contents/ui/SelectLayoutSheet.qml:61
|
||||
#, kde-format
|
||||
msgid "Variant:"
|
||||
msgstr "變體:"
|
||||
|
||||
#: src/kcm/main.cpp:51
|
||||
#, kde-format
|
||||
msgid "Xuetian Weng"
|
||||
msgstr "Xuetian Weng"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:53
|
||||
#, kde-format
|
||||
msgid "Yes"
|
||||
msgstr "確定"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:275
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your layout, do you "
|
||||
"want to change the layout setting?"
|
||||
msgstr "您目前設定的輸入法與佈局不符,是否變更佈局設定?"
|
||||
|
||||
#: src/kcm/package/contents/ui/main.qml:294
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your currently configured input method does not match your selected layout, "
|
||||
"do you want to add the corresponding input method for the layout?"
|
||||
msgstr "您目前設定的輸入法與選取佈局不符,是否要對佈局新增對應輸入法?"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:84
|
||||
#, kde-format
|
||||
msgid "[%1]"
|
||||
msgstr "[%1]"
|
||||
|
||||
#: src/kcm/package/contents/ui/ListOption.qml:137
|
||||
#, kde-format
|
||||
msgid "edit"
|
||||
msgstr "編輯"
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:80
|
||||
#, kde-format
|
||||
msgid "fd"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:77
|
||||
#, kde-format
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
|
||||
#: src/plasmathemegenerator/main.cpp:78
|
||||
#, kde-format
|
||||
msgid "output"
|
||||
msgstr ""
|
|
@ -0,0 +1,14 @@
|
|||
if (ENABLE_KCM)
|
||||
add_subdirectory(kcm)
|
||||
endif()
|
||||
add_subdirectory(lib)
|
||||
|
||||
if (ENABLE_CONFIG_QT)
|
||||
add_subdirectory(configtool)
|
||||
endif()
|
||||
|
||||
add_subdirectory(migrator)
|
||||
|
||||
if (ENABLE_KCM)
|
||||
add_subdirectory(plasmathemegenerator)
|
||||
endif()
|
|
@ -0,0 +1,20 @@
|
|||
set(configtool_SRCS
|
||||
main.cpp
|
||||
mainwindow.cpp
|
||||
)
|
||||
|
||||
add_executable(fcitx5-config-qt ${configtool_SRCS})
|
||||
set_target_properties(fcitx5-config-qt
|
||||
PROPERTIES
|
||||
AUTOMOC TRUE
|
||||
AUTOUIC TRUE
|
||||
AUTOUIC_OPTIONS "-tr=fcitx::tr2fcitx;--include=fcitxqti18nhelper.h")
|
||||
|
||||
target_link_libraries(fcitx5-config-qt
|
||||
Qt5::Widgets configwidgetslib
|
||||
)
|
||||
|
||||
install(TARGETS fcitx5-config-qt DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
fcitx5_translate_desktop_file(org.fcitx.fcitx5-config-qt.desktop.in
|
||||
org.fcitx.fcitx5-config-qt.desktop PO_DIRECTORY ${PROJECT_SOURCE_DIR}/po/fcitx5-configtool)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.fcitx.fcitx5-config-qt.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "config.h"
|
||||
#include "mainwindow.h"
|
||||
#include <QApplication>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
QApplication app(argc, argv);
|
||||
app.setApplicationName("fcitx5-config-qt");
|
||||
app.setApplicationVersion(PROJECT_VERSION);
|
||||
app.setApplicationDisplayName(_("Fcitx Configuration"));
|
||||
app.setOrganizationDomain("fcitx.org");
|
||||
fcitx::registerFcitxQtDBusTypes();
|
||||
|
||||
fcitx::kcm::MainWindow mainWindow;
|
||||
mainWindow.show();
|
||||
|
||||
return app.exec();
|
||||
}
|
|
@ -0,0 +1,138 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "mainwindow.h"
|
||||
#include "logging.h"
|
||||
#include "verticalscrollarea.h"
|
||||
#include <QKeyEvent>
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
#include <QSessionManager>
|
||||
#include <fcitx-utils/i18n.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent), dbus_(new DBusProvider(this)),
|
||||
errorOverlay_(new ErrorOverlay(dbus_, this)),
|
||||
impage_(new IMPage(dbus_, this)),
|
||||
addonPage_(new AddonSelector(this, dbus_)),
|
||||
configPage_(new ConfigWidget("fcitx://config/global", dbus_, this)) {
|
||||
QGuiApplication::setFallbackSessionManagementEnabled(false);
|
||||
connect(qApp, &QGuiApplication::commitDataRequest, this,
|
||||
&MainWindow::commitData);
|
||||
connect(qApp, &QGuiApplication::saveStateRequest, this,
|
||||
[](QSessionManager &manager) {
|
||||
manager.setRestartHint(QSessionManager::RestartNever);
|
||||
});
|
||||
|
||||
setupUi(this);
|
||||
|
||||
connect(impage_, &IMPage::changed, this, [this]() {
|
||||
qCDebug(KCM_FCITX5) << "IMPage changed";
|
||||
Q_EMIT changed(true);
|
||||
});
|
||||
connect(addonPage_, &AddonSelector::changed, this, [this]() {
|
||||
qCDebug(KCM_FCITX5) << "AddonSelector changed";
|
||||
Q_EMIT changed(true);
|
||||
});
|
||||
auto configPageWrapper = new VerticalScrollArea;
|
||||
configPageWrapper->setWidget(configPage_);
|
||||
pageWidget->addTab(impage_, _("Input Method"));
|
||||
pageWidget->addTab(configPageWrapper, _("Global Options"));
|
||||
pageWidget->addTab(addonPage_, _("Addons"));
|
||||
connect(configPage_, &ConfigWidget::changed, this,
|
||||
[this]() { Q_EMIT changed(true); });
|
||||
|
||||
connect(this, &MainWindow::changed, this, &MainWindow::handleChanged);
|
||||
|
||||
connect(buttonBox, &QDialogButtonBox::clicked, this, &MainWindow::clicked);
|
||||
load();
|
||||
|
||||
buttonBox->button(QDialogButtonBox::Apply)->setText(_("&Apply"));
|
||||
buttonBox->button(QDialogButtonBox::Ok)->setText(_("&OK"));
|
||||
buttonBox->button(QDialogButtonBox::Close)->setText(_("&Close"));
|
||||
buttonBox->button(QDialogButtonBox::Reset)->setText(_("&Reset"));
|
||||
buttonBox->button(QDialogButtonBox::RestoreDefaults)
|
||||
->setText(_("Restore &Defaults"));
|
||||
}
|
||||
|
||||
void MainWindow::handleChanged(bool changed) {
|
||||
changed_ = changed;
|
||||
buttonBox->button(QDialogButtonBox::Ok)->setEnabled(changed);
|
||||
buttonBox->button(QDialogButtonBox::Apply)->setEnabled(changed);
|
||||
buttonBox->button(QDialogButtonBox::Reset)->setEnabled(changed);
|
||||
}
|
||||
|
||||
void MainWindow::load() {
|
||||
impage_->load();
|
||||
addonPage_->load();
|
||||
configPage_->load();
|
||||
Q_EMIT changed(false);
|
||||
}
|
||||
|
||||
void MainWindow::save() {
|
||||
impage_->save();
|
||||
addonPage_->save();
|
||||
configPage_->save();
|
||||
Q_EMIT changed(false);
|
||||
}
|
||||
|
||||
void MainWindow::defaults() {
|
||||
configPage_->buttonClicked(QDialogButtonBox::RestoreDefaults);
|
||||
Q_EMIT changed(true);
|
||||
}
|
||||
|
||||
void MainWindow::keyPressEvent(QKeyEvent *event) {
|
||||
QMainWindow::keyPressEvent(event);
|
||||
if (!event->isAccepted() && event->matches(QKeySequence::Cancel)) {
|
||||
qApp->quit();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::clicked(QAbstractButton *button) {
|
||||
QDialogButtonBox::StandardButton standardButton =
|
||||
buttonBox->standardButton(button);
|
||||
if (standardButton == QDialogButtonBox::Apply) {
|
||||
save();
|
||||
} else if (standardButton == QDialogButtonBox::Ok) {
|
||||
save();
|
||||
qApp->quit();
|
||||
} else if (standardButton == QDialogButtonBox::Close) {
|
||||
qApp->quit();
|
||||
} else if (standardButton == QDialogButtonBox::Reset) {
|
||||
load();
|
||||
} else if (standardButton == QDialogButtonBox::RestoreDefaults) {
|
||||
defaults();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::commitData(QSessionManager &manager) {
|
||||
manager.setRestartHint(QSessionManager::RestartNever);
|
||||
if (!manager.allowsInteraction() || !changed_) {
|
||||
return;
|
||||
}
|
||||
int ret = QMessageBox::warning(
|
||||
this, _("Apply configuration changes"),
|
||||
_("Do you want to save the changes or discard them?"),
|
||||
QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
|
||||
|
||||
switch (ret) {
|
||||
case QMessageBox::Save:
|
||||
save();
|
||||
manager.release();
|
||||
break;
|
||||
case QMessageBox::Discard:
|
||||
break;
|
||||
case QMessageBox::Cancel:
|
||||
default:
|
||||
manager.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _KCM_FCITX5_CONFIGTOOL_MAINWINDOW_H_
|
||||
#define _KCM_FCITX5_CONFIGTOOL_MAINWINDOW_H_
|
||||
|
||||
#include "addonselector.h"
|
||||
#include "configwidget.h"
|
||||
#include "dbusprovider.h"
|
||||
#include "erroroverlay.h"
|
||||
#include "impage.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include <QAbstractButton>
|
||||
#include <QMainWindow>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
class MainWindow : public QMainWindow, public Ui::MainWindow {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
|
||||
void load();
|
||||
void save();
|
||||
void defaults();
|
||||
Q_SIGNALS:
|
||||
void changed(bool state);
|
||||
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
|
||||
private Q_SLOTS:
|
||||
void clicked(QAbstractButton *button);
|
||||
void commitData(QSessionManager &manager);
|
||||
|
||||
private:
|
||||
void handleChanged(bool state);
|
||||
bool changed_ = false;
|
||||
DBusProvider *dbus_;
|
||||
ErrorOverlay *errorOverlay_;
|
||||
IMPage *impage_;
|
||||
AddonSelector *addonPage_;
|
||||
ConfigWidget *configPage_;
|
||||
};
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _KCM_FCITX5_CONFIGTOOL_MAINWINDOW_H (2)_
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>600</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Fcitx Configuration</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset theme="fcitx"/>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="pageWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::Ok|QDialogButtonBox::Reset|QDialogButtonBox::RestoreDefaults</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
|
@ -0,0 +1,9 @@
|
|||
[Desktop Entry]
|
||||
Name=Fcitx 5 Configuration
|
||||
GenericName=Input Method Configuration
|
||||
Comment=Change Fcitx 5 Configuration
|
||||
Icon=fcitx
|
||||
Exec=fcitx5-config-qt
|
||||
Type=Application
|
||||
Categories=Settings;
|
||||
NoDisplay=true
|
|
@ -0,0 +1,39 @@
|
|||
add_library(kcm_fcitx5 MODULE
|
||||
main.cpp
|
||||
qtkeytrans.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(kcm_fcitx5
|
||||
KF5::CoreAddons
|
||||
KF5::I18n
|
||||
KF5::QuickAddons
|
||||
XKBCommon::XKBCommon
|
||||
configlib
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE inFiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/package/*")
|
||||
foreach(infileName ${inFiles})
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/${infileName}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${infileName}" @ONLY
|
||||
)
|
||||
endforeach()
|
||||
|
||||
|
||||
fcitx5_translate_desktop_file(kcm_fcitx5.desktop.in
|
||||
kcm_fcitx5.desktop PO_DIRECTORY ${PROJECT_SOURCE_DIR}/po/org.fcitx.fcitx5.kcm)
|
||||
fcitx5_translate_desktop_file(package/metadata.desktop
|
||||
${CMAKE_CURRENT_BINARY_DIR}/package/metadata.desktop PO_DIRECTORY ${PROJECT_SOURCE_DIR}/po/org.fcitx.fcitx5.kcm)
|
||||
kcoreaddons_desktop_to_json(kcm_fcitx5 "${CMAKE_CURRENT_BINARY_DIR}/kcm_fcitx5.desktop" DEFAULT_SERVICE_TYPE)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/kcm_fcitx5.desktop"
|
||||
DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
|
||||
install(TARGETS kcm_fcitx5 DESTINATION ${KDE_INSTALL_PLUGINDIR}/kcms)
|
||||
# This is a hack against kpackage_install_package
|
||||
# 1. kpackage_install_package only accept relative path to ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
# 2. It need metadata.desktop to run properly, but we only have untranslated file at that time.
|
||||
# So we just delete the file during the cmake.
|
||||
file(RELATIVE_PATH RELATIVE_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
kpackage_install_package(${RELATIVE_BINARY_DIR}/package org.fcitx.fcitx5.kcm kcms)
|
||||
file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/package/metadata.desktop)
|
|
@ -0,0 +1,16 @@
|
|||
[Desktop Entry]
|
||||
Icon=fcitx
|
||||
Type=Service
|
||||
|
||||
X-KDE-ServiceTypes=KCModule
|
||||
X-KDE-Library=kcm_fcitx5
|
||||
X-KDE-ParentApp=kcontrol
|
||||
|
||||
X-KDE-System-Settings-Parent-Category=regionalsettings
|
||||
|
||||
Name=Input Method
|
||||
Comment=Configure Input Method
|
||||
|
||||
X-KDE-Keywords=keyboard,input,im,fcitx
|
||||
|
||||
Categories=Qt;KDE;X-KDE-settings-fcitx;
|
|
@ -0,0 +1,473 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "main.h"
|
||||
#include "config.h"
|
||||
#include "logging.h"
|
||||
#include "qtkeytrans.h"
|
||||
#include <KAboutData>
|
||||
#include <KLocalizedString>
|
||||
#include <KPluginFactory>
|
||||
#include <QFileInfo>
|
||||
#include <QGuiApplication>
|
||||
#include <QQuickItem>
|
||||
#include <QQuickRenderControl>
|
||||
#include <QQuickWindow>
|
||||
#include <QtGlobal>
|
||||
#include <config.h>
|
||||
#include <fcitx-utils/misc.h>
|
||||
#include <fcitx-utils/standardpath.h>
|
||||
#include <fcitx-utils/stringutils.h>
|
||||
|
||||
namespace fcitx {
|
||||
|
||||
namespace kcm {
|
||||
|
||||
FcitxModule::FcitxModule(QObject *parent, const QVariantList &args)
|
||||
: KQuickAddons::ConfigModule(parent, args), dbus_(new DBusProvider(this)),
|
||||
imConfig_(new IMConfig(dbus_, IMConfig::Flatten, this)),
|
||||
layoutProvider_(new LayoutProvider(dbus_, this)),
|
||||
addonModel_(new FlatAddonModel(this)),
|
||||
addonProxyModel_(new AddonProxyModel(this)) {
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
|
||||
qmlRegisterType<FilteredIMModel>();
|
||||
qmlRegisterType<IMProxyModel>();
|
||||
qmlRegisterType<LanguageModel>();
|
||||
#else
|
||||
qmlRegisterAnonymousType<FilteredIMModel>("", 1);
|
||||
qmlRegisterAnonymousType<IMProxyModel>("", 1);
|
||||
qmlRegisterAnonymousType<LanguageModel>("", 1);
|
||||
#endif
|
||||
|
||||
KAboutData *about =
|
||||
new KAboutData("org.fcitx.fcitx5.kcm", i18n("Fcitx 5"), PROJECT_VERSION,
|
||||
i18n("Configure Fcitx 5"), KAboutLicense::GPL_V2,
|
||||
i18n("Copyright 2017 Xuetian Weng"), QString(),
|
||||
QString(), "wengxt@gmail.com");
|
||||
|
||||
about->addAuthor(i18n("Xuetian Weng"), i18n("Author"), "wengxt@gmail.com");
|
||||
|
||||
setAboutData(about);
|
||||
addonProxyModel_->setSourceModel(addonModel_);
|
||||
addonProxyModel_->sort(0);
|
||||
|
||||
connect(dbus_, &DBusProvider::availabilityChanged, this,
|
||||
&FcitxModule::handleAvailabilityChanged);
|
||||
|
||||
connect(imConfig_, &IMConfig::changed, this,
|
||||
[this]() { setNeedsSave(true); });
|
||||
connect(addonModel_, &FlatAddonModel::changed, this,
|
||||
[this]() { setNeedsSave(true); });
|
||||
|
||||
handleAvailabilityChanged(dbus_->available());
|
||||
|
||||
xkbContext_.reset(xkb_context_new(XKB_CONTEXT_NO_FLAGS));
|
||||
|
||||
struct xkb_rule_names rule_names = {"evdev", "pc105", "us", "", ""};
|
||||
|
||||
xkbKeymap_.reset(xkb_keymap_new_from_names(xkbContext_.get(), &rule_names,
|
||||
XKB_KEYMAP_COMPILE_NO_FLAGS));
|
||||
xkbState_.reset(xkb_state_new(xkbKeymap_.get()));
|
||||
|
||||
connect(this, &ConfigModule::pagePushed, this, [this](QQuickItem *page) {
|
||||
pages_[currentIndex() + 1] = page;
|
||||
if (page->property("needsSave").isValid()) {
|
||||
connect(page, SIGNAL(needsSaveChanged()), this,
|
||||
SLOT(pageNeedsSaveChanged()));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
FcitxModule::~FcitxModule() {}
|
||||
|
||||
void FcitxModule::pageNeedsSaveChanged() { setNeedsSave(true); }
|
||||
|
||||
void FcitxModule::load() {
|
||||
imConfig_->load();
|
||||
for (const auto &page : pages_) {
|
||||
if (page && page->property("needsSave").isValid()) {
|
||||
QMetaObject::invokeMethod(page, "load", Qt::DirectConnection);
|
||||
}
|
||||
}
|
||||
setNeedsSave(false);
|
||||
}
|
||||
|
||||
void FcitxModule::save() {
|
||||
imConfig_->save();
|
||||
for (const auto &page : pages_) {
|
||||
if (page && page->property("needsSave").isValid()) {
|
||||
QMetaObject::invokeMethod(page, "save", Qt::DirectConnection);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QVariant decomposeDBusVariant(const QVariant &v) {
|
||||
QVariantMap map;
|
||||
if (v.canConvert<QDBusArgument>()) {
|
||||
auto argument = qvariant_cast<QDBusArgument>(v);
|
||||
argument >> map;
|
||||
} else {
|
||||
return v;
|
||||
}
|
||||
for (auto &item : map) {
|
||||
item = decomposeDBusVariant(item);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
QVariantList configTypeToVariant(const FcitxQtConfigType &type,
|
||||
QVariantMap &typeMap,
|
||||
const QMap<QString, FcitxQtConfigType> &types);
|
||||
|
||||
void configOptionToVariant(QVariantList &options,
|
||||
const FcitxQtConfigOption &option,
|
||||
QVariantMap &typeMap,
|
||||
const QMap<QString, FcitxQtConfigType> &types) {
|
||||
if (types.contains(option.type())) {
|
||||
if (typeMap[option.type()].isNull()) {
|
||||
// Fill a dummy value first to avoid infinite recursion if bug
|
||||
// happens.
|
||||
typeMap[option.type()] = QVariantMap();
|
||||
typeMap[option.type()] =
|
||||
configTypeToVariant(types[option.type()], typeMap, types);
|
||||
}
|
||||
// Expand the nested type.
|
||||
// Add a section title.
|
||||
QVariantMap section;
|
||||
section["isSection"] = true;
|
||||
section["description"] = option.description();
|
||||
options.append(section);
|
||||
auto subOptions = typeMap[option.type()].value<QVariantList>();
|
||||
for (const auto &subOption : subOptions) {
|
||||
auto map = subOption.value<QVariantMap>();
|
||||
if (map["isSection"].toBool()) {
|
||||
map["description"] = QString("%1 > %2").arg(
|
||||
option.description(), map["description"].toString());
|
||||
options.append(map);
|
||||
} else {
|
||||
auto names = map["name"].toStringList();
|
||||
names.prepend(option.name());
|
||||
map["name"] = names;
|
||||
options.append(map);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
QVariantMap map;
|
||||
map["name"] = QStringList() << option.name();
|
||||
map["description"] = option.description();
|
||||
map["type"] = option.type();
|
||||
map["defaultValue"] =
|
||||
decomposeDBusVariant(option.defaultValue().variant());
|
||||
map["isSection"] = false;
|
||||
QVariantMap propertiesMap;
|
||||
for (auto p : fcitx::MakeIterRange(option.properties().keyValueBegin(),
|
||||
option.properties().keyValueEnd())) {
|
||||
propertiesMap[p.first] = decomposeDBusVariant(p.second);
|
||||
}
|
||||
map["properties"] = propertiesMap;
|
||||
options.append(map);
|
||||
}
|
||||
}
|
||||
|
||||
QVariantList
|
||||
configTypeToVariant(const FcitxQtConfigType &type, QVariantMap &typeMap,
|
||||
const QMap<QString, FcitxQtConfigType> &types) {
|
||||
QVariantList options;
|
||||
for (const auto &option : type.options()) {
|
||||
configOptionToVariant(options, option, typeMap, types);
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
void FcitxModule::pushConfigPage(const QString &title, const QString &uri) {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
auto call = dbus_->controller()->GetConfig(uri);
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
[this, uri, title](QDBusPendingCallWatcher *watcher) {
|
||||
watcher->deleteLater();
|
||||
QDBusPendingReply<QDBusVariant, FcitxQtConfigTypeList> reply =
|
||||
*watcher;
|
||||
if (!reply.isValid()) {
|
||||
return;
|
||||
}
|
||||
auto configTypes = reply.argumentAt<1>();
|
||||
if (configTypes.empty()) {
|
||||
return;
|
||||
}
|
||||
QVariantMap map;
|
||||
QVariantMap typeMap;
|
||||
QMap<QString, FcitxQtConfigType> types;
|
||||
map["uri"] = uri;
|
||||
map["rawValue"] =
|
||||
decomposeDBusVariant(reply.argumentAt<0>().variant());
|
||||
map["typeName"] = configTypes[0].name();
|
||||
|
||||
// Reserve the place for types.
|
||||
for (const auto &configType : configTypes) {
|
||||
types[configType.name()] = configType;
|
||||
}
|
||||
for (const auto &configType : configTypes) {
|
||||
if (typeMap[configType.name()].isNull()) {
|
||||
typeMap[configType.name()] =
|
||||
configTypeToVariant(configType, typeMap, types);
|
||||
}
|
||||
}
|
||||
map["typeMap"] = typeMap;
|
||||
map["title"] = title;
|
||||
push("ConfigPage.qml", map);
|
||||
});
|
||||
}
|
||||
|
||||
void FcitxModule::handleAvailabilityChanged(bool avail) {
|
||||
if (avail) {
|
||||
loadAddon();
|
||||
}
|
||||
Q_EMIT availabilityChanged(avail);
|
||||
}
|
||||
|
||||
void FcitxModule::loadAddon() {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
auto call = dbus_->controller()->GetAddonsV2();
|
||||
auto callwatcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(callwatcher, &QDBusPendingCallWatcher::finished, this,
|
||||
[this](QDBusPendingCallWatcher *watcher) {
|
||||
QDBusPendingReply<FcitxQtAddonInfoV2List> addons = *watcher;
|
||||
watcher->deleteLater();
|
||||
if (addons.isValid()) {
|
||||
addonModel_->setAddons(addons.value());
|
||||
addonProxyModel_->sort(0);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void FcitxModule::saveAddon() {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
FcitxQtAddonStateList list;
|
||||
for (auto &enabled : addonModel_->enabledList()) {
|
||||
FcitxQtAddonState state;
|
||||
state.setUniqueName(enabled);
|
||||
state.setEnabled(true);
|
||||
list.append(state);
|
||||
}
|
||||
for (auto &disabled : addonModel_->disabledList()) {
|
||||
FcitxQtAddonState state;
|
||||
state.setUniqueName(disabled);
|
||||
state.setEnabled(false);
|
||||
list.append(state);
|
||||
}
|
||||
if (list.size()) {
|
||||
dbus_->controller()->SetAddonsState(list);
|
||||
loadAddon();
|
||||
}
|
||||
}
|
||||
|
||||
void FcitxModule::launchExternal(const QString &uri) {
|
||||
if (uri.startsWith("fcitx://config/addon/")) {
|
||||
QString wrapperPath = FCITX5_QT5_GUI_WRAPPER;
|
||||
if (!QFileInfo(wrapperPath).isExecutable()) {
|
||||
wrapperPath = QString::fromStdString(stringutils::joinPath(
|
||||
StandardPath::global().fcitxPath("libexecdir"),
|
||||
"fcitx5-qt5-gui-wrapper"));
|
||||
}
|
||||
QStringList args;
|
||||
if (QGuiApplication::platformName() == "xcb") {
|
||||
auto window = mainUi()->window();
|
||||
QWindow *actualWindow = window;
|
||||
if (window) {
|
||||
auto renderWindow =
|
||||
QQuickRenderControl::renderWindowFor(window);
|
||||
if (renderWindow) {
|
||||
actualWindow = renderWindow;
|
||||
}
|
||||
}
|
||||
while (actualWindow && actualWindow->parent()) {
|
||||
actualWindow = actualWindow->parent();
|
||||
}
|
||||
WId wid = actualWindow ? actualWindow->winId() : 0;
|
||||
if (wid) {
|
||||
args << "-w";
|
||||
args << QString::number(wid);
|
||||
}
|
||||
}
|
||||
args << uri;
|
||||
qCDebug(KCM_FCITX5) << "Launch: " << wrapperPath << args;
|
||||
QProcess::startDetached(wrapperPath, args);
|
||||
} else {
|
||||
// Assume this is a program path.
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
|
||||
QStringList args = QProcess::splitCommand(uri);
|
||||
QString program = args.takeFirst();
|
||||
QProcess::startDetached(program, args);
|
||||
#else
|
||||
QProcess::startDetached(uri);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void FcitxModule::grabKeyboard(QQuickItem *item) {
|
||||
item->window()->setKeyboardGrabEnabled(true);
|
||||
item->installEventFilter(this);
|
||||
}
|
||||
|
||||
void FcitxModule::ungrabKeyboard(QQuickItem *item) {
|
||||
item->window()->setKeyboardGrabEnabled(false);
|
||||
item->removeEventFilter(this);
|
||||
}
|
||||
|
||||
bool FcitxModule::eventFilter(QObject *, QEvent *event) {
|
||||
if (event->type() == QEvent::KeyPress ||
|
||||
event->type() == QEvent::KeyRelease ||
|
||||
event->type() == QEvent::ShortcutOverride) {
|
||||
auto keyEvent = static_cast<QKeyEvent *>(event);
|
||||
key_ = Key(static_cast<KeySym>(keyEvent->nativeVirtualKey()),
|
||||
KeyStates(keyEvent->nativeModifiers()),
|
||||
keyEvent->nativeScanCode());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QString FcitxModule::eventToString(int keyQt, int modifiers,
|
||||
quint32 nativeScanCode, const QString &text,
|
||||
bool keyCode) {
|
||||
int sym;
|
||||
unsigned int states;
|
||||
|
||||
modifiers = modifiers & (Qt::SHIFT | Qt::CTRL | Qt::ALT | Qt::META);
|
||||
if (keyQt > 0) {
|
||||
if ((keyQt == Qt::Key_Backtab) && (modifiers & Qt::SHIFT)) {
|
||||
keyQt = Qt::Key_Tab;
|
||||
}
|
||||
} else {
|
||||
return QString();
|
||||
}
|
||||
|
||||
Key key;
|
||||
if (QGuiApplication::platformName() == "xcb" ||
|
||||
QGuiApplication::platformName().startsWith("wayland")) {
|
||||
if (keyCode) {
|
||||
key = Key::fromKeyCode(key_.code(), key_.states());
|
||||
} else {
|
||||
key = key_.normalize();
|
||||
}
|
||||
} else if (qEventToSym(keyQt, Qt::KeyboardModifiers(modifiers), text, sym,
|
||||
states)) {
|
||||
if (keyCode) {
|
||||
key = Key::fromKeyCode(nativeScanCode, KeyStates(states));
|
||||
} else {
|
||||
if (keyQt == Qt::Key_Shift || keyQt == Qt::Key_Super_L ||
|
||||
keyQt == Qt::Key_Alt || keyQt == Qt::Key_Control) {
|
||||
auto xkbsym =
|
||||
xkb_state_key_get_one_sym(xkbState_.get(), nativeScanCode);
|
||||
if (keyQt == Qt::Key_Shift && xkbsym == XKB_KEY_Shift_R) {
|
||||
sym = FcitxKey_Shift_R;
|
||||
}
|
||||
if (keyQt == Qt::Key_Super_L && xkbsym == XKB_KEY_Super_R) {
|
||||
sym = FcitxKey_Super_R;
|
||||
}
|
||||
if (keyQt == Qt::Key_Alt && xkbsym == XKB_KEY_Alt_R) {
|
||||
sym = FcitxKey_Alt_R;
|
||||
}
|
||||
if (keyQt == Qt::Key_Control && xkbsym == XKB_KEY_Control_R) {
|
||||
sym = FcitxKey_Control_R;
|
||||
}
|
||||
}
|
||||
key = Key(static_cast<KeySym>(sym),
|
||||
KeyStates(states) |
|
||||
Key::keySymToStates(static_cast<KeySym>(sym)),
|
||||
nativeScanCode);
|
||||
}
|
||||
}
|
||||
|
||||
if (key.isValid()) {
|
||||
return QString::fromStdString(key.toString());
|
||||
}
|
||||
|
||||
return QString();
|
||||
}
|
||||
|
||||
QString FcitxModule::localizedKeyString(const QString &str) {
|
||||
Key key(str.toStdString());
|
||||
return QString::fromStdString(key.toString(KeyStringFormat::Localized));
|
||||
}
|
||||
|
||||
void FcitxModule::saveConfig(const QString &uri, const QVariant &value) {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
auto map = value.value<QVariantMap>();
|
||||
QDBusVariant var(QVariant::fromValue(map));
|
||||
dbus_->controller()->SetConfig(uri, var);
|
||||
}
|
||||
|
||||
QQuickItem *FcitxModule::pageNeedsSave(int idx) {
|
||||
if (auto page = pages_.value(idx)) {
|
||||
auto value = page->property("needsSave");
|
||||
if (value.isValid() && value.toBool()) {
|
||||
return page;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void FcitxModule::defaults() {
|
||||
for (const auto &page : pages_) {
|
||||
if (page) {
|
||||
QMetaObject::invokeMethod(page, "defaults", Qt::DirectConnection);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FcitxModule::runFcitx() {
|
||||
QProcess::startDetached(
|
||||
QString::fromStdString(StandardPath::fcitxPath("bindir", "fcitx5")),
|
||||
QStringList());
|
||||
}
|
||||
|
||||
void FcitxModule::fixLayout() {
|
||||
const auto &imEntries = imConfig_->imEntries();
|
||||
if (imEntries.size() > 0 &&
|
||||
imEntries[0].key() !=
|
||||
QString("keyboard-%0").arg(imConfig_->defaultLayout()) &&
|
||||
imEntries[0].key().startsWith("keyboard-")) {
|
||||
auto layoutString = imEntries[0].key().mid(9);
|
||||
imConfig_->setDefaultLayout(layoutString);
|
||||
}
|
||||
}
|
||||
|
||||
void FcitxModule::fixInputMethod() {
|
||||
auto imname = QString("keyboard-%0").arg(imConfig_->defaultLayout());
|
||||
FcitxQtStringKeyValue imEntry;
|
||||
int i = 0;
|
||||
auto imEntries = imConfig_->imEntries();
|
||||
for (; i < imEntries.size(); i++) {
|
||||
if (imEntries[i].key() == imname) {
|
||||
imEntry = imEntries[i];
|
||||
imEntries.removeAt(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (i == imEntries.size()) {
|
||||
imEntry.setKey(imname);
|
||||
}
|
||||
imEntries.push_front(imEntry);
|
||||
imConfig_->setIMEntries(imEntries);
|
||||
imConfig_->emitChanged();
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
K_PLUGIN_FACTORY_WITH_JSON(KCMFcitxFactory, "kcm_fcitx5.json",
|
||||
registerPlugin<fcitx::kcm::FcitxModule>();)
|
||||
|
||||
#include "main.moc"
|
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _KCM_FCITX5_KCM_NG_MAIN_H_
|
||||
#define _KCM_FCITX5_KCM_NG_MAIN_H_
|
||||
|
||||
#include "addonmodel.h"
|
||||
#include "dbusprovider.h"
|
||||
#include "font.h"
|
||||
#include "imconfig.h"
|
||||
#include "model.h"
|
||||
#include <KQuickAddons/ConfigModule>
|
||||
#include <QFont>
|
||||
#include <QMap>
|
||||
#include <fcitx-utils/color.h>
|
||||
#include <fcitx-utils/key.h>
|
||||
#include <layoutprovider.h>
|
||||
#include <xkbcommon/xkbcommon.h>
|
||||
|
||||
class BalooSettings;
|
||||
|
||||
namespace fcitx {
|
||||
|
||||
namespace kcm {
|
||||
|
||||
class FcitxModule : public KQuickAddons::ConfigModule {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(IMConfig *imConfig READ imConfig CONSTANT)
|
||||
Q_PROPERTY(LayoutProvider *layoutProvider READ layoutProvider CONSTANT)
|
||||
Q_PROPERTY(AddonProxyModel *addonModel READ addonModel CONSTANT)
|
||||
Q_PROPERTY(bool availability READ availability NOTIFY availabilityChanged)
|
||||
public:
|
||||
FcitxModule(QObject *parent, const QVariantList &args);
|
||||
virtual ~FcitxModule() override;
|
||||
|
||||
auto imConfig() const { return imConfig_; }
|
||||
auto layoutProvider() const { return layoutProvider_; }
|
||||
auto addonModel() const { return addonProxyModel_; }
|
||||
bool availability() const { return dbus_->available(); }
|
||||
|
||||
public Q_SLOTS:
|
||||
void load() override;
|
||||
void save() override;
|
||||
void defaults() override;
|
||||
void loadAddon();
|
||||
void saveAddon();
|
||||
|
||||
void pushConfigPage(const QString &title, const QString &uri);
|
||||
void launchExternal(const QString &uri);
|
||||
void saveConfig(const QString &uri, const QVariant &value);
|
||||
QQuickItem *pageNeedsSave(int idx);
|
||||
|
||||
QFont parseFont(const QString &font) {
|
||||
return ::fcitx::kcm::parseFont(font);
|
||||
}
|
||||
QString fontToString(const QFont &font) {
|
||||
return ::fcitx::kcm::fontToString(font);
|
||||
}
|
||||
|
||||
QColor parseColor(const QString &str) {
|
||||
Color color;
|
||||
try {
|
||||
color.setFromString(str.toStdString());
|
||||
} catch (...) {
|
||||
}
|
||||
QColor qcolor;
|
||||
qcolor.setRedF(color.redF());
|
||||
qcolor.setGreenF(color.greenF());
|
||||
qcolor.setBlueF(color.blueF());
|
||||
qcolor.setAlphaF(color.alphaF());
|
||||
return qcolor;
|
||||
}
|
||||
QString colorToString(const QColor &color) {
|
||||
Color fcitxColor;
|
||||
fcitxColor.setRedF(color.redF());
|
||||
fcitxColor.setGreenF(color.greenF());
|
||||
fcitxColor.setBlueF(color.blueF());
|
||||
fcitxColor.setAlphaF(color.alphaF());
|
||||
return QString::fromStdString(fcitxColor.toString());
|
||||
}
|
||||
|
||||
void grabKeyboard(QQuickItem *item);
|
||||
void ungrabKeyboard(QQuickItem *item);
|
||||
|
||||
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||
|
||||
QString eventToString(int key, int modifiers, quint32 nativeScanCode,
|
||||
const QString &text, bool keyCode);
|
||||
QString localizedKeyString(const QString &key);
|
||||
|
||||
void runFcitx();
|
||||
void fixLayout();
|
||||
void fixInputMethod();
|
||||
|
||||
Q_SIGNALS:
|
||||
void availabilityChanged(bool avail);
|
||||
|
||||
private Q_SLOTS:
|
||||
void handleAvailabilityChanged(bool avail);
|
||||
void pageNeedsSaveChanged();
|
||||
|
||||
private:
|
||||
DBusProvider *dbus_;
|
||||
IMConfig *imConfig_;
|
||||
LayoutProvider *layoutProvider_;
|
||||
FlatAddonModel *addonModel_;
|
||||
AddonProxyModel *addonProxyModel_;
|
||||
QMap<int, QPointer<QQuickItem>> pages_;
|
||||
struct XKBStateDeleter {
|
||||
void operator()(struct xkb_state *state) const {
|
||||
return xkb_state_unref(state);
|
||||
}
|
||||
};
|
||||
struct XKBKeymapDeleter {
|
||||
void operator()(struct xkb_keymap *keymap) const {
|
||||
return xkb_keymap_unref(keymap);
|
||||
}
|
||||
};
|
||||
struct XKBContextDeleter {
|
||||
void operator()(struct xkb_context *context) const {
|
||||
return xkb_context_unref(context);
|
||||
}
|
||||
};
|
||||
using ScopedXKBState = std::unique_ptr<struct xkb_state, XKBStateDeleter>;
|
||||
using ScopedXKBKeymap =
|
||||
std::unique_ptr<struct xkb_keymap, XKBKeymapDeleter>;
|
||||
using ScopedXKBContext =
|
||||
std::unique_ptr<struct xkb_context, XKBContextDeleter>;
|
||||
ScopedXKBState xkbState_;
|
||||
ScopedXKBKeymap xkbKeymap_;
|
||||
ScopedXKBContext xkbContext_;
|
||||
Key key_;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _KCM_FCITX5_KCM_NG_MAIN_H_
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
import org.kde.kcm 1.2 as KCM
|
||||
|
||||
KCM.ScrollViewKCM {
|
||||
title: i18n("Add Input Method")
|
||||
|
||||
Component.onCompleted: {
|
||||
search.forceActiveFocus();
|
||||
}
|
||||
|
||||
Binding {
|
||||
property: "filterText"
|
||||
target: kcm.imConfig.availIMModel
|
||||
value: search.text
|
||||
}
|
||||
|
||||
footer: RowLayout {
|
||||
CheckBox {
|
||||
checked: true
|
||||
text: i18n("Only &Show Current Language")
|
||||
visible: search.text.length === 0
|
||||
|
||||
onClicked: {
|
||||
kcm.imConfig.availIMModel.showOnlyCurrentLanguage = checked;
|
||||
}
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Button {
|
||||
icon.name: "list-add-symbolic"
|
||||
text: i18n("Add")
|
||||
|
||||
onClicked: {
|
||||
if (availIMView.currentIndex === -1) {
|
||||
return;
|
||||
}
|
||||
kcm.imConfig.addIM(availIMView.currentIndex);
|
||||
if (kcm.imConfig.currentIMModel.count === 1) {
|
||||
kcm.mainUi.checkInputMethod();
|
||||
}
|
||||
kcm.pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
header: RowLayout {
|
||||
TextField {
|
||||
id: search
|
||||
Layout.fillWidth: true
|
||||
placeholderText: i18n("Search...")
|
||||
}
|
||||
}
|
||||
view: ListView {
|
||||
id: availIMView
|
||||
model: kcm.imConfig.availIMModel
|
||||
|
||||
section {
|
||||
property: "language"
|
||||
|
||||
delegate: Kirigami.ListSectionHeader {
|
||||
label: section
|
||||
}
|
||||
}
|
||||
|
||||
delegate: Kirigami.BasicListItem {
|
||||
label: model.name
|
||||
|
||||
onClicked: {
|
||||
availIMView.currentIndex = index;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
import org.kde.kcm 1.2 as KCM
|
||||
|
||||
KCM.ScrollViewKCM {
|
||||
id: addonPage
|
||||
property bool needsSave: false
|
||||
property string reenableAddon
|
||||
|
||||
title: i18n("Addons")
|
||||
|
||||
function defaults() {
|
||||
}
|
||||
function load() {
|
||||
kcm.loadAddon();
|
||||
needsSave = false;
|
||||
}
|
||||
function save() {
|
||||
kcm.saveAddon();
|
||||
needsSave = false;
|
||||
}
|
||||
function showWarning() {
|
||||
dialog.open();
|
||||
}
|
||||
|
||||
Binding {
|
||||
property: "filterText"
|
||||
target: kcm.addonModel
|
||||
value: search.text
|
||||
}
|
||||
SaveWarningDialog {
|
||||
id: dialog
|
||||
}
|
||||
|
||||
header: ColumnLayout {
|
||||
Kirigami.InlineMessage {
|
||||
id: disableAddonWarning
|
||||
Layout.fillWidth: true
|
||||
showCloseButton: true
|
||||
type: Kirigami.MessageType.Warning
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
displayHint: Kirigami.Action.DisplayHint.KeepVisible
|
||||
iconName: "edit-undo"
|
||||
text: i18n("Re-Enable")
|
||||
|
||||
onTriggered: {
|
||||
kcm.addonModel.sourceModel.enable(reenableAddon);
|
||||
disableAddonWarning.visible = false;
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
RowLayout {
|
||||
TextField {
|
||||
id: search
|
||||
Layout.fillWidth: true
|
||||
placeholderText: i18n("Search...")
|
||||
}
|
||||
}
|
||||
}
|
||||
view: ListView {
|
||||
model: kcm.addonModel
|
||||
|
||||
section {
|
||||
property: "categoryName"
|
||||
|
||||
delegate: Kirigami.ListSectionHeader {
|
||||
label: section
|
||||
}
|
||||
}
|
||||
|
||||
delegate: Kirigami.SwipeListItem {
|
||||
id: listItem
|
||||
RowLayout {
|
||||
CheckBox {
|
||||
id: itemChecked
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Layout.leftMargin: Kirigami.Units.gridUnit
|
||||
checked: model.enabled
|
||||
|
||||
onClicked: {
|
||||
model.enabled = !model.enabled;
|
||||
if (!model.enabled) {
|
||||
var dependencies = model.dependencies;
|
||||
var optionalDependencies = model.optionalDependencies;
|
||||
if (dependencies.length > 0 || optionalDependencies.length > 0) {
|
||||
reenableAddon = model.uniqueName;
|
||||
var sep = i18nc("Separator of a comma list", ", ");
|
||||
var depWarning = "";
|
||||
if (dependencies.length > 0) {
|
||||
var addonNames = [];
|
||||
for (var i = 0; i < dependencies.length; i++) {
|
||||
var name = kcm.addonModel.sourceModel.addonName(dependencies[i]);
|
||||
if (name) {
|
||||
addonNames.push(name);
|
||||
}
|
||||
}
|
||||
depWarning = depWarning.concat(i18n("- Disable %1\n", addonNames.join(sep)));
|
||||
}
|
||||
if (optionalDependencies.length > 0) {
|
||||
var addonNames = [];
|
||||
for (var i = 0; i < optionalDependencies.length; i++) {
|
||||
var name = kcm.addonModel.sourceModel.addonName(optionalDependencies[i]);
|
||||
if (name) {
|
||||
addonNames.push(name);
|
||||
}
|
||||
}
|
||||
depWarning = depWarning.concat(i18n("- Disable some features in %1\n", addonNames.join(sep)));
|
||||
}
|
||||
disableAddonWarning.text = i18n("Disabling %1 will also:\n%2\nAre you sure you want to disable it?", model.name, depWarning);
|
||||
disableAddonWarning.visible = true;
|
||||
}
|
||||
}
|
||||
needsSave = true;
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
Kirigami.Heading {
|
||||
Layout.fillWidth: true
|
||||
elide: Text.ElideRight
|
||||
level: 5
|
||||
text: model.name
|
||||
}
|
||||
Label {
|
||||
opacity: listItem.hovered ? 0.8 : 0.6
|
||||
text: model.comment
|
||||
visible: model.comment.length > 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
icon.name: "configure"
|
||||
visible: model.configurable
|
||||
|
||||
onTriggered: kcm.pushConfigPage(model.name, "fcitx://config/addon/" + model.uniqueName)
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
CheckBox {
|
||||
property bool needsSave: value !== checked
|
||||
property variant rawValue
|
||||
property bool value: rawValue === "True"
|
||||
|
||||
function load(rawValue) {
|
||||
checked = rawValue === "True";
|
||||
}
|
||||
function save() {
|
||||
rawValue = checked ? "True" : "False";
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Dialogs 1.1 as QtDialogs
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
|
||||
Row {
|
||||
property bool needsSave: button.text != rawValue
|
||||
property variant rawValue
|
||||
|
||||
function load(rawValue) {
|
||||
colorDialog.color = kcm.parseColor(rawValue);
|
||||
}
|
||||
function save() {
|
||||
rawValue = button.text;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
|
||||
Button {
|
||||
id: button
|
||||
icon.name: "document-edit"
|
||||
implicitWidth: Kirigami.Units.gridUnit * 10
|
||||
text: kcm.colorToString(colorDialog.color)
|
||||
|
||||
onClicked: colorDialog.open()
|
||||
|
||||
QtDialogs.ColorDialog {
|
||||
id: colorDialog
|
||||
modality: Qt.ApplicationModal
|
||||
showAlphaChannel: true
|
||||
title: i18nc("@title:window", "Select Color")
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
color: colorDialog.color
|
||||
height: button.height
|
||||
width: height
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
import "utils.js" as Utils
|
||||
|
||||
Kirigami.FormLayout {
|
||||
id: configGroup
|
||||
property bool needsSave
|
||||
property variant rawValue
|
||||
property variant typeMap
|
||||
property string typeName
|
||||
|
||||
function defaults() {
|
||||
for (var i = 0; i < repeater.count; i++) {
|
||||
var loader = repeater.itemAt(i);
|
||||
if (loader.status == Loader.Ready) {
|
||||
loader.item.load(loader.option.defaultValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
function load() {
|
||||
for (var i = 0; i < repeater.count; i++) {
|
||||
var loader = repeater.itemAt(i);
|
||||
if (loader.status == Loader.Ready) {
|
||||
loader.item.load(loader.item.rawValue);
|
||||
}
|
||||
}
|
||||
needsSave = false;
|
||||
}
|
||||
function save() {
|
||||
var rawValue = {};
|
||||
for (var i = 0; i < repeater.count; i++) {
|
||||
var loader = repeater.itemAt(i);
|
||||
if (loader.status == Loader.Ready) {
|
||||
loader.item.save();
|
||||
if (loader.item.hasOwnProperty("rawValue")) {
|
||||
Utils.setRawValue(rawValue, loader.option.name, loader.item.rawValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
configGroup.rawValue = rawValue;
|
||||
configGroup.needsSave = false;
|
||||
}
|
||||
function setRawValue(rawValue) {
|
||||
for (var i = 0; i < repeater.count; i++) {
|
||||
var loader = repeater.itemAt(i);
|
||||
if (loader.status == Loader.Ready) {
|
||||
loader.item.load(Utils.getRawValue(rawValue, loader.option.name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: repeater
|
||||
model: typeMap[typeName]
|
||||
|
||||
OptionLoader {
|
||||
id: loader
|
||||
Kirigami.FormData.isSection: modelData.isSection
|
||||
Kirigami.FormData.label: modelData.isSection ? modelData.description : i18n("%1:", modelData.description)
|
||||
@DISABLE_UNDER_KIRIGAMI2_5_76@ Kirigami.FormData.labelAlignment: !modelData.isSection && modelData.type.startsWith("List|") ? (height > Kirigami.Units.gridUnit * 2 ? Qt.AlignTop : 0) : 0
|
||||
option: modelData
|
||||
rawValue: modelData.isSection ? null : Utils.getRawValue(configGroup.rawValue, modelData.name)
|
||||
|
||||
Connections {
|
||||
enabled: loader.status == Loader.Ready
|
||||
target: loader.status == Loader.Ready ? loader.item : null
|
||||
|
||||
function onNeedsSaveChanged() {
|
||||
if (target.needsSave) {
|
||||
configGroup.needsSave = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
import org.kde.kcm 1.1 as KCM
|
||||
|
||||
Kirigami.ScrollablePage {
|
||||
id: configPage
|
||||
property alias needsSave: configGroup.needsSave
|
||||
property alias rawValue: configGroup.rawValue
|
||||
property alias typeMap: configGroup.typeMap
|
||||
property alias typeName: configGroup.typeName
|
||||
property string uri
|
||||
|
||||
function defaults() {
|
||||
configGroup.defaults();
|
||||
}
|
||||
function load() {
|
||||
configGroup.load();
|
||||
}
|
||||
function save() {
|
||||
configGroup.save();
|
||||
kcm.saveConfig(uri, rawValue);
|
||||
}
|
||||
function showWarning() {
|
||||
dialog.open();
|
||||
}
|
||||
|
||||
Component.onCompleted: positionTimer.start()
|
||||
|
||||
ConfigGroup {
|
||||
id: configGroup
|
||||
visible: false
|
||||
width: parent.width
|
||||
|
||||
SaveWarningDialog {
|
||||
id: dialog
|
||||
parent: configPage
|
||||
}
|
||||
|
||||
// Hack for force relayout the scrollview
|
||||
Timer {
|
||||
id: positionTimer
|
||||
interval: 0
|
||||
repeat: false
|
||||
|
||||
onTriggered: configGroup.visible = true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
|
||||
Row {
|
||||
property bool needsSave: value != comboBox.currentIndex
|
||||
property variant properties
|
||||
property variant rawValue
|
||||
property int value: computeValue(rawValue)
|
||||
|
||||
function computeValue(rawValue) {
|
||||
for (var i = 0; i < listModel.count; i++) {
|
||||
if (listModel.get(i).value == rawValue) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
function load(rawValue) {
|
||||
comboBox.currentIndex = computeValue(rawValue);
|
||||
}
|
||||
function save() {
|
||||
rawValue = properties["Enum"][comboBox.currentIndex.toString()];
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
var i = 0;
|
||||
while (true) {
|
||||
var value = properties["Enum"][i.toString()];
|
||||
if (!value) {
|
||||
break;
|
||||
}
|
||||
var text = "";
|
||||
if (properties.hasOwnProperty("EnumI18n")) {
|
||||
if (properties["EnumI18n"].hasOwnProperty(i.toString())) {
|
||||
text = properties["EnumI18n"][i.toString()];
|
||||
}
|
||||
}
|
||||
if (text == "") {
|
||||
text = value;
|
||||
}
|
||||
var subconfigpath = "";
|
||||
if (properties.hasOwnProperty("SubConfigPath")) {
|
||||
if (properties["SubConfigPath"].hasOwnProperty(i.toString())) {
|
||||
subconfigpath = properties["SubConfigPath"][i.toString()];
|
||||
}
|
||||
}
|
||||
listModel.append({
|
||||
"text": text,
|
||||
"value": value,
|
||||
"subconfigpath": subconfigpath
|
||||
});
|
||||
i++;
|
||||
}
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
|
||||
ComboBox {
|
||||
id: comboBox
|
||||
implicitWidth: Kirigami.Units.gridUnit * 14
|
||||
textRole: "text"
|
||||
|
||||
model: ListModel {
|
||||
id: listModel
|
||||
}
|
||||
}
|
||||
ToolButton {
|
||||
id: configureButton
|
||||
icon.name: "configure"
|
||||
visible: listModel.get(comboBox.currentIndex).subconfigpath !== ""
|
||||
|
||||
onClicked: {
|
||||
kcm.pushConfigPage(listModel.get(comboBox.currentIndex).text, listModel.get(comboBox.currentIndex).subconfigpath);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
Button {
|
||||
property string description
|
||||
readonly property bool needsSave: false
|
||||
property variant properties
|
||||
property bool subConfig: false
|
||||
|
||||
icon.name: "configure"
|
||||
|
||||
function defaults() {
|
||||
}
|
||||
function load(rawValue) {
|
||||
}
|
||||
function save() {
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (properties.hasOwnProperty("LaunchSubConfig") && properties["LaunchSubConfig"] == "True") {
|
||||
subConfig = true;
|
||||
}
|
||||
}
|
||||
onClicked: {
|
||||
if (subConfig) {
|
||||
kcm.pushConfigPage(description, properties.External);
|
||||
} else {
|
||||
kcm.launchExternal(properties.External);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Dialogs 1.1 as QtDialogs
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
|
||||
Button {
|
||||
property bool needsSave: text !== rawValue
|
||||
property variant rawValue
|
||||
|
||||
icon.name: "document-edit"
|
||||
text: kcm.fontToString(fontDialog.font)
|
||||
|
||||
function load(rawValue) {
|
||||
fontDialog.font = kcm.parseFont(rawValue);
|
||||
}
|
||||
function save() {
|
||||
rawValue = text;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
onClicked: fontDialog.open()
|
||||
|
||||
QtDialogs.FontDialog {
|
||||
id: fontDialog
|
||||
title: i18nc("@title:window", "Select Font")
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
SpinBox {
|
||||
property bool needsSave: value !== oldValue
|
||||
property int oldValue: parseInt(rawValue)
|
||||
property variant properties
|
||||
property variant rawValue
|
||||
|
||||
from: validator.bottom
|
||||
to: validator.top
|
||||
|
||||
function load(rawValue) {
|
||||
value = parseInt(rawValue);
|
||||
}
|
||||
function save() {
|
||||
rawValue = value.toString();
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (properties.hasOwnProperty("IntMin")) {
|
||||
validator.bottom = parseInt(properties.IntMin);
|
||||
}
|
||||
if (properties.hasOwnProperty("IntMax")) {
|
||||
validator.top = parseInt(properties.IntMax);
|
||||
}
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
|
||||
validator: IntValidator {
|
||||
id: validator
|
||||
}
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
|
||||
RowLayout {
|
||||
id: keyList
|
||||
property alias hovered: addButton.hovered
|
||||
property bool needsSave
|
||||
property variant properties
|
||||
property variant rawValue
|
||||
|
||||
function load(rawValue) {
|
||||
var diff = false;
|
||||
if (listModel.count !== 0) {
|
||||
listModel.remove(0, listModel.count);
|
||||
}
|
||||
var i = 0;
|
||||
while (true) {
|
||||
if (!rawValue.hasOwnProperty(i.toString())) {
|
||||
break;
|
||||
}
|
||||
var value = rawValue[i.toString()];
|
||||
listModel.append({
|
||||
"key": value
|
||||
});
|
||||
if (!keyList.rawValue.hasOwnProperty(i.toString()) || rawValue[i.toString()] !== keyList.rawValue[i.toString()]) {
|
||||
diff = true;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if (keyList.rawValue.hasOwnProperty(i.toString())) {
|
||||
diff = true;
|
||||
}
|
||||
needsSave = diff;
|
||||
}
|
||||
function save() {
|
||||
var newRawValue = {};
|
||||
var j = 0;
|
||||
for (var i = 0; i < listModel.count; i++) {
|
||||
if (listModel.get(i).key !== "") {
|
||||
newRawValue[j.toString()] = listModel.get(i).key;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
rawValue = newRawValue;
|
||||
needsSave = false;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
Repeater {
|
||||
model: listModel
|
||||
|
||||
delegate: RowLayout {
|
||||
KeyOption {
|
||||
Layout.fillWidth: true
|
||||
Layout.minimumWidth: Kirigami.Units.gridUnit * 9
|
||||
properties: keyList.properties.hasOwnProperty("ListConstrain") ? keyList.properties.ListConstrain : {}
|
||||
rawValue: model.key
|
||||
|
||||
onKeyStringChanged: {
|
||||
model.key = keyString;
|
||||
keyList.needsSave = true;
|
||||
}
|
||||
}
|
||||
ToolButton {
|
||||
icon.name: "edit-delete-symbolic"
|
||||
|
||||
onClicked: {
|
||||
// Need to happen before real remove.
|
||||
keyList.needsSave = true;
|
||||
listModel.remove(model.index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ToolButton {
|
||||
id: addButton
|
||||
Layout.alignment: Qt.AlignTop
|
||||
icon.name: "list-add-symbolic"
|
||||
|
||||
onClicked: {
|
||||
keyList.needsSave = true;
|
||||
listModel.append({
|
||||
"key": ""
|
||||
});
|
||||
}
|
||||
}
|
||||
ListModel {
|
||||
id: listModel
|
||||
}
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import "utils.js" as Utils
|
||||
|
||||
Button {
|
||||
id: root
|
||||
property bool allowModifierLess: false
|
||||
property bool allowModifierOnly: false
|
||||
property string currentKeyString: ""
|
||||
property bool grab: false
|
||||
property string keyString: ""
|
||||
property bool needsSave: keyString !== rawValue
|
||||
property variant properties
|
||||
property variant rawValue
|
||||
|
||||
down: grab
|
||||
flat: false
|
||||
focus: grab
|
||||
text: prettyKeyString(grab ? currentKeyString : keyString)
|
||||
|
||||
function accept() {
|
||||
kcm.ungrabKeyboard(root);
|
||||
grab = false;
|
||||
}
|
||||
function isOkWhenModifierless(event) {
|
||||
var isSpecialKey = event.key == Qt.Key_Return || event.key == Qt.Key_Space || event.key == Qt.Key_Tab || event.key == Qt.Key_Backtab || event.key == Qt.Key_Backspace || event.key == Qt.Key_Delete;
|
||||
if (isSpecialKey) {
|
||||
if ((event.modifiers & Qt.ShiftModifier) != 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} else if (event.text.length === 1) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function load(rawValue) {
|
||||
keyString = rawValue;
|
||||
}
|
||||
function prettyKeyString(keyString) {
|
||||
if (keyString === "") {
|
||||
if (grab) {
|
||||
return i18n("...");
|
||||
} else {
|
||||
return i18n("Empty");
|
||||
}
|
||||
}
|
||||
return kcm.localizedKeyString(keyString);
|
||||
}
|
||||
function save() {
|
||||
rawValue = keyString;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (properties.hasOwnProperty("AllowModifierLess")) {
|
||||
allowModifierLess = properties.AllowModifierLess == "True";
|
||||
}
|
||||
if (properties.hasOwnProperty("AllowModifierOnly")) {
|
||||
allowModifierOnly = properties.AllowModifierOnly == "True";
|
||||
}
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
Keys.onPressed: {
|
||||
event.accepted = true;
|
||||
if (!grab) {
|
||||
return;
|
||||
}
|
||||
var done = true;
|
||||
currentKeyString = kcm.eventToString(event.key, event.modifiers, event.nativeScanCode, event.text, keyCodeAction.checked);
|
||||
if (text === "") {
|
||||
done = false;
|
||||
}
|
||||
var modifiers = event.modifiers & (Qt.ShiftModifier | Qt.ControlModifier | Qt.AltModifier | Qt.MetaModifier);
|
||||
if ((modifiers & ~Qt.ShiftModifier) == 0) {
|
||||
if (!isOkWhenModifierless(event) && !allowModifierLess) {
|
||||
done = false;
|
||||
}
|
||||
}
|
||||
if ((event.key == Qt.Key_Shift || event.key == Qt.Key_Control || event.key == Qt.Key_Meta || event.key == Qt.Key_Super_L || event.key == Qt.Key_Super_R || event.key == Qt.Key_Hyper_L || event.key == Qt.Key_Hyper_R || event.key == Qt.Key_Alt)) {
|
||||
done = false;
|
||||
}
|
||||
if (done) {
|
||||
keyString = currentKeyString;
|
||||
accept();
|
||||
}
|
||||
}
|
||||
Keys.onReleased: {
|
||||
event.accepted = true;
|
||||
if (!grab) {
|
||||
return;
|
||||
}
|
||||
var done = false;
|
||||
if (allowModifierOnly && (event.key == Qt.Key_Shift || event.key == Qt.Key_Control || event.key == Qt.Key_Meta || event.key == Qt.Key_Super_L || event.key == Qt.Key_Super_R || event.key == Qt.Key_Hyper_L || event.key == Qt.Key_Hyper_R || event.key == Qt.Key_Alt)) {
|
||||
done = true;
|
||||
}
|
||||
var keyStr = kcm.eventToString(event.key, event.modifiers, event.nativeScanCode, event.text, keyCodeAction.checked);
|
||||
if (keyStr === "") {
|
||||
done = false;
|
||||
}
|
||||
if (done) {
|
||||
keyString = keyStr;
|
||||
accept();
|
||||
} else {
|
||||
if (event.modifiers == 0) {
|
||||
currentKeyString = "";
|
||||
} else {
|
||||
currentKeyString = keyStr;
|
||||
}
|
||||
}
|
||||
}
|
||||
Keys.onShortcutOverride: {
|
||||
event.accepted = true;
|
||||
Keys.onPressed(event);
|
||||
}
|
||||
onClicked: {
|
||||
if (down) {
|
||||
keyString = "";
|
||||
accept();
|
||||
} else {
|
||||
grab = true;
|
||||
currentKeyString = "";
|
||||
kcm.grabKeyboard(root);
|
||||
}
|
||||
}
|
||||
onPressAndHold: {
|
||||
contextMenu.popup();
|
||||
}
|
||||
|
||||
Menu {
|
||||
id: contextMenu
|
||||
Action {
|
||||
id: keyCodeAction
|
||||
checkable: true
|
||||
text: i18n("Key code mode")
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,253 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
|
||||
ColumnLayout {
|
||||
id: listOption
|
||||
property alias hovered: addButton.hovered
|
||||
property bool needsSave: false
|
||||
property variant properties
|
||||
property variant rawValue
|
||||
readonly property string subTypeName: typeName.substr(5)
|
||||
property string typeName
|
||||
|
||||
function getOption() {
|
||||
var option = {};
|
||||
option.isSection = false;
|
||||
option.type = subTypeName;
|
||||
option.properties = properties;
|
||||
option.defaultValue = "";
|
||||
option.name = [];
|
||||
return option;
|
||||
}
|
||||
function load(rawValue) {
|
||||
needsSave = (rawValue !== listOption.rawValue);
|
||||
if (listModel.count !== 0) {
|
||||
listModel.remove(0, listModel.count);
|
||||
}
|
||||
var i = 0;
|
||||
while (true) {
|
||||
if (!rawValue.hasOwnProperty(i.toString())) {
|
||||
break;
|
||||
}
|
||||
var value = rawValue[i.toString()];
|
||||
listModel.append({
|
||||
"value": value
|
||||
});
|
||||
i++;
|
||||
}
|
||||
}
|
||||
function prettify(value, subType) {
|
||||
if (subType == "Integer") {
|
||||
return value;
|
||||
} else if (subType == "String") {
|
||||
return value;
|
||||
} else if (subType == "Boolean") {
|
||||
return value == "True" ? i18n("Yes") : i18n("No");
|
||||
} else if (subType == "Key") {
|
||||
return kcm.localizedKeyString(value);
|
||||
} else if (subType == "Enum") {
|
||||
var i = 0;
|
||||
var enumMap = {};
|
||||
while (true) {
|
||||
if (!properties.Enum.hasOwnProperty(i.toString())) {
|
||||
break;
|
||||
}
|
||||
var enumString = properties.Enum[i.toString()];
|
||||
var text = enumString;
|
||||
if (properties.hasOwnProperty("EnumI18n") && properties.EnumI18n.hasOwnProperty(i.toString())) {
|
||||
text = properties.EnumI18n[i.toString()];
|
||||
}
|
||||
enumMap[enumString] = text;
|
||||
i++;
|
||||
}
|
||||
return enumMap[value];
|
||||
} else if (subType.startsWith("List|")) {
|
||||
var i = 0;
|
||||
subSubType = subType.substr(5);
|
||||
var strs = [];
|
||||
while (true) {
|
||||
if (!value.hasOwnProperty(i.toString())) {
|
||||
break;
|
||||
}
|
||||
var subValue = prettify(value[i.toString()]);
|
||||
strs.push(subValue);
|
||||
i++;
|
||||
}
|
||||
return i18n("[%1]", strs.join(" "));
|
||||
} else if (configPage.typeMap.hasOwnProperty(subType)) {
|
||||
for (var i = 0; i < configPage.typeMap[subTypeName].length; ++i) {
|
||||
var option = configPage.typeMap[subTypeName][i];
|
||||
if (option.name.length === 1 && option.name[0] === properties.ListDisplayOption) {
|
||||
return prettify(value[properties.ListDisplayOption], option.type);
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
function save() {
|
||||
var newRawValue = {};
|
||||
var j = 0;
|
||||
for (var i = 0; i < listModel.count; i++) {
|
||||
if (listModel.get(i).value !== "") {
|
||||
newRawValue[j.toString()] = listModel.get(i).value;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
rawValue = newRawValue;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
|
||||
Component {
|
||||
id: delegateComponent
|
||||
Kirigami.SwipeListItem {
|
||||
id: listItem
|
||||
RowLayout {
|
||||
Kirigami.ListItemDragHandle {
|
||||
listItem: listItem
|
||||
listView: optionView
|
||||
|
||||
onMoveRequested: {
|
||||
needsSave = true;
|
||||
listModel.move(oldIndex, newIndex, 1);
|
||||
}
|
||||
}
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
color: listItem.checked || (listItem.pressed && !listItem.checked && !listItem.sectionDelegate) ? listItem.activeTextColor : listItem.textColor
|
||||
height: Math.max(implicitHeight, Kirigami.Units.iconSizes.smallMedium)
|
||||
text: model !== null ? prettify(model.value, subTypeName) : ""
|
||||
}
|
||||
}
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
iconName: "document-edit"
|
||||
text: i18n("edit")
|
||||
|
||||
onTriggered: {
|
||||
sheet.edit(model.index);
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
iconName: "list-remove-symbolic"
|
||||
text: i18n("Remove")
|
||||
|
||||
onTriggered: {
|
||||
needsSave = true;
|
||||
listModel.remove(model.index);
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
ListModel {
|
||||
id: listModel
|
||||
}
|
||||
ScrollView {
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
Kirigami.Theme.inherit: false
|
||||
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
||||
implicitHeight: optionView.contentHeight
|
||||
implicitWidth: Kirigami.Units.gridUnit * 10
|
||||
|
||||
ListView {
|
||||
id: optionView
|
||||
model: listModel
|
||||
|
||||
delegate: Kirigami.DelegateRecycler {
|
||||
sourceComponent: delegateComponent
|
||||
width: optionView.width
|
||||
}
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
ToolButton {
|
||||
id: addButton
|
||||
icon.name: "list-add-symbolic"
|
||||
text: i18n("Add")
|
||||
|
||||
onClicked: {
|
||||
sheet.edit(listModel.count);
|
||||
}
|
||||
}
|
||||
}
|
||||
Kirigami.OverlaySheet {
|
||||
id: sheet
|
||||
property int editIndex: -1
|
||||
readonly property bool isSubConfig: configPage.typeMap.hasOwnProperty(subTypeName)
|
||||
|
||||
parent: configPage
|
||||
|
||||
function edit(index) {
|
||||
editIndex = index;
|
||||
if (editIndex < listModel.count) {
|
||||
if (isSubConfig) {
|
||||
item().setRawValue(listModel.get(sheet.editIndex).value);
|
||||
} else {
|
||||
item().load(listModel.get(sheet.editIndex).value);
|
||||
}
|
||||
} else {
|
||||
if (isSubConfig) {
|
||||
item().defaults();
|
||||
} else {
|
||||
item().load("");
|
||||
}
|
||||
}
|
||||
sheet.open();
|
||||
}
|
||||
function item() {
|
||||
return isSubConfig ? optionEditor.item : optionEditor.item.item;
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: optionEditor
|
||||
sourceComponent: sheet.isSubConfig ? group : option
|
||||
}
|
||||
|
||||
footer: DialogButtonBox {
|
||||
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
|
||||
|
||||
onAccepted: {
|
||||
sheet.item().save();
|
||||
// Add a new one.
|
||||
if (sheet.editIndex == listModel.count) {
|
||||
listModel.append({
|
||||
"value": sheet.item().rawValue
|
||||
});
|
||||
} else {
|
||||
listModel.get(sheet.editIndex).value = sheet.item().rawValue;
|
||||
}
|
||||
sheet.close();
|
||||
needsSave = true;
|
||||
}
|
||||
onRejected: sheet.close()
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: option
|
||||
OptionLoader {
|
||||
option: getOption()
|
||||
rawValue: ""
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: group
|
||||
ConfigGroup {
|
||||
rawValue: null
|
||||
typeMap: configPage.typeMap
|
||||
typeName: subTypeName
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
import "utils.js" as Utils
|
||||
|
||||
Loader {
|
||||
id: loader
|
||||
property variant option
|
||||
property variant rawValue
|
||||
|
||||
ToolTip.delay: Kirigami.Units.toolTipDelay
|
||||
ToolTip.text: option.properties && option.properties.hasOwnProperty("Tooltip") ? option.properties["Tooltip"] : ""
|
||||
ToolTip.visible: option.properties && option.properties.hasOwnProperty("Tooltip") && loader.item ? loader.item.hovered : false
|
||||
|
||||
function optionSource(data) {
|
||||
if (data.type == "Boolean") {
|
||||
return "BoolOption.qml";
|
||||
} else if (data.type == "Integer") {
|
||||
return "IntegerOption.qml";
|
||||
} else if (data.type == "Enum") {
|
||||
return "EnumOption.qml";
|
||||
} else if (data.type == "String") {
|
||||
if (data.properties.hasOwnProperty("Font") && data.properties.Font == "True") {
|
||||
return "FontOption.qml";
|
||||
} else if (data.properties.hasOwnProperty("IsEnum") && data.properties.IsEnum == "True") {
|
||||
return "EnumOption.qml";
|
||||
} else {
|
||||
return "StringOption.qml";
|
||||
}
|
||||
} else if (data.type == "List|Key") {
|
||||
return "KeyListOption.qml";
|
||||
} else if (data.type == "Key") {
|
||||
return "KeyOption.qml";
|
||||
} else if (data.type == "Color") {
|
||||
return "ColorOption.qml";
|
||||
} else if (data.type.startsWith("List|")) {
|
||||
return "ListOption.qml";
|
||||
} else if (data.type == "External") {
|
||||
return "ExternalOption.qml";
|
||||
} else {
|
||||
console.log(data.type + " Not supported");
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
if (!option.isSection) {
|
||||
var prop = {
|
||||
"name": option.name,
|
||||
"typeName": option.type,
|
||||
"description": option.description,
|
||||
"defaultValue": option.defaultValue,
|
||||
"properties": option.properties,
|
||||
"rawValue": rawValue
|
||||
};
|
||||
loader.setSource(optionSource(option), prop);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
Dialog {
|
||||
id: notSavedDialog
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
||||
focus: true
|
||||
modal: true
|
||||
standardButtons: Dialog.Ok
|
||||
title: i18n("Some config is not saved")
|
||||
x: (parent.width - width) / 2
|
||||
y: parent.height / 2 - height
|
||||
|
||||
Label {
|
||||
text: i18n("Current page is not yet saved. Please save the config first.")
|
||||
}
|
||||
|
||||
Overlay.modal: Rectangle {
|
||||
color: "#99000000"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
|
||||
Kirigami.OverlaySheet {
|
||||
id: selectLayoutSheet
|
||||
property string im: ""
|
||||
|
||||
function selectLayout(title, im, layout) {
|
||||
heading.text = title;
|
||||
languageComboBox.currentIndex = 0;
|
||||
selectLayoutSheet.im = im;
|
||||
var layoutIndex = kcm.layoutProvider.layoutIndex(layout);
|
||||
layoutComboBox.currentIndex = layoutIndex;
|
||||
var variantIndex = kcm.layoutProvider.variantIndex(layout);
|
||||
variantComboBox.currentIndex = variantIndex;
|
||||
open();
|
||||
}
|
||||
|
||||
Kirigami.FormLayout {
|
||||
implicitWidth: Kirigami.Units.gridUnit * 45
|
||||
|
||||
ComboBox {
|
||||
id: languageComboBox
|
||||
Kirigami.FormData.label: i18n("Language:")
|
||||
implicitWidth: Kirigami.Units.gridUnit * 15
|
||||
model: kcm.layoutProvider.languageModel
|
||||
textRole: "name"
|
||||
|
||||
onCurrentIndexChanged: {
|
||||
kcm.layoutProvider.layoutModel.language = model.language(currentIndex);
|
||||
layoutComboBox.currentIndex = 0;
|
||||
kcm.layoutProvider.setVariantInfo(kcm.layoutProvider.layoutModel.layoutInfo(layoutComboBox.currentIndex));
|
||||
variantComboBox.currentIndex = 0;
|
||||
}
|
||||
}
|
||||
ComboBox {
|
||||
id: layoutComboBox
|
||||
Kirigami.FormData.label: i18n("Layout:")
|
||||
implicitWidth: Kirigami.Units.gridUnit * 15
|
||||
model: kcm.layoutProvider.layoutModel
|
||||
textRole: "name"
|
||||
|
||||
onCurrentIndexChanged: {
|
||||
if (currentIndex < 0) {
|
||||
return;
|
||||
}
|
||||
kcm.layoutProvider.setVariantInfo(model.layoutInfo(currentIndex));
|
||||
variantComboBox.currentIndex = 0;
|
||||
}
|
||||
}
|
||||
ComboBox {
|
||||
id: variantComboBox
|
||||
Kirigami.FormData.label: i18n("Variant:")
|
||||
implicitWidth: Kirigami.Units.gridUnit * 15
|
||||
model: kcm.layoutProvider.variantModel
|
||||
textRole: "name"
|
||||
}
|
||||
}
|
||||
|
||||
footer: RowLayout {
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Button {
|
||||
text: i18n("Clear")
|
||||
visible: im !== ""
|
||||
|
||||
onClicked: {
|
||||
kcm.imConfig.setLayout(im, "");
|
||||
selectLayoutSheet.close();
|
||||
}
|
||||
}
|
||||
Button {
|
||||
text: i18n("Ok")
|
||||
|
||||
onClicked: {
|
||||
if (layoutComboBox.currentIndex >= 0 && variantComboBox.currentIndex >= 0) {
|
||||
var layout = kcm.layoutProvider.layout(layoutComboBox.currentIndex, variantComboBox.currentIndex);
|
||||
if (im.length === 0) {
|
||||
kcm.imConfig.defaultLayout = layout;
|
||||
if (kcm.imConfig.currentIMModel.count > 0 && "keyboard-%0".arg(layout) != kcm.imConfig.currentIMModel.imAt(0)) {
|
||||
layoutNotMatchWarning.visible = false;
|
||||
inputMethodNotMatchWarning.visible = true;
|
||||
}
|
||||
} else {
|
||||
kcm.imConfig.setLayout(im, layout);
|
||||
}
|
||||
selectLayoutSheet.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
header: Kirigami.Heading {
|
||||
id: heading
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
TextField {
|
||||
property bool needsSave: text !== rawValue
|
||||
property string rawValue
|
||||
|
||||
function load(rawValue) {
|
||||
text = rawValue;
|
||||
}
|
||||
function save() {
|
||||
rawValue = text;
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
load(rawValue);
|
||||
save();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,370 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import org.kde.kirigami 2.10 as Kirigami
|
||||
import org.kde.kcm 1.2 as KCM
|
||||
|
||||
KCM.ScrollViewKCM {
|
||||
id: root
|
||||
Kirigami.ColumnView.fillWidth: true
|
||||
implicitHeight: Kirigami.Units.gridUnit * 36
|
||||
implicitWidth: Kirigami.Units.gridUnit * 50
|
||||
|
||||
function checkInputMethod() {
|
||||
var firstIM = imList.model.imAt(0);
|
||||
inputMethodNotMatchWarning.visible = false;
|
||||
if (firstIM.startsWith("keyboard-")) {
|
||||
layoutNotMatchWarning.visible = (firstIM.substr(9) != kcm.imConfig.defaultLayout);
|
||||
} else {
|
||||
layoutNotMatchWarning.visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
SelectLayoutSheet {
|
||||
id: selectLayoutSheet
|
||||
parent: root
|
||||
}
|
||||
Component {
|
||||
id: delegateComponent
|
||||
Kirigami.SwipeListItem {
|
||||
id: listItem
|
||||
RowLayout {
|
||||
Kirigami.ListItemDragHandle {
|
||||
listItem: listItem
|
||||
listView: imList
|
||||
|
||||
onMoveRequested: {
|
||||
imList.model.move(oldIndex, newIndex, 1);
|
||||
checkInputMethod();
|
||||
}
|
||||
}
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
color: listItem.checked || (listItem.pressed && !listItem.checked && !listItem.sectionDelegate) ? listItem.activeTextColor : listItem.textColor
|
||||
height: Math.max(implicitHeight, Kirigami.Units.iconSizes.smallMedium)
|
||||
text: model !== null ? model.name : ""
|
||||
}
|
||||
}
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
iconName: "configure"
|
||||
text: i18n("Configure")
|
||||
visible: model !== null ? model.configurable : false
|
||||
|
||||
onTriggered: kcm.pushConfigPage(model.name, "fcitx://config/inputmethod/" + model.uniqueName)
|
||||
},
|
||||
Kirigami.Action {
|
||||
iconName: "input-keyboard"
|
||||
text: i18n("Select Layout")
|
||||
visible: model !== null ? !model.uniqueName.startsWith("keyboard-") : false
|
||||
|
||||
onTriggered: selectLayoutSheet.selectLayout(i18n("Select layout for %1", model.name), model.uniqueName, (model.layout !== "" ? model.layout : kcm.imConfig.defaultLayout))
|
||||
},
|
||||
Kirigami.Action {
|
||||
iconName: "list-remove-symbolic"
|
||||
text: i18n("Remove")
|
||||
|
||||
onTriggered: {
|
||||
imList.model.remove(model.index);
|
||||
checkInputMethod();
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Kirigami.OverlaySheet {
|
||||
id: addGroupSheet
|
||||
parent: root
|
||||
|
||||
Kirigami.FormLayout {
|
||||
implicitWidth: Kirigami.Units.gridUnit * 15
|
||||
|
||||
TextField {
|
||||
id: groupName
|
||||
Kirigami.FormData.label: i18n("Name:")
|
||||
placeholderText: i18n("Group Name")
|
||||
}
|
||||
}
|
||||
|
||||
footer: RowLayout {
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Button {
|
||||
text: i18n("Ok")
|
||||
|
||||
onClicked: {
|
||||
if (groupName.text.length) {
|
||||
kcm.imConfig.addGroup(groupName.text);
|
||||
addGroupSheet.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
header: Kirigami.Heading {
|
||||
text: i18n("Add Group")
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
property int oldIndex: 0
|
||||
|
||||
target: kcm
|
||||
|
||||
function onCurrentIndexChanged(idx) {
|
||||
if (idx < oldIndex) {
|
||||
while (kcm.depth > idx + 1) {
|
||||
var page = kcm.pageNeedsSave(kcm.depth - 1);
|
||||
if (page === null) {
|
||||
kcm.pop();
|
||||
} else {
|
||||
kcm.currentIndex = kcm.depth - 1;
|
||||
page.showWarning();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function onPagePushed() {
|
||||
oldIndex = kcm.depth;
|
||||
}
|
||||
}
|
||||
Dialog {
|
||||
id: confirmGroupChangeDialog
|
||||
property string nextGroup
|
||||
property string prevGroup
|
||||
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
||||
focus: true
|
||||
modal: true
|
||||
standardButtons: Dialog.Yes | Dialog.No
|
||||
title: i18n("Current group changed")
|
||||
x: (root.width - width) / 2
|
||||
y: root.height / 2 - height
|
||||
|
||||
onAccepted: {
|
||||
kcm.imConfig.currentGroup = nextGroup;
|
||||
}
|
||||
onRejected: {
|
||||
var groups = kcm.imConfig.groups;
|
||||
for (var i = 0; i < groups.length; i++) {
|
||||
if (groups[i] == prevGroup) {
|
||||
groupComboBox.currentIndex = i;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
text: i18n("Do you want to change group? Changes to current group will be lost!")
|
||||
}
|
||||
|
||||
Overlay.modal: Rectangle {
|
||||
color: "#99000000"
|
||||
}
|
||||
}
|
||||
|
||||
footer: ColumnLayout {
|
||||
RowLayout {
|
||||
Button {
|
||||
icon.name: "input-keyboard"
|
||||
text: i18n("Select system layout...")
|
||||
|
||||
onClicked: {
|
||||
selectLayoutSheet.selectLayout(i18n("Select system layout for group %1", groupComboBox.currentText), "", kcm.imConfig.defaultLayout);
|
||||
}
|
||||
|
||||
ToolTip {
|
||||
text: i18n("Select system keyboard layout...")
|
||||
visible: parent.hovered
|
||||
}
|
||||
}
|
||||
Label {
|
||||
text: kcm.layoutProvider.layoutDescription(kcm.imConfig.defaultLayout)
|
||||
}
|
||||
TextField {
|
||||
Layout.fillWidth: true
|
||||
placeholderText: i18n("Test Input")
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
enabled: kcm.availability
|
||||
|
||||
Button {
|
||||
icon.name: "configure"
|
||||
text: i18n("Configure global options...")
|
||||
|
||||
onClicked: kcm.pushConfigPage(i18n("Global Options"), "fcitx://config/global")
|
||||
}
|
||||
Button {
|
||||
icon.name: "configure"
|
||||
text: i18n("Configure addons...")
|
||||
|
||||
onClicked: kcm.push("AddonPage.qml")
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
Button {
|
||||
icon.name: "list-add-symbolic"
|
||||
text: i18n("Add Input Method...")
|
||||
|
||||
onClicked: kcm.push("AddIMPage.qml")
|
||||
}
|
||||
}
|
||||
}
|
||||
header: ColumnLayout {
|
||||
Kirigami.InlineMessage {
|
||||
id: fcitxNotAvailableWarning
|
||||
Layout.fillWidth: true
|
||||
text: i18n("Cannot connect to Fcitx by DBus, is Fcitx running?")
|
||||
type: Kirigami.MessageType.Warning
|
||||
visible: !kcm.availability
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
displayHint: Kirigami.Action.DisplayHint.KeepVisible
|
||||
iconName: "system-run"
|
||||
text: i18n("Run Fcitx")
|
||||
|
||||
onTriggered: {
|
||||
kcm.runFcitx();
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Kirigami.InlineMessage {
|
||||
id: fcitxNeedUpdateMessage
|
||||
Layout.fillWidth: true
|
||||
showCloseButton: true
|
||||
text: i18n("Found updates to fcitx installation. Do you want to check for newly installed input methods and addons? To update already loaded addons, fcitx would need to be restarted.")
|
||||
type: Kirigami.MessageType.Information
|
||||
visible: kcm.imConfig.needUpdate
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
displayHint: Kirigami.Action.DisplayHint.KeepVisible
|
||||
iconName: "update-none"
|
||||
text: i18n("Update")
|
||||
|
||||
onTriggered: {
|
||||
kcm.imConfig.refresh();
|
||||
}
|
||||
},
|
||||
Kirigami.Action {
|
||||
displayHint: Kirigami.Action.DisplayHint.KeepVisible
|
||||
iconName: "system-run"
|
||||
text: i18n("Restart")
|
||||
|
||||
onTriggered: {
|
||||
kcm.imConfig.restart();
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Kirigami.InlineMessage {
|
||||
id: layoutNotMatchWarning
|
||||
Layout.fillWidth: true
|
||||
showCloseButton: true
|
||||
text: i18n("Your currently configured input method does not match your layout, do you want to change the layout setting?")
|
||||
type: Kirigami.MessageType.Warning
|
||||
visible: false
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
text: i18n("Fix")
|
||||
|
||||
onTriggered: {
|
||||
kcm.fixLayout();
|
||||
layoutNotMatchWarning.visible = false;
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Kirigami.InlineMessage {
|
||||
id: inputMethodNotMatchWarning
|
||||
Layout.fillWidth: true
|
||||
showCloseButton: true
|
||||
text: i18n("Your currently configured input method does not match your selected layout, do you want to add the corresponding input method for the layout?")
|
||||
type: Kirigami.MessageType.Warning
|
||||
visible: false
|
||||
|
||||
actions: [
|
||||
Kirigami.Action {
|
||||
text: i18n("Fix")
|
||||
|
||||
onTriggered: {
|
||||
kcm.fixInputMethod();
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
RowLayout {
|
||||
enabled: kcm.availability
|
||||
|
||||
Label {
|
||||
text: i18n("Group:")
|
||||
}
|
||||
ComboBox {
|
||||
id: groupComboBox
|
||||
Layout.fillWidth: true
|
||||
model: kcm.imConfig.groups
|
||||
|
||||
onActivated: {
|
||||
if (kcm.imConfig.needSave && kcm.imConfig.currentGroup !== currentText && kcm.imConfig.currentGroup !== "") {
|
||||
confirmGroupChangeDialog.nextGroup = currentText;
|
||||
confirmGroupChangeDialog.prevGroup = kcm.imConfig.currentGroup;
|
||||
confirmGroupChangeDialog.open();
|
||||
} else {
|
||||
kcm.imConfig.currentGroup = currentText;
|
||||
}
|
||||
}
|
||||
}
|
||||
Button {
|
||||
icon.name: "list-add-symbolic"
|
||||
|
||||
onClicked: {
|
||||
groupName.text = "";
|
||||
addGroupSheet.open();
|
||||
}
|
||||
}
|
||||
Button {
|
||||
icon.name: "list-remove-symbolic"
|
||||
visible: kcm.imConfig.groups && kcm.imConfig.groups.length > 1
|
||||
|
||||
onClicked: {
|
||||
kcm.imConfig.deleteGroup(groupComboBox.currentText);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
view: ListView {
|
||||
id: imList
|
||||
enabled: kcm.availability
|
||||
model: kcm.imConfig.currentIMModel
|
||||
|
||||
section {
|
||||
property: "active"
|
||||
delegate: Kirigami.ListSectionHeader {
|
||||
text: section == "inactive" ? i18n("Input Method Off") : i18n("Input Method On")
|
||||
}
|
||||
}
|
||||
|
||||
delegate: Kirigami.DelegateRecycler {
|
||||
sourceComponent: delegateComponent
|
||||
width: imList.width
|
||||
}
|
||||
moveDisplaced: Transition {
|
||||
YAnimator {
|
||||
duration: Kirigami.Units.longDuration
|
||||
easing.type: Easing.InOutQuad
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
function getRawValue(rawValue, name) {
|
||||
if (name.length == 0) {
|
||||
return "";
|
||||
}
|
||||
if (rawValue === null) {
|
||||
return "";
|
||||
}
|
||||
for (var i = 0; i < name.length; i++) {
|
||||
if (rawValue.hasOwnProperty(name[i])) {
|
||||
rawValue = rawValue[name[i]];
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
return rawValue;
|
||||
}
|
||||
|
||||
function setRawValue(rawValue, name, value) {
|
||||
for (var i = 0; i < name.length; i++) {
|
||||
if (i + 1 == name.length) {
|
||||
rawValue[name[i]] = value;
|
||||
} else {
|
||||
if (!rawValue.hasOwnProperty(name[i])) {
|
||||
rawValue[name[i]] = {};
|
||||
}
|
||||
rawValue = rawValue[name[i]];
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
[Desktop Entry]
|
||||
Name=Input Method
|
||||
Comment=Configure Input Method
|
||||
|
||||
Icon=fcitx
|
||||
Type=Service
|
||||
X-KDE-PluginInfo-Author=Weng Xuetian
|
||||
X-KDE-PluginInfo-Email=fcitx-dev@googlegroups.com.
|
||||
X-KDE-PluginInfo-License=GPL
|
||||
X-KDE-PluginInfo-Name=kcm_fcitx5
|
||||
X-KDE-PluginInfo-Version=
|
||||
X-KDE-PluginInfo-Website=
|
||||
X-KDE-ServiceTypes=Plasma/Generic
|
||||
X-Plasma-API=declarativeappletscript
|
||||
|
||||
X-Plasma-MainScript=ui/main.qml
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2012~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#include "qtkeytrans.h"
|
||||
#include "qtkeytransdata.h"
|
||||
#include <QTextCodec>
|
||||
#include <ctype.h>
|
||||
#include <fcitx-utils/key.h>
|
||||
|
||||
#define _ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
|
||||
#define _ARRAY_END(a) (a + _ARRAY_SIZE(a))
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
bool qEventToSym(int key, Qt::KeyboardModifiers mod, const QString &text,
|
||||
int &outsym, unsigned int &outstate) {
|
||||
int sym = 0;
|
||||
fcitx::KeyStates state;
|
||||
do {
|
||||
if (text.length() <= 0)
|
||||
break;
|
||||
int uni = text[0].unicode();
|
||||
int *result =
|
||||
std::lower_bound(unicodeHasKey, _ARRAY_END(unicodeHasKey), uni);
|
||||
if (result != _ARRAY_END(unicodeHasKey) && *result == uni) {
|
||||
sym = *result + 0x1000000;
|
||||
break;
|
||||
}
|
||||
|
||||
Unicode2Key *keyMap =
|
||||
std::lower_bound(unicodeKeyMap, _ARRAY_END(unicodeKeyMap), uni);
|
||||
if (keyMap != _ARRAY_END(unicodeKeyMap) && keyMap->unicode == uni) {
|
||||
sym = keyMap->key;
|
||||
break;
|
||||
}
|
||||
} while (0);
|
||||
|
||||
do {
|
||||
if (sym)
|
||||
break;
|
||||
|
||||
QtCode2Key *result = nullptr;
|
||||
if (mod & Qt::KeypadModifier) {
|
||||
result = std::lower_bound(keyPadQtCodeToKey,
|
||||
_ARRAY_END(keyPadQtCodeToKey), key);
|
||||
if (result == _ARRAY_END(keyPadQtCodeToKey) ||
|
||||
result->qtcode != key)
|
||||
result = nullptr;
|
||||
} else {
|
||||
if (text.isEmpty() || !text[0].isPrint()) {
|
||||
result = std::lower_bound(qtCodeToKeyBackup,
|
||||
_ARRAY_END(qtCodeToKeyBackup), key);
|
||||
if (result == _ARRAY_END(qtCodeToKeyBackup) ||
|
||||
result->qtcode != key)
|
||||
result = nullptr;
|
||||
}
|
||||
if (!result) {
|
||||
result =
|
||||
std::lower_bound(qtCodeToKey, _ARRAY_END(qtCodeToKey), key);
|
||||
|
||||
if (result == _ARRAY_END(qtCodeToKey) || result->qtcode != key)
|
||||
result = nullptr;
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
result = std::lower_bound(keyPadQtCodeToKey,
|
||||
_ARRAY_END(keyPadQtCodeToKey), key);
|
||||
if (result == _ARRAY_END(keyPadQtCodeToKey) ||
|
||||
result->qtcode != key)
|
||||
result = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
if (result)
|
||||
sym = result->key;
|
||||
|
||||
} while (0);
|
||||
|
||||
state = fcitx::KeyState::NoState;
|
||||
|
||||
if (mod & Qt::CTRL)
|
||||
state |= fcitx::KeyState::Ctrl;
|
||||
|
||||
if (mod & Qt::ALT)
|
||||
state |= fcitx::KeyState::Alt;
|
||||
|
||||
if (mod & Qt::SHIFT)
|
||||
state |= fcitx::KeyState::Shift;
|
||||
|
||||
if (mod & Qt::META)
|
||||
state |= fcitx::KeyState::Super;
|
||||
|
||||
outsym = sym;
|
||||
outstate = state;
|
||||
|
||||
return (outsym > 0);
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2012~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef _WIDGETSADDONS_QTKEYTRANS_H_
|
||||
#define _WIDGETSADDONS_QTKEYTRANS_H_
|
||||
|
||||
#include <qnamespace.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
bool qEventToSym(int key, Qt::KeyboardModifiers mod, const QString &text,
|
||||
int &outsym, unsigned int &outstate);
|
||||
}
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _WIDGETSADDONS_QTKEYTRANS_H_
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
add_subdirectory(configlib)
|
||||
|
||||
if (ENABLE_CONFIG_QT)
|
||||
add_subdirectory(configwidgetslib)
|
||||
endif()
|
|
@ -0,0 +1,20 @@
|
|||
add_library(configlib STATIC
|
||||
iso639.cpp
|
||||
dbusprovider.cpp
|
||||
model.cpp
|
||||
addonmodel.cpp
|
||||
imconfig.cpp
|
||||
logging.cpp
|
||||
font.cpp
|
||||
layoutmodel.cpp
|
||||
layoutprovider.cpp
|
||||
)
|
||||
set_target_properties(configlib PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE TRUE
|
||||
AUTOMOC TRUE
|
||||
AUTOUIC TRUE
|
||||
AUTOUIC_OPTIONS "-tr=fcitx::tr2fcitx;--include=fcitxqti18nhelper.h"
|
||||
)
|
||||
target_include_directories(configlib INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
target_link_libraries(configlib Qt5::Core Qt5::Gui Fcitx5Qt5::DBusAddons Fcitx5::Core Fcitx5::Utils)
|
||||
|
|
@ -0,0 +1,357 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "addonmodel.h"
|
||||
#include <QCollator>
|
||||
#include <QDebug>
|
||||
#include <fcitx-utils/i18n.h>
|
||||
#include <fcitx/addoninfo.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
namespace {
|
||||
|
||||
QString categoryName(int category) {
|
||||
if (category >= 5 || category < 0) {
|
||||
return QString();
|
||||
}
|
||||
|
||||
const char *str[] = {N_("Input Method"), N_("Frontend"), N_("Loader"),
|
||||
N_("Module"), N_("UI")};
|
||||
|
||||
return _(str[category]);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
AddonModel::AddonModel(QObject *parent) : CategorizedItemModel(parent) {}
|
||||
|
||||
QVariant AddonModel::dataForCategory(const QModelIndex &index, int role) const {
|
||||
switch (role) {
|
||||
|
||||
case Qt::DisplayRole:
|
||||
return categoryName(addonEntryList_[index.row()].first);
|
||||
|
||||
case CategoryRole:
|
||||
return addonEntryList_[index.row()].first;
|
||||
|
||||
case RowTypeRole:
|
||||
return CategoryType;
|
||||
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
QVariant AddonModel::dataForItem(const QModelIndex &index, int role) const {
|
||||
const auto &addonList = addonEntryList_[index.parent().row()].second;
|
||||
const auto &addon = addonList[index.row()];
|
||||
|
||||
switch (role) {
|
||||
|
||||
case Qt::DisplayRole:
|
||||
return addon.name();
|
||||
|
||||
case CommentRole:
|
||||
return addon.comment();
|
||||
|
||||
case ConfigurableRole:
|
||||
return addon.configurable();
|
||||
|
||||
case AddonNameRole:
|
||||
return addon.uniqueName();
|
||||
|
||||
case CategoryRole:
|
||||
return addon.category();
|
||||
|
||||
case Qt::CheckStateRole:
|
||||
if (disabledList_.contains(addon.uniqueName())) {
|
||||
return false;
|
||||
} else if (enabledList_.contains(addon.uniqueName())) {
|
||||
return true;
|
||||
}
|
||||
return addon.enabled();
|
||||
|
||||
case RowTypeRole:
|
||||
return AddonType;
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
bool AddonModel::setData(const QModelIndex &index, const QVariant &value,
|
||||
int role) {
|
||||
if (!index.isValid() || !index.parent().isValid() ||
|
||||
index.parent().row() >= addonEntryList_.size() ||
|
||||
index.parent().column() > 0 || index.column() > 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const auto &addonList = addonEntryList_[index.parent().row()].second;
|
||||
|
||||
if (index.row() >= addonList.size()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ret = false;
|
||||
|
||||
auto &item = addonList[index.row()];
|
||||
if (role == Qt::CheckStateRole) {
|
||||
auto oldData = data(index, role).toBool();
|
||||
auto enabled = value.toBool();
|
||||
if (item.enabled() == enabled) {
|
||||
enabledList_.remove(item.uniqueName());
|
||||
disabledList_.remove(item.uniqueName());
|
||||
} else if (enabled) {
|
||||
enabledList_.insert(item.uniqueName());
|
||||
disabledList_.remove(item.uniqueName());
|
||||
} else {
|
||||
enabledList_.remove(item.uniqueName());
|
||||
disabledList_.insert(item.uniqueName());
|
||||
}
|
||||
auto newData = data(index, role).toBool();
|
||||
ret = oldData != newData;
|
||||
|
||||
if (ret) {
|
||||
Q_EMIT dataChanged(index, index);
|
||||
Q_EMIT changed(item.uniqueName(), newData);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
QModelIndex AddonModel::findAddon(const QString &addon) const {
|
||||
for (int i = 0; i < addonEntryList_.size(); i++) {
|
||||
for (int j = 0; j < addonEntryList_[i].second.size(); j++) {
|
||||
const auto &addonList = addonEntryList_[i].second;
|
||||
if (addonList[j].uniqueName() == addon) {
|
||||
return index(j, 0, index(i, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
return QModelIndex();
|
||||
}
|
||||
|
||||
FlatAddonModel::FlatAddonModel(QObject *parent) : QAbstractListModel(parent) {}
|
||||
|
||||
bool FlatAddonModel::setData(const QModelIndex &index, const QVariant &value,
|
||||
int role) {
|
||||
if (!index.isValid() || index.row() >= addonEntryList_.size() ||
|
||||
index.column() > 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ret = false;
|
||||
|
||||
if (role == Qt::CheckStateRole) {
|
||||
auto oldData = data(index, role).toBool();
|
||||
auto &item = addonEntryList_[index.row()];
|
||||
auto enabled = value.toBool();
|
||||
if (item.enabled() == enabled) {
|
||||
enabledList_.remove(item.uniqueName());
|
||||
disabledList_.remove(item.uniqueName());
|
||||
} else if (enabled) {
|
||||
enabledList_.insert(item.uniqueName());
|
||||
disabledList_.remove(item.uniqueName());
|
||||
} else {
|
||||
enabledList_.remove(item.uniqueName());
|
||||
disabledList_.insert(item.uniqueName());
|
||||
}
|
||||
auto newData = data(index, role).toBool();
|
||||
ret = oldData != newData;
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
Q_EMIT dataChanged(index, index);
|
||||
Q_EMIT changed();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
QVariant FlatAddonModel::data(const QModelIndex &index, int role) const {
|
||||
if (!index.isValid() || index.row() >= addonEntryList_.size()) {
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
const auto &addon = addonEntryList_.at(index.row());
|
||||
|
||||
switch (role) {
|
||||
|
||||
case Qt::DisplayRole:
|
||||
return addon.name();
|
||||
|
||||
case CommentRole:
|
||||
return addon.comment();
|
||||
|
||||
case ConfigurableRole:
|
||||
return addon.configurable();
|
||||
|
||||
case AddonNameRole:
|
||||
return addon.uniqueName();
|
||||
|
||||
case CategoryRole:
|
||||
return addon.category();
|
||||
|
||||
case CategoryNameRole:
|
||||
return categoryName(addon.category());
|
||||
|
||||
case DependenciesRole:
|
||||
return reverseDependencies_.value(addon.uniqueName());
|
||||
;
|
||||
|
||||
case OptDependenciesRole:
|
||||
return reverseOptionalDependencies_.value(addon.uniqueName());
|
||||
|
||||
case Qt::CheckStateRole:
|
||||
if (disabledList_.contains(addon.uniqueName())) {
|
||||
return false;
|
||||
} else if (enabledList_.contains(addon.uniqueName())) {
|
||||
return true;
|
||||
}
|
||||
return addon.enabled();
|
||||
|
||||
case RowTypeRole:
|
||||
return AddonType;
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
int FlatAddonModel::rowCount(const QModelIndex &parent) const {
|
||||
if (parent.isValid()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return addonEntryList_.count();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> FlatAddonModel::roleNames() const {
|
||||
return {{Qt::DisplayRole, "name"},
|
||||
{CommentRole, "comment"},
|
||||
{ConfigurableRole, "configurable"},
|
||||
{AddonNameRole, "uniqueName"},
|
||||
{CategoryRole, "category"},
|
||||
{CategoryNameRole, "categoryName"},
|
||||
{Qt::CheckStateRole, "enabled"},
|
||||
{DependenciesRole, "dependencies"},
|
||||
{OptDependenciesRole, "optionalDependencies"}};
|
||||
}
|
||||
|
||||
void FlatAddonModel::setAddons(const fcitx::FcitxQtAddonInfoV2List &list) {
|
||||
beginResetModel();
|
||||
addonEntryList_ = list;
|
||||
nameToAddonMap_.clear();
|
||||
reverseDependencies_.clear();
|
||||
reverseOptionalDependencies_.clear();
|
||||
for (const auto &addon : list) {
|
||||
nameToAddonMap_[addon.uniqueName()] = addon;
|
||||
}
|
||||
for (const auto &addon : list) {
|
||||
for (const auto &dep : addon.dependencies()) {
|
||||
if (!nameToAddonMap_.contains(dep)) {
|
||||
continue;
|
||||
}
|
||||
reverseDependencies_[dep].append(addon.uniqueName());
|
||||
}
|
||||
for (const auto &dep : addon.optionalDependencies()) {
|
||||
if (!nameToAddonMap_.contains(dep)) {
|
||||
continue;
|
||||
}
|
||||
reverseOptionalDependencies_[dep].append(addon.uniqueName());
|
||||
}
|
||||
}
|
||||
enabledList_.clear();
|
||||
disabledList_.clear();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void FlatAddonModel::enable(const QString &addon) {
|
||||
for (int i = 0; i < addonEntryList_.size(); i++) {
|
||||
if (addonEntryList_[i].uniqueName() == addon) {
|
||||
setData(index(i, 0), true, Qt::CheckStateRole);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool AddonProxyModel::filterAcceptsRow(int sourceRow,
|
||||
const QModelIndex &sourceParent) const {
|
||||
Q_UNUSED(sourceParent)
|
||||
const QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
|
||||
|
||||
if (index.data(RowTypeRole) == CategoryType) {
|
||||
return filterCategory(index);
|
||||
}
|
||||
|
||||
return filterAddon(index);
|
||||
}
|
||||
|
||||
bool AddonProxyModel::filterCategory(const QModelIndex &index) const {
|
||||
int childCount = index.model()->rowCount(index);
|
||||
if (childCount == 0)
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < childCount; ++i) {
|
||||
if (filterAddon(index.model()->index(i, 0, index))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AddonProxyModel::filterAddon(const QModelIndex &index) const {
|
||||
auto name = index.data(Qt::DisplayRole).toString();
|
||||
auto uniqueName = index.data(AddonNameRole).toString();
|
||||
auto comment = index.data(CommentRole).toString();
|
||||
|
||||
if (!filterText_.isEmpty()) {
|
||||
return name.contains(filterText_, Qt::CaseInsensitive) ||
|
||||
uniqueName.contains(filterText_, Qt::CaseInsensitive) ||
|
||||
comment.contains(filterText_, Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool AddonProxyModel::lessThan(const QModelIndex &left,
|
||||
const QModelIndex &right) const {
|
||||
|
||||
int lhs = left.data(CategoryRole).toInt();
|
||||
int rhs = right.data(CategoryRole).toInt();
|
||||
// Reorder the addon category.
|
||||
// UI and module are more common, because input method config is accessible
|
||||
// in the main page.
|
||||
static const QMap<int, int> category = {
|
||||
{static_cast<int>(AddonCategory::UI), 0},
|
||||
{static_cast<int>(AddonCategory::Module), 1},
|
||||
{static_cast<int>(AddonCategory::InputMethod), 2},
|
||||
{static_cast<int>(AddonCategory::Frontend), 3},
|
||||
{static_cast<int>(AddonCategory::Loader), 4},
|
||||
};
|
||||
|
||||
int lvalue = category.value(lhs, category.size());
|
||||
int rvalue = category.value(rhs, category.size());
|
||||
int result = lvalue - rvalue;
|
||||
|
||||
if (result < 0) {
|
||||
return true;
|
||||
} else if (result > 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
QString l = left.data(Qt::DisplayRole).toString();
|
||||
QString r = right.data(Qt::DisplayRole).toString();
|
||||
return QCollator().compare(l, r) < 0;
|
||||
}
|
||||
|
||||
void AddonProxyModel::setFilterText(const QString &text) {
|
||||
if (filterText_ != text) {
|
||||
filterText_ = text;
|
||||
invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,159 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _CONFIGLIB_ADDONMODEL_H_
|
||||
#define _CONFIGLIB_ADDONMODEL_H_
|
||||
|
||||
#include "model.h"
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
enum ExtraRoles {
|
||||
CommentRole = 0x19880209,
|
||||
ConfigurableRole,
|
||||
AddonNameRole,
|
||||
RowTypeRole,
|
||||
CategoryRole,
|
||||
CategoryNameRole,
|
||||
DependenciesRole,
|
||||
OptDependenciesRole,
|
||||
};
|
||||
|
||||
enum RowType {
|
||||
CategoryType,
|
||||
AddonType,
|
||||
};
|
||||
|
||||
class AddonModel : public CategorizedItemModel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit AddonModel(QObject *parent);
|
||||
bool setData(const QModelIndex &index, const QVariant &value,
|
||||
int role = Qt::EditRole) override;
|
||||
QModelIndex findAddon(const QString &addon) const;
|
||||
|
||||
void setAddons(const FcitxQtAddonInfoV2List &list) {
|
||||
beginResetModel();
|
||||
|
||||
addonEntryList_.clear();
|
||||
QMap<int, int> addonCategoryMap;
|
||||
for (const FcitxQtAddonInfoV2 &addon : list) {
|
||||
int idx;
|
||||
if (!addonCategoryMap.contains(addon.category())) {
|
||||
idx = addonEntryList_.count();
|
||||
addonCategoryMap[addon.category()] = idx;
|
||||
addonEntryList_.append(QPair<int, FcitxQtAddonInfoV2List>(
|
||||
addon.category(), FcitxQtAddonInfoV2List()));
|
||||
} else {
|
||||
idx = addonCategoryMap[addon.category()];
|
||||
}
|
||||
addonEntryList_[idx].second.append(addon);
|
||||
}
|
||||
enabledList_.clear();
|
||||
disabledList_.clear();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
const auto &enabledList() const { return enabledList_; }
|
||||
const auto &disabledList() const { return disabledList_; }
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed(const QString &addon, bool enabled);
|
||||
|
||||
protected:
|
||||
int listSize() const override { return addonEntryList_.size(); }
|
||||
int subListSize(int idx) const override {
|
||||
return addonEntryList_[idx].second.size();
|
||||
}
|
||||
QVariant dataForItem(const QModelIndex &index, int role) const override;
|
||||
QVariant dataForCategory(const QModelIndex &index, int role) const override;
|
||||
|
||||
private:
|
||||
QSet<QString> enabledList_;
|
||||
QSet<QString> disabledList_;
|
||||
QList<QPair<int, FcitxQtAddonInfoV2List>> addonEntryList_;
|
||||
};
|
||||
|
||||
class FlatAddonModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit FlatAddonModel(QObject *parent);
|
||||
QVariant data(const QModelIndex &index,
|
||||
int role = Qt::DisplayRole) const override;
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
bool setData(const QModelIndex &index, const QVariant &value,
|
||||
int role = Qt::EditRole) override;
|
||||
|
||||
void setAddons(const FcitxQtAddonInfoV2List &list);
|
||||
|
||||
const auto &enabledList() const { return enabledList_; }
|
||||
const auto &disabledList() const { return disabledList_; }
|
||||
|
||||
Q_INVOKABLE QString addonName(const QString &uniqueName) {
|
||||
if (auto iter = nameToAddonMap_.find(uniqueName);
|
||||
iter != nameToAddonMap_.end()) {
|
||||
return iter->name();
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Q_INVOKABLE void enable(const QString &addon);
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed();
|
||||
|
||||
private:
|
||||
QSet<QString> enabledList_;
|
||||
QSet<QString> disabledList_;
|
||||
FcitxQtAddonInfoV2List addonEntryList_;
|
||||
QMap<QString, FcitxQtAddonInfoV2> nameToAddonMap_;
|
||||
QMap<QString, QStringList> reverseDependencies_;
|
||||
QMap<QString, QStringList> reverseOptionalDependencies_;
|
||||
};
|
||||
|
||||
class AddonProxyModel : public QSortFilterProxyModel {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString filterText READ filterText WRITE setFilterText);
|
||||
|
||||
public:
|
||||
explicit AddonProxyModel(QObject *parent) : QSortFilterProxyModel(parent) {
|
||||
setDynamicSortFilter(true);
|
||||
setRecursiveFilteringEnabled(true);
|
||||
sort(0);
|
||||
}
|
||||
|
||||
// Forward role names.
|
||||
QHash<int, QByteArray> roleNames() const override {
|
||||
if (sourceModel()) {
|
||||
return sourceModel()->roleNames();
|
||||
}
|
||||
return QSortFilterProxyModel::roleNames();
|
||||
}
|
||||
|
||||
const QString &filterText() const { return filterText_; }
|
||||
void setFilterText(const QString &text);
|
||||
|
||||
protected:
|
||||
bool filterAcceptsRow(int source_row,
|
||||
const QModelIndex &source_parent) const override;
|
||||
bool lessThan(const QModelIndex &left,
|
||||
const QModelIndex &right) const override;
|
||||
|
||||
private:
|
||||
bool filterCategory(const QModelIndex &index) const;
|
||||
bool filterAddon(const QModelIndex &index) const;
|
||||
QString filterText_;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _CONFIGLIB_ADDONMODEL_H_
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "dbusprovider.h"
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
DBusProvider::DBusProvider(QObject *parent)
|
||||
: QObject(parent),
|
||||
watcher_(new FcitxQtWatcher(QDBusConnection::sessionBus(), this)) {
|
||||
registerFcitxQtDBusTypes();
|
||||
connect(watcher_, &FcitxQtWatcher::availabilityChanged, this,
|
||||
&DBusProvider::fcitxAvailabilityChanged);
|
||||
watcher_->watch();
|
||||
}
|
||||
|
||||
DBusProvider::~DBusProvider() { watcher_->unwatch(); }
|
||||
|
||||
void DBusProvider::fcitxAvailabilityChanged(bool avail) {
|
||||
delete controller_;
|
||||
controller_ = nullptr;
|
||||
|
||||
if (avail) {
|
||||
controller_ =
|
||||
new FcitxQtControllerProxy(watcher_->serviceName(), "/controller",
|
||||
watcher_->connection(), this);
|
||||
controller_->setTimeout(3000);
|
||||
}
|
||||
|
||||
Q_EMIT availabilityChanged(controller_);
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _DBUSPROVIDER_H_
|
||||
#define _DBUSPROVIDER_H_
|
||||
|
||||
#include <QObject>
|
||||
#include <fcitxqtcontrollerproxy.h>
|
||||
#include <fcitxqtwatcher.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
class DBusProvider : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DBusProvider(QObject *parent);
|
||||
~DBusProvider();
|
||||
|
||||
bool available() const { return controller_; }
|
||||
FcitxQtControllerProxy *controller() { return controller_; }
|
||||
|
||||
Q_SIGNALS:
|
||||
void availabilityChanged(bool avail);
|
||||
|
||||
private Q_SLOTS:
|
||||
void fcitxAvailabilityChanged(bool avail);
|
||||
|
||||
private:
|
||||
FcitxQtWatcher *watcher_;
|
||||
FcitxQtControllerProxy *controller_ = nullptr;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _DBUSPROVIDER_H_
|
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "font.h"
|
||||
#include <QMap>
|
||||
#include <fcitx-utils/stringutils.h>
|
||||
|
||||
QFont fcitx::kcm::parseFont(const QString &string) {
|
||||
auto result = stringutils::split(string.toStdString(), " ",
|
||||
stringutils::SplitBehavior::SkipEmpty);
|
||||
QStringList list;
|
||||
for (const auto &token : result) {
|
||||
list << QString::fromStdString(token);
|
||||
}
|
||||
int size = 9; // Default size.
|
||||
if (!list.empty()) {
|
||||
bool ok = false;
|
||||
auto fontSize = list.back().toInt(&ok);
|
||||
if (ok) {
|
||||
if (fontSize > 0) {
|
||||
size = fontSize;
|
||||
}
|
||||
list.pop_back();
|
||||
}
|
||||
}
|
||||
|
||||
QFont::Style style = QFont::StyleNormal;
|
||||
int weight = QFont::Normal;
|
||||
const QMap<QString, int> strToWeight = {
|
||||
{"Thin", QFont::Thin},
|
||||
{"Ultra-Light", QFont::Thin},
|
||||
{"Extra-Light", QFont::ExtraLight},
|
||||
{"Light", QFont::Light},
|
||||
{"Semi-Light", QFont::Light},
|
||||
{"Demi-Light", QFont::Light},
|
||||
{"Book", QFont::Light},
|
||||
{"Regular", QFont::Normal},
|
||||
{"Medium", QFont::Medium},
|
||||
{"Semi-Bold", QFont::Medium},
|
||||
{"Demi-Bold", QFont::DemiBold},
|
||||
{"Bold", QFont::Bold},
|
||||
{"Ultra-Bold", QFont::Bold},
|
||||
{"Extra-Bold", QFont::ExtraBold},
|
||||
{"Black", QFont::Black},
|
||||
{"Ultra-Black", QFont::Black},
|
||||
{"Extra-Black", QFont::Black},
|
||||
};
|
||||
const QMap<QString, QFont::Style> strToStyle = {
|
||||
{"Italic", QFont::StyleItalic}, {"Oblique", QFont::StyleOblique}};
|
||||
while (!list.empty()) {
|
||||
if (strToWeight.contains(list.back())) {
|
||||
weight = strToWeight.value(list.back(), QFont::Normal);
|
||||
list.pop_back();
|
||||
} else if (strToStyle.contains(list.back())) {
|
||||
style = strToStyle.value(list.back(), QFont::StyleNormal);
|
||||
list.pop_back();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
QString family = list.join(" ");
|
||||
QFont font;
|
||||
font.setFamily(family);
|
||||
font.setWeight(weight);
|
||||
font.setStyle(style);
|
||||
font.setPointSize(size);
|
||||
return font;
|
||||
}
|
||||
|
||||
QString fcitx::kcm::fontToString(const QFont &font) {
|
||||
QString style;
|
||||
QStringList styles;
|
||||
switch (font.style()) {
|
||||
case QFont::StyleItalic:
|
||||
styles << "Italic";
|
||||
break;
|
||||
case QFont::StyleOblique:
|
||||
styles << "Oblique";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#define CASE_WEIGHT(WEIGHT, WEIGHT_STR) \
|
||||
case QFont::WEIGHT: \
|
||||
styles << WEIGHT_STR; \
|
||||
break;
|
||||
// Use the string accepted by pango.
|
||||
switch (font.weight()) {
|
||||
CASE_WEIGHT(Thin, "Thin")
|
||||
CASE_WEIGHT(ExtraLight, "Extra-Light")
|
||||
CASE_WEIGHT(Light, "Light")
|
||||
CASE_WEIGHT(Medium, "Medium")
|
||||
CASE_WEIGHT(DemiBold, "Demi-Bold")
|
||||
CASE_WEIGHT(Bold, "Bold")
|
||||
CASE_WEIGHT(ExtraBold, "Extra-Bold")
|
||||
CASE_WEIGHT(Black, "Black")
|
||||
default:
|
||||
break;
|
||||
}
|
||||
style = styles.join(" ");
|
||||
return QString("%1%2%3 %4")
|
||||
.arg(font.family(), (!style.isEmpty() ? " " : ""), style,
|
||||
QString::number(font.pointSize()));
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _CONFIGLIB_FONT_H_
|
||||
#define _CONFIGLIB_FONT_H_
|
||||
|
||||
#include <QFont>
|
||||
#include <QString>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
QFont parseFont(const QString &str);
|
||||
QString fontToString(const QFont &font);
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _CONFIGLIB_FONT_H_
|
|
@ -0,0 +1,249 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "imconfig.h"
|
||||
#include "dbusprovider.h"
|
||||
#include "model.h"
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
IMConfig::IMConfig(DBusProvider *dbus, ModelMode mode, QObject *parent)
|
||||
: QObject(parent), dbus_(dbus), availIMModel_(new IMProxyModel(this)),
|
||||
currentIMModel_(new FilteredIMModel(FilteredIMModel::CurrentIM, this)) {
|
||||
connect(dbus, &DBusProvider::availabilityChanged, this,
|
||||
&IMConfig::availabilityChanged);
|
||||
availabilityChanged();
|
||||
|
||||
if (mode == Flatten) {
|
||||
auto flattenAvailIMModel =
|
||||
new FilteredIMModel(FilteredIMModel::AvailIM, this);
|
||||
availIMModel_->setSourceModel(flattenAvailIMModel);
|
||||
internalAvailIMModel_ = flattenAvailIMModel;
|
||||
} else {
|
||||
auto availIMModel = new AvailIMModel(this);
|
||||
availIMModel_->setSourceModel(availIMModel);
|
||||
internalAvailIMModel_ = availIMModel;
|
||||
}
|
||||
|
||||
connect(currentIMModel_, &FilteredIMModel::imListChanged, this,
|
||||
[this](const FcitxQtInputMethodEntryList &list) {
|
||||
auto old = imEntries_;
|
||||
FcitxQtStringKeyValueList newEntries;
|
||||
for (const auto &item : list) {
|
||||
auto iter = std::find_if(
|
||||
old.begin(), old.end(),
|
||||
[&item](const FcitxQtStringKeyValue &entry) {
|
||||
return entry.key() == item.uniqueName();
|
||||
});
|
||||
if (iter != old.end()) {
|
||||
newEntries.push_back(*iter);
|
||||
}
|
||||
}
|
||||
imEntries_ = newEntries;
|
||||
updateIMList(true);
|
||||
emitChanged();
|
||||
});
|
||||
}
|
||||
|
||||
IMConfig::~IMConfig() {}
|
||||
|
||||
void IMConfig::save() {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
if (needSave_) {
|
||||
dbus_->controller()->SetInputMethodGroupInfo(lastGroup_, defaultLayout_,
|
||||
imEntries_);
|
||||
needSave_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
void IMConfig::load() { availabilityChanged(); }
|
||||
|
||||
void IMConfig::defaults() {}
|
||||
|
||||
void IMConfig::addIM(int idx) {
|
||||
auto index = availIMModel_->index(idx, 0);
|
||||
addIM(index);
|
||||
}
|
||||
|
||||
void IMConfig::addIM(const QModelIndex &index) {
|
||||
if (!index.isValid()) {
|
||||
return;
|
||||
}
|
||||
auto uniqueName = index.data(FcitxIMUniqueNameRole).toString();
|
||||
FcitxQtStringKeyValue imEntry;
|
||||
imEntry.setKey(uniqueName);
|
||||
imEntries_.push_back(imEntry);
|
||||
updateIMList();
|
||||
emitChanged();
|
||||
}
|
||||
|
||||
void IMConfig::removeIM(int idx) { currentIMModel_->remove(idx); }
|
||||
|
||||
void IMConfig::removeIM(const QModelIndex &index) {
|
||||
currentIMModel_->remove(index.row());
|
||||
}
|
||||
|
||||
void IMConfig::move(int from, int to) { currentIMModel_->move(from, to); }
|
||||
|
||||
void IMConfig::reloadGroup() {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
auto call = dbus_->controller()->InputMethodGroups();
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
[this](QDBusPendingCallWatcher *watcher) {
|
||||
fetchGroupsFinished(watcher);
|
||||
});
|
||||
}
|
||||
|
||||
void IMConfig::fetchGroupsFinished(QDBusPendingCallWatcher *watcher) {
|
||||
QDBusPendingReply<QStringList> groups = *watcher;
|
||||
watcher->deleteLater();
|
||||
|
||||
if (groups.isValid()) {
|
||||
groups_ = groups.value();
|
||||
Q_EMIT groupsChanged(groups_);
|
||||
}
|
||||
|
||||
if (!groups_.empty()) {
|
||||
setCurrentGroup(groups_.front());
|
||||
}
|
||||
}
|
||||
|
||||
void IMConfig::availabilityChanged() {
|
||||
lastGroup_.clear();
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
reloadGroup();
|
||||
auto imcall = dbus_->controller()->AvailableInputMethods();
|
||||
auto imcallwatcher = new QDBusPendingCallWatcher(imcall, this);
|
||||
connect(imcallwatcher, &QDBusPendingCallWatcher::finished, this,
|
||||
&IMConfig::fetchInputMethodsFinished);
|
||||
auto checkUpdate = dbus_->controller()->CheckUpdate();
|
||||
auto checkUpdateWatcher = new QDBusPendingCallWatcher(checkUpdate, this);
|
||||
connect(checkUpdateWatcher, &QDBusPendingCallWatcher::finished, this,
|
||||
&IMConfig::checkUpdateFinished);
|
||||
}
|
||||
|
||||
void IMConfig::fetchInputMethodsFinished(QDBusPendingCallWatcher *watcher) {
|
||||
QDBusPendingReply<FcitxQtInputMethodEntryList> ims = *watcher;
|
||||
watcher->deleteLater();
|
||||
if (!ims.isError()) {
|
||||
allIMs_ = ims.value();
|
||||
updateIMList();
|
||||
}
|
||||
}
|
||||
|
||||
void IMConfig::checkUpdateFinished(QDBusPendingCallWatcher *watcher) {
|
||||
QDBusPendingReply<bool> reply = *watcher;
|
||||
watcher->deleteLater();
|
||||
const bool needUpdate = !reply.isError() && reply.value();
|
||||
if (needUpdate_ != needUpdate) {
|
||||
needUpdate_ = needUpdate;
|
||||
Q_EMIT needUpdateChanged(needUpdate_);
|
||||
}
|
||||
}
|
||||
|
||||
void IMConfig::setCurrentGroup(const QString &name) {
|
||||
if (dbus_->available() && !name.isEmpty()) {
|
||||
auto call = dbus_->controller()->InputMethodGroupInfo(name);
|
||||
lastGroup_ = name;
|
||||
Q_EMIT currentGroupChanged(lastGroup_);
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
&IMConfig::fetchGroupInfoFinished);
|
||||
}
|
||||
}
|
||||
|
||||
void IMConfig::fetchGroupInfoFinished(QDBusPendingCallWatcher *watcher) {
|
||||
watcher->deleteLater();
|
||||
needSave_ = false;
|
||||
QDBusPendingReply<QString, FcitxQtStringKeyValueList> reply = *watcher;
|
||||
if (!reply.isError()) {
|
||||
defaultLayout_ = reply.argumentAt<0>();
|
||||
imEntries_ = reply.argumentAt<1>();
|
||||
} else {
|
||||
defaultLayout_.clear();
|
||||
imEntries_.clear();
|
||||
}
|
||||
Q_EMIT defaultLayoutChanged();
|
||||
|
||||
updateIMList();
|
||||
}
|
||||
|
||||
void IMConfig::emitChanged() {
|
||||
needSave_ = true;
|
||||
Q_EMIT changed();
|
||||
}
|
||||
|
||||
void IMConfig::updateIMList(bool excludeCurrent) {
|
||||
if (!excludeCurrent) {
|
||||
currentIMModel_->filterIMEntryList(allIMs_, imEntries_);
|
||||
}
|
||||
internalAvailIMModel_->filterIMEntryList(allIMs_, imEntries_);
|
||||
availIMModel_->filterIMEntryList(allIMs_, imEntries_);
|
||||
|
||||
Q_EMIT imListChanged();
|
||||
}
|
||||
|
||||
void IMConfig::addGroup(const QString &name) {
|
||||
if (!name.isEmpty() && dbus_->controller()) {
|
||||
auto call = dbus_->controller()->AddInputMethodGroup(name);
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
[this](QDBusPendingCallWatcher *watcher) {
|
||||
watcher->deleteLater();
|
||||
if (!watcher->isError()) {
|
||||
reloadGroup();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void IMConfig::deleteGroup(const QString &name) {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
auto call = dbus_->controller()->RemoveInputMethodGroup(name);
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
[this](QDBusPendingCallWatcher *watcher) {
|
||||
watcher->deleteLater();
|
||||
if (!watcher->isError()) {
|
||||
reloadGroup();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void IMConfig::refresh() {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
auto call = dbus_->controller()->Refresh();
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
[this](QDBusPendingCallWatcher *watcher) {
|
||||
watcher->deleteLater();
|
||||
if (!watcher->isError()) {
|
||||
load();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void IMConfig::restart() {
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
dbus_->controller()->Restart();
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,125 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _CONFIGLIB_ABSTRACTIMPAGE_H_
|
||||
#define _CONFIGLIB_ABSTRACTIMPAGE_H_
|
||||
|
||||
#include <QDBusPendingCallWatcher>
|
||||
#include <QObject>
|
||||
#include <fcitxqtdbustypes.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
class IMConfigModelInterface;
|
||||
class IMProxyModel;
|
||||
class FilteredIMModel;
|
||||
class DBusProvider;
|
||||
|
||||
class IMConfig : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(fcitx::kcm::FilteredIMModel *currentIMModel READ currentIMModel
|
||||
CONSTANT)
|
||||
Q_PROPERTY(
|
||||
fcitx::kcm::IMProxyModel *availIMModel READ availIMModel CONSTANT)
|
||||
Q_PROPERTY(QString defaultLayout READ defaultLayout WRITE setDefaultLayout
|
||||
NOTIFY defaultLayoutChanged)
|
||||
Q_PROPERTY(QStringList groups READ groups NOTIFY groupsChanged)
|
||||
Q_PROPERTY(QString currentGroup READ currentGroup WRITE setCurrentGroup)
|
||||
Q_PROPERTY(bool needSave READ needSave)
|
||||
Q_PROPERTY(bool needUpdate READ needUpdate NOTIFY needUpdateChanged)
|
||||
public:
|
||||
enum ModelMode { Tree, Flatten };
|
||||
|
||||
IMConfig(DBusProvider *dbus, ModelMode mode, QObject *parent);
|
||||
~IMConfig();
|
||||
|
||||
FilteredIMModel *currentIMModel() const { return currentIMModel_; }
|
||||
IMProxyModel *availIMModel() const { return availIMModel_; }
|
||||
const QStringList &groups() const { return groups_; }
|
||||
const QString ¤tGroup() const { return lastGroup_; }
|
||||
void setCurrentGroup(const QString &name);
|
||||
bool needSave() const { return needSave_; }
|
||||
bool needUpdate() const { return needUpdate_; }
|
||||
|
||||
void addIM(const QModelIndex &index);
|
||||
void removeIM(const QModelIndex &index);
|
||||
|
||||
const auto &imEntries() const { return imEntries_; }
|
||||
void setIMEntries(const FcitxQtStringKeyValueList &imEntires) {
|
||||
imEntries_ = imEntires;
|
||||
updateIMList();
|
||||
}
|
||||
|
||||
const QString &defaultLayout() const { return defaultLayout_; }
|
||||
void setDefaultLayout(const QString &l) {
|
||||
if (defaultLayout_ != l) {
|
||||
defaultLayout_ = l;
|
||||
emitChanged();
|
||||
Q_EMIT defaultLayoutChanged();
|
||||
}
|
||||
}
|
||||
|
||||
Q_INVOKABLE void setLayout(const QString &im, const QString &layout) {
|
||||
for (auto &imEntry : imEntries_) {
|
||||
if (imEntry.key() == im) {
|
||||
imEntry.setValue(layout);
|
||||
emitChanged();
|
||||
updateIMList();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void emitChanged();
|
||||
|
||||
public Q_SLOTS:
|
||||
void addGroup(const QString &name);
|
||||
void deleteGroup(const QString &name);
|
||||
void save();
|
||||
void load();
|
||||
void defaults();
|
||||
void addIM(int index);
|
||||
void removeIM(int index);
|
||||
void move(int from, int to);
|
||||
void refresh();
|
||||
void restart();
|
||||
|
||||
Q_SIGNALS:
|
||||
void changed();
|
||||
void currentGroupChanged(const QString &group);
|
||||
void groupsChanged(const QStringList &groups);
|
||||
void imListChanged();
|
||||
void defaultLayoutChanged();
|
||||
void needUpdateChanged(bool);
|
||||
|
||||
private Q_SLOTS:
|
||||
void availabilityChanged();
|
||||
void fetchGroupInfoFinished(QDBusPendingCallWatcher *watcher);
|
||||
void fetchInputMethodsFinished(QDBusPendingCallWatcher *watcher);
|
||||
void fetchGroupsFinished(QDBusPendingCallWatcher *watcher);
|
||||
void checkUpdateFinished(QDBusPendingCallWatcher *watcher);
|
||||
|
||||
private:
|
||||
void reloadGroup();
|
||||
void updateIMList(bool excludeCurrent = false);
|
||||
|
||||
DBusProvider *dbus_;
|
||||
IMProxyModel *availIMModel_;
|
||||
IMConfigModelInterface *internalAvailIMModel_ = nullptr;
|
||||
FilteredIMModel *currentIMModel_;
|
||||
QString defaultLayout_;
|
||||
FcitxQtStringKeyValueList imEntries_;
|
||||
FcitxQtInputMethodEntryList allIMs_;
|
||||
QStringList groups_;
|
||||
QString lastGroup_;
|
||||
bool needSave_ = false;
|
||||
bool needUpdate_ = false;
|
||||
};
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _CONFIGLIB_ABSTRACTIMPAGE_H_
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2017~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#include "iso639.h"
|
||||
#include "config.h"
|
||||
#include <QFile>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
namespace {
|
||||
|
||||
QMap<QString, QString> readAlpha3ToNameMap(const char *name, const char *base) {
|
||||
QMap<QString, QString> map;
|
||||
QFile file(name);
|
||||
file.open(QIODevice::ReadOnly);
|
||||
auto data = file.readAll();
|
||||
QJsonParseError error;
|
||||
auto document = QJsonDocument::fromJson(data, &error);
|
||||
if (error.error != QJsonParseError::NoError || !document.isObject()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
auto object = document.object();
|
||||
auto iso = object.value(base);
|
||||
if (!iso.isArray()) {
|
||||
return {};
|
||||
}
|
||||
const auto array = iso.toArray();
|
||||
for (const auto &item : array) {
|
||||
if (!item.isObject()) {
|
||||
continue;
|
||||
}
|
||||
auto alpha3 = item.toObject().value("alpha_3").toString();
|
||||
auto bibliographic = item.toObject().value("bibliographic").toString();
|
||||
auto name = item.toObject().value("name").toString();
|
||||
if (alpha3.isEmpty() || name.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
map.insert(alpha3, name);
|
||||
if (!bibliographic.isEmpty()) {
|
||||
map.insert(bibliographic, name);
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
Iso639::Iso639() {
|
||||
iso639_2data_ = readAlpha3ToNameMap(ISOCODES_ISO639_2_JSON, "639-2");
|
||||
iso639_3data_ = readAlpha3ToNameMap(ISOCODES_ISO639_3_JSON, "639-3");
|
||||
iso639_5data_ = readAlpha3ToNameMap(ISOCODES_ISO639_5_JSON, "639-5");
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2017~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef _KCM_FCITX_ISO639_H_
|
||||
#define _KCM_FCITX_ISO639_H_
|
||||
|
||||
#include <QMap>
|
||||
#include <QString>
|
||||
#include <fcitx-utils/i18n.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
class Iso639 {
|
||||
public:
|
||||
Iso639();
|
||||
|
||||
QString query(const QString &code) const {
|
||||
auto value = iso639_2data_.value(code);
|
||||
if (!value.isEmpty()) {
|
||||
return translateDomain("iso_639-2", value.toUtf8().constData());
|
||||
}
|
||||
value = iso639_3data_.value(code);
|
||||
if (!value.isEmpty()) {
|
||||
return translateDomain("iso_639-3", value.toUtf8().constData());
|
||||
}
|
||||
value = iso639_5data_.value(code);
|
||||
if (!value.isEmpty()) {
|
||||
return translateDomain("iso_639-5", value.toUtf8().constData());
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
private:
|
||||
QMap<QString, QString> iso639_2data_;
|
||||
QMap<QString, QString> iso639_3data_;
|
||||
QMap<QString, QString> iso639_5data_;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _KCM_FCITX_ISO639_H_
|
|
@ -0,0 +1,161 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "layoutmodel.h"
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
LanguageModel::LanguageModel(QObject *parent) : QStandardItemModel(parent) {
|
||||
setItemRoleNames({{Qt::DisplayRole, "name"}, {Qt::UserRole, "language"}});
|
||||
}
|
||||
|
||||
QString LanguageModel::language(int row) const {
|
||||
auto idx = index(row, 0);
|
||||
if (idx.isValid()) {
|
||||
return idx.data(Qt::UserRole).toString();
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
void LanguageModel::append(const QString &name, const QString &language) {
|
||||
QStandardItem *item = new QStandardItem(name);
|
||||
item->setData(language, Qt::UserRole);
|
||||
appendRow(item);
|
||||
}
|
||||
|
||||
void LanguageFilterModel::setLanguage(const QString &language) {
|
||||
if (language_ != language) {
|
||||
language_ = language;
|
||||
invalidateFilter();
|
||||
}
|
||||
}
|
||||
|
||||
QVariant LanguageFilterModel::layoutInfo(int row) const {
|
||||
auto idx = index(row, 0);
|
||||
if (idx.isValid()) {
|
||||
return idx.data(LayoutInfoRole);
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
bool LanguageFilterModel::filterAcceptsRow(int source_row,
|
||||
const QModelIndex &) const {
|
||||
if (language_.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
auto index = sourceModel()->index(source_row, 0);
|
||||
return sourceModel()
|
||||
->data(index, LayoutLanguageRole)
|
||||
.toStringList()
|
||||
.contains(language_);
|
||||
}
|
||||
bool LanguageFilterModel::lessThan(const QModelIndex &left,
|
||||
const QModelIndex &right) const {
|
||||
return data(left, Qt::DisplayRole).toString() <
|
||||
data(right, Qt::DisplayRole).toString();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> LayoutInfoModel::roleNames() const {
|
||||
return {
|
||||
{Qt::DisplayRole, "name"},
|
||||
{Qt::UserRole, "layout"},
|
||||
{LayoutLanguageRole, "language"},
|
||||
};
|
||||
}
|
||||
|
||||
void LayoutInfoModel::setLayoutInfo(FcitxQtLayoutInfoList info) {
|
||||
beginResetModel();
|
||||
layoutInfo_ = std::move(info);
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
QVariant LayoutInfoModel::data(const QModelIndex &index, int role) const {
|
||||
if (!index.isValid() || index.row() >= layoutInfo_.size()) {
|
||||
return QVariant();
|
||||
}
|
||||
const auto &layout = layoutInfo_.at(index.row());
|
||||
|
||||
switch (role) {
|
||||
case Qt::DisplayRole:
|
||||
return layout.description();
|
||||
case Qt::UserRole:
|
||||
return layout.layout();
|
||||
case LayoutLanguageRole: {
|
||||
QStringList languages;
|
||||
languages = layout.languages();
|
||||
for (const auto &variants : layout.variants()) {
|
||||
languages << variants.languages();
|
||||
}
|
||||
return languages;
|
||||
}
|
||||
case LayoutInfoRole:
|
||||
return QVariant::fromValue(layout);
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
int LayoutInfoModel::rowCount(const QModelIndex &parent) const {
|
||||
if (parent.isValid()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return layoutInfo_.size();
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> VariantInfoModel::roleNames() const {
|
||||
return {
|
||||
{Qt::DisplayRole, "name"},
|
||||
{Qt::UserRole, "variant"},
|
||||
{LayoutLanguageRole, "language"},
|
||||
};
|
||||
}
|
||||
|
||||
void VariantInfoModel::setVariantInfo(const FcitxQtLayoutInfo &info) {
|
||||
beginResetModel();
|
||||
variantInfo_.clear();
|
||||
FcitxQtVariantInfo defaultVariant;
|
||||
defaultVariant.setVariant("");
|
||||
defaultVariant.setDescription(_("Default"));
|
||||
defaultVariant.setLanguages(info.languages());
|
||||
variantInfo_ << defaultVariant;
|
||||
variantInfo_ << info.variants();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
QVariant VariantInfoModel::data(const QModelIndex &index, int role) const {
|
||||
if (!index.isValid() || index.row() >= variantInfo_.size()) {
|
||||
return QVariant();
|
||||
}
|
||||
const auto &layout = variantInfo_.at(index.row());
|
||||
|
||||
switch (role) {
|
||||
|
||||
case Qt::DisplayRole:
|
||||
return layout.description();
|
||||
|
||||
case Qt::UserRole:
|
||||
return layout.variant();
|
||||
|
||||
case LayoutLanguageRole:
|
||||
return layout.languages();
|
||||
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
int VariantInfoModel::rowCount(const QModelIndex &parent) const {
|
||||
if (parent.isValid()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return variantInfo_.size();
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _CONFIGLIB_LAYOUTMODEL_H_
|
||||
#define _CONFIGLIB_LAYOUTMODEL_H_
|
||||
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QStandardItemModel>
|
||||
#include <fcitx-utils/i18n.h>
|
||||
#include <fcitxqtdbustypes.h>
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
enum { LayoutLanguageRole = 0x3423545, LayoutInfoRole };
|
||||
|
||||
class LanguageModel : public QStandardItemModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
LanguageModel(QObject *parent = nullptr);
|
||||
Q_INVOKABLE QString language(int row) const;
|
||||
void append(const QString &name, const QString &language);
|
||||
};
|
||||
|
||||
class LanguageFilterModel : public QSortFilterProxyModel {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString language READ language WRITE setLanguage);
|
||||
|
||||
public:
|
||||
using QSortFilterProxyModel::QSortFilterProxyModel;
|
||||
// Forward role names.
|
||||
QHash<int, QByteArray> roleNames() const override {
|
||||
if (sourceModel()) {
|
||||
return sourceModel()->roleNames();
|
||||
}
|
||||
return QSortFilterProxyModel::roleNames();
|
||||
}
|
||||
|
||||
const QString &language() const { return language_; }
|
||||
void setLanguage(const QString &language);
|
||||
|
||||
Q_INVOKABLE QVariant layoutInfo(int row) const;
|
||||
|
||||
protected:
|
||||
bool filterAcceptsRow(int source_row, const QModelIndex &) const override;
|
||||
bool lessThan(const QModelIndex &left,
|
||||
const QModelIndex &right) const override;
|
||||
|
||||
private:
|
||||
QString language_;
|
||||
};
|
||||
|
||||
class LayoutInfoModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
using QAbstractListModel::QAbstractListModel;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
auto &layoutInfo() const { return layoutInfo_; }
|
||||
void setLayoutInfo(FcitxQtLayoutInfoList info);
|
||||
|
||||
QVariant data(const QModelIndex &index,
|
||||
int role = Qt::DisplayRole) const override;
|
||||
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
|
||||
private:
|
||||
FcitxQtLayoutInfoList layoutInfo_;
|
||||
};
|
||||
|
||||
class VariantInfoModel : public QAbstractListModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
using QAbstractListModel::QAbstractListModel;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
auto &variantInfo() const { return variantInfo_; }
|
||||
void setVariantInfo(const FcitxQtLayoutInfo &info);
|
||||
|
||||
QVariant data(const QModelIndex &index,
|
||||
int role = Qt::DisplayRole) const override;
|
||||
|
||||
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||
|
||||
private:
|
||||
FcitxQtVariantInfoList variantInfo_;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _CONFIGLIB_LAYOUTMODEL_H_
|
|
@ -0,0 +1,158 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#include "layoutprovider.h"
|
||||
#include "dbusprovider.h"
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
LayoutProvider::LayoutProvider(DBusProvider *dbus, QObject *parent)
|
||||
: QObject(parent), dbus_(dbus), languageModel_(new LanguageModel(this)),
|
||||
layoutModel_(new LayoutInfoModel(this)),
|
||||
variantModel_(new VariantInfoModel(this)),
|
||||
layoutFilterModel_(new LanguageFilterModel(this)),
|
||||
variantFilterModel_(new LanguageFilterModel(this)) {
|
||||
layoutFilterModel_->setSourceModel(layoutModel_);
|
||||
variantFilterModel_->setSourceModel(variantModel_);
|
||||
|
||||
connect(dbus, &DBusProvider::availabilityChanged, this,
|
||||
&LayoutProvider::availabilityChanged);
|
||||
availabilityChanged();
|
||||
}
|
||||
|
||||
LayoutProvider::~LayoutProvider() {}
|
||||
|
||||
void LayoutProvider::availabilityChanged() {
|
||||
setLoaded(false);
|
||||
if (!dbus_->controller()) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto call = dbus_->controller()->AvailableKeyboardLayouts();
|
||||
auto watcher = new QDBusPendingCallWatcher(call, this);
|
||||
connect(watcher, &QDBusPendingCallWatcher::finished, this,
|
||||
&LayoutProvider::fetchLayoutFinished);
|
||||
}
|
||||
|
||||
void LayoutProvider::fetchLayoutFinished(QDBusPendingCallWatcher *watcher) {
|
||||
watcher->deleteLater();
|
||||
QDBusPendingReply<FcitxQtLayoutInfoList> reply = *watcher;
|
||||
if (reply.isError()) {
|
||||
return;
|
||||
}
|
||||
QSet<QString> languages;
|
||||
auto layoutInfo = reply.value();
|
||||
for (const auto &layout : layoutInfo) {
|
||||
for (const auto &language : layout.languages()) {
|
||||
languages << language;
|
||||
}
|
||||
for (const auto &variant : layout.variants()) {
|
||||
for (const auto &language : variant.languages()) {
|
||||
languages << language;
|
||||
}
|
||||
}
|
||||
}
|
||||
QStringList languageList;
|
||||
for (const auto &language : languages) {
|
||||
languageList << language;
|
||||
}
|
||||
languageList.sort();
|
||||
languageModel_->clear();
|
||||
|
||||
QStandardItem *item = new QStandardItem(_("Any language"));
|
||||
item->setData("", Qt::UserRole);
|
||||
languageModel_->append(_("Any language"), "");
|
||||
for (const auto &language : languageList) {
|
||||
QString languageName = iso639_.query(language);
|
||||
if (languageName.isEmpty()) {
|
||||
languageName = language;
|
||||
} else {
|
||||
languageName = QString(_("%1 (%2)")).arg(languageName, language);
|
||||
}
|
||||
languageModel_->append(languageName, language);
|
||||
}
|
||||
layoutModel_->setLayoutInfo(std::move(layoutInfo));
|
||||
setLoaded(true);
|
||||
}
|
||||
|
||||
int LayoutProvider::layoutIndex(const QString &layoutString) {
|
||||
auto dashPos = layoutString.indexOf("-");
|
||||
QString layout;
|
||||
if (dashPos >= 0) {
|
||||
layout = layoutString.left(dashPos);
|
||||
} else {
|
||||
layout = layoutString;
|
||||
}
|
||||
auto &info = layoutModel_->layoutInfo();
|
||||
auto iter = std::find_if(info.begin(), info.end(),
|
||||
[&layout](const FcitxQtLayoutInfo &info) {
|
||||
return info.layout() == layout;
|
||||
});
|
||||
if (iter != info.end()) {
|
||||
auto row = std::distance(info.begin(), iter);
|
||||
return layoutFilterModel_->mapFromSource(layoutModel_->index(row))
|
||||
.row();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int LayoutProvider::variantIndex(const QString &layoutString) {
|
||||
auto dashPos = layoutString.indexOf("-");
|
||||
QString variant;
|
||||
if (dashPos >= 0) {
|
||||
variant = layoutString.mid(dashPos + 1);
|
||||
}
|
||||
auto &vinfo = variantModel_->variantInfo();
|
||||
auto iter = std::find_if(vinfo.begin(), vinfo.end(),
|
||||
[&variant](const FcitxQtVariantInfo &info) {
|
||||
return info.variant() == variant;
|
||||
});
|
||||
if (iter != vinfo.end()) {
|
||||
auto row = std::distance(vinfo.begin(), iter);
|
||||
return variantFilterModel_->mapFromSource(variantModel_->index(row))
|
||||
.row();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString LayoutProvider::layoutDescription(const QString &layoutString) {
|
||||
auto dashPos = layoutString.indexOf("-");
|
||||
QString layout;
|
||||
QString variant;
|
||||
if (dashPos >= 0) {
|
||||
layout = layoutString.left(dashPos);
|
||||
variant = layoutString.mid(dashPos + 1);
|
||||
} else {
|
||||
layout = layoutString;
|
||||
}
|
||||
auto &info = layoutModel_->layoutInfo();
|
||||
auto iter = std::find_if(info.begin(), info.end(),
|
||||
[&layout](const FcitxQtLayoutInfo &info) {
|
||||
return info.layout() == layout;
|
||||
});
|
||||
if (iter == info.end()) {
|
||||
return QString();
|
||||
}
|
||||
|
||||
if (variant.isEmpty()) {
|
||||
return iter->description();
|
||||
}
|
||||
|
||||
auto variantIter =
|
||||
std::find_if(iter->variants().begin(), iter->variants().end(),
|
||||
[&variant](const FcitxQtVariantInfo &info) {
|
||||
return info.variant() == variant;
|
||||
});
|
||||
if (variantIter == iter->variants().end()) {
|
||||
return iter->description();
|
||||
}
|
||||
return QString(_("%1 - %2"))
|
||||
.arg(iter->description(), variantIter->description());
|
||||
}
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
|
@ -0,0 +1,96 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2020~2020 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
*/
|
||||
#ifndef _CONFIGLIB_LAYOUTPROVIDER_H_
|
||||
#define _CONFIGLIB_LAYOUTPROVIDER_H_
|
||||
|
||||
#include "iso639.h"
|
||||
#include "layoutmodel.h"
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QStandardItemModel>
|
||||
#include <QStringListModel>
|
||||
#include <fcitxqtdbustypes.h>
|
||||
|
||||
class QDBusPendingCallWatcher;
|
||||
|
||||
namespace fcitx {
|
||||
namespace kcm {
|
||||
|
||||
class DBusProvider;
|
||||
class LanguageFilterModel;
|
||||
class LayoutInfoModel;
|
||||
class VariantInfoModel;
|
||||
|
||||
class LayoutProvider : public QObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(
|
||||
fcitx::kcm::LanguageModel *languageModel READ languageModel CONSTANT)
|
||||
Q_PROPERTY(LanguageFilterModel *layoutModel READ layoutModel CONSTANT)
|
||||
Q_PROPERTY(LanguageFilterModel *variantModel READ variantModel CONSTANT)
|
||||
public:
|
||||
LayoutProvider(DBusProvider *dbus, QObject *parent = nullptr);
|
||||
~LayoutProvider();
|
||||
|
||||
auto languageModel() const { return languageModel_; }
|
||||
auto layoutModel() const { return layoutFilterModel_; }
|
||||
auto variantModel() const { return variantFilterModel_; }
|
||||
|
||||
Q_INVOKABLE int layoutIndex(const QString &layoutString);
|
||||
Q_INVOKABLE int variantIndex(const QString &layoutString);
|
||||
Q_INVOKABLE QString layoutDescription(const QString &layoutString);
|
||||
|
||||
Q_INVOKABLE void setVariantInfo(const FcitxQtLayoutInfo &info) const {
|
||||
variantModel_->setVariantInfo(info);
|
||||
}
|
||||
|
||||
Q_INVOKABLE QString layout(int layoutIdx, int variantIdx) const {
|
||||
auto layoutModelIndex = layoutFilterModel_->index(layoutIdx, 0);
|
||||
auto variantModelIndex = variantFilterModel_->index(variantIdx, 0);
|
||||
if (layoutModelIndex.isValid() && variantModelIndex.isValid()) {
|
||||
auto layout = layoutModelIndex.data(Qt::UserRole).toString();
|
||||
auto variant = variantModelIndex.data(Qt::UserRole).toString();
|
||||
if (layout.isEmpty()) {
|
||||
return QString();
|
||||
}
|
||||
if (variant.isEmpty()) {
|
||||
return layout;
|
||||
}
|
||||
return QString("%1-%2").arg(layout, variant);
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
bool loaded() const { return loaded_; }
|
||||
|
||||
Q_SIGNALS:
|
||||
void loadedChanged();
|
||||
|
||||
private Q_SLOTS:
|
||||
void availabilityChanged();
|
||||
void fetchLayoutFinished(QDBusPendingCallWatcher *watcher);
|
||||
|
||||
private:
|
||||
void setLoaded(bool loaded) {
|
||||
if (loaded != loaded_) {
|
||||
loaded_ = loaded;
|
||||
Q_EMIT loadedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
DBusProvider *dbus_;
|
||||
bool loaded_ = false;
|
||||
LanguageModel *languageModel_;
|
||||
LayoutInfoModel *layoutModel_;
|
||||
VariantInfoModel *variantModel_;
|
||||
LanguageFilterModel *layoutFilterModel_;
|
||||
LanguageFilterModel *variantFilterModel_;
|
||||
Iso639 iso639_;
|
||||
};
|
||||
|
||||
} // namespace kcm
|
||||
} // namespace fcitx
|
||||
|
||||
#endif // _CONFIGLIB_LAYOUTPROVIDER_H_
|
|
@ -0,0 +1,9 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2017~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#include "logging.h"
|
||||
|
||||
Q_LOGGING_CATEGORY(KCM_FCITX5, "fcitx5-config")
|
|
@ -0,0 +1,13 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2017~2017 CSSlayer <wengxt@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
#ifndef _KCM_FCITX_LOGGING_H_
|
||||
#define _KCM_FCITX_LOGGING_H_
|
||||
|
||||
#include <QLoggingCategory>
|
||||
|
||||
Q_DECLARE_LOGGING_CATEGORY(KCM_FCITX5)
|
||||
|
||||
#endif // _KCM_FCITX_LOGGING_H_
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue