diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cad718319..bdd488e5c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,362 +1,362 @@ project(kdelibs) # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") # Make CPack available to easy generate binary packages include(CPack) ################# set KDE specific information ################# set (KDE_VERSION_MAJOR 4) set (KDE_VERSION_MINOR 7) -set (KDE_VERSION_RELEASE 4) +set (KDE_VERSION_RELEASE 95) set (KDE_VERSION "${KDE_VERSION_MAJOR}.${KDE_VERSION_MINOR}.${KDE_VERSION_RELEASE}" ) -set (KDE_VERSION_STRING "${KDE_VERSION} (4.7.4)") +set (KDE_VERSION_STRING "${KDE_VERSION} (4.8 RC1 (4.7.95)") set (KDE_DISTRIBUTION_TEXT "compiled sources" CACHE STRING "Indicate the distribution in bug reports" ) # win32: give kde home in debug mode a different name as the release home dir because the settings and caches are different if (WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Debug") set (_KDE_DEFAULT_HOME_POSTFIX "-debug" CACHE STRING "default KDE home directory postfix" ) endif (WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Debug") set (KDE_DEFAULT_HOME ".kde${_KDE_DEFAULT_HOME_POSTFIX}" CACHE STRING "The default KDE home directory" ) # this must be before FindKDE4Internal in order to preset the result of the visibility test, so that it will be skipped option(KHTML_BUILD_TESTREGRESSION "Build KHTML's testregression. Note: this disables hidden visibility") # Disable visibility if testregression is built, because the symbols are needed then if (KHTML_BUILD_TESTREGRESSION) set (__KDE_HAVE_GCC_VISIBILITY 0) endif (KHTML_BUILD_TESTREGRESSION) option(STATIC_LIBRARY "Build kdelibs as static libraries." FALSE) ################# write platform profile file which will be installed ################# include(CreateKDEPlatformProfile.cmake) if(KDE_PLATFORM_FEATURE_DISABLE_DEPRECATED) set(KDE_NO_DEPRECATED TRUE) endif(KDE_PLATFORM_FEATURE_DISABLE_DEPRECATED) ############### Load the CTest options ############### # CTestCustom.cmake has to be in the CTEST_BINARY_DIR. # in the KDE build system, this is the same as CMAKE_BINARY_DIR. configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCustom.cmake COPYONLY) ################# now find all used packages ################# set (QT_MIN_VERSION "4.7.0") find_package(KDE4Internal REQUIRED) include(KDE4Defaults) include (MacroLibrary) if (APPLE) find_package(Carbon REQUIRED) endif (APPLE) if(UNIX AND Q_WS_X11) #X11 Session Management (SM) is required #X11_SM_FOUND is set in FindX11, which is required by KDE4Internal if(NOT X11_SM_FOUND) message(FATAL_ERROR "\nThe X11 Session Management (SM) development package could not be found.\nPlease install libSM.\n") endif(NOT X11_SM_FOUND) endif(UNIX AND Q_WS_X11) #required features: # Perl is used e.g. in khtml, kjs, kjsembed and others find_package(Perl) macro_log_feature(PERL_FOUND "Perl" "Needed for building kdelibs" "http://www.perl.org" TRUE "" "") find_package(ZLIB) macro_log_feature(ZLIB_FOUND "ZLib" "Support for gzip compressed files and data streams" "http://www.zlib.net" TRUE "" "Required by the core KDE libraries and some critical kioslaves") set(STRIGI_MIN_VERSION 0.6.3) find_package(Strigi) if (WIN32) set (STRIGI_REQUIRED FALSE) set (STRIGI_EXTRA_TEXT "") else (WIN32) set (STRIGI_REQUIRED TRUE) set (STRIGI_EXTRA_TEXT "Required by some critical kioslaves") endif (WIN32) macro_log_feature(STRIGI_FOUND "Strigi" "Desktop indexing and search support" "http://strigi.sourceforge.net" ${STRIGI_REQUIRED} "${STRIGI_MIN_VERSION}" ${STRIGI_EXTRA_TEXT}) set(LIBATTICA_MIN_VERSION "0.1.90") find_package(LibAttica) macro_log_feature(LIBATTICA_FOUND "libattica" "Support for Get Hot New Stuff" "git clone git://anongit.kde.org/attica" TRUE "${LIBATTICA_MIN_VERSION}" "") #optional features if(X11_FOUND) #X11_Xrender discovery is done by FindX11 macro_log_feature(X11_Xrender_FOUND "X Rendering Extension (libXrender)" "Support for compositing, rendering operations, and alpha-blending" "http://www.x.org" FALSE "" "STRONGLY RECOMMENDED") macro_bool_to_01(X11_Xscreensaver_FOUND HAVE_XSCREENSAVER) macro_bool_to_01(X11_XSync_FOUND HAVE_XSYNC) macro_log_feature(HAVE_XSCREENSAVER "X Screensaver Extension (libXss)" "Support for KIdleTime (fallback mode)" "http://www.x.org/" FALSE "" "") macro_log_feature(HAVE_XSYNC "X Sync Extension (libXext)" "Efficient operation of KIdleTime" "http://www.x.org/" FALSE "" "STRONGLY RECOMMENDED") if(NOT HAVE_XSYNC AND NOT HAVE_XSCREENSAVER) message(FATAL_ERROR "\nNeither the XSync (libXext) nor XScreensaver (libXss) development package was found.\nPlease install one of them (XSync is recommended)\n") endif(NOT HAVE_XSYNC AND NOT HAVE_XSCREENSAVER) endif(X11_FOUND) macro_optional_find_package(OpenSSL) macro_log_feature(OPENSSL_FOUND "OpenSSL" "Support for secure network communications (SSL and TLS)" "http://openssl.org" FALSE "" "STRONGLY RECOMMENDED: KDE uses OpenSSL for the bulk of secure communications, including secure web browsing via HTTPS") macro_optional_find_package(Libintl) macro_log_feature(LIBINTL_FOUND "Libintl" "Support for multiple languages" "http://www.gnu.org/software/gettext" FALSE "" "STRONGLY RECOMMENDED: Enables KDE to be available in many different languages") set(SOPRANO_MIN_VERSION "2.5.60") macro_optional_find_package(Soprano ${SOPRANO_MIN_VERSION} COMPONENTS PLUGIN_RAPTORPARSER PLUGIN_REDLANDBACKEND) macro_log_feature(SOPRANO_FOUND "Soprano" "Support for the Nepomuk semantic desktop system" "http://soprano.sourceforge.net" FALSE "${SOPRANO_MIN_VERSION}" "") macro_log_feature(SOPRANO_PLUGIN_RAPTORPARSER_FOUND "Soprano Raptor Parser" "Support for the Nepomuk semantic desktop system" "http://soprano.sourceforge.net" FALSE "" "") macro_log_feature(SOPRANO_PLUGIN_REDLANDBACKEND_FOUND "Soprano Redland Backend" "Support for the Nepomuk semantic desktop system" "http://soprano.sourceforge.net" FALSE "" "") set(SHAREDDESKTOPONTOLOGIES_MIN_VERSION 0.6.50) macro_optional_find_package(SharedDesktopOntologies ${SHAREDDESKTOPONTOLOGIES_MIN_VERSION}) macro_log_feature(SHAREDDESKTOPONTOLOGIES_FOUND "Shared desktop ontologies" "Support for the Nepomuk semantic desktop system" "http://oscaf.sourceforge.net" FALSE "${SHAREDDESKTOPONTOLOGIES_MIN_VERSION}" "") macro_optional_find_package(QCA2) macro_log_feature(QCA2_FOUND "QCA2" "Support for remote plasma widgets" "http://delta.affinix.com/qca" FALSE "2.0.0" "") find_package(DBusMenuQt) macro_log_feature(DBUSMENUQT_FOUND "DBusMenuQt" "Support for notification area menus via the DBusMenu protocol" "git clone git://gitorious.org/dbusmenu/dbusmenu-qt.git" TRUE "" "") ################# Disallow in-source build ################# macro_ensure_out_of_source_build("kdelibs requires an out of source build. Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there.") # ... and warn in case of an earlier in-source build set(generatedFileInSourceDir EXISTS ${kdelibs_SOURCE_DIR}/kdemacros.h OR EXISTS ${kdelibs_SOURCE_DIR}/config.h) if(${generatedFileInSourceDir}) message(STATUS "kdemacros.h or config.h exists in your source directory.") message(FATAL_ERROR "Please run svn-clean, it would seem that your source directory has generated files in it.") endif(${generatedFileInSourceDir}) ######################################################################### add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) remove_definitions(-DQT3_SUPPORT_WARNINGS -DQT3_SUPPORT) add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) ################# setup the include directories ################# # for including config.h and for includes like include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/interfaces) if(QCA2_FOUND) include_directories( ${QCA2_INCLUDE_DIR} ) endif(QCA2_FOUND) # Those variables for are only valid inside of kdelibs, of course. # Use the one variable for the lib you depend upon. # E.g. kdeui uses ${KDE4_KDECORE_INCLUDES}. Something that depends on kparts uses ${KDE4_KPARTS_INCLUDES}. set(KDE4_KJS_INCLUDES ${CMAKE_SOURCE_DIR}/kjs ${CMAKE_BINARY_DIR}/kjs) if(NOT WINCE) set(KDE4_KDECORE_INCLUDES ${KDE4_KJS_INCLUDES} ) endif(NOT WINCE) # kdecore depends on Qt (need only headers from kjs) set(KDE4_KDECORE_INCLUDES ${KDE4_KDECORE_INCLUDES} ${CMAKE_SOURCE_DIR}/kdecore ${CMAKE_BINARY_DIR}/kdecore ${CMAKE_SOURCE_DIR}/kdecore/compression ${CMAKE_SOURCE_DIR}/kdecore/config ${CMAKE_SOURCE_DIR}/kdecore/date ${CMAKE_SOURCE_DIR}/kdecore/io ${CMAKE_SOURCE_DIR}/kdecore/jobs ${CMAKE_SOURCE_DIR}/kdecore/kernel ${CMAKE_SOURCE_DIR}/kdecore/auth ${CMAKE_SOURCE_DIR}/kdecore/network ${CMAKE_SOURCE_DIR}/kdecore/services ${CMAKE_SOURCE_DIR}/kdecore/localization ${CMAKE_SOURCE_DIR}/kdecore/sycoca ${CMAKE_SOURCE_DIR}/kdecore/text ${CMAKE_SOURCE_DIR}/kdecore/util ${CMAKE_SOURCE_DIR}/kdecore/sonnet ${QT_INCLUDES} ${_KDE4_PLATFORM_INCLUDE_DIRS}) # kdeui depends on kdecore set(KDE4_KDEUI_INCLUDES ${CMAKE_SOURCE_DIR}/kdeui ${CMAKE_SOURCE_DIR}/kdeui/actions ${CMAKE_SOURCE_DIR}/kdeui/colors ${CMAKE_SOURCE_DIR}/kdeui/config ${CMAKE_SOURCE_DIR}/kdeui/dialogs ${CMAKE_SOURCE_DIR}/kdeui/findreplace ${CMAKE_SOURCE_DIR}/kdeui/fonts ${CMAKE_SOURCE_DIR}/kdeui/icons ${CMAKE_SOURCE_DIR}/kdeui/itemviews ${CMAKE_SOURCE_DIR}/kdeui/jobs ${CMAKE_SOURCE_DIR}/kdeui/kernel ${CMAKE_SOURCE_DIR}/kdeui/notifications ${CMAKE_SOURCE_DIR}/kdeui/paged ${CMAKE_SOURCE_DIR}/kdeui/plotting ${CMAKE_SOURCE_DIR}/kdeui/shortcuts ${CMAKE_SOURCE_DIR}/kdeui/sonnet ${CMAKE_SOURCE_DIR}/kdeui/util ${CMAKE_SOURCE_DIR}/kdeui/widgets ${CMAKE_SOURCE_DIR}/kdeui/windowmanagement ${CMAKE_SOURCE_DIR}/kdeui/xmlgui ${KDE4_KDECORE_INCLUDES}) # kio depends on kdeui set(KDE4_KIO_INCLUDES ${CMAKE_SOURCE_DIR}/kio ${CMAKE_SOURCE_DIR}/kio/bookmarks ${CMAKE_SOURCE_DIR}/kio/kio ${CMAKE_SOURCE_DIR}/kio/kfile ${KDE4_KDEUI_INCLUDES}) # kpty set(KDE4_KPTY_INCLUDES ${CMAKE_SOURCE_DIR}/kpty ${KDE4_KIO_INCLUDES} ) # kparts depends on kio set(KDE4_KPARTS_INCLUDES ${CMAKE_SOURCE_DIR}/kparts ${KDE4_KIO_INCLUDES}) # kde3support depends on kparts set(KDE4_KDE3SUPPORT_INCLUDES ${CMAKE_SOURCE_DIR}/kde3support ${CMAKE_SOURCE_DIR}/kde3support/kdecore ${CMAKE_SOURCE_DIR}/kde3support/kdeui ${CMAKE_SOURCE_DIR}/kde3support/kio ${KDE4_KPARTS_INCLUDES}) if(NOT WINCE) set(KDE4_KHTML_INCLUDES ${CMAKE_SOURCE_DIR}/khtml) endif(NOT WINCE) ################# configure checks and create the configured files ################# if(WINCE) set(STATIC_LIBRARY ON) add_definitions(-DSTATIC_INSTALL_PATH=L\\\"/programme/kde\\\") endif(WINCE) if(STATIC_LIBRARY) set(LIBRARY_TYPE STATIC) add_definitions(-DKDELIBS_STATIC_LIBS) message(STATUS "Building kdelibs as static libraries") else(STATIC_LIBRARY) set(LIBRARY_TYPE SHARED) endif(STATIC_LIBRARY) # ACL stuff (used in kio/ and kioslaves/) macro_optional_find_package(ACL) macro_bool_to_01(ACL_FOUND HAVE_LIBACL HAVE_POSIX_ACL) macro_log_feature(ACL_FOUND "LibACL" "Support for manipulating access control lists" "ftp://oss.sgi.com/projects/xfs/cmd_tars" FALSE "" "STRONGLY RECOMMENDED") configure_file(config-acl.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-acl.h ) include(ConfigureChecks.cmake) # Actually nepomuk is not optional, without it other KDE modules don't build, # so this must be fixed. Alex if(Soprano_FOUND AND SHAREDDESKTOPONTOLOGIES_FOUND) set(HAVE_NEPOMUK true) include(SopranoAddOntology) add_subdirectory(nepomuk) endif(Soprano_FOUND AND SHAREDDESKTOPONTOLOGIES_FOUND) # now create config headers configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h ) configure_file(config-prefix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-prefix.h ) configure_file(config-compiler.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-compiler.h ) configure_file(config-pty.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-pty.h ) configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h ) configure_file(kdemacros.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdemacros.h ) # these two calls here should go somewhere else, Alex check_library_exists(nsl gethostbyname "" HAVE_NSL_LIBRARY) check_library_exists(socket connect "" HAVE_SOCKET_LIBRARY) ################# list the subdirectories ################# add_subdirectory( cmake ) add_subdirectory( kdecore ) add_subdirectory( kdeui ) if (UNIX) add_subdirectory( kpty ) add_subdirectory( kdesu ) endif (UNIX) if(NOT WINCE) add_subdirectory( kjs ) add_subdirectory( kjsembed ) endif(NOT WINCE) add_subdirectory( kio ) add_subdirectory( solid ) add_subdirectory( kded ) if (QT_QT3SUPPORT_FOUND) add_subdirectory( kde3support ) endif (QT_QT3SUPPORT_FOUND) add_subdirectory( kfile ) add_subdirectory( kconf_update ) if(NOT WINCE) add_subdirectory( kdoctools ) endif(NOT WINCE) add_subdirectory( kioslave ) add_subdirectory( knewstuff ) add_subdirectory( kparts ) add_subdirectory( kutils ) add_subdirectory( licenses ) add_subdirectory( mimetypes ) add_subdirectory( kinit ) add_subdirectory( threadweaver ) add_subdirectory( sonnet ) if(NOT WINCE) add_subdirectory( khtml ) endif(NOT WINCE) add_subdirectory( interfaces ) #if ( NOT CMAKE_CROSSCOMPILING AND QT_QTDESIGNER_FOUND ) add_subdirectory( kdewidgets ) #endif ( NOT CMAKE_CROSSCOMPILING AND QT_QTDESIGNER_FOUND ) add_subdirectory( knotify ) if(NOT WINCE) add_subdirectory( kimgio ) endif(NOT WINCE) add_subdirectory( dnssd ) add_subdirectory( kross ) add_subdirectory( security ) if(NOT WINCE) add_subdirectory( plasma ) endif(NOT WINCE) add_subdirectory( kunitconversion ) add_subdirectory( kdewebkit ) add_subdirectory( includes ) add_subdirectory( experimental ) macro_optional_add_subdirectory( doc ) ################# write dependency file which will be installed ################# # Used in configure_file() and install(EXPORT) set(KDE4_TARGET_PREFIX KDE4__) include(CreateKDELibsDependenciesFile.cmake) ################# install files ################# install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kdemacros.h DESTINATION ${INCLUDE_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h DESTINATION ${INCLUDE_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/KDELibsDependencies.cmake DESTINATION ${DATA_INSTALL_DIR}/cmake/modules) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/KDEPlatformProfile.cmake DESTINATION ${DATA_INSTALL_DIR}/cmake/modules) # run a script before installing the exports files which deletes previously installed # configuration specific export files KDELibs4(Library|Tools)Targets-.cmake # if the main exports file KDELibs4(Library|Tools)Targets.cmake has changed. This makes sure # that this main file doesn't include older and different configuration specific exports files, # which might have a different set of targets or targets with different names. # The code for installing the exports files will soon go into a macro. Alex install(CODE "set(EXPORT_FILES KDELibs4LibraryTargets.cmake KDELibs4ToolsTargets.cmake)" CODE "set(EXPORT_INSTALL_DIR \"${DATA_INSTALL_DIR}/cmake/modules\")" SCRIPT "${CMAKE_SOURCE_DIR}/cmake/modules/check_installed_exports_file.cmake" ) install( EXPORT kdelibsLibraryTargets DESTINATION ${DATA_INSTALL_DIR}/cmake/modules NAMESPACE ${KDE4_TARGET_PREFIX} FILE KDELibs4LibraryTargets.cmake ) install( EXPORT kdelibsToolsTargets DESTINATION ${DATA_INSTALL_DIR}/cmake/modules NAMESPACE ${KDE4_TARGET_PREFIX} FILE KDELibs4ToolsTargets.cmake ) # the following will be the correct locations once cmake has the improved FIND_PACKAGE() # install( FILES ${CMAKE_CURRENT_BINARY_DIR}/KDELibsDependencies.cmake DESTINATION ${PLUGIN_INSTALL_DIR}/cmake RENAME KDE4Config.cmake) macro_display_feature_log() diff --git a/interfaces/kimproxy/interface/dbusinstantmessenger.desktop b/interfaces/kimproxy/interface/dbusinstantmessenger.desktop index 1d6c41a39a..f6f6ecad3c 100644 --- a/interfaces/kimproxy/interface/dbusinstantmessenger.desktop +++ b/interfaces/kimproxy/interface/dbusinstantmessenger.desktop @@ -1,88 +1,88 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=DBUS/InstantMessenger Comment=Instant Messenger with a D-Bus interface Comment[ar]=مرسال فوري مع واجهة D-Bus Comment[as]=এটা D-Bus সংযোগ মাধ্যম থকা Instant Messenger Comment[ast]=Mensaxería nel intre con interfaz D-Bus Comment[be]=Імгненны абвестнік з інтэрфейсам D-Bus Comment[be@latin]=Kamunikatar z interfejsam „D-Bus” Comment[bg]=Програма за съобщения в реално време с интерфейс DCOP Comment[bn]=ডি-বাস (DBUS) ইন্টারফেস সহ ইনস্ট্যান্ট মেসেঞ্জার Comment[bn_IN]=D-Bus ইন্টারফেসসহ ইনস্ট্যান্ট বার্তা আদান-প্রদান ব্যবস্থা Comment[bs]=Brzi glasnik sa d‑bus sučeljem Comment[ca]=Missatgeria instantània amb una interfície D-Bus Comment[ca@valencia]=Missatgeria instantània amb una interfície D-Bus Comment[cs]=Komunikátor s DBUS rozhraním Comment[csb]=Internetowi kòmùnikator z interfejsã D-Bus Comment[da]=Instant Messenger med D-Bus-grænseflade Comment[de]=Instant Messenger mit D-Bus-Schnittstelle Comment[el]=Στιγμιαίος αποστολέας μηνυμάτων με διεπαφή D-Bus Comment[en_GB]=Instant Messenger with a D-Bus interface Comment[eo]=Tujmesaĝilo kun D-Bus-interfaco Comment[es]=Mensajería instantánea con interfaz D-Bus Comment[et]=Kiirsuhtlemisrakendus D-Bus-liidesega Comment[eu]=Berehalako mezularitza D-Bus interfazearekin Comment[fa]=پیام‌رسان فوری با یک واسط D-Bus Comment[fi]=Pikaviestiohjelma D-Bus-rajapinnalla Comment[fr]=Messagerie instantanée munie d'une interface D-Bus Comment[fy]=Instant Messenger mei in D-Bus-ynterface Comment[ga]=Clár teachtaireachtaí meandaracha le comhéadan D-Bus -Comment[gl]=Mensaxaría instantánea con interface D-Bus +Comment[gl]=Mensaxería instantánea con interface D-Bus Comment[gu]=D-Bus ઇન્ટરફેસ સાથે ઇન્સ્ટન્ટ મેસેન્જર Comment[he]=תוכנת מסרים מידיים עם ממשק D-Bus Comment[hi]=डी-बस इंटरफ़ेस के साथ इंस्टैंट मैसेंजर Comment[hne]=डी-बस इंटरफेस के साथ इंस्टैंट मैसेंजर Comment[hr]=Aplikacija za komunikaciju s D-Bus sučeljem Comment[hsb]=Instant Messenger z DCOP-interfejsom Comment[hu]=Azonnali üzenetküldő D-Bus felülettel Comment[ia]=Messagero Instante con un interfacie D-Bus Comment[id]=Pesan Instan dengan antarmuka D-Bus Comment[is]=Spjallforrit með D-Bus viðmóti Comment[it]=Messaggistica istantanea con un'interfaccia D-Bus Comment[ja]=D-Bus インターフェースを持つインスタントメッセンジャー Comment[kk]=D-Bus интерфейсті лезде хабарласу бағдарламасы Comment[km]=​កម្មវិធី​ផ្ញើ​សារ​បន្ទាន់​ដែល​មាន​ចំណុច​ប្រទាក់ DCOP Comment[kn]=D-Bus ಸಂಪರ್ಕಸಾಧನದೊಂದಿಗಿನ (interface) ತಕ್ಷಣ ಓಲೆಕಾರ Comment[ko]=D-Bus 인터페이스를 사용하는 인스턴트 메신저 Comment[ku]=Peyamkera Têgihan bi navrû ya D-Bus Comment[lt]=Momentinių žinučių klientas su D-Bus sąsaja Comment[lv]=Tūlītējās ziņapmaiņas programma ar D-Bus saskarni Comment[mai]=डी-बस इंटरफ़ेस केर सँग इंस्टैंट मैसेंजर Comment[mk]=Инстант гласник (Messenger) со D-Bus интерфејс Comment[ml]=ഡി-ബസ് വിനിമയതലമുള്ള ഇന്‍സ്റ്റന്റ് മെസഞ്ചര്‍ Comment[mr]=D-Bus संवादपटरहीत जलद संदेशवाहक Comment[ms]=Utusan Segera dengan antaramuka D-Bus Comment[nb]=Lynmeldingsprogram med D-Bus-grensesnitt Comment[nds]=Kortnarichten-Maker mit en D-Bus-Koppelsteed Comment[ne]=D-Bus इन्टरफेससँग इन्सट्यान्ट मेसेन्जर Comment[nl]=Instant-messenger met een D-Bus-interface Comment[nn]=Lynmeldingsprogram med D-Bus-grensesnitt Comment[or]=D-Bus ଅନ୍ତରାପୃଷ୍ଠ ସହିତ ତୁରନ୍ତ ସନ୍ଦେଶ ଦୁତ Comment[pa]=ਇੱਕ D-Bus ਇੰਟਰਫੇਸ ਲਈ ਇੱਕ ਮੌਕਾ ਮੈਸੈਂਜ਼ਰ Comment[pl]=Komunikator internetowy z interfejsem D-Bus Comment[pt]=Mensageiro Instantâneo com interface D-Bus Comment[pt_BR]=Mensageiro instantâneo com interface D-Bus Comment[ro]=Mesagerie instantanee cu interfață D-Bus Comment[ru]=Клиент обмена мгновенными сообщениями с интерфейсом D-Bus Comment[se]=Šleađgadiehtoprográmma mas lea D-Bus-lákta Comment[sk]=Instant Messenger s rozhraním D-Bus Comment[sl]=Takojšni sporočilnik z vmesnikom D-Bus Comment[sq]=Mesazher i çastit me ndërfaqe D-Bus Comment[sr]=Брзи гласник са д‑бус сучељем Comment[sr@ijekavian]=Брзи гласник са д‑бус сучељем Comment[sr@ijekavianlatin]=Brzi glasnik sa D‑Bus sučeljem Comment[sr@latin]=Brzi glasnik sa D‑Bus sučeljem Comment[sv]=Direktmeddelanden med ett D-Bus-gränssnitt Comment[ta]=D-Bus இடைமுகத்தோடுக் கூடிய உடனடி தூதர் Comment[te]=డి-బస్ ఇంటర్ఫెస్ కలిగివున్న ఇంస్టెంట్ మెస్సెన్జర్ Comment[tg]=Барномаи паёмнависӣ бо интерфейси D-Bus Comment[th]=โปรแกรมส่งข้อความด่วนทันใจ ด้วยส่วนติดต่อกับ D-Bus Comment[tr]=D-Bus Arayüzü Kullanan Anında Mesajlaşma Uygulaması Comment[ug]=D-Bus ئېغىزى بار مۇڭداشقۇ Comment[uk]=Програма миттєвого зв'язку, у якій передбачено інтерфейс D-Bus -Comment[vi]=Bộ tin nhắn có giao diện D-Bus +Comment[vi]=Trình nhắn tin tức thời với giao diện D-Bus Comment[wa]=Messaedjreye sol moumint avou ene eterface D-Bus Comment[x-test]=xxInstant Messenger with a D-Bus interfacexx Comment[zh_CN]=带 D-Bus 接口的即时通讯程序 Comment[zh_TW]=DBUS 介面的即時通訊系統 diff --git a/interfaces/kimproxy/interface/kcm_instantmessenger.desktop b/interfaces/kimproxy/interface/kcm_instantmessenger.desktop index 7ceeba59cb..5446c9dc71 100644 --- a/interfaces/kimproxy/interface/kcm_instantmessenger.desktop +++ b/interfaces/kimproxy/interface/kcm_instantmessenger.desktop @@ -1,167 +1,168 @@ # ctxt: standard desktop component Name=Instant Messenger Name[ar]=مرسال فوري Name[ast]=Mensaxeru nel intre Name[be@latin]=Kamunikatar Name[bg]=Моментни съобщения Name[bn]=ইনস্ট্যান্ট মেসেঞ্জার Name[bs]=brzi glasnik Name[ca]=Missatgeria instantània Name[ca@valencia]=Missatgeria instantània Name[cs]=Komunikátor Name[csb]=Internetowi kòmùnikator Name[da]=Instant Messenger Name[de]=Instant Messenger Name[el]=Στιγμιαίος αποστολέας Name[en_GB]=Instant Messenger Name[eo]=Tujmesaĝilo Name[es]=Mensajería instantánea Name[et]=Kiirsuhtlus Name[eu]=Berehalako mezularitza Name[fa]=پیام‌رسان فوری Name[fi]=Pikaviestiohjelma Name[fr]=Messagerie instantanée Name[fy]=Instant Messenger Name[ga]=Clár teachtaireachtaí meandaracha Name[gl]=Mensaxaría instantánea Name[gu]=ઇન્સ્ટન્ટ મેસેન્જર Name[he]=מסרים מידיים Name[hi]=इंसटैंट मैसेंजर Name[hr]=Aplikacija za čavrljanje Name[hu]=Azonnali üzenetküldő Name[ia]=Messagero Instante Name[id]=Pesan Instan Name[is]=Spjallforrit Name[it]=Messaggistica istantanea Name[ja]=インスタントメッセンジャー Name[kk]=Лезде хабарласу Name[km]=កម្មវិធី​វិធី​ផ្ញើសារ​បន្ទាន់ Name[kn]=ತಕ್ಷಣ ಓಲೆಕಾರ Name[ko]=인스턴트 메신저 Name[ku]=Peyamkera Têgihan Name[lt]=Momentinių žinučių klientas Name[lv]=Tūlītējais ziņotājs Name[ml]=ഇന്‍സ്റ്റന്റ് മെസഞ്ചര്‍ Name[ms]=Utusan Segera Name[nb]=Lynmelding Name[nds]=Kortnarichten-Maker Name[nl]=Instant messenger Name[nn]=Lynmeldingsprogram Name[pa]=ਮੌਕਾ ਮੈਸੈਂਜ਼ਰ Name[pl]=Komunikator internetowy Name[pt]=Mensageiro Instantâneo Name[pt_BR]=Mensageiro instantâneo Name[ro]=Mesagerie instantanee Name[ru]=Обмен мгновенными сообщениями Name[se]=Šleađgadiehtoprográmma Name[sk]=Instant Messenger Name[sl]=Takojšni sporočilnik Name[sr]=брзи гласник Name[sr@ijekavian]=брзи гласник Name[sr@ijekavianlatin]=brzi glasnik Name[sr@latin]=brzi glasnik Name[sv]=Direktmeddelanden Name[ta]=உடனடி தூதர் Name[tg]=Паёмнависӣ Name[th]=ส่งข้อความด่วนทันใจ Name[tr]=Anında Mesajlaşma Uygulaması Name[ug]=مۇڭداشقۇ Name[uk]=Програма для миттєвого зв'язку +Name[vi]=Trình nhắn tin tức thời Name[wa]=Messaedjî sol moumint Name[x-test]=xxInstant Messengerxx Name[zh_CN]=即时通讯程序 Name[zh_TW]=即時通訊 Comment=The instant messenger allows two-way chat between individuals and groups. Comment[af]=Die Kitsboodskapper laat twee rigting kommunikasie tussen individue en groepe toe. Comment[ar]=يسمح المرسال الفوري بمحادثات من اتجاهين بين الأفراد والمجموعات. Comment[as]=এই instant messenger এ মানুহ আৰু সমষ্টিৰ মাজত দুই ফালৰ পৰাই কথা পাতিব দিয়ে । Comment[ast]=El mensaxeru nel intre permite charres bidireicionales ente individuos y grupos. Comment[be]=Імгненны абвеснік дазваляе весці размову двум і больш асобам/гуртам. Comment[be@latin]=Kamunikatar dazvalaje vieści razmovu – pryvatnuju albo hurtom. Comment[bg]=Разговор между различни хора в реално време. Comment[bn]=ইনস্ট্যান্ট মেসেঞ্জার একাধিক ব্যক্তি বা গোষ্ঠীকে দ্বিমুখী বার্তালাপ বা আড্ডার সুযোগ দেয়। Comment[bn_IN]=ইনস্ট্যান্ট মেসেঞ্জারের সাহায্যে ব্যক্তি ও দলের সদস্যরা একে অপরের সাথে কথা বলতে সক্ষম হবে। Comment[bs]=Brzim glasnikom možete ćaskati sa drugim pojedincima i u grupama. Comment[ca]=La missatgeria instantània permet converses en dos sentits entre individus i grups. Comment[ca@valencia]=La missatgeria instantània permet converses en dos sentits entre individus i grups. Comment[cs]=Komunikátor vám umožňuje obousměrný rozhovor s jednotlivci nebo skupinami. Comment[csb]=Internetowi kòmùnikator dôwô mòżnota kôrbionczi midzë lëdzama ë karnama. Comment[cy]=Mae'r negesydd chwim yn caniatàu sgwrs dwy-ffordd rhwng unigolion a grwpiau. Comment[da]=Instant messenger tillader tovejs chat mellem individer og grupper. Comment[de]=Der Instant Messenger ermöglicht Chats zwischen Personen und Gruppen in jede Richtung. Comment[el]=Ο στιγμιαίος αποστολέας επιτρέπει τη συζήτηση μεταξύ ατόμων και ομάδων. Comment[en_GB]=The instant messenger allows two-way chat between individuals and groups. Comment[eo]=La tujmesaĝilo ebligas ambaŭdirektan paroladon inter homoj kaj grupoj. Comment[es]=El programa de mensajería instantánea permite la conversación bidireccional entre personas y grupos. Comment[et]=Kiirsuhtlus võimaldab üksikisikute ja gruppide kahepoolset vestlust. Comment[eu]=Berehalako mezularitzak banan-banako edo taldeen arteko berriketan aritzeko. Comment[fa]=پیام‌رسان فوری امکان گپ دو طرفه بین افراد و گروهها را می‌دهد. Comment[fi]=Pikaviestiohjelman avulla voidaan keskustella kahden kesken tai ryhmissä. Comment[fr]=La messagerie instantanée permet un dialogue bidirectionnel entre individus et groupes. Comment[fy]=Mei de instant messenger kinne jo twaspraak hâlde mei in yndividu en groepen. Comment[ga]=Is féidir comhrá déthreoch a dhéanamh idir daoine agus grúpaí leis an gclár teachtaireachtaí meandaracha. Comment[gl]=O instant messenger permite conversas nos dous sentidos entre individuos e grupos. Comment[gu]=ઇન્સ્ટન્ટ મેસેન્જર એ બે જણાં અને સમૂહોને દ્રિ-પક્ષી વાતચીત કરવાની સુવિધા આપે છે. Comment[he]=תוכנת מסרים מידיים מאפשרת לשוחח ברשת בין שני אנשים או יותר. Comment[hi]=दो व्यक्तियों या समूहों के बीच दो-तरफ़ा गपशप की सुविधा इंस्टैंट मैसेंजर से मिलती है. Comment[hne]=दू मनखे या समूह मन के बीच दू-तरफा गपसप के सुविधा इंस्टैंट मैसेंजर से मिलथे. Comment[hr]=Aplikacija za čavrljanje omogućuje dvosmjerno dopisivanje između pojedinaca i grupa. Comment[hsb]=Instant messenger zmóžni jednotliwcam a skupinam spěšnu wuměnu zdźělenkow. Comment[hu]=Interaktív társalgást tesz lehetővé az interneten keresztül két személy vagy csoport között. Comment[ia]=Le messagero Instante permitte le confabulation de duo vias inter individuos e gruppos Comment[id]=Pesan instan memungkinkan percakapan dua-arah antar individu dan grup. Comment[is]=Spjallforritið gerir einstaklingum og hópum kleyft að spjalla saman á einfaldan máta. Comment[it]=La messaggistica istantanea permette di chiacchierare tra due persone o in gruppo. Comment[ja]=インスタントメッセンジャーは個人とグループとの双方向チャットを可能にします。 Comment[kk]=Лезде хабарласу жеке тұлға және топтар араларында әңгімелесу мүмкіндігін береді. -Comment[km]=កម្មវិធី​ផ្ញើសារ​បន្ទាន់​អនុញ្ញាត​ឲ្យ​ជជែក​កំសាន្ដ​បាន​តាម​ពីរ​របៀប​រវាង​បុគ្គល និង​ក្រុម ។ +Comment[km]=កម្មវិធី​ផ្ញើ​សារ​បន្ទាន់​អនុញ្ញាត​ឲ្យ​ជជែក​កំសាន្ដ​បាន​តាម​ពីរ​របៀប​រវាង​បុគ្គល និង​ក្រុម ។ Comment[kn]=ತಕ್ಷಣ ಓಲೆಕಾರ ವ್ಯಕ್ತಿಗಳ ಮತ್ತು ಗುಂಪುಗಳ ನಡುವೆ ದ್ವಿಮಾರ್ಗೀಯ ಸಲ್ಲಾಪಕ್ಕೆ (two-way chat) ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. Comment[ko]=인스턴트 메신저를 사용하여 개인과 그룹 사이의 양방향 대화를 할 수 있습니다. Comment[ku]=Peyamkera têgihan dihêle ku du rê yan ve hevpeyvîn di navbera şexsan û koman de bê kirin. Comment[lb]=Den Instant Messenger erlaabt eng zwee-Weeër Kommunikatioun tëschent eenzelne Persounen a Gruppen. Comment[lt]=Momentinių žinučių klientas kalbėtis individams ir grupėms. Comment[lv]=Tūlītējais ziņotājs nodrošina divvirzienu tērzēšanu starp cilvēkiem un grupām. Comment[mai]=दुइ लोकनिसभ अथवा समूहसभ केर बीच दुइ-तरफा गप्प सप्पक सुविधा इंस्टैंट मैसेंजर सँ भैटेछ. Comment[mk]=Инстант гласникот овозможува двонасочна комуникација меѓу индивидуи и групи. Comment[ml]=ഇന്‍സ്റ്റന്റ് മെസഞ്ചര്‍, വ്യക്തികളോ കൂട്ടങ്ങളോ തമ്മിലുള്ള കൊച്ചുവര്‍ത്തമാനം നടത്താന്‍ സഹായിക്കുന്നു Comment[mr]=जलद संदेशवाहक वापरकर्ता व समुह यांच्यातील दुहेरी संवाद साधण्यास परवानगी देतो. Comment[ms]=Utusan segera membenarkan perbualan di antara individu dan kumpulan. Comment[nb]=Et lynmeldingsprogram som gjør det mulig å føre toveis samtale mellom enkeltpersoner og grupper. Comment[nds]=Mit den Kortnarichten-Maker köönt enkelte Minschen oder Gruppen ünnerenanner snacken. Comment[ne]=इन्सट्यान्ट मेसेन्जरले एक अर्का र समूहबीच दोहोरो कुराकानीका लागि अनुमति दिन्छ । Comment[nl]=De instant messenger maakt directe communicatie tussen personen of groepen mogelijk. Comment[nn]=Lynmeldingsprogram gjer det mogleg for enkeltpersonar og grupper å prata saman. Comment[or]=The instant messenger allows two-way chat between individuals and groups. Comment[pa]=ਇਹ ਮੌਕਾ ਮੈਸੈਂਜ਼ਰ ਇੱਕਲੇ ਅਤੇ ਗਰੁੱਪ ਵਿਚਕਾਰ ਦੋ ਪਾਸੀ ਗਲਬਾਤ ਲਈ ਸਹਾਇਕ ਹੈ Comment[pl]=Komunikator internetowy umożliwia pogawędki między dwiema osobami lub grupami osób. Comment[pt]=O mensageiro instantâneo permite conversar entre dois extremos com indivíduos e com grupos. Comment[pt_BR]=O mensageiro instantâneo possibilita o bate-papo entre pessoas e grupos. Comment[ro]=Aplicația de mesagerie instantanee permite convorbiri între persoane sau grupuri de persoane. Comment[ru]=Клиент обмена мгновенными сообщениями служит для обмена сообщениями между людьми и между группами. Comment[se]=Šleađgadiehtoprográmma gos olbmot ja joavkkut sáhttet buillardit (Chat). Comment[sk]=Instant messenger umožňuje obojsmerný rozhovor medzi jednotlivcami a skupinami. Comment[sl]=Takojšni sporočilnik omogoča dvosmeren klepet med posamezniki in skupinami. Comment[sr]=Брзим гласником можете ћаскати са другим појединцима и у групама. Comment[sr@ijekavian]=Брзим гласником можете ћаскати са другим појединцима и у групама. Comment[sr@ijekavianlatin]=Brzim glasnikom možete ćaskati sa drugim pojedincima i u grupama. Comment[sr@latin]=Brzim glasnikom možete ćaskati sa drugim pojedincima i u grupama. Comment[sv]=Direktmeddelanden möjliggör tvåvägschatt mellan individer och grupper. Comment[ta]=தனிநபர், குழுக்களுக்கிடையே இருவழி உரையாடலை உடனடி தூதர் அனுமதிக்கும் Comment[te]=ఇంస్టెంట్ మెస్సెన్జర్ వ్యక్తు లు మరయు గుంపుల తొ ఇరువయపుల నుంచి సంబాషించవచ్చు Comment[tg]=Барномаи паёмнависӣ барои ирсоли иттилооти шахсӣ ва гурӯҳӣ. Comment[th]=โปรแกรมส่งข้อความด่วนทันใจทีจะอนุญาตให้มีการพูดคุยสองทาง ทั้งระหว่างบุคคลและกลุ่ม Comment[tr]=Anında mesajlaşma uygulaması bireylerin ve grupların karşılıklı sohbet etmesini sağlar. Comment[ug]=بۇ مۇڭداشقۇ شەخسىي ۋە گۇرۇپپا ئارىسىدا قوش يۆنىلىشتە ئۇچۇر ئالماشتۇرۇشقا يول قويىدۇ. Comment[uk]=Програма для миттєвого зв'язку дозволяє розмовляти з іншою людиною чи групою людей. -Comment[vi]=Bộ tin nhắn tức khắc cho phép trò chuyện hai chiều giữa người riêng và nhóm khác nhau. +Comment[vi]=Trình nhắn tin tức thời cho phép trò chuyện hai chiều giữa các cá nhân hay nhóm với nhau. Comment[wa]=Li messaedjreye sol moumint permete di berdeler dins les deus sinses etur deus djins ou e groupe. Comment[x-test]=xxThe instant messenger allows two-way chat between individuals and groups.xx Comment[zh_CN]=这个即时通讯程序允许在个人和群组之间双向聊天。 Comment[zh_HK]=即時通訊軟件可以讓用戶和別的用戶或羣組通訊。 Comment[zh_TW]=即時通訊系統允許兩個人或兩個群組間的聊天與對話 ServiceTypeToConfigure=DBUS/InstantMessenger defaultImplementation=kopete storeInFile=default_components valueSection=InstantMessenger valueName=imClient configurationType=component diff --git a/interfaces/ktexteditor/kcm_ktexteditor.desktop b/interfaces/ktexteditor/kcm_ktexteditor.desktop index 19ad154b0a..94e88f5a33 100644 --- a/interfaces/ktexteditor/kcm_ktexteditor.desktop +++ b/interfaces/ktexteditor/kcm_ktexteditor.desktop @@ -1,169 +1,170 @@ # ctxt: standard desktop component Name=Embedded Text Editor Name[ar]=محرر نصوص مدمج Name[ast]=Editor de testu encrustáu Name[be@latin]=Unutrany tekstavy redaktar Name[bg]=Вграден текстов редактор Name[bn]=অভ্যন্তরীন টেক্সট সম্পাদক Name[bs]=ugnežđeni uređivač teksta Name[ca]=Editor de text encastat Name[ca@valencia]=Editor de text encastat Name[cs]=Zabudovaný textový editor Name[csb]=Òbsôdzony editor tekstu Name[da]=Indlejret tekstredigering Name[de]=Eingebetteter Texteditor Name[el]=Ενσωματωμένος επεξεργαστής κειμένου Name[en_GB]=Embedded Text Editor Name[es]=Editor de texto integrado Name[et]=Põimitud tekstiredaktor Name[eu]=Kapsulatutako testu-editorea Name[fa]=ویرایشگر متن توکار Name[fi]=Upotettava tekstieditori Name[fr]=Éditeur de texte intégré Name[fy]=Ynsletten tekstbewurker Name[ga]=Eagarthóir téacs leabaithe Name[gl]=Editor de textos integrado Name[gu]=જડિત લખાણ સંપાદક Name[he]=עורך טקסט משובץ Name[hi]=अंतर्निर्मित पाठ संपादक Name[hr]=Ugrađeni uređivač teksta Name[hu]=Beágyazott szövegszerkesztő Name[ia]=Editor Interne de texto Name[id]=Penyunting Teks Dapat Dibenamkan Name[is]=Ívafinn textaritill Name[it]=Editor di testi integrato Name[ja]=埋め込みテキストエディタ Name[kk]=Ендірілетін мәтін редакторы Name[km]=កម្មវិធី​និពន្ធ​អត្ថបទ​ដែល​បាន​បង្កប់ Name[kn]=ಹುದುಗಿಸಲಾದ (ಎಂಬೆಡೆಡ್) ಪಠ್ಯ ಸಂಪಾದಕ Name[ko]=끼워넣은 텍스트 편집기 Name[ku]=Edîtora Nivîsê yê Jixwe Heyî Name[lt]=Įdėtas tekstų redaktorius Name[lv]=Iegultais teksta redaktors Name[ml]=തുന്നിച്ചേര്‍ത്ത ചെയ്ത എഴുത്തിടം Name[ms]=Editor Teks Terbinadalam Name[nb]=Innebygd skriveprogram Name[nds]=Inbett Texteditor Name[nl]=Ingebedde tekstbewerker Name[nn]=Innebyggbart skriveprogram Name[pa]=ਇੰਬੈੱਡ ਟੈਕਸਟ ਐਡੀਟਰ Name[pl]=Osadzony edytor tekstu Name[pt]=Editor de Texto Incorporado Name[pt_BR]=Editor de texto integrado Name[ro]=Editor de text înglobat Name[ru]=Встроенный текстовый редактор Name[se]=Vuojuhahtti čállinprográmma Name[sk]=Vložený textový editor Name[sl]=Vgrajeni urejevalnik besedil Name[sr]=угнежђени уређивач текста Name[sr@ijekavian]=угнијежђени уређивач текста Name[sr@ijekavianlatin]=ugniježđeni uređivač teksta Name[sr@latin]=ugnežđeni uređivač teksta Name[sv]=Inbäddad texteditor Name[ta]=உட்பொதிந்த உரைதிருத்தி Name[tg]=Таҳриргари матни дарунсохт Name[th]=ส่วนแก้ไขข้อความแบบฝังตัวได้ Name[tr]=Gömülü Metin Düzenleyici Name[ug]=سىڭدۈرمە تېكىست تەھرىرلىگۈچ Name[uk]=Вмонтований текстовий редактор +Name[vi]=Trình soạn thảo văn bản nhúng Name[wa]=Ravalé aspougneu di tecse Name[x-test]=xxEmbedded Text Editorxx Name[zh_CN]=嵌入式文本编辑器 Name[zh_TW]=嵌入式文字編輯器 Comment=The text editor service provides applications with a text viewer and editor. KDE applications that provide text editing facilities should use this service. Comment[af]=Die teksredigeerderdiens verskaf programme met 'n teks aansig en redigeerder. KDE programme wat teksredigering fasiliteite verskaf, moet hierdie diens gebruik. Comment[ar]=تقوم خدمة محرر النصوص بتزويد التطبيقات بمعاين نصوص ومحرر. يجب أن تستخدم تطبيقات كيدي التي تزود بتسهيلات تحرير النصوص هذه الخدمة. Comment[as]=লিপি সম্পাদক সেৱাই এটা লিপি প্ৰদৰ্শক আৰু সম্পাদকৰ অনুপ্ৰয়োগ দিয়ে । যি KDE অনুপ্ৰয়োগে লিপি সম্পাদনৰ সুবিধা দিয়ে এই সেৱা ব্যৱহাৰ কৰিব লাগে । Comment[ast]=El serviciu d'editor de testu ufre a les aplicaciones un visor y editor de testu. Les aplicaciones KDE qu'ufren facilidáes d'edición de testu habríen d'usar esti serviciu. Comment[be]=Сервіс тэкставага рэдактара дазваляе праглядаць і рэдагаваць тэкст у праграмах. Праграмы KDE, якія выконваюць гэтыя функцыі, павінны працаваць з гэтым сервісам. Comment[be@latin]=Słužba redahavańnia tekstaŭ zabiaśpiečvaje aplikacyi prahladnikam i redaktaram tekstaŭ. Aplikacyi KDE, jakija pracujuć z tekstami, pavinnyja karystacca hetaj słužbaj. Comment[bg]=Текстовия редактор, представлява компонент за вграждане в другите програми, който предоставя функционалност за разглеждане и редактиране на текстови файлове. Comment[bn]=টেক্সট সম্পাদক সার্ভিসটি বিভিন্ন অ্যাপলিকেশন-কে একটি টেক্সট প্রদর্শক এবং সম্পাদক ব্যবহার করার সুযোগ দেয়। কোন কে.ডি.ই. অ্যাপলিকেশন টেক্সট সম্পাদনা করার সুবিধা দিতে চাইলে তার এই সার্ভিসটি ব্যবহার করা উচিত্‍। Comment[bn_IN]=টেক্সট এডিটর পরিসেবার সাহায্যে টেক্সট প্রদর্শন ব্যবস্থা ও এডিটর উপলব্ধ করা হয়। টেক্সট এডিটরের কর্ম উপলব্ধকারী KDE অ্যাপ্লিকেশনগুলি দ্বারা এই পরিসেবা ব্যবহার করা আবশ্যক। Comment[bs]=Servis uređivača teksta pruža programima način za prikazivanje i uređivanje tekstova. Trebalo bi da ga koriste svi KDE programi kojima je to potrebno. Comment[ca]=El servei de l'editor de text proveeix d'aplicacions amb un visor i un editor de text. Les aplicacions KDE que proveeixen de facilitats d'edició haurien d'emprar aquest servei. Comment[ca@valencia]=El servei de l'editor de text proveeix d'aplicacions amb un visor i un editor de text. Les aplicacions KDE que proveeixen de facilitats d'edició haurien d'emprar este servei. Comment[cs]=Služba textového editoru poskytuje aplikacím prohlížeč a editor textu. Aplikace KDE, které umožňují upravovat text, by měly používat tuto službu. Comment[csb]=Ùsłëżnota tekstowegò editorë zezwôlô aplikaceją na przezéranié ë edicejã tekstów. Programë KDE, jaczé ùprzistãpniają nã edicëjną fùnkcëjã, mają brëkòwac ti ùsłëżnotë. Comment[cy]=Mae'r gwasanaeth golygu testun yn darparu gwelydd testun a golygydd i gymhwysiadau. dylai cymhwysiadau KDE sy'n darparu galluoedd golygu testun ddefnyddio'r gwasanaeth yma. Comment[da]=Teksteditor-tjenesten udstyrer programmer med en tekstfremviser og editor. KDE-programmer der bruger tekstredigeringsfaciliteter bør benytte denne tjeneste. Comment[de]=Diese Komponente stellt Programmen einen Textbetrachter und -editor zur Verfügung. KDE-Anwendungen, die eine Möglichkeit zur Textbearbeitung bieten, sollten dieses Angebot nutzen. Comment[el]=Η υπηρεσία επεξεργαστή κειμένου παρέχει στις εφαρμογές έναν προβολέα και επεξεργαστή κειμένου. Οι εφαρμογές του KDE που παρέχουν δυνατότητες επεξεργασίας κειμένου θα πρέπει να χρησιμοποιούν αυτή την υπηρεσία. Comment[en_GB]=The text editor service provides applications with a text viewer and editor. KDE applications that provide text editing facilities should use this service. Comment[eo]=La tekstredaktila servo donas al vi aplikaĵojn kun tekstrigardilo kaj redaktilo. KDE-aplikaĵoj kiuj volas provizi tekstredaktadan eblon uzu tiun ĉi servon. Comment[es]=El servicio del editor de texto proporciona a las aplicaciones un visor y editor de textos. Las aplicaciones KDE que suministren funciones de edición deberían utilizar este servicio. Comment[et]=Tekstiredaktori teenus annab rakendustele komponendi teksti vaatamiseks ja redigeerimiseks. Seda kasutavad kõik KDE rakendused, mis tegelevad teksti redigeerimisega. Comment[eu]=Testu-editorearen zerbitzuak testu-ikustailea eta editorea duten aplikazioak eskaintzen ditu. Testuak editatzeko aukera ematen duten KDE aplikazioek erabili beharko lukete zerbitzu hau. Comment[fa]=خدمت ویرایشگر متن، کاربردهایی را توسط یک مشاهده‌گر و ویرایشگر متن، فراهم می‌کند. کاربردهای KDE که امکانات ویرایش متن را فراهم می‌کنند باید از این \ خدمت استفاده نمایند. Comment[fi]=Tekstieditoripalvelu tarjoaa sovelluksille tekstinäyttäjän- ja muokkaimen. KDE-sovelluksien, jotka tarjoavat tekstinmuokkauspalveluita, tulisi käyttää tätä palvelua. Comment[fr]=Le service d'édition de texte fournit des applications comportant un afficheur de texte et un éditeur. Les applications KDE qui fournissent des fonctions d'édition de texte devraient utiliser ce service. Comment[fy]=De tekstbewurkings-fasiliteit foarsjocht programma's fan een tekstwerjouwer en -ferwurker. KDE-applikaasjes mei tekstferwurkingsmooglikheden kinne hjir gebrûk fan meitsje. Comment[ga]=Cuirtear amharcán téacs agus eagarthóir ar fáil d'fheidhmchláir tríd an tseirbhís eagarthóireachta téacs. Ba cheart d'fheidhmchláir KDE a sholáthraíonn áiseanna eagarthóireachta an tseirbhís seo a úsáid. Comment[gl]=O servizo de edición de texto fornece aos programas un visor e editor de textos. Todos os programas de KDE que permitan editar textos deberan empregar este servizo. Comment[gu]=લખાણ સંપાદક સેવા કાર્યક્રમોને લખાણ દર્શક અને સંપાદક પૂરૂં પાડે છે. KDE કાર્યક્રમો જે લખાણ સંપાદન સુવિધાઓ ઉપયોગ કરે છે તેમને આ સેવા ઉપયોગ કરવી જોઇએ. Comment[he]=שירות עורך הטקסט מספק לתוכניות יכולות הצגה ועריכת טקסט. תוכנות של KDE שמספקות אמצעים לעריכת טקסט ישתמשו בשירות זה. Comment[hi]=पाठ संपादक सेवा में पाठ प्रदर्शक तथा संपादक अनुप्रयोग मिलते हैं. केडीई अनुप्रयोग जो पाठ संपादन सुविधा प्रदान करते हैं उन्हें यह सेवा प्रयोग करना चाहिए. Comment[hne]=पाठ संपादक सेवा मं पाठ प्रदर्सक अउ संपादक अनुपरयोग मिलथे. केडीई अनुपरयोग जऊन पाठ संपादन सुविधा प्रदान करथे ओ मन ल ए सेवा परयोग करना चाही. Comment[hr]=Usluga tekstualnog uređivača omugućuje aplikacijama pregledavanje i uređivanje teksta. KDE aplikacije koje omogućuju uređivanje teksta trebale bi upotrebljavati ovu uslugu. Comment[hsb]=Wobdźěłanje teksta staji programam wobdźěłarja a wobhladowarja teksta k dispoziciji. KDE-aplikacije, kiž tajke něšto trjebaja, měli tutón serwis wužiwać. Comment[hu]=A szövegszerkesztő szolgáltatáson keresztül az alkalmazások szövegek megtekintését és szerkesztését végezhetik el. A KDE szövegszerkesztő programjai használhatják. Comment[ia]=Le servicio de editor de texto forni le applicationes de un visor e un editor. Le applicationes KDE que usa iste facilitates deberea usar iste servicio. Comment[id]=Layanan penyunting teks menyediakan aplikasi dengan penampil dan penyunting teks. Aplikasi KDE yang memberikan fasilitas penyuntingan teks harus menggunakan layanan ini. Comment[is]=Ívafni ritillinn færir forritum texta-skoðara og ritil. KDE forrit sem birta ritil til textavinnslu ættu að nota þessa þjónustu. Comment[it]=Il servizio di editor di testi fornisce alle applicazioni un visualizzatore ed un editor di testi. Le applicazioni KDE che permettono l'elaborazione di testi dovrebbero usare questo servizio. Comment[ja]=テキストエディタサービスはアプリケーションにテキストビューアとテキストエディタを提供します。テキスト編集の機能を持つ KDE アプリケーションはこれを使用します。 Comment[kk]=Қолданбаларға мәтінді қарау және өңдеу мүмкіншілікті беретін қызмет. Мәтінді өңдеу үшін KDE қолданбалар осы қызметті пайдалану керек. Comment[km]=សេវា​កម្មវិធី​និពន្ធ​អត្ថបទ​ផ្តល់​នូវ​កម្មវិធី​រួម​មាន​កម្មវិធី​មើល​អត្ថបទ និង​កម្មវិធី​និពន្ធ​អត្ថបទ ។ កម្មវិធី KDE ដែល​ផ្តល់​មធ្យោបាយ​ងាយស្រួល​និពន្ធ​អត្ថបទ​គួរ​ប្រើ​សេវា​នេះ ។ Comment[kn]=ಪಠ್ಯ ಸಂಪಾದಕ ಸೇವೆ ಅನ್ವಯಗಳಿಗೆ ಪಠ್ಯ ವೀಕ್ಷಣೆ ಮತ್ತು ಸಂಪಾದನೆಗೆ ಅನುಕೂಲವಾಗುವ ಸೌಲಭ್ಯಗಳನ್ನು ನೀಡುತ್ತದೆ. ಪಠ್ಯ ಸಂಪಾದನಾ ಸೌಲಭ್ಯಗಳನ್ನು ನೀಡುವ ಕೆಡಿಇ ಅನ್ವಯಗಳು ಈ ಸೇವೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳಬೇಕು. Comment[ko]=텍스트 편집기 서비스는 프로그램에 텍스트 뷰어 및 에디터 기능을 제공합니다. 텍스트 편집 기능을 사용하려는 KDE 프로그램은 이 서비스를 사용해야 합니다. Comment[ku]=Servîsa edîtora nivîsê sepanên bi nîşanderê nivîsê û edîtorê nivîsê re peyda dike. Sepanên KDE yên ku derfetên nivîsandinê peyda dike divê vê servîsê bi kar bîne. Comment[lb]=Den Texeditor-Service stellt Programmer en Textlieser an en Texteditor zur Verfügung.KDE-Programmer, déi Textmanipuléierungsfunktiounen ubidden, sollen dëse Service benotzen. Comment[lt]=Teksto redaktoriaus tarnyba pateikia programoms teksto žiūriklį ir redaktorių. KDE programos, leidžiančios redaguoti tekstą, turėtų naudoti šią tarnybą. Comment[lv]=Teksta redaktora serviss sniedz teksta aplūkošanas un rediģēšanas pakalpojumus programmām. Tām KDE programmām, kurām tas ir nepieciešams, vajadzētu izmantot šo servisu. Comment[mai]=पाठ संपादक सेवामे पाठ प्रदर्शक आओर संपादक अनुप्रयोग भेटैछ. केडीइ अनुप्रयोग जे पाठ संपादन सुविधा दैछ ओकरा ई सेवाक प्रयोग कएनाइ चाही. Comment[mk]=Сервисот за текст уредувач ги снабдува апликациите со текст прегледник и уредувач. KDE апликациите што овозможуваат уредување текст би требало да го користат овој сервис. Comment[ml]=ടെക്സ്റ്റ് എഴുത്തിടത്തിന്റെ സേവനം പ്രയോഗങ്ങള്‍ക്കു് പദാവലി കാണാനും മാറ്റാനുമുള്ള സംവിധാനം ഒരുക്കുന്നു. പദാവലി ലേഖനം ചെയ്യാനുള്ള സൌകര്യങ്ങളൊരുക്കുന്ന കെഡിഇയിലെ പ്രയോഗങ്ങള്‍ ഈ സേവനം ഉപയോഗിയ്ക്കണം. Comment[mr]=पाठ्य संपादक सेवा पाठ्य प्रदर्शक व संपादक समाविष्ठीत अनुप्रयोग पुरवितो. KDE अनुप्रयोग जे पाठ्य संपादन सुविधा पुरवितात ही सेवा वापरायला हवी. Comment[ms]= Servis penyunting teks yang menyediakan aplikasi dengan pelihat teks dan editor. Aplikasi KDE yang menyediakan kemudahan penyuntingan teks patut menggunakan servis ini. Comment[nb]=Tjenesten innebygd skriveprogram gir programmer mulighet til å vise og redigere tekst. KDE-programmer som kan redigere tekst bør bruke denne tjenesten. Comment[nds]=De Texteditor-Deenst föögt Programmen en Textwieser un -editor to. KDE-Programmen, mit de Texten bewerkt warrt, schöölt em bruken. Comment[ne]=पाठ सम्पादक सेवाले पाठ दर्शक र सम्पादक भएको अनुप्रयोग उपलब्ध गराउँछ । पाठ सम्पादक सुविधा उपलब्ध गर्ने केडीई अनुप्रयोगले यो सेवा प्रयोग गर्नु आवश्यक हुन्छ । Comment[nl]=Dit component stelt programma's een tekstinvoercomponent tot hun beschikking. KDE-toepassingen die te maken hebben met het bewerken van tekst kunnen gebruik maken van deze aangeboden dienst. Comment[nn]=Skriveprogramtenesta tilbyr vising og redigering av tekst. KDE-program som skal visa eller redigera tekst brukar denne tenesta. Comment[or]=The text editor service provides applications with a text viewer and editor. KDE applications that provide text editing facilities should use this service. Comment[pa]=ਟੈਕਸਟ ਐਡੀਟਰ ਸਰਵਿਸ ਉਹ ਸਭ ਐਪਲੀਕੇਸ਼ਨ ਉਪਲੱਬਧ ਕਰਵਾਉਦਾ ਹੈ, ਜੋ ਕਿ ਟੈਕਸਟ ਦਰਸ਼ਕ ਅਤੇ ਐਡੀਟਰ ਸ਼ਾਮਿਲ ਹਨ। KDE ਐਪਲੀਕੇਸ਼ਨਾਂ, ਜੋ ਕਿ ਟੈਕਸਟ ਐਡਟਿੰਗ ਦੀ ਸਹੂਲਤ ਉਪਲੱਬਧ ਕਰਵਾਉਦੀਆਂ ਹਨ, ਇਸ ਨੂੰ ਇਸਤੇਮਾਲ ਕਰਦੀਆਂ ਹਨ। Comment[pl]=Usługa edytora tekstowego pozwala programom na przeglądanie i edycję tekstów. Programy KDE, które udostępniają funkcje edycyjne, powinny używać tej usługi. Comment[pt]=O serviço de edição de texto oferece às aplicações um visualizador e editor de texto. As aplicações do KDE que oferecem funcionalidade de edição de texto devem usar este serviço. Comment[pt_BR]=O serviço de edição de texto fornece um visualizador e editor de texto aos aplicativos. Os aplicativos KDE que fornecem recursos de edição de texto devem utilizar este serviço. Comment[ro]=Serviciul de editare text asigură aplicațiilor un vizualizor de text și un editor. Aplicațiile KDE care oferă capabilități de editare de text ar trebui să utilizeze acest serviciu. Comment[ru]=Компонент текстового редактора для приложений, в которых требуется просмотр и редактирование текста. Её должны использовать приложения KDE, в которых требуется редактирование текста. Comment[se]=Čállinprográmmabálvalus fállá teakstačájeheami ja -doaimmaheami. KDE-prográmmat, mat fállet teakstadoaimmahanvejolašvuođaid, galggašedje geavahit dán bálvalusa. Comment[sk]=Služba textového editora poskytuje aplikáciám prehliadač a editor textových súborov. Aplikácie KDE, ktoré podporujú úpravu textu, by mali používať túto službu. Comment[sl]=Storitev urejevalnika besedila omogoča programom dostop do pregledovalnika in urejevalnika besedil. Programi za KDE, ki omogočajo urejanje besedila, naj bi uporabljali to storitev. Comment[sr]=Сервис уређивача текста пружа програмима начин за приказивање и уређивање текстова. Требало би да га користе сви КДЕ програми којима је то потребно. Comment[sr@ijekavian]=Сервис уређивача текста пружа програмима начин за приказивање и уређивање текстова. Требало би да га користе сви КДЕ програми којима је то потребно. Comment[sr@ijekavianlatin]=Servis uređivača teksta pruža programima način za prikazivanje i uređivanje tekstova. Trebalo bi da ga koriste svi KDE programi kojima je to potrebno. Comment[sr@latin]=Servis uređivača teksta pruža programima način za prikazivanje i uređivanje tekstova. Trebalo bi da ga koriste svi KDE programi kojima je to potrebno. Comment[sv]=Texteditortjänsten ger program en textvisare och editor. KDE-program som tillhandahåller textredigeringsfunktioner bör använda denna tjänst. Comment[ta]=பயன்பாடுகளுக்கு உரைகாட்டியொன்றையும் திருத்தியொன்றையும் உரைதிருத்தி சேவை வழங்குகிறது. உரை திருத்தும் வசதிகளை வழங்கக்கூடிய கேடீயீ பயன்பாடுகள் இந்தச் சேவையை பயன்படுத்திக் கொள்ளலாம். Comment[te]=కార్యక్రమాలకు వాచకం సరిచేయు సేవ ఒక వాచకం విక్షణ మరియు సరిచెయుటకు సహాయపడును. కెడిఈ కార్యక్రమాలు వాచకం సరిచెయు సౌకర్యాలు వున్నట్టైతె దిని సేవ ను ఉపయొగించొకొవలెను Comment[tg]=Хидмати таҳриргари матн барномаҳоро бо намоишгари матн ва таҳриргар имкон медиҳад. Барномаҳои KDE бо хосиятҳои таҳриргари матн бояд ин хидмат истифода барад. Comment[th]=บริการตัวแก้ไขข้อความ จะจัดเตรียมตัวดูข้อความและแก้ไขข้อความให้กับโปรแกรม โปรแกรมของ KDE ที่เตรียมความสามารถในการแก้ไขข้อความเอาไว้ ควรจะใช้บริการนี้ Comment[tr]=Metin düzenleyici servisi bir metin düzenleyici ve gösterici uygulama sağlar. Metin düzenleyebilen KDE uygulamaları bu servisi kullanmalıdır. -Comment[ug]=تېكىست مۇلازىمىتى تېكىست كۆرگۈچ ۋە تەھرىرلەش پروگراممىنى تەمىنلىدى. تېكىست تەھرىر ئىقتىدارىنى تەمىنلەيدىغان KDE پروگراممىلىرىنىڭ ھەممىسى مۇشۇ مۇلازىمەتنى ئىشلىتىدۇ. +Comment[ug]=تېكىست تەھرىرچى مۇلازىمىتى تېكىست كۆرگۈچ ۋە تەھرىرچى پروگراممىنى تەمىنلىدى. تېكىست تەھرىر ئىقتىدارىنى تەمىنلەيدىغان KDE پروگراممىلىرىنىڭ ھەممىسى مۇشۇ مۇلازىمەتنى ئىشلىتىدۇ. Comment[uk]=Служба «Текстовий редактор» забезпечує роботу програм з переглядачем та редактором тексту. Програми KDE, які надають можливість редагування тексту, повинні користуватись цією службою. Comment[uz]=Matn tarhrirchi xizmati dasturlarni matn koʻruvchi va tahrirchi bilan taʼminlaydi. Matn tahrirlash imkoniyatini yaratuvchi KDE dasturlari shu xizmatni ishlatishi kerak. Comment[uz@cyrillic]=Матн тарҳрирчи хизмати дастурларни матн кўрувчи ва таҳрирчи билан таъминлайди. Матн таҳрирлаш имкониятини яратувчи KDE дастурлари шу хизматни ишлатиши керак. -Comment[vi]=Dịch vụ soạn thảo văn bản cung cấp cho ứng dụng một bộ xem và soạn thảo văn bản. Các ứng dụng KDE mà cung cấp khả năng soạn thảo văn bản nên dùng dịch vụ này. +Comment[vi]=Dịch vụ soạn thảo văn bản cung cấp cho các ứng dụng một trình xem và soạn thảo văn bản. Các ứng dụng KDE cung cấp khả năng soạn thảo văn bản nên sử dụng dịch vụ này. Comment[wa]=Li siervice aspougneu d' tecse dene åzès programes on håyneu et èn aspougneu d' tecses. Les programes KDE ki dnèt des fonccionålités d' aspougnaedje di tecse divèt eployî ç' siervice ci. -Comment[x-test]=xxThe text editor service provides applications with a text viewer and editor. KDE applications that provide text editing facilities should use this service.xx Comment[xh]=Inkonzo yomhleli wombhalo onika izicelo ngombonisi wombhalo nomhleli Izicelo ze KDE ezinikezela ngohlelo lombhalo ekufuneka isebenzise lenkonzo. +Comment[x-test]=xxThe text editor service provides applications with a text viewer and editor. KDE applications that provide text editing facilities should use this service.xx Comment[zh_CN]=文本编辑器服务提供了文本查看器和编辑器的应用程序。提供文本编辑功能的 KDE 应用程序都应该使用此服务。 Comment[zh_HK]=文字編輯服務為各種程式提供一個檢視和編輯文字的介面。任何提供文字編輯功能的 KDE 程式都應該使用這項服務。 Comment[zh_TW]=文字編輯服務提供程式一個文字檢視器以及編輯器。提供文字編輯功能的 KDE 程式擁該使用這項服務。 ServiceTypeToConfigure=KTextEditor/Document defaultImplementation=katepart storeInFile=default_components valueSection=KTextEditor valueName=embeddedEditor configurationType=component diff --git a/interfaces/ktexteditor/ktexteditor.desktop b/interfaces/ktexteditor/ktexteditor.desktop index b597a97718..279ee2d4b6 100644 --- a/interfaces/ktexteditor/ktexteditor.desktop +++ b/interfaces/ktexteditor/ktexteditor.desktop @@ -1,95 +1,95 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KTextEditor/Document X-KDE-Derived=KParts/ReadWritePart Comment=Embeddable Text Editor Component (with Doc/View Separation) Comment[af]=Inlegbare Teksredigeerderkomponent (met Dok/Besigtig Seperasie) Comment[ar]=مكوّن تحرير النصوص قابل للدمج (مع Doc/View Separation) Comment[as]=প্ৰোথিত কৰিব পৰা লিপি সম্পাদনৰ অংশ (Doc/View Separation ৰ সৈতে) Comment[ast]=Componente encrustable d'edición de testu (con dixebra documentu/vista) Comment[be]=Унутраны тэкставы рэдактар (з падзелам Дакумент/Прагляд) Comment[be@latin]=Unutrany kampanent tekstavaha redaktara (z padziełam na dakumenty j prahlady) Comment[bg]=Текстов редактор (с разделение между Doc/View) Comment[bn]=অভ্যন্তরীণ টেক্সট সম্পাদক কম্পোনেন্ট (পৃথক ডক/ভিউ সহ) Comment[bn_IN]=এমবেড করা টেক্সট এডিটেরের সামগ্রী (Doc/View পার্থক্যসহ) Comment[bs]=Ugnezdiva komponenta uređivača teksta (uz razdvajanje dokument-prikaz) Comment[ca]=Component encastable de l'editor de text (amb separació Doc/Vista) Comment[ca@valencia]=Component encastable de l'editor de text (amb separació Doc/Vista) Comment[cs]=Pohltitelná komponenta textového editoru (s oddělením Doc/View) Comment[csb]=Dzél editora tekstu (do òbsôdzaniô, z paradygmatã Dokùment/Wëzdrzatk) Comment[cy]=Cydran Golygydd Testun Mewnadeiladwy (wrth Wahanu Dogfen/Golwg) Comment[da]=Teksteditorkomponent som kan indlejres (med dok./visning-adskillelse) Comment[de]=Einbettungsfähige Editorkomponente (mit Text/Ansicht-Aufteilung) Comment[el]=Ενσωματώσιμο στοιχείο επεξεργαστή κειμένου (με διαχωρισμό Doc/View) Comment[en_GB]=Embeddable Text Editor Component (with Doc/View Separation) Comment[eo]=Enkorpigita redaktilo (kun apartigo de dokumento kaj rigardo) Comment[es]=Componente empotrable de editor de textos (con separación Doc/Vista) Comment[et]=Põimitav tekstiredaktori komponent (dokument/vaade eraldamisega) Comment[eu]=Testu-editorearen kapsulatutako osagaia (Dok/Ikusi bereizketarekin) Comment[fa]=مولفه ویرایشگر متن نهفته )با سند/نمای مجزا( Comment[fi]=Upotettava tekstimuokkauskomponentti (Asiakirja/Näkymä-jaolla) Comment[fr]=Composant d'édition de texte intégrable (avec séparation doc / vue) Comment[fy]=Yn te sluten tekstbewurkerkomponint (mei skieding fan tekst/werjefte) Comment[ga]=Comhpháirt eagarthóireacht téacs inleabaithe (le deighilt idir cáipéis agus amharc) Comment[gl]=Compoñente integrábel de edición de texto (cunha Separación Doc/Vista) Comment[gu]=જડિત લખાણ સંપાદક ભાગ (Doc/View અલગ પાડેલ સાથે) Comment[he]=רכיב עורך טקסט הניתן לשיבוץ (עם הפרדה בין מסמך לתצוגה) Comment[hi]=अंतर्निर्मित पाठ संपादक अवयव (डॉक/दृश्य विभाजन के साथ) Comment[hne]=भीतर मं बने पाठ संपादक अवयव (डाक/दृस्य विभाजन के साथ) Comment[hr]=Ugradiva komponenta obrade teksta (s Doc/View razdvajanjem) Comment[hsb]=Komponenta za integrowane wobdźěłanje teksta Comment[hu]=Beágyazható szövegszerkesztő (dokumentum/nézet modellel) Comment[ia]=Componente del editor interne de texto (con separation Doc/Vista) Comment[id]=Komponen Penyunting Teks Dapat Dibenamkan (dengan Pemisahan Dok/Tampilan) Comment[is]=Ívafinn textaritill (með skjal/sýn aðskilnaði) Comment[it]=Componente integrabile per l'elaborazione di testi (con separazione documento/vista) Comment[ja]=埋め込み可能なテキストエディタコンポーネント (Doc/View 分離) Comment[kk]=Ендірілетін мәтін өңдеу компоненті (Құжат/көрініс үлгіні қолдайтын) Comment[km]=សមាសភាគ​កម្មវិធីនិពន្ធ​អត្ថបទ​ដែល​អាចបង្កប់ (ដោយ​ប្រើ​ការ​បំបែក Doc/View) Comment[kn]=ಹುದುಗಿಸಬಹುದಾದ (ಎಂಬೆಡಬಲ್) ಪಠ್ಯ-ಸಂಪಾದಕದ ಅಂಶ (ದಸ್ತಾವೇಜು/ನೋಟ ಬೇರ್ಪಡೆಯೊಂದಿಗೆ) Comment[ko]=끼워넣는 텍스트 편집기 구성 요소 (문서/보기 구분) Comment[ku]=Perçe ya Edîtora Nivîsê yê Jixwe Heyî (bi Doc/Dîtina Cuda kirinê) Comment[lb]=Abettbar Texteditor-Komponent (mat Dokument/Usiicht Trennung) Comment[lt]=Įdedamas tekstų redaktoriaus komponentas (su Doc/View atskyrimu) Comment[lv]=Iegulstama tekstu redaktora komponente (ar Dok/Skata atdalīšanu) Comment[mai]=अंतर्निर्मित पाठ संपादक अवयव (डाक/दृश्य विभाजन केर सँग) Comment[mk]=Вгнездлива компонента за уредување на текст (со Док/Приказ раздвојување) Comment[ml]=എംബഡ് ചെയ്യാവുന്ന ടെക്സ്റ്റ് എഴുത്തിടമെന്ന ഘടകം (ഡോക്/വ്യൂ വ്യത്യാസത്തോടെ) Comment[mr]=अंतर्भूतीत पाठ्य संपादक घटक (दस्तऐवज/प्रदर्शन विभाजन सह) Comment[ms]=Komponen Penyunting Teks Boleh Selit (Dokumentasi/Pelihat berasingan) Comment[nb]=Innebygget skriveprogram-komponent (med Doc/View-skille) Comment[nds]=Inbettbor Texteditor-Komponent (mit Dokment/Ansicht-Trennen) Comment[ne]=सम्मिलित पाठ सम्पादक अवयव (Doc/View Separation बाट) Comment[nl]=Ingebed tekstinvoercomponent (met scheiding van tekst/weergave) Comment[nn]=Innebyggbar skriveprogramkomponent (med Doc/View-skilje) Comment[or]=Embeddable Text Editor Component (with Doc/View Separation) Comment[pa]=ਇੰਬੈੱਡਯੋਗ ਟੈਕਸਟ ਐਡੀਟਰ ਭਾਗ (Doc/ਝਲਕ ਵੱਖ ਕਰਨ ਨਾਲ) Comment[pl]=Składnik edytora tekstu (do osadzania, z paradygmatem Dokument/Widok) Comment[pt]=Componente Incorporado do Editor de Texto (com Separação entre Documentos) Comment[pt_BR]=Componente de edição de textos integrado (com separação de documentação/visualização) Comment[ro]=Componentă de editare text (cu separare Doc/Vizualizare) Comment[ru]=Встраиваемый компонент редактора текста (с поддержкой модели документ/вид) Comment[se]=Vuojuhanláhkái čállinprográmmaoassi (Doc/View-sirremiin) Comment[sk]=Komponent textového editora (s oddelením Dokument/Zobrazenie) Comment[sl]=Vgradljiva komponenta urejevalnika besedil (z ločevanjem pogleda in dokumenta) Comment[sr]=Угнездива компонента уређивача текста (уз раздвајање документ-приказ) Comment[sr@ijekavian]=Угњездива компонента уређивача текста (уз раздвајање документ-приказ) Comment[sr@ijekavianlatin]=Ugnjezdiva komponenta uređivača teksta (uz razdvajanje dokument-prikaz) Comment[sr@latin]=Ugnezdiva komponenta uređivača teksta (uz razdvajanje dokument-prikaz) Comment[sv]=Inbäddningsbar texteditor (med dokument/vy-separation) Comment[ta]=உட்பொதிந்த உரைதிருத்தி பாகம் (ஆவண/ காட்சி பிரிவுகளுடன்) Comment[te]=పొదగబడె వాచకం సరిచేయు అంశం (పత్ర/వీక్షణ విభజన వున్నది) Comment[tg]=Компоненти таҳриргари матни дарунсохт (бо ҷудокунандаи Санад/Намоиш) Comment[th]=คอมโพเนนท์แก้ไขข้อความแบบฝังตัวได้ (โดยการแยกเอกสาร/มุมมอง) Comment[tr]=Gömülebilir Metin Düzenleyici Bileşeni (Doc/View ayrımı dahil) Comment[ug]=سىڭدۈرۈشچان تېكىست تەھرىرلىگۈچ بۆلىكى(پۈتۈك/كۆرۈنۈش ئايرىلىدۇ) Comment[uk]=Компонент редактора текстів, який можна вбудовувати (з розділенням документ/вигляд) Comment[uz]=Ichiga oʻrnatib boʻladigan matn tahrirchi komponenti (hujjat/koʻrinish imkoniyati bilan) Comment[uz@cyrillic]=Ичига ўрнатиб бўладиган матн таҳрирчи компоненти (ҳужжат/кўриниш имконияти билан) Comment[vi]=Thành phần Soạn thảo Văn bản có nhúng được (có khả năng phân cách tài liệu/khung xem) Comment[wa]=Ravalé compôzant aspougneu d' tecse (avou dispårtaedje documint/vuwe) -Comment[x-test]=xxEmbeddable Text Editor Component (with Doc/View Separation)xx Comment[xh]=Inxenye Yomhleli Wombhalo Olungiselelweyo (ngo Xwebhu/Ulwahlulo Lwemboniselo) +Comment[x-test]=xxEmbeddable Text Editor Component (with Doc/View Separation)xx Comment[zh_CN]=可嵌入的文本编辑器部件(文档和视图分离) Comment[zh_HK]=可嵌入的文字編輯器元件 (Doc/View 分開) Comment[zh_TW]=可嵌入的文字編輯器元件 (Doc/View 分開) diff --git a/interfaces/ktexteditor/ktexteditor_loadsavefiltercheckplugin.desktop b/interfaces/ktexteditor/ktexteditor_loadsavefiltercheckplugin.desktop index 68ec1909c1..d3519fab4f 100644 --- a/interfaces/ktexteditor/ktexteditor_loadsavefiltercheckplugin.desktop +++ b/interfaces/ktexteditor/ktexteditor_loadsavefiltercheckplugin.desktop @@ -1,76 +1,77 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KTextEditor/LoadSaveFilterCheckPlugin X-KDE-Derived= Comment=KTextEditor load/save filter/check plugin Comment[ar]=ملحق KTextEditor لتحميل/حفظ تدقيق/ترشيح Comment[as]=KTextEditor load/save filter/check প্লাগ-ইন Comment[ast]=Complementu de peñera/comprobación p'abrir/guardar de KTextEditor Comment[be@latin]=Plugin adčynieńnia/zapisu filtra/pravierki dla słužby „KTextEditor” Comment[bg]=Приставка за KTextEditor за филтриране и проверка при зареждане и записване Comment[bn]=কে-টেক্সট-এডিটর load/save filter/check প্লাগ-ইন Comment[bs]=Priključak za filtriranje i provjeravanje na učitavanju i upisivanju za KTextEditor Comment[ca]=Connector del KTextEditor de filtratge/comprovació de càrrega/desat Comment[ca@valencia]=Connector del KTextEditor de filtratge/comprovació de càrrega/alçat Comment[cs]=Modul načtení/uložení filtrování/kontroly KTextEditoru Comment[da]=KTextEditor-plugin til at filtrere/tjekke ved indlæsning/gemning Comment[de]=KTextEditor-Modul zu Filtern/Prüfen beim Laden/Speichern Comment[el]=Φίλτρο φόρτωσης/αποθήκευσης πρόσθετο ελέγχου του KTextEditor Comment[en_GB]=KTextEditor load/save filter/check plugin Comment[es]=Complemento de filtrado/comprobación para abrir/guardar de KTextEditor Comment[et]=KTextEditori laadimise/salvestamise filtreerimise/kontrollimise plugin Comment[eu]=KTextEditor-en ireki/gorde iragazi/egiaztatu plugina-a Comment[fi]=KTextEditorin avaamisen/tallentamisen suodattamis-/tarkistusliitännäinen Comment[fr]=Module de chargement / enregistrement et filtrage / vérification pour KTextEditor Comment[fy]=KTextEditor-plugin foar laden/bewarjen en filterje/kontrôle Comment[ga]=Breiseán scagaire luchtú/sábháil KTextEditor Comment[gl]=Engadido de filtro/comprobación ao cargar/gardar para KTextEditor Comment[gu]=KTextEditor લાવવા/સંગ્રહ ગાળક/ચકાસણી પ્લગઇન Comment[he]=תוסף לשמירה וטעינה או בדיקה של תוסף עבור KTextEditor Comment[hne]=के-टैक्स्ट-एडीटर लोड/सहेज फिल्टर/जांच प्लगइन Comment[hr]=KTextEditor priključak za učitavanje/spremanje i filtriranje/provjeru Comment[hsb]=KTextEditor plugin za wočinjenje/zawěsćenje Comment[hu]=KTextEditor betöltési/mentési/szűrési/ellenőrzési bővítmény Comment[ia]=KTextEditor plugin per cargar/salvar filtrar/controlar Comment[id]=Plugin muat/simpan filter/cek KTextEditor Comment[is]=KTextEditor hlaða/vista sía/prófa íforrit Comment[it]=Plugin carica/salva, filtra/controlla per KTextEditor Comment[ja]=KTextEditor 読み込み/フィルタ保存/チェックプラグイン Comment[kk]=KTextEditor жүктеу/сақтау сүзгілеу/тексеру плагині Comment[km]=កម្មវិធី​ជំនួយ​ត្រួតពិនិត្យ/ត្រង ផ្ទុក/រក្សាទុក​របស់ KTextEditor Comment[kn]=ಕೆಟೆಕ್ಸ್ಟ್ ಎಡಿಟರ್ ಉತ್ಥಾಪಿಸು/ಉಳಿಸು ಶೋಧಿಸು/ಪರಿಶೀಲಿಸಿ ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Comment[ko]=KTextEditor 필터/검사 불러오기/저장 플러그인 Comment[ku]=KEdîtoraNivîsê pêveka barbike/tomarbike parzûnbike/kontrolbike Comment[lt]=KTextEditor įkėlimo/įrašymo filtro/tikrinimo priedas Comment[lv]=KTextEditor ielādēšanas/saglabāšanas filtrs/pārbaudīšanas spraudnis Comment[mai]=KTextEditor लोड/सहेज फिल्टर/जाँच प्लगइन Comment[ml]=കെടെക്സ്റ്റ്എഡിറ്റര്‍ ചേര്‍ക്കുക/സൂക്ഷിയ്ക്കുക ഫില്‍ടര്‍/പരിശോദിയ്ക്കുക എന്നതിനുള്ള സംയോജകം Comment[ms]=Plugin muat/simpan tapis/periksa KTextEditor Comment[nb]=KTextEditor programtillegg for laste/lagre filter/sjekk Comment[nds]=KTextEditor-Moduul för't Filtern/Pröven bi't Laden un Sekern Comment[nl]=KTextEditor-plugin voor laden/opslaan filteren/controleren Comment[nn]=Tillegg for lasting, lagring, filtrering og sjekk til KTextEditor Comment[pa]=KTextEditor ਲੋਡ/ਸੰਭਾਲਣ ਫਿਲਟਰ/ਪਲੱਗਇਨ ਚੈੱਕ Comment[pl]=Wtyczka edytora tekstu do wczytywania/zapisywania filtrów i sprawdzania Comment[pt]='Plugin' de filtragem/verificação do carregamento/gravação do KTextEditor Comment[pt_BR]=Plug-in de carregamento/gravação e filtro/verificação do KTextEditor Comment[ro]=Modul de încărcare/salvare filtrare/verificare pentru KTextEditor Comment[ru]=Загрузка и сохранение фильтров для KTextEditor Comment[se]=KDE-čállinprográmma raba/vurke sillen/iskan-lassemodula Comment[sk]=Modul načítania/uloženia filtrovania/kontroly textového editora Comment[sl]=Vstavek KTextEditor za nalaganje/shranjevanje in filtriranje/preverjanje Comment[sr]=Прикључак за филтрирање и проверавање на учитавању и уписивању за KTextEditor Comment[sr@ijekavian]=Прикључак за филтрирање и провјеравање на учитавању и уписивању за KTextEditor Comment[sr@ijekavianlatin]=Priključak za filtriranje i provjeravanje na učitavanju i upisivanju za KTextEditor Comment[sr@latin]=Priključak za filtriranje i proveravanje na učitavanju i upisivanju za KTextEditor Comment[sv]=Texteditor-insticksprogram för ladda/spara filter/kontrollera Comment[ta]=KTextEditor load/save filter/check செருகி Comment[tg]=Васлкунаки KTextEditor барои баркунӣ/захиракунӣ, филтр/санҷиш Comment[th]=ส่วนเสริมของ KTextEditor สำหรับตรวจสอบ/กรอง การโหลด/การบันทึก Comment[tr]=KTextEditor yükleme/kaydetme filtreleme/denetleme eklentisi Comment[ug]=KTextEditor يۈكلەش/ساقلاش سۈزگۈچ/تەكشۈرۈش قىستۇرمىسى Comment[uk]=Додаток для завантаження/збереження фільтрування/перевірки KTextEditor +Comment[vi]=Phần bổ sung nạp/lưu lọc/kiểm tra KTextEditor Comment[wa]=Tchôke-divins di KTexteditor po tcherdjî/schaper passer al passete/verifyî Comment[x-test]=xxKTextEditor load/save filter/check pluginxx Comment[zh_CN]=KTextEditor 读写过滤/检查插件 Comment[zh_TW]=KTextEditor 載入/儲存、過濾/檢查外掛程式 diff --git a/interfaces/ktexteditor/ktexteditorplugin.desktop b/interfaces/ktexteditor/ktexteditorplugin.desktop index a9f23235ad..9bdcadcebf 100644 --- a/interfaces/ktexteditor/ktexteditorplugin.desktop +++ b/interfaces/ktexteditor/ktexteditorplugin.desktop @@ -1,102 +1,102 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KTextEditor/Plugin X-KDE-Derived= Comment=KTextEditor Plugin Comment[af]=KTextEditor Inpropmodule Comment[ar]=ملحق KTextEditor Comment[as]=KTextEditor Plugin Comment[ast]=Complementu KTextEditor Comment[be]=Модуль KTextEditor Comment[be@latin]=Plugin dla KTextEditor Comment[bg]=Приставка KTextEditor Comment[bn]=কে-টেক্সট-এডিটর প্লাগ-ইন Comment[bn_IN]=KTextEditor প্লাগ-ইন Comment[br]=Lugent KTextEditor Comment[bs]=Priključak za KTextEditor Comment[ca]=Connector del KTextEditor Comment[ca@valencia]=Connector del KTextEditor Comment[cs]=Modul textového editoru Comment[csb]=Wtëkôcz editora tekstu Comment[cy]=Atodyn KTextEditor Comment[da]=KTextEditor-plugin Comment[de]=KTextEditor-Erweiterung Comment[el]=Πρόσθετο KTextEditor Comment[en_GB]=KTextEditor Plugin Comment[eo]=Tekstredaktila kromprogramo Comment[es]=Complemento de KTextEditor Comment[et]=KTextEditori plugin Comment[eu]=KTextEditor plugin-a Comment[fa]=وصله KTextEditor Comment[fi]=KTextEditor-liitännäinen Comment[fr]=Module externe KTextEditor Comment[fy]=KTextFerwurker-plugin Comment[ga]=Breiseán KTextEditor Comment[gl]=Engadido de KTextEditor Comment[gu]=KTextEditor પ્લગઇન Comment[he]=תוסף KTextEditor Comment[hi]=के-टैक्स्ट-एडीटर प्लगइन Comment[hne]=के-टैक्स्ट-एडीटर प्लगइन Comment[hr]=KTextEditor priključak Comment[hsb]=KTextEditor zašćěpka Comment[hu]=KTextEditor-bővítőmodul Comment[ia]=KTextEditor Plugin Comment[id]=Plugin KTextEditor Comment[is]=KTextEditor-íforrit Comment[it]=Plugin KTextEditor Comment[ja]=KTextEditor プラグイン Comment[kk]=KTextEditor модулі Comment[km]=កម្មវិធី​ជំនួយ KTextEditor Comment[kn]=ಕೆಟೆಕ್ಸ್ಟ ಎಡಿಟರ್ ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Comment[ko]=KTextEditor 플러그인 Comment[ku]=Pêveka KEdîtoraNivîsê Comment[lb]=KTextEditor-Plugin Comment[lt]=KTextEditor priedas Comment[lv]=KTextEditor spraudnis Comment[mai]=के-टैक्स्ट-एडीटर प्लगइन Comment[mk]=KTextEditor приклучок Comment[ml]=കെടെക്സ്റ്റ് എഴുത്തിടമെന്ന സംയോജകം Comment[mr]=KTextEditor प्लगइन Comment[ms]=Plugmasuk KTextEditor Comment[nb]=Programtillegg for KTextEditor Comment[nds]=KTextEditor-Moduul Comment[ne]=केडीई पाठ सम्पादक प्लगइन Comment[nl]=KTextEditor-plugin Comment[nn]=KTextEditor-tillegg Comment[or]=KTextEditor Plugin Comment[pa]=KTextEditor ਪਲੱਗਇਨ Comment[pl]=Wtyczka edytora tekstu Comment[ps]=لګون Kليکسمونګر Comment[pt]='Plugin' do KTextEditor Comment[pt_BR]=Plug-in do KTextEditor Comment[ro]=Modul editor de text Comment[ru]=Расширение KTextEditor Comment[se]=KDE-čállinprográmma lassemodula Comment[si]=KTextEditor ප්ලගීනය Comment[sk]=Modul textového editora Comment[sl]=Vstavek KTextEditor Comment[sq]=KTextEditor Plugin Comment[sr]=Прикључак за KTextEditor Comment[sr@ijekavian]=Прикључак за KTextEditor Comment[sr@ijekavianlatin]=Priključak za KTextEditor Comment[sr@latin]=Priključak za KTextEditor Comment[sv]=Insticksprogram för texteditor Comment[ta]=KTextEditor செருகி Comment[te]=కెటెక్స్ట్ ఎడిటర్ ప్లగిన్ Comment[tg]=Васлкунаки KTextEditor Comment[th]=ส่วนเสริม KTextEditor Comment[tr]=KTextEditor Eklentisi Comment[ug]=KTextEditor قىستۇرما Comment[uk]=Додаток KTextEditor Comment[uz]=KTextEditor plagini Comment[uz@cyrillic]=KTextEditor плагини -Comment[vi]=Bổ sung Soạn thảo Văn bản +Comment[vi]=Phần bổ sung KtextEditor Comment[wa]=Tchôke-divins KTextEditor -Comment[x-test]=xxKTextEditor Pluginxx Comment[xh]=KTextEditor ye Plagi efakiweyo +Comment[x-test]=xxKTextEditor Pluginxx Comment[zh_CN]=KTextEditor 插件 Comment[zh_HK]=KTextEditor 外掛程式 Comment[zh_TW]=KTextEditor 外掛程式 [PropertyDef::X-KDE-Version] Type=double diff --git a/kdecore/config/kconfigbackend.desktop b/kdecore/config/kconfigbackend.desktop index 658f53293d..1aa3741516 100644 --- a/kdecore/config/kconfigbackend.desktop +++ b/kdecore/config/kconfigbackend.desktop @@ -1,83 +1,84 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KConfigBackend Comment=Storage backend for KConfig Comment[ar]=خلفية الحفظ لـ KConfig Comment[as]=KConfig ৰ বাবে ভঁৰালৰ বেকএন্ড Comment[ast]=Infraestructura d'atroxamientu pa KConfig Comment[be@latin]=Słužba schovišča dla systemy „KConfig” Comment[bg]=Storage backend for KConfig Comment[bn]=KConfig-এর স্টোরেজ ব্যাকেন্ড Comment[bn_IN]=KConfig-র জন্য ব্যবহৃত ব্যাক-এন্ড সংগ্রহস্থল Comment[bs]=Skladišna pozadina za K‑konfig Comment[ca]=Dorsal d'emmagatzematge per al KConfig Comment[ca@valencia]=Dorsal d'emmagatzematge per al KConfig Comment[cs]=Úložiště pro KConfig Comment[csb]=Zôpisownô zbiérnica dlô KConfig Comment[da]=Lagringsmotor til KConfig Comment[de]=Speicher-Unterstützung für KConfig Comment[el]=Σύστημα υποστήριξης αποθήκευσης για το KConfig Comment[en_GB]=Storage backend for KConfig Comment[es]=Motor de almacenamiento para KConfig Comment[et]=KConfigi salvestamise taustaprogramm Comment[eu]=KConfig-en biltegiratze euskarria Comment[fi]=Asetusvaraston taustaosa Comment[fr]=Méthode de stockage pour KConfig Comment[fy]=Opslach efterein foar KConfig Comment[ga]=Inneall stórais KConfig Comment[gl]=Infraestrutura de almacenaxe para KConfig Comment[gu]=KConfig માટે સંગ્રહ પાશ્ર્વભાગ Comment[he]=מנוע שמירה עבור KConfig Comment[hne]=के-कानफिग बर भंडार बैकएण्ड Comment[hr]=Skladišna pozadina za KConfig Comment[hsb]=składowanski backend za KConfig Comment[hu]=Tároló a KConfighoz Comment[ia]=Retro-administration de immagazinage (storage) pro Kconfig Comment[id]=Backend penyimpanan untuk KConfig Comment[is]=Geymslubakendi fyrir KConfig Comment[it]=Backend di archiviazione per KConfig Comment[ja]=KConfig のストレージバックエンド Comment[kk]=KConfig үшін сақтау тетігі Comment[km]=កម្មវិធី​ខាងក្រោយ​ការ​ផ្ទុក​សម្រាប់ KConfig Comment[kn]=ಕೆಕಾನ್ಫಿಗ್ ಗೆ ಸಂಗ್ರಹಣಾ ಹಿಂಬದಿ (ಬಾಕೆಂಡ್) Comment[ko]=KConfig의 저장소 백엔드 Comment[ku]=Embara ser-dawî ji bo KVeavakirin Comment[lt]=KConfig saugojimo sąsaja Comment[lv]=KConfig glabāšanas aizmugure Comment[mai]=KConfig क' लेल भंडारक बैकेंड Comment[ml]=കെകോണ്‍ഫിഗിനുളള സ്റ്റോറേജ് ബാക്കെന്‍ഡ് Comment[mr]=KConfig करीता संचयन बॅकएन्ड Comment[ms]=Storan belakang untuk KConfig Comment[nb]=Bakgrunnslagring for KConfig Comment[nds]=Spieker-Hülpprogramm för KConfig Comment[nl]=Opslagbackend voor KConfig Comment[nn]=Lagringsmotor for KConfig Comment[or]=KConfig ପାଇଁ ଭଣ୍ଡାର ପଛ ପାଖ Comment[pa]=KConfig ਲਈ ਸਟੋਰੇਜ਼ ਬੈਕਐਂਡ Comment[pl]=Przechowywanie danych dla KConfig Comment[pt]=Armazenamento da infra-estrutura do KConfig Comment[pt_BR]=Infraestrutura de armazenamento para o KConfig Comment[ro]=Suport de stocare pentru KConfig Comment[ru]=Модуль хранения параметров KConfig Comment[se]=KConfig vurkenduogáš Comment[si]=KConfig සඳහා ගබඩා පසුඈදුම Comment[sk]=Úložisko pre KConfig Comment[sl]=Ozadje za shranjevanje v KConfigu Comment[sq]=Mbështetëse Ruajtëse për KConfig Comment[sr]=Складишна позадина за К‑конфиг Comment[sr@ijekavian]=Складишна позадина за К‑конфиг Comment[sr@ijekavianlatin]=Skladišna pozadina za KConfig Comment[sr@latin]=Skladišna pozadina za KConfig Comment[sv]=Lagringsgränssnitt för KConfig Comment[ta]=கேவடிவமைப்பிற்கான பின்னணி சேமிப்பகம் Comment[tg]=Пуштибонии захирагоҳ барои KConfig Comment[th]=โปรแกรมเบื้องหลังพื้นที่จัดเก็บข้อมูลสำหรับ KConfig Comment[tr]=KConfig için Depolama Arka Ucu Comment[ug]=KConfig نىڭ ساقلاش ئارقا ئۇچى Comment[uk]=Засіб збереження для KConfig +Comment[vi]=Hậu trường lưu trữ cho KConfig Comment[wa]=Bouye di fond di stocaedje po KConfig Comment[x-test]=xxStorage backend for KConfigxx Comment[zh_CN]=KConfig 存储后端 Comment[zh_TW]=KConfig 儲存後端介面 diff --git a/kdecore/io/kurl.h b/kdecore/io/kurl.h index 92d3c4ca27..e2881b9258 100644 --- a/kdecore/io/kurl.h +++ b/kdecore/io/kurl.h @@ -1,1188 +1,1190 @@ // -*- c-basic-offset: 2 -*- /* This file is part of the KDE libraries * Copyright (C) 1999 Torben Weis * Copyright (C) 2005-2006 David Faure * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef kurl_h #define kurl_h #include #include #include #include class QStringList; class QMimeData; class KUrlPrivate; // maybe we should encapsulate QUrl instead of inheriting from it. // this would even allow us to inherit from KUri instead. // and this way hacks like setPath() would be less ugly, and we could avoid // half KDE code using setScheme() and the other half using setProtocol(), etc. // (DF) /** * \class KUrl kurl.h * * Represents and parses a URL. * * A prototypical URL looks like: * \code * protocol://user:password\@hostname:port/path/to/file.ext#reference * \endcode * * KUrl handles escaping of URLs. This means that the specification * of a full URL will differ from the corresponding string that would specify a * local file or directory in file-operations like fopen. This is because an URL * doesn't allow certain characters and escapes them. (e.g. '#'->"%23", space->"%20") * (In a URL the hash-character '#' is used to specify a "reference", i.e. the position * within a document). * * The constructor KUrl(const QString&) expects a string properly escaped, * or at least non-ambiguous. * If you have the absolute path you should use KUrl::fromPath(const QString&). * \code * KUrl kurl = KUrl::fromPath("/bar/#foo#"); * QString url = kurl.url(); // -> "file:///bar/%23foo%23" * \endcode * * If you have the URL of a local file or directory and need the absolute path, * you would use toLocalFile(). * \code * KUrl url( "file:///bar/%23foo%23" ); * ... * if ( url.isLocalFile() ) * QString path = url.toLocalFile(); // -> "/bar/#foo#" * \endcode * * This must also be considered when you have separated directory and file * strings and need to put them together. * While you can simply concatenate normal path strings, you must take care if * the directory-part is already an escaped URL. * (This might be needed if the user specifies a relative path, and your * program supplies the rest from elsewhere.) * * Wrong: * \code * QString dirUrl = "file:///bar/"; * QString fileName = "#foo#"; * QString invalidURL = dirUrl + fileName; // -> "file:///bar/#foo#" won't behave like you would expect. * \endcode * Instead you should use addPath(): * Right: * \code * KUrl url( "file:///bar/" ); * QString fileName = "#foo#"; * url.addPath( fileName ); * QString validURL = url.url(); // -> "file:///bar/%23foo%23" * \endcode * * Also consider that some URLs contain the password, but this shouldn't be * visible. Your program should use prettyUrl() every time it displays a * URL, whether in the GUI or in debug output or... * * \code * KUrl url( "ftp://name:password@ftp.faraway.org/bar/%23foo%23"); * QString visibleURL = url.prettyUrl(); // -> "ftp://name@ftp.faraway.org/bar/%23foo%23" * \endcode * Note that prettyUrl() doesn't change the character escapes (like "%23"). * Otherwise the URL would be invalid and the user wouldn't be able to use it in another * context. * */ class KDECORE_EXPORT KUrl : public QUrl // krazy:exclude=dpointer,qclasses (krazy can't deal with embedded classes) { public: typedef QMap MetaDataMap; enum MimeDataFlags { DefaultMimeDataFlags = 0, NoTextExport = 1 }; /** * Options to be used in adjustPath */ enum AdjustPathOption { /** * strips a trailing '/', except when the path is already just "/". */ RemoveTrailingSlash, /** * Do not change the path. */ LeaveTrailingSlash, /** * adds a trailing '/' if there is none yet */ AddTrailingSlash }; /** * \class List kurl.h * * KUrl::List is a QList that contains KUrls with a few * convenience methods. * @see KUrl * @see QList */ class KDECORE_EXPORT List : public QList //krazy:exclude=dpointer (just some convenience methods) { public: /** * Creates an empty List. */ List() { } /** * Creates a list that contains the given URL as only * item. * @param url the url to add. */ List(const KUrl &url); /** * Creates a list that contains the URLs from the given * list of strings. * @param list the list containing the URLs as strings */ List(const QStringList &list); /** * Creates a list that contains the URLs from the given QList. * @param list the list containing the URLs */ List(const QList &list); /** * Creates a list that contains the URLs from the given QList. * @param list the list containing the URLs * @since 4.7 */ List(const QList &list); /** * Converts the URLs of this list to a list of strings. * @return the list of strings */ QStringList toStringList() const; /** * Converts the URLs of this list to a list of strings. * * @param trailing use to add or remove a trailing slash to/from the path. * * @return the list of strings * * @since 4.6 */ QStringList toStringList(KUrl::AdjustPathOption trailing) const; /** * Converts this KUrl::List to a QVariant, this allows to use KUrl::List * in QVariant() constructor */ operator QVariant() const; /** * Converts this KUrl::List into a list of QUrl instances. * @since 4.7 */ operator QList() const; /** * Adds URLs data into the given QMimeData. * * By default, populateMimeData also exports the URLs as plain text, for e.g. dropping * onto a text editor. * But in some cases this might not be wanted, e.g. if adding other mime data * which provides better plain text data. * * WARNING: do not call this method multiple times on the same mimedata object, * you can add urls only once. But you can add other things, e.g. images, XML... * * @param mimeData the QMimeData instance used to drag or copy this URL * @param metaData KIO metadata shipped in the mime data, which is used for instance to * set a correct HTTP referrer (some websites require it for downloading e.g. an image) * @param flags set NoTextExport to prevent setting plain/text data into @p mimeData * In such a case, setExportAsText( false ) should be called. */ void populateMimeData( QMimeData* mimeData, const KUrl::MetaDataMap& metaData = MetaDataMap(), MimeDataFlags flags = DefaultMimeDataFlags ) const; /** * Adds URLs into the given QMimeData. * * This should add both the KDE-style URLs (eg: desktop:/foo) and * the "most local" version of the URLs (eg: * file:///home/jbloggs/Desktop/foo) to the mimedata. * * This method should be called on the KDE-style URLs. * * @code * QMimeData* mimeData = new QMimeData(); * * KUrl::List kdeUrls; * kdeUrls << "desktop:/foo"; * kdeUrls << "desktop:/bar"; * * KUrl::List normalUrls; * normalUrls << "file:///home/jbloggs/Desktop/foo"; * normalUrls << "file:///home/jbloggs/Desktop/bar"; * * kdeUrls.populateMimeData(normalUrls, mimeData); * @endcode * * @param mostLocalUrls the "most local" urls * @param mimeData the mime data object to populate * @param metaData KIO metadata shipped in the mime data, which is * used for instance to set a correct HTTP referrer * (some websites require it for downloading e.g. an * image) * @param flags set NoTextExport to prevent setting plain/text * data into @p mimeData. In such a case, * setExportAsText(false) should be called. * @since 4.2 */ void populateMimeData(const KUrl::List& mostLocalUrls, QMimeData* mimeData, const KUrl::MetaDataMap& metaData = MetaDataMap(), MimeDataFlags flags = DefaultMimeDataFlags) const; /** * Return true if @p mimeData contains URI data */ static bool canDecode( const QMimeData *mimeData ); /** * Return the list of mimeTypes that can be decoded by fromMimeData */ static QStringList mimeDataTypes(); /** * Extract a list of KUrls from the contents of @p mimeData. * Decoding will fail if @p mimeData does not contain any URLs, or if at * least one extracted URL is not valid. * @param mimeData the mime data to extract from; cannot be 0 * @param metaData optional pointer to a map holding the metadata * @return the list of urls */ static KUrl::List fromMimeData( const QMimeData *mimeData, KUrl::MetaDataMap* metaData = 0 ); /** * Flags to be used in fromMimeData. * @since 4.2.3 */ enum DecodeOptions { /** * When the mimedata contains both KDE-style URLs (eg: desktop:/foo) and * the "most local" version of the URLs (eg: file:///home/dfaure/Desktop/foo), * decode it as local urls. Useful in paste/drop operations that end up calling KIO, * so that urls from other users work as well. */ PreferLocalUrls, /** * When the mimedata contains both KDE-style URLs (eg: desktop:/foo) and * the "most local" version of the URLs (eg: file:///home/dfaure/Desktop/foo), * decode it as the KDE-style URL. Useful in DnD code e.g. when moving icons, * and the kde-style url is used as identifier for the icons. */ PreferKdeUrls }; /** * Extract a list of KUrls from the contents of @p mimeData. * Decoding will fail if @p mimeData does not contain any URLs, or if at * least one extracted URL is not valid. * @param mimeData the mime data to extract from; cannot be 0 * @param decodeOptions options for decoding * @param metaData optional pointer to a map holding the metadata * @return the list of urls * @since 4.2.3 */ static KUrl::List fromMimeData( const QMimeData *mimeData, DecodeOptions decodeOptions, // TODO KDE5: = PreferKdeUrls, and merge with above KUrl::MetaDataMap* metaData = 0 ); }; /** * Constructs an empty URL. */ KUrl(); /** * Destructs the KUrl object. */ ~KUrl(); /** * Usual constructor, to construct from a string. * @param urlOrPath An encoded URL or a path. */ KUrl( const QString& urlOrPath ); /** * Constructor taking a char * @p urlOrPath, which is an _encoded_ representation * of the URL, exactly like the usual constructor. This is useful when * the URL, in its encoded form, is strictly ascii. * @param urlOrPath An encoded URL, or a path. */ explicit KUrl( const char * urlOrPath ); /** * Constructor taking a QByteArray @p urlOrPath, which is an _encoded_ representation * of the URL, exactly like the usual constructor. This is useful when * the URL, in its encoded form, is strictly ascii. * @param urlOrPath An encoded URL, or a path. */ explicit KUrl( const QByteArray& urlOrPath ); /** * Copy constructor. * @param u the KUrl to copy */ KUrl( const KUrl& u ); /** * Converts from a QUrl. * @param u the QUrl */ KUrl( const QUrl &u ); //krazy:exclude=qclasses /** * Constructor allowing relative URLs. * * @param _baseurl The base url. * @param _rel_url A relative or absolute URL. * If this is an absolute URL then @p _baseurl will be ignored. * If this is a relative URL it will be combined with @p _baseurl. * Note that _rel_url should be encoded too, in any case. * So do NOT pass a path here (use setPath or addPath instead). */ KUrl( const KUrl& _baseurl, const QString& _rel_url ); /** * Returns the protocol for the URL (i.e., file, http, etc.), lowercased. * @see QUrl::scheme */ QString protocol() const; /** * Sets the protocol for the URL (i.e., file, http, etc.) * @param proto the new protocol of the URL (without colon) */ void setProtocol( const QString& proto ); /** * Returns the decoded user name (login, user id, ...) included in the URL. * @return the user name or QString() if there is no user name */ QString user() const; /** * Sets the user name (login, user id, ...) included in the URL. * * Special characters in the user name will appear encoded in the URL. * @param user the name of the user or QString() to remove the user */ void setUser( const QString& user ); /** * Test to see if this URL has a user name included in it. * @return true if the URL has an non-empty user name */ bool hasUser() const; /** * Returns the decoded password (corresponding to user()) included in the URL. * @return the password or QString() if it does not exist **/ QString pass() const; /** * Sets the password (corresponding to user()) included in the URL. * * Special characters in the password will appear encoded in the URL. * Note that a password can only appear in a URL string if you also set * a user. * @param pass the password to set or QString() to remove the password * @see setUser * @see hasUser **/ void setPass( const QString& pass ); /** * Test to see if this URL has a password included in it. * @return true if there is a non-empty password set **/ bool hasPass() const; /** * Test to see if this URL has a hostname included in it. * @return true if the URL has a host **/ bool hasHost() const; /** * @param trailing use to add or remove a trailing slash to/from the path. see adjustPath * @return The current decoded path. This does not include the query. Can * be QString() if no path is set. */ QString path( AdjustPathOption trailing = LeaveTrailingSlash ) const; /** * @param trailing use to add or remove a trailing slash to/from the local path. see adjustPath * @return The current local path. Can * be QString() if no path is set. */ QString toLocalFile( AdjustPathOption trailing = LeaveTrailingSlash ) const; /// \reimp so that KUrl u; u.setPath(path); implies "file" protocol. void setPath( const QString& path ); /** * Test to see if this URL has a path is included in it. * @return true if there is a path **/ bool hasPath() const; /** * Options to be used in cleanPath */ enum CleanPathOption { /** * if set, occurrences of consecutive directory separators * (e.g. /foo//bar) are cleaned up as well. (set by default) */ SimplifyDirSeparators = 0x00, /** * The opposite of SimplifyDirSeparators. */ KeepDirSeparators = 0x01 }; Q_DECLARE_FLAGS(CleanPathOptions,CleanPathOption) /** * Resolves "." and ".." components in path. * Some servers seem not to like the removal of extra '/' * even though it is against the specification in RFC 2396. * * @param options use KeepDirSeparators if you don't want to remove consecutive * occurrences of directory separator */ void cleanPath(const CleanPathOption& options = SimplifyDirSeparators); /** * Add or remove a trailing slash to/from the path. * * If the URL has no path, then no '/' is added * anyway. And on the other side: If the path is "/", then this * character won't be stripped. Reason: "ftp://weis\@host" means something * completely different than "ftp://weis\@host/". So adding or stripping * the '/' would really alter the URL, while "ftp://host/path" and * "ftp://host/path/" mean the same directory. * * @param trailing RemoveTrailingSlash strips any trailing '/' and * AddTrailingSlash adds a trailing '/' if there is none yet */ void adjustPath(AdjustPathOption trailing); /** * This is useful for HTTP. It looks first for '?' and decodes then. * The encoded path is the concatenation of the current path and the query. * @param _txt the new path and query. */ void setEncodedPathAndQuery( const QString& _txt ); #if 0 /** * Sets the (already encoded) path * @param _txt the new path * @see QTextCodec::mibEnum() */ void setEncodedPath(const QString& _txt ); #endif /** * Option to be used in encodedPathAndQuery **/ enum EncodedPathAndQueryOption { /** * Permit empty path (default) */ PermitEmptyPath=0x00, /** * If set to true then an empty path is substituted by "/" * (this is the opposite of PermitEmptyPath) */ AvoidEmptyPath=0x01 }; Q_DECLARE_FLAGS( EncodedPathAndQueryOptions, EncodedPathAndQueryOption) /** * Returns the encoded path and the query. * * @param trailing add or remove a trailing '/', see adjustPath * @param options a set of flags from EncodedPathAndQueryOption * @return The concatenation of the encoded path , '?' and the encoded query. * */ QString encodedPathAndQuery( AdjustPathOption trailing = LeaveTrailingSlash, const EncodedPathAndQueryOptions &options = PermitEmptyPath ) const; /** * @param query This is considered to be encoded. This has a good reason: * The query may contain the 0 character. * * The query should start with a '?'. If it doesn't '?' is prepended. */ void setQuery( const QString& query ); /** * Returns the query of the URL. * The query may contain the 0 character. * If a query is present it always starts with a '?'. * A single '?' means an empty query. * An empty string means no query. * @return The encoded query, or QString() if there is none. */ QString query() const; /** * Returns the reference (or "fragment") of the URL. * The reference is @em never decoded automatically. * @return the undecoded reference, or QString() if there is none */ QString ref() const; /** * Sets the reference/fragment part (everything after '#'). * If you have an encoded fragment already (as a QByteArray), you can call setFragment directly. * @param fragment the unencoded reference (or QString() to remove it). */ void setRef( const QString& fragment ); /** * Checks whether the URL has a reference/fragment part. * @return true if the URL has a reference part. In a URL like * http://www.kde.org/kdebase.tar#tar:/README it would * return true, too. */ bool hasRef() const; /** * Returns the HTML reference (the part of the URL after "#"). * @return The HTML-style reference. * @see split * @see hasSubUrl * @see encodedHtmlRef */ QString htmlRef() const; /** * Returns the HTML reference (the part of the URL after "#") in * encoded form. * @return The HTML-style reference in its original form. */ QString encodedHtmlRef() const; /** * Sets the HTML-style reference. * * @param _ref The new reference. This is considered to be @em not encoded in * contrast to setRef(). Use QString() to remove it. * @see htmlRef() */ void setHTMLRef( const QString& _ref ); /** * Checks whether there is a HTML reference. * @return true if the URL has an HTML-style reference. * @see htmlRef() */ bool hasHTMLRef() const; /** * Checks whether the file is local. - * @return true if the file is a plain local file and has no filter protocols - * attached to it. + * @return true if the file is a plain local file (i.e. uses the file protocol + * and no hostname, or the local hostname). + * When isLocalFile returns true, you can use toLocalFile to read the file contents. + * Otherwise you need to use KIO (e.g. KIO::get). */ bool isLocalFile() const; /** * Adds encoding information to url by adding a "charset" parameter. If there * is already a charset parameter, it will be replaced. * @param encoding the encoding to add or QString() to remove the * encoding. */ void setFileEncoding(const QString &encoding); /** * Returns encoding information from url, the content of the "charset" * parameter. * @return An encoding suitable for QTextCodec::codecForName() * or QString() if not encoding was specified. */ QString fileEncoding() const; /** * Checks whether the URL has any sub URLs. See split() * for examples for sub URLs. * @return true if the file has at least one sub URL. * @see split */ bool hasSubUrl() const; /** * Adds to the current path. * Assumes that the current path is a directory. @p txt is appended to the * current path. The function adds '/' if needed while concatenating. * This means it does not matter whether the current path has a trailing * '/' or not. If there is none, it becomes appended. If @p txt * has a leading '/' then this one is stripped. * * @param txt The text to add. It is considered to be decoded. */ void addPath( const QString& txt ); /** * Options for queryItems. Currently, only one option is * defined: * * @param CaseInsensitiveKeys normalize query keys to lowercase. **/ enum QueryItemsOption { CaseInsensitiveKeys = 1 }; Q_DECLARE_FLAGS(QueryItemsOptions,QueryItemsOption) /** * Returns the list of query items as a map mapping keys to values. * * This does the same as QUrl::queryItems(), except that it * decodes "+" into " " in the value, supports CaseInsensitiveKeys, * and returns a different data type. * * @param options any of QueryItemsOption ored together. * * @return the map of query items or the empty map if the url has no * query items. */ QMap< QString, QString > queryItems( const QueryItemsOptions& options = 0 ) const; // #### TODO port the above queryItems to look more like QUrl's //using QUrl::queryItems; // temporary /** * Returns the value of a certain query item. * * This does the same as QUrl::queryItemValue(), except that it * decodes "+" into " " in the value. * * @param item Item whose value we want * * @return the value of the given query item name or QString() if the * specified item does not exist. */ QString queryItem(const QString &item) const; /** * Add an additional query item. * To replace an existing query item, the item should first be * removed with removeQueryItem() * * @param _item Name of item to add * @param _value Value of item to add */ void addQueryItem( const QString& _item, const QString& _value ); /** * Sets the filename of the path. * In comparison to addPath() this function does not assume that the current * path is a directory. This is only assumed if the current path ends with '/'. * * Any reference is reset. * * @param _txt The filename to be set. It is considered to be decoded. If the * current path ends with '/' then @p _txt int just appended, otherwise * all text behind the last '/' in the current path is erased and * @p _txt is appended then. It does not matter whether @p _txt starts * with '/' or not. */ void setFileName( const QString&_txt ); /** * option to be used in fileName and directory */ enum DirectoryOption { /** * This tells whether a trailing '/' should be ignored. * * If the flag is not set, for both file:///hallo/torben/ and file:///hallo/torben * the fileName is "torben" and the path is "hallo" * * If the flag is set, then everything behind the last '/'is considered to be the filename. * So "hallo/torben" will be the path and the filename will be empty. */ ObeyTrailingSlash = 0x02, /** * tells whether the returned result should end with '/' or not. * If the flag is set, '/' is added to the end of the path * * If the path is empty or just "/" then this flag has no effect. * * This option should only be used in directory(), it has no effect in fileName() */ AppendTrailingSlash = 0x04, /** * Opposite of ObeyTrailingSlash (default) * fileName("file:/foo/") and fileName("file:/foo") is "foo" in both cases. */ IgnoreTrailingSlash = 0x01 }; Q_DECLARE_FLAGS(DirectoryOptions,DirectoryOption) /** * Returns the filename of the path. * @param options a set of DirectoryOption flags. (StripTrailingSlashFromResult has no effect) * @return The filename of the current path. The returned string is decoded. Null * if there is no file (and thus no path). */ QString fileName( const DirectoryOptions& options = IgnoreTrailingSlash ) const; /** * Returns the directory of the path. * @param options a set of DirectoryOption flags * @return The directory part of the current path. Everything between the last and the second last '/' * is returned. For example file:///hallo/torben/ would return "/hallo/torben/" while * file:///hallo/torben would return "hallo/". The returned string is decoded. * QString() is returned when there is no path. */ QString directory( const DirectoryOptions& options = IgnoreTrailingSlash ) const; /** * Set the directory to @p dir, leaving the filename empty. */ void setDirectory(const QString &dir); /** * Changes the directory by descending into the given directory. * It is assumed the current URL represents a directory. * If @p dir starts with a "/" the * current URL will be "protocol://host/dir" otherwise @p _dir will * be appended to the path. @p _dir can be ".." * This function won't strip protocols. That means that when you are in * file:///dir/dir2/my.tgz#tar:/ and you do cd("..") you will * still be in file:///dir/dir2/my.tgz#tar:/ * * @param _dir the directory to change to * @return true if successful */ bool cd( const QString& _dir ); /** * Returns the URL as string, with all escape sequences intact, * encoded in a given charset. * This is used in particular for encoding URLs in UTF-8 before using them * in a drag and drop operation. * Please note that the string returned by url() will include * the password of the URL. If you want to show the URL to the * user, use prettyUrl(). * * @param trailing use to add or remove a trailing slash to/from the path. See adjustPath * @return The complete URL, with all escape sequences intact, encoded * in a given charset. * @see prettyUrl() */ QString url( AdjustPathOption trailing = LeaveTrailingSlash ) const; /** * Returns the URL as string in human-friendly format. * Example: * \code * http://localhost:8080/test.cgi?test=hello world&name=fred * \endcode * @param trailing use to add or remove a trailing slash to/from the path. see adjustPath. * * @return A human readable URL, with no non-necessary encodings/escaped * characters. Password will not be shown. * @see url() */ QString prettyUrl( AdjustPathOption trailing = LeaveTrailingSlash ) const; /** * Return the URL as a string, which will be either the URL (as prettyUrl * would return) or, when the URL is a local file without query or ref, * the path. * Use this method, to display URLs to the user. * You can give the result of pathOrUrl back to the KUrl constructor, it accepts * both paths and urls. * * @return the new KUrl */ QString pathOrUrl() const; /** * Overload with @p trailing parameter * @param trailing use to add or remove a trailing slash to/from the path. see adjustPath. * @since 4.2 */ QString pathOrUrl(AdjustPathOption trailing) const; // KDE5: merge with above. Rename to toUrlOrLocalFile? /** * Returns the URL as a string, using the standard conventions for mime data * (drag-n-drop or copy-n-paste). * Internally used by KUrl::List::fromMimeData, which is probably what you want to use instead. */ QString toMimeDataString() const; /** * This function is useful to implement the "Up" button in a file manager for example. * cd() never strips a sub-protocol. That means that if you are in * file:///home/x.tgz#gzip:/#tar:/ and hit the up button you expect to see * file:///home. The algorithm tries to go up on the right-most URL. If that is not * possible it strips the right most URL. It continues stripping URLs. * @return a URL that is a level higher */ KUrl upUrl( ) const; KUrl& operator=( const KUrl& _u ); // Define those, since the constructors are explicit KUrl& operator=( const char * _url ) { *this = KUrl(_url); return *this; } KUrl& operator=( const QByteArray& _url ) { *this = KUrl(_url); return *this; } KUrl& operator=( const QString& _url ) { *this = KUrl(_url); return *this; } bool operator==( const KUrl& _u ) const; bool operator==( const QString& _u ) const; bool operator!=( const KUrl& _u ) const { return !( *this == _u ); } bool operator!=( const QString& _u ) const { return !( *this == _u ); } /** * Converts this KUrl to a QVariant, this allows to use KUrl * in QVariant() constructor */ operator QVariant() const; /** * The same as equals(), just with a less obvious name. * Compares this url with @p u. * @param u the URL to compare this one with. * @param ignore_trailing set to true to ignore trailing '/' characters. * @return True if both urls are the same. If at least one of the urls is invalid, * false is returned. * @see operator==. This function should be used if you want to * ignore trailing '/' characters. * @deprecated Use equals() instead. */ #ifndef KDE_NO_DEPRECATED KDE_DEPRECATED bool cmp( const KUrl &u, bool ignore_trailing = false ) const; #endif /** * Flags to be used in URL comparison functions like equals, or urlcmp */ enum EqualsOption { /** * ignore trailing '/' characters. The paths "dir" and "dir/" are treated the same. * Note however, that by default, the paths "" and "/" are not the same * (For instance ftp://user@host redirects to ftp://user@host/home/user (on a linux server), * while ftp://user@host/ is the root dir). * This is also why path(RemoveTrailingSlash) for "/" returns "/" and not "". * * When dealing with web pages however, you should also set AllowEmptyPath so that * no path and "/" are considered equal. */ CompareWithoutTrailingSlash = 0x01, /** * disables comparison of HTML-style references. */ CompareWithoutFragment = 0x02, /** * Treat a URL with no path as equal to a URL with a path of "/", * when CompareWithoutTrailingSlash is set. * Example: * KUrl::urlcmp("http://www.kde.org", "http://www.kde.org/", KUrl::CompareWithoutTrailingSlash | KUrl::AllowEmptyPath) * returns true. * This option is ignored if CompareWithoutTrailingSlash isn't set. * @since 4.5 */ AllowEmptyPath = 0x04 }; Q_DECLARE_FLAGS(EqualsOptions,EqualsOption) /** * Compares this url with @p u. * @param u the URL to compare this one with. * @param options a set of EqualsOption flags * @return True if both urls are the same. If at least one of the urls is invalid, * false is returned. * @see operator==. This function should be used if you want to * set additional options, like ignoring trailing '/' characters. */ bool equals( const KUrl &u, const EqualsOptions& options=0 ) const; /** * Checks whether the given URL is parent of this URL. * For instance, ftp://host/dir/ is a parent of ftp://host/dir/subdir/subsubdir/. * @return true if this url is a parent of @p u (or the same URL as @p u) * */ bool isParentOf( const KUrl& u ) const; // (this overload of the QUrl method allows to use the implicit KUrl constructors) // but also the equality test /** * Splits nested URLs like file:///home/weis/kde.tgz#gzip:/#tar:/kdebase * A URL like http://www.kde.org#tar:/kde/README.hml#ref1 will be split in * http://www.kde.org and tar:/kde/README.html#ref1. * That means in turn that "#ref1" is an HTML-style reference and not a new sub URL. * Since HTML-style references mark * a certain position in a document this reference is appended to every URL. * The idea behind this is that browsers, for example, only look at the first URL while * the rest is not of interest to them. * * * @param _url The URL that has to be split. * @return An empty list on error or the list of split URLs. * @see hasSubUrl */ static List split( const QString& _url ); /** * Splits nested URLs like file:///home/weis/kde.tgz#gzip:/#tar:/kdebase * A URL like http://www.kde.org#tar:/kde/README.hml#ref1 will be split in * http://www.kde.org and tar:/kde/README.html#ref1. * That means in turn that "#ref1" is an HTML-style reference and not a new sub URL. * Since HTML-style references mark * a certain position in a document this reference is appended to every URL. * The idea behind this is that browsers, for example, only look at the first URL while * the rest is not of interest to them. * * @return An empty list on error or the list of split URLs. * * @param _url The URL that has to be split. * @see hasSubUrl */ static List split( const KUrl& _url ); /** * Reverses split(). Only the first URL may have a reference. This reference * is considered to be HTML-like and is appended at the end of the resulting * joined URL. * @param _list the list to join * @return the joined URL */ static KUrl join( const List& _list ); /** * Creates a KUrl object from a QString representing an absolute path. * KUrl url( somePath ) is almost the same, but this method is more explicit, * avoids the path-or-url detection in the KUrl constructor, and parses * "abc:def" as a filename, not as URL. * * @param text the path * @return the new KUrl */ static KUrl fromPath( const QString& text ); /** * \deprecated * Since KDE4 you can pass both urls and paths to the KUrl constructors. * Use KUrl(text) instead. */ #ifndef KDE_NO_DEPRECATED static KDE_DEPRECATED KUrl fromPathOrUrl( const QString& text ); #endif /** * Creates a KUrl from a string, using the standard conventions for mime data * (drag-n-drop or copy-n-paste). * Internally used by KUrl::List::fromMimeData, which is probably what you want to use instead. */ static KUrl fromMimeDataByteArray( const QByteArray& str ); /** * Adds URL data into the given QMimeData. * * By default, populateMimeData also exports the URL as plain text, for e.g. dropping * onto a text editor. * But in some cases this might not be wanted, e.g. if adding other mime data * which provides better plain text data. * * WARNING: do not call this method multiple times, use KUrl::List::populateMimeData instead. * * @param mimeData the QMimeData instance used to drag or copy this URL * @param metaData KIO metadata shipped in the mime data, which is used for instance to * set a correct HTTP referrer (some websites require it for downloading e.g. an image) * @param flags set NoTextExport to prevent setting plain/text data into @p mimeData * In such a case, setExportAsText( false ) should be called. */ void populateMimeData( QMimeData* mimeData, const MetaDataMap& metaData = MetaDataMap(), MimeDataFlags flags = DefaultMimeDataFlags ) const; /** * Convert unicoded string to local encoding and use %-style * encoding for all common delimiters / non-ascii characters. * @param str String to encode (can be QString()). * @return the encoded string * * @deprecated use QUrl::toPercentEncoding instead, but note that it * returns a QByteArray and not a QString. Which makes sense since * everything is 7 bit (ascii) after being percent-encoded. */ #ifndef KDE_NO_DEPRECATED static KDE_DEPRECATED QString encode_string(const QString &str) { return QString::fromLatin1( QUrl::toPercentEncoding( str ).constData() ); //krazy:exclude=qclasses } #endif /** * Convert unicoded string to local encoding and use %-style * encoding for all common delimiters / non-ascii characters * as well as the slash '/'. * @param str String to encode * * @deprecated use QUrl::toPercentEncoding(str,"/") instead, but note that it * returns a QByteArray and not a QString. Which makes sense since * everything is 7 bit (ascii) after being percent-encoded. * */ #ifndef KDE_NO_DEPRECATED static KDE_DEPRECATED QString encode_string_no_slash(const QString &str) { return QString::fromLatin1( QUrl::toPercentEncoding( str, "/" ).constData() ); //krazy:exclude=qclasses } #endif /** * Decode %-style encoding and convert from local encoding to unicode. * Reverse of encode_string() * @param str String to decode (can be QString()). * * @deprecated use QUrl::fromPercentEncoding(encodedURL) instead, but * note that it takes a QByteArray and not a QString. Which makes sense since * everything is 7 bit (ascii) when being percent-encoded. * */ #ifndef KDE_NO_DEPRECATED static KDE_DEPRECATED QString decode_string(const QString &str) { return QUrl::fromPercentEncoding( str.toLatin1() ); //krazy:exclude=qclasses } #endif /** * Convenience function. * * Returns whether '_url' is likely to be a "relative" URL instead of * an "absolute" URL. * * This is mostly meant for KUrl(url, relativeUrl). * * If you are looking for the notion of "relative path" (foo) vs "absolute path" (/foo), * use QUrl::isRelative() instead. * Indeed, isRelativeUrl() returns true for the string "/foo" since it doesn't contain a protocol, * while KUrl("/foo").isRelative() is false since the KUrl constructor turns it into file:///foo. * The two methods basically test the same thing, but this one takes a string (which is faster) * while the class method requires a QUrl/KUrl which gives a more expected result, given * the "magic" in the KUrl constructor. * * @param _url URL to examine * @return true when the URL is likely to be "relative", false otherwise. */ static bool isRelativeUrl(const QString &_url); /** * Convenience function * * Returns a "relative URL" based on @p base_url that points to @p url. * * If no "relative URL" can be created, e.g. because the protocol * and/or hostname differ between @p base_url and @p url an absolute * URL is returned. * Note that if @p base_url represents a directory, it should contain * a trailing slash. * @param base_url the URL to derive from * @param url new URL * @see adjustPath() */ static QString relativeUrl(const KUrl &base_url, const KUrl &url); /** * Convenience function * * Returns a relative path based on @p base_dir that points to @p path. * @param base_dir the base directory to derive from * @param path the new target directory * @param isParent A pointer to a boolean which, if provided, will be set to reflect * whether @p path has @p base_dir is a parent dir. */ static QString relativePath(const QString &base_dir, const QString &path, bool *isParent=0); private: void _setQuery( const QString& query ); void _setEncodedUrl(const QByteArray& url); QString toString() const; // forbidden, use url(), prettyUrl(), or pathOrUrl() instead. operator QString() const; // forbidden, use url(), prettyUrl(), or pathOrUrl() instead. private: KUrlPrivate* const d; // Don't ever use this, it would break clear() (which is in QUrl) }; Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::EncodedPathAndQueryOptions) Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::CleanPathOptions) Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::QueryItemsOptions) Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::EqualsOptions) Q_DECLARE_OPERATORS_FOR_FLAGS(KUrl::DirectoryOptions) Q_DECLARE_METATYPE(KUrl) Q_DECLARE_METATYPE(KUrl::List) /** * \relates KUrl * Compares URLs. They are parsed, split and compared. * Two malformed URLs with the same string representation * are nevertheless considered to be unequal. * That means no malformed URL equals anything else. * @deprecated use KUrl(_url1).equals(KUrl(_url2)) instead. */ #ifndef KDE_NO_DEPRECATED KDECORE_EXPORT_DEPRECATED bool urlcmp( const QString& _url1, const QString& _url2 ); // KDE5: remove, KUrl::equals is better API #endif /** * \relates KUrl * Compares URLs. They are parsed, split and compared. * Two malformed URLs with the same string representation * are nevertheless considered to be unequal. * That means no malformed URL equals anything else. * * @param _url1 A reference URL * @param _url2 A URL that will be compared with the reference URL * @param options a set of KUrl::EqualsOption flags * @deprecated use KUrl(_url1).equals(KUrl(_url2), options) instead. */ #ifndef KDE_NO_DEPRECATED KDECORE_EXPORT_DEPRECATED bool urlcmp( const QString& _url1, const QString& _url2, const KUrl::EqualsOptions& options ); // KDE5: remove, KUrl::equals is better API #endif KDECORE_EXPORT uint qHash(const KUrl& kurl); #endif diff --git a/kdecore/localization/all_languages.desktop b/kdecore/localization/all_languages.desktop index bc2bc94483..5d46d6a879 100644 --- a/kdecore/localization/all_languages.desktop +++ b/kdecore/localization/all_languages.desktop @@ -1,17867 +1,17885 @@ [aa] Name=Afar Name[af]=Afar Name[ar]=عفرية Name[as]=আফাৰ Name[ast]=Afar Name[be]=Афарская Name[be@latin]=Afarskaja Name[bg]=Афар Name[bn]=আফার Name[bn_IN]=আফার Name[br]=Afar Name[bs]=Afarski Name[ca]=Àfar Name[ca@valencia]=Àfar Name[cs]=Afar Name[csb]=Afarsczi Name[cy]=Afareg Name[da]=Afar Name[de]=Afar Name[el]=Afar Name[en_GB]=Afar Name[eo]=Afara Name[es]=Afar Name[et]=Afari Name[eu]=Afar Name[fa]=افار Name[fi]=Afar Name[fr]=Afar Name[fy]=Afar Name[ga]=Afárais Name[gl]=Afar Name[gu]=અફર Name[he]=אפאר Name[hi]=अफ्र Name[hne]=अफ्र Name[hr]=Afarski Name[hsb]=Afar Name[hu]=Afar Name[ia]=Afar Name[id]=Afar Name[is]=Afar Name[it]=Afar Name[ja]=アファル語 Name[kk]=Афарша Name[km]=អាហ្វារ Name[kn]=ಅಫಾರ್ Name[ko]=아파르어 Name[ku]=Afar Name[lb]=Afar Name[lt]=Afarų Name[lv]=Afāru Name[mai]=अफ्र Name[mk]=Афар Name[ml]=അഭര്‍ Name[mr]=अफार Name[ms]=Afar Name[nb]=Afar Name[nds]=Afaarsch Name[ne]=अफार Name[nl]=Afar Name[nn]=Afar Name[oc]=Afar Name[or]=Afar Name[pa]=ਅਫਾਰ Name[pl]=Afarski Name[ps]=افار Name[pt]=Afar Name[pt_BR]=Afar Name[ro]=Afară Name[ru]=Афарский Name[se]=Afárgiella Name[si]=අෆාර් Name[sk]=Afarčina Name[sl]=afarsko Name[sq]=Afar Name[sr]=афарски Name[sr@ijekavian]=афарски Name[sr@ijekavianlatin]=afarski Name[sr@latin]=afarski Name[sv]=Afar Name[ta]=அபார் Name[te]=ఎఫార్ Name[tg]=Афарӣ Name[th]=ภาษาอะฟาร์ Name[tr]=Afar Name[ug]=ئافارچە Name[uk]=Афар Name[uz]=Afar Name[uz@cyrillic]=Афар -Name[vi]=Ă-pha +Name[vi]=Afar Name[wa]=Afar -Name[x-test]=xxAfarxx Name[xh]=Afar +Name[x-test]=xxAfarxx Name[zh_CN]=阿法尔语 Name[zh_HK]=阿發爾 Name[zh_TW]=阿發爾 [ab] Name=Abkhazian Name[af]=Abkhazian Name[ar]=أبخازية Name[as]=আব্‌খাজিয়ান Name[ast]=Abxazianu Name[be]=Абхазская Name[be@latin]=Abchazkaja Name[bg]=Абхазки Name[bn]=আবখাজিয়ান Name[bn_IN]=আভকাজিয়ান Name[br]=Abkhazieg Name[bs]=Abkhazijski Name[ca]=Abkhaz Name[ca@valencia]=Abkhaz Name[cs]=Abcházský Name[csb]=Abchasczi Name[cy]=Abkhazeg Name[da]=Abkhaziansk Name[de]=Abhasisch Name[el]=Αμπχαζιανά Name[en_GB]=Abkhazian Name[eo]=Abĥaza Name[es]=Abjaso Name[et]=Abhaasia Name[eu]=Abkhazian Name[fa]=ابخازیان Name[fi]=Abhaasi Name[fr]=Abkhaze Name[fy]=Abkhasysk Name[ga]=Abcáisis Name[gl]=Abxasio Name[gu]=અબ્ખાઝીઅન Name[he]=אבחזית Name[hi]=अबकाजियन Name[hne]=अबकाजियन Name[hr]=Abhaški Name[hsb]=Abchazisce Name[hu]=Abház Name[ia]=Abkhaziano Name[id]=Abkhazian Name[is]=Abkhazian Name[it]=Abcaso Name[ja]=アブハズ語 Name[kk]=Ахбазша Name[km]=អាប់ខាហ្ស៊ាន Name[kn]=ಅಬ್ಕಾಜಿಯನ್ Name[ko]=아브하지아어 Name[ku]=Abxazî Name[lb]=Abhasesch Name[lt]=Abhazų Name[lv]=Abhāzu Name[mai]=अबकाजियन Name[mk]=Абхаски Name[ml]=അബ്ഖാസിയന്‍ Name[mr]=अब्काजीयन Name[ms]=Abkhazia Name[nb]=Abkhasisk Name[nds]=Abchaassch Name[ne]=अब्खाजियन Name[nl]=Abkhazian Name[nn]=Abkhasisk Name[oc]=Turc Name[or]=Abkhazian Name[pa]=ਅਬਖਾਜ਼ੀਨ Name[pl]=Abchaski Name[ps]=ابکازين Name[pt]=Abkhazian Name[pt_BR]=Abcázio Name[ro]=Abhaziană Name[ru]=Абхазский Name[se]=Abhásiagiella Name[si]=අබ්ඛාසියන් Name[sk]=Abcházština Name[sl]=abkazijansko Name[sq]=Abkhaziane Name[sr]=абхазијски Name[sr@ijekavian]=абхазијски Name[sr@ijekavianlatin]=abhazijski Name[sr@latin]=abhazijski Name[sv]=Abkhasiska Name[ta]=அப்காசியன் Name[te]=అబ్ఖజియన్ Name[tg]=Абхозӣ Name[th]=ภาษาแอบคาเซียน Name[tr]=Abkhazian -Name[ug]=ئابخازچە +Name[ug]=ئابغازچە Name[uk]=Абхазька Name[uz]=Abxazcha Name[uz@cyrillic]=Абхазча -Name[vi]=Ap-kha-xi-an +Name[vi]=Abkhazian Name[wa]=Abxhaze -Name[x-test]=xxAbkhazianxx Name[xh]=Abkhazian +Name[x-test]=xxAbkhazianxx Name[zh_CN]=阿布哈西亚语 Name[zh_HK]=阿布哈西亞語 Name[zh_TW]=阿布哈西亞語 [ae] Name=Avestan Name[af]=Avestan Name[ar]=أفستانية Name[as]=আভেষ্টান Name[ast]=Avestanu Name[be]=Авестанская Name[be@latin]=Avestanskaja Name[bg]=Авестийски Name[bn]=আভেস্তান Name[bn_IN]=আভেস্তান Name[br]=Avestan Name[bs]=Avesta Name[ca]=Avèstic Name[ca@valencia]=Avèstic Name[cs]=Avestánský Name[csb]=Awestańsczi (irańsczi) Name[cy]=Afestaneg Name[da]=Avestansk Name[de]=Avestisch Name[el]=Avestan Name[en_GB]=Avestan Name[eo]=Avesta Name[es]=Avéstico Name[et]=Vanapärsia Name[eu]=Avestan Name[fa]=اوستایی Name[fi]=Avesta Name[fr]=Avestan Name[fy]=Avestaansk Name[ga]=Aivéistis Name[gl]=Avestaní Name[gu]=અવેસ્ટાન Name[he]=אווסטית Name[hi]=अवेस्तन Name[hne]=अवेस्तन Name[hr]=Avestanski Name[hsb]=Awestisce Name[hu]=Avesztáni Name[ia]=Avestan Name[id]=Avestan Name[is]=Avestan Name[it]=Avestano Name[ja]=アベスタ語 Name[kk]=Авестша Name[km]=អាវែស្តង់ Name[kn]=ಅವೆಸ್ತನ್ Name[ko]=아베스탄어 Name[ku]=Avestayî Name[lb]=Avestan Name[lt]=Avestan Name[lv]=Avesta Name[mai]=अवेस्तन Name[mk]=Авестан Name[ml]=അവെസ്തന്‍ Name[mr]=अवेस्तन Name[ms]=Avestan Name[nb]=Avestisk Name[nds]=Avesta Name[ne]=अभेस्टन Name[nl]=Avestan Name[nn]=Avestisk Name[or]=Avestan Name[pa]=ਅਵਸਟਅਨ Name[pl]=Awestański (Irański) Name[ps]=اوستايي Name[pt]=Avestan Name[pt_BR]=Avéstico Name[ro]=Avestană Name[ru]=Авестийский Name[se]=Avestánagiella Name[si]=අවෙස්ටන් Name[sk]=Avestčina Name[sl]=avestansko Name[sq]=Avestane Name[sr]=авестански Name[sr@ijekavian]=авестански Name[sr@ijekavianlatin]=avestanski Name[sr@latin]=avestanski Name[sv]=Avestiska Name[ta]=அவெஸ்டன் Name[te]=అవెస్థన్ Name[tg]=Авастоӣ Name[th]=ภาษาอะเวสแทน Name[tr]=Avestan -Name[ug]=ئاۋېستاچە +Name[ug]=ئاۋىستانچە Name[uk]=Авестан Name[uz]=Avesta Name[uz@cyrillic]=Авеста -Name[vi]=Ă-ve-x-tanh +Name[vi]=Avestan Name[wa]=Avestan -Name[x-test]=xxAvestanxx Name[xh]=Avestan +Name[x-test]=xxAvestanxx Name[zh_CN]=阿维斯陀语 Name[zh_HK]=阿維斯陀語 Name[zh_TW]=阿維斯陀語 [af] Name=Afrikaans Name[af]=Afrikaans Name[ar]=أفريكانس Name[as]=আফ্ৰিকান্স Name[ast]=Afrikaans Name[be]=Афрыканская Name[be@latin]=Afrykaans Name[bg]=Африкаанс Name[bn]=আফ্রিকান্‌স Name[bn_IN]=আফ্রিকান্স Name[br]=Afrikaans Name[bs]=Afrikaans Name[ca]=Afrikaans Name[ca@valencia]=Afrikaans Name[cs]=Afrikánský Name[csb]=Afrikanersczi Name[cy]=Affricaneg Name[da]=Afrikaans Name[de]=Afrikaans Name[el]=Αφρικανικά Name[en_GB]=Afrikaans Name[eo]=Afrikansa Name[es]=Afrikaans Name[et]=Afrikaani Name[eu]=Afrikaansa Name[fa]=آفریکانس Name[fi]=Afrikaans Name[fr]=Afrikaans Name[fy]=Afrikaansk Name[ga]=Afracáinis Name[gl]=Africáner Name[gu]=આફ્રિકાન્સ Name[he]=אפריקנס Name[hi]=अफ्रीकी Name[hne]=अफ्रीकी Name[hr]=Afrikaans Name[hsb]=Afrikaans Name[hu]=Afrikaans Name[ia]=Afrikaans Name[id]=Afrikaans Name[is]=Afrikaans Name[it]=Afrikaans Name[ja]=アフリカーンス語 Name[kk]=Африкаанс Name[km]=អាហ្វ្រីកាអាន Name[kn]=ಆಫ್ರಿಕಾನಾಸ್ Name[ko]=아프리칸스어 Name[ku]=Afrîkans Name[lb]=Afrikaans Name[lt]=Afrikanso Name[lv]=Afrikandu Name[mai]=अफ्रीकी Name[mk]=Африкански Name[ml]=ആഫ്രികാന്‍സ് Name[mr]=अफ्रीकी Name[ms]=Afrika Name[nb]=Afrikaans Name[nds]=Afrikaansch Name[ne]=अफ्रिकी Name[nl]=Afrikaans Name[nn]=Afrikaans Name[oc]=Afrikaans Name[or]=ଆଫ୍ରିକାନ Name[pa]=ਅਫਰੀਕੀ Name[pl]=Afrykanerski Name[ps]=افريکانس Name[pt]=Afrikaans Name[pt_BR]=Africâner Name[ro]=Africană Name[ru]=Африкаанс Name[se]=Afrikánsgiella Name[si]=ඇෆ්‍රිකාන්ස් Name[sk]=Afrikánčina Name[sl]=afrikansko Name[sq]=Afrikaans Name[sr]=африканерски Name[sr@ijekavian]=африканерски Name[sr@ijekavianlatin]=afrikanerski Name[sr@latin]=afrikanerski Name[sv]=Afrikaans Name[ta]=ஆப்பிரிகான்ஸ் Name[te]=ఆఫ్రికాన్స్ Name[tg]=Африкоӣ Name[th]=ภาษาแอฟริคานส์ Name[tr]=Afrika Dili Name[ug]=ئافرىكانچە Name[uk]=Африкаанс Name[uz]=Afrikancha Name[uz@cyrillic]=Африканча -Name[vi]=Hoà Nam Phi +Name[vi]=Afrikaans Name[wa]=Afrikaans -Name[x-test]=xxAfrikaansxx Name[xh]=Isibhulu +Name[x-test]=xxAfrikaansxx Name[zh_CN]=南非荷兰语 Name[zh_HK]=南非荷蘭語 Name[zh_TW]=南非荷蘭語 [am] Name=Amharic Name[af]=Amharic Name[ar]=أمهرية Name[as]=আম্‌হাৰিক Name[ast]=Amháricu Name[be]=Амхарская Name[be@latin]=Amharskaja Name[bg]=Амхарски Name[bn]=আমহারিক Name[bn_IN]=আমহারিক Name[br]=Amhareg Name[bs]=Amharski Name[ca]=Amhàric Name[ca@valencia]=Amhàric Name[cs]=Amharský Name[csb]=Etiopsczi Name[cy]=Amhareg Name[da]=Amharisk Name[de]=Amharisch Name[el]=Amharic Name[en_GB]=Amharic Name[eo]=Amhara Name[es]=Amárico Name[et]=Amhaara Name[eu]=Amharic Name[fa]=امهری Name[fi]=Amhara Name[fr]=Amharique Name[fy]=Amhaarsk Name[ga]=Amáiris Name[gl]=Amhárico Name[gu]=અમ્હારિક Name[he]=אמהרית Name[hi]=अम्हारिक Name[hne]=अम्हारिक Name[hr]=Amarski Name[hsb]=Amharisce Name[hu]=Amhár Name[ia]=Amharico Name[id]=Amharic Name[is]=Amharic Name[it]=Amarico Name[ja]=アムハラ語 Name[kk]=Ахмарша Name[km]=អាមហារិក Name[kn]=ಅಮ್ಹಾರಿಕ್ Name[ko]=암하라어 Name[ku]=Amharî Name[lb]=Amharesch Name[lt]=Amhari Name[lv]=Amharu Name[mai]=अम्हारिक Name[mk]=Амхарски Name[ml]=അമ്ഹാരിക് Name[mr]=अम्हारिक Name[ms]=Amharic Name[nb]=Amharisk Name[nds]=Amhaarsch Name[ne]=अम्हारिक Name[nl]=Amharisch Name[nn]=Amharisk Name[oc]=Amaric Name[or]=ଆମ୍ହାରିକ Name[pa]=ਅਮਹਾਰਿਕ Name[pl]=Etiopski Name[ps]=امهارېک Name[pt]=Amárico Name[pt_BR]=Amárico Name[ro]=Amarică Name[ru]=Амхарский Name[se]=Ambháriagiella Name[si]=අමාරික් Name[sk]=Amharčina Name[sl]=amharik Name[sq]=Amharike Name[sr]=амарски Name[sr@ijekavian]=амарски Name[sr@ijekavianlatin]=amarski Name[sr@latin]=amarski Name[sv]=Amarinja Name[ta]=அம்ஹாரிக் Name[te]=అమ్హరిక్ Name[tg]=Амхарикӣ Name[th]=ภาษาอัมฮาริค Name[tr]=Amharic Name[ug]=ئامخاراچە Name[uk]=Амхарська Name[uz]=Amxarik Name[uz@cyrillic]=Амхарик -Name[vi]=Am-ha-ri +Name[vi]=Amharic Name[wa]=Amarike -Name[x-test]=xxAmharicxx Name[xh]=Amharic +Name[x-test]=xxAmharicxx Name[zh_CN]=阿比西尼亚语 Name[zh_HK]=衣索比亞官方語 Name[zh_TW]=衣索比亞官方語 [ar] Name=Arabic Name[af]=Arabies Name[ar]=عربية Name[as]=আৰবীয় Name[ast]=Árabe Name[be]=Арабская Name[be@latin]=Arabskaja Name[bg]=Арабски Name[bn]=আরবী Name[bn_IN]=আরবি Name[br]=Arabeg Name[bs]=Arapski Name[ca]=Àrab Name[ca@valencia]=Àrab Name[cs]=Arabský Name[csb]=Arabsczi Name[cy]=Arabeg Name[da]=Arabisk Name[de]=Arabisch Name[el]=Αραβικά Name[en_GB]=Arabic Name[eo]=Araba Name[es]=Árabe Name[et]=Araabia Name[eu]=Arabiera Name[fa]=عربی Name[fi]=Arabia Name[fr]=Arabe Name[fy]=Arabysk Name[ga]=Araibis Name[gl]=Árabe Name[gu]=અરેબિક Name[he]=ערבית Name[hi]=अरबी Name[hne]=अरबी Name[hr]=Arapski Name[hsb]=Arabsce Name[hu]=Arab Name[hy]=Արաբերեն Name[ia]=Arabe Name[id]=Arab Name[is]=Arabíska Name[it]=Arabo Name[ja]=アラビア語 Name[kk]=Арабша Name[km]=អារ៉ាប់ Name[kn]=ಅರೇಬಿಕ್ Name[ko]=아랍어 Name[ku]=Erebî Name[lb]=Arabesch Name[lt]=Arabų Name[lv]=Arābu Name[mai]=अरबी Name[mk]=Арапски Name[ml]=അറബി Name[mr]=अरेबिक Name[ms]=Arab Name[nb]=Arabisk Name[nds]=Araabsch Name[ne]=अरबी Name[nl]=Arabisch Name[nn]=Arabisk Name[oc]=Arab Name[or]=Arabic Name[pa]=ਅਰਬੀ Name[pl]=Arabski Name[ps]=عربي Name[pt]=Árabe Name[pt_BR]=Árabe Name[ro]=Arabă Name[ru]=Арабский Name[se]=Arábiagiella Name[si]=අරාබි Name[sk]=Arabčina Name[sl]=arabsko Name[sq]=Arabisht Name[sr]=арапски Name[sr@ijekavian]=арапски Name[sr@ijekavianlatin]=arapski Name[sr@latin]=arapski Name[sv]=Arabiska Name[ta]=அராபிக் Name[te]=అరబిక్ Name[tg]=Арабӣ Name[th]=ภาษาอารบิก Name[tr]=Arapça Name[ug]=ئەرەبچە Name[uk]=Арабська Name[uz]=Arabcha Name[uz@cyrillic]=Арабча -Name[vi]=A-rập +Name[vi]=Ả Rập Name[wa]=Arabe -Name[x-test]=xxArabicxx Name[xh]=Arabic +Name[x-test]=xxArabicxx Name[zh_CN]=阿拉伯语 Name[zh_HK]=阿拉伯語 Name[zh_TW]=阿拉伯語 [as] Name=Assamese Name[af]=Assamese Name[ar]=أسامية Name[as]=অসমীয়া Name[ast]=Asamés Name[be]=Асамская Name[be@latin]=Asameskaja Name[bg]=Асами Name[bn]=আসামী Name[bn_IN]=অসমীয়া Name[br]=Assamese Name[bs]=Asamski Name[ca]=Assamès Name[ca@valencia]=Assamés Name[cs]=Asamský Name[csb]=Assamijsczi Name[cy]=Assameg Name[da]=Assamese Name[de]=Assamesisch Name[el]=Assamese Name[en_GB]=Assamese Name[eo]=Asama Name[es]=Asamés Name[et]=Assami Name[eu]=Assamese Name[fa]=آسامی Name[fi]=Assami Name[fr]=Assamais Name[fy]=Assameesk Name[ga]=Asaimis Name[gl]=Asamixa Name[gu]=આસામીઝ Name[he]=אסאמית Name[hi]=असमी Name[hne]=असमी Name[hr]=Asamski Name[hsb]=Asamezisce Name[hu]=Asszámi Name[ia]=Assamese Name[id]=Assamese Name[is]=Assamese Name[it]=Assamese Name[ja]=アッサム語 Name[kk]=Ассамша Name[km]=អាសាមីស Name[kn]=ಅಸ್ಸಾಮಿ Name[ko]=아삼어 Name[ku]=Asamî Name[lb]=Assamesesch Name[lt]=Asamesų Name[lv]=Asamiešu Name[mai]=असामी Name[mk]=Асамески Name[ml]=അസ്സാമീസ് Name[mr]=असमी Name[ms]=Assamese Name[nb]=Assamesisk Name[nds]=Assameesch Name[ne]=आसामी Name[nl]=Assamees Name[nn]=Assami Name[oc]=Assamés Name[or]=Assamese Name[pa]=ਆਸਾਮੀ Name[pl]=Assamijski Name[ps]=اسامي Name[pt]=Assamese Name[pt_BR]=Assamês Name[ro]=Asameză Name[ru]=Ассамский Name[se]=Assamesegiella Name[si]=ඇසමීස් Name[sk]=Asámčina Name[sl]=asamese Name[sq]=Asameze Name[sr]=асамејски Name[sr@ijekavian]=асамејски Name[sr@ijekavianlatin]=asamejski Name[sr@latin]=asamejski Name[sv]=Assamesiska Name[ta]=அஸ்ஸாமிய Name[te]=అస్సామీ Name[tg]=Ассамӣ Name[th]=ภาษาอัสสัม Name[tr]=Assamese Name[ug]=ئاسسامچە Name[uk]=Асамійська Name[uz]=Assamese Name[uz@cyrillic]=Ассамесе -Name[vi]=A-xam +Name[vi]=Assam Name[wa]=Assamès -Name[x-test]=xxAssamesexx Name[xh]=Assamese +Name[x-test]=xxAssamesexx Name[zh_CN]=阿萨姆语 Name[zh_HK]=阿薩姆語 Name[zh_TW]=阿薩姆語 [ast] Name=Asturian Name[ar]=أستريان Name[ast]=Asturianu Name[bg]=Астурийски Name[bs]=Asturski Name[ca]=Asturià Name[ca@valencia]=Asturià Name[cs]=Asturijský Name[da]=Asturiansk Name[de]=Asturisch Name[el]=Asturian Name[en_GB]=Asturian Name[es]=Asturiano Name[et]=Astuuria Name[eu]=Asturiera +Name[fa]=اتریشی Name[fi]=Asturia Name[fr]=Asturien Name[ga]=Astúiris Name[gl]=Asturiano Name[hr]=Asturijanski Name[hu]=Asztúriai Name[ia]=Asturian Name[id]=Asturia Name[is]=Astúríska Name[it]=Asturiano Name[ja]=アストゥリアス語 Name[kk]=Астурианша Name[km]=អូស្តូរៀន Name[kn]=ಆಸ್ಚೂರಿಯನ್ Name[ko]=아스투리아스어 Name[ku]=Astûrî Name[lt]=Asturų Name[lv]=Astūriešu Name[ms]=Asturian Name[nb]=Asturisk Name[nds]=Astuursch Name[nl]=Asturisch Name[nn]=Asturleonesisk Name[pa]=ਅਸਟੁਰੀਆਈ Name[pl]=Asturyjski Name[pt]=Asturiano Name[pt_BR]=Asturiano Name[ro]=Asturiană Name[ru]=Астурийский Name[se]=Asturialagiella Name[si]=ඇස්ටරියන් Name[sk]=Astúrčina Name[sl]=asturijsko Name[sr]=астуријски Name[sr@ijekavian]=астуријски Name[sr@ijekavianlatin]=asturijski Name[sr@latin]=asturijski Name[sv]=Asturiska Name[ta]=அஸ்டூரியன் Name[tg]=Асториан Name[th]=ภาษาอัสตูเรียส Name[tr]=Avusturya Dili Name[ug]=ئاستۇرىيەچە Name[uk]=Астурійська +Name[vi]=Asturian Name[wa]=Asturyin Name[x-test]=xxAsturianxx Name[zh_CN]=阿斯图里亚斯语 Name[zh_TW]=Asturian [ay] Name=Aymara Name[af]=Aymara Name[ar]=أيمرا Name[as]=আইমাৰা Name[ast]=Aymara Name[be]=Аймарская Name[be@latin]=Aymara Name[bg]=Аймара Name[bn]=আইমারা Name[bn_IN]=আয়মারা Name[br]=Aymara Name[bs]=ajmarski Name[ca]=Aymara Name[ca@valencia]=Aymara Name[cs]=Aymara Name[csb]=Aymara Name[cy]=Aimareg Name[da]=Aymara Name[de]=Aimara Name[el]=Aymara Name[en_GB]=Aymara Name[eo]=Ajmara Name[es]=Aymara Name[et]=Aimaraa Name[eu]=Aymara Name[fa]=آیمارایی Name[fi]=Aimara Name[fr]=Aymara Name[fy]=Aymara Name[ga]=Adhmarais Name[gl]=Aimará Name[gu]=અયમારા Name[he]=איימרה Name[hi]=अयमारा Name[hne]=अयमारा Name[hr]=Ajmarski Name[hsb]=Aymara Name[hu]=Ajmara Name[ia]=Aymara Name[id]=Aymara Name[is]=Aymara Name[it]=Aymara Name[ja]=アイマラ語 Name[kk]=Аймарша Name[km]=អេយ៍ម៉ារ៉ា Name[kn]=ಅಯಮಾರಾ Name[ko]=아이마라어 Name[ku]=Aymara Name[lb]=Aimara Name[lt]=Aymara Name[lv]=Aimaru Name[mai]=अयमारा Name[mk]=Ајмара Name[ml]=അരാമ്യ Name[mr]=अयमारा Name[ms]=Aymara Name[nb]=Aymara Name[nds]=Aymara Name[ne]=एमरा Name[nl]=Aymara Name[nn]=Aymara Name[oc]=Aymarà Name[or]=Aymara Name[pa]=ਅਯਮਾਰਾ Name[pl]=Aymara Name[ps]=اېمارا Name[pt]=Aymara Name[pt_BR]=Aimará Name[ro]=Aymară Name[ru]=Аймарский Name[se]=Aimáragiella Name[si]=අයිමාරා Name[sk]=Aymarčina Name[sl]=ajmarsko Name[sq]=Aymara Name[sr]=ајмарски Name[sr@ijekavian]=ајмарски Name[sr@ijekavianlatin]=ajmarski Name[sr@latin]=ajmarski Name[sv]=Aymara Name[ta]=அய்மாரா Name[te]=అయ్మరా Name[tg]=Аймарагӣ Name[th]=ภาษาอัยมารา Name[tr]=Aymara Name[ug]=ئايماراچە Name[uk]=Аймарська Name[uz]=Aymara Name[uz@cyrillic]=Аймара -Name[vi]=Ay-ma-ra +Name[vi]=Aymara Name[wa]=Aymara -Name[x-test]=xxAymaraxx Name[xh]=Aymara +Name[x-test]=xxAymaraxx Name[zh_CN]=艾马拉语 Name[zh_HK]=愛瑪拉語 Name[zh_TW]=愛瑪拉語 [az] Name=Azerbaijani Name[af]=Azerbaijani Name[ar]=أذربيجانية Name[as]=আজাৰ্বাইজানী Name[ast]=Azerbaiyanu Name[be]=Азербайджанская Name[be@latin]=Azerbajdžanskaja Name[bg]=Азербайджански Name[bn]=আজেরবাইজানি Name[bn_IN]=আজারবাইজানি Name[br]=Azerbaidjanek Name[bs]=Azerbejdžanski Name[ca]=Àzeri Name[ca@valencia]=Àzeri Name[cs]=Ázerbajdžánský Name[csb]=Azerbejdżańsczi Name[cy]=Azerbaijaneg Name[da]=Azerbaijansk Name[de]=Aserbaidschanisch Name[el]=Αζερμπαϊτζανικά Name[en_GB]=Azerbaijani Name[eo]=Azerbajĝana Name[es]=Azerbayano Name[et]=Aserbaidžaani Name[eu]=Azerbaijanera Name[fa]=آذربایجانی Name[fi]=Azeri Name[fr]=Azerbaïdjanais Name[fy]=Azerbeidzjaansk Name[ga]=Asarbaiseáinis Name[gl]=Azerí Name[gu]=અઝરબાયજાની Name[he]=אזרית Name[hi]=अजरबेजानी Name[hne]=अजरबेजानी Name[hr]=Azerbejdžanski Name[hsb]=Azerbajdźansce Name[hu]=Azerbajdzsán Name[hy]=Ադրբեջաներեն Name[ia]=Azerbaijano Name[id]=Azerbaijani Name[is]=Adzerbadjanska Name[it]=Azero Name[ja]=アゼルバイジャン語 Name[kk]=Азербайжанша Name[km]=អាហ្ស៊ែរបែហ្សង់ Name[kn]=ಅಜರ್ಬೈಜಾನಿ Name[ko]=아제르바이잔어 Name[ku]=Azerî Name[lb]=Asserbaidschanesch Name[lt]=Azerbaidžaniečių Name[lv]=Azerbaidžāņu Name[mai]=अज़रबैजानी Name[mk]=Азербејџански Name[ml]=അസര്‍ബെയ്ജാനി Name[mr]=अजरबेजानी Name[ms]=Azerbaijan Name[nb]=Aserbajdsjansk Name[nds]=Aserbaidschaansch Name[ne]=अजरबैजानी Name[nl]=Azerbeidjaans Name[nn]=Aserbajdsjansk Name[oc]=Aseri Name[or]=Azerbaijani Name[pa]=ਅਜ਼ਰਬਾਈਜਾਨੀ Name[pl]=Azerbejdżański Name[ps]=ازربايجاني Name[pt]=Azerbaijano Name[pt_BR]=Azeri Name[ro]=Azerbaijană Name[ru]=Азербайджанский Name[se]=Azerbaižánagiella Name[si]=අසර්බයිජානි Name[sk]=Azerbajdžančina Name[sl]=azerbajdžansko Name[sq]=Azerbaixhani Name[sr]=азербејџански Name[sr@ijekavian]=азербејџански Name[sr@ijekavianlatin]=azerbejdžanski Name[sr@latin]=azerbejdžanski Name[sv]=Azerbajdzjanska Name[ta]=அசர்பைசானி Name[te]=అజెర్ బైజాని Name[tg]=Озарбойҷонӣ Name[th]=ภาษาอาเซอร์ไบจัน Name[tr]=Azerbeycanca Name[ug]=ئەزەربەيجانچە Name[uk]=Азербайджанська Name[uz]=Ozarbayjoncha Name[uz@cyrillic]=Озарбайжонча -Name[vi]=A-xợ-bai-gianh +Name[vi]=A-zéc-bai-zan Name[wa]=Azeri -Name[x-test]=xxAzerbaijanixx Name[xh]=Azerbaijani +Name[x-test]=xxAzerbaijanixx Name[zh_CN]=阿塞拜疆语 Name[zh_HK]=亞塞拜彊語 Name[zh_TW]=亞塞拜然語 [ba] Name=Bashkir Name[af]=Bashkir Name[ar]=بشكيرية Name[as]=বাস্কিৰ Name[ast]=Bashkir Name[be]=Башкірская Name[be@latin]=Baškirskaja Name[bg]=Башкирски Name[bn]=বাশকীর Name[bn_IN]=বাশকির Name[br]=Bashkir Name[bs]=Baškirski Name[ca]=Baixkir Name[ca@valencia]=Baixkir Name[cs]=Baškirský Name[csb]=Baszkirsczi Name[cy]=Bashkireg Name[da]=Bashkir Name[de]=Baschkirisch Name[el]=Bashkir Name[en_GB]=Bashkir Name[eo]=Baŝkira Name[es]=Baskir Name[et]=Baškiiri Name[eu]=Bashkir Name[fa]=بشکیری Name[fi]=Baškiiri Name[fr]=Bachkir Name[fy]=Bashkir Name[ga]=Baiscíris Name[gl]=Bashquir Name[gu]=બાસ્કિર Name[he]=בשקירית Name[hi]=बाशकिर Name[hne]=बासकिर Name[hr]=Baškirski Name[hsb]=Baškirsce Name[hu]=Baskír Name[ia]=Bashkir Name[id]=Bashkir Name[is]=Bashkir Name[it]=Baškiro Name[ja]=バシュキール語 Name[kk]=Башкұртша Name[km]=បាសគៀរ Name[kn]=ಬಾಶ್ಕಿರ್ Name[ko]=바슈키르어 Name[ku]=Başkir Name[lb]=Baschkiresch Name[lt]=Baškirų Name[lv]=Baškīru Name[mai]=बाशकिर Name[mk]=Башкир Name[ml]=ബാഷ്കിര്‍ Name[mr]=बाशकिर Name[ms]=Bashkir Name[nb]=Bashkir Name[nds]=Baschkiirsch Name[ne]=बास्खिर Name[nl]=Bashkir Name[nn]=Basjkirsk Name[oc]=Bachkir Name[or]=Bashkir Name[pa]=ਬਸਕੀਰ Name[pl]=Baszkirski Name[ps]=بشکير Name[pt]=Bashkir Name[pt_BR]=Basquir Name[ro]=Bașchiră Name[ru]=Башкирский Name[se]=Baškiriagiella Name[si]=බෂ්කීර් Name[sk]=Baškirčina Name[sl]=baškirsko Name[sq]=Bashkire Name[sr]=башкирски Name[sr@ijekavian]=башкирски Name[sr@ijekavianlatin]=baškirski Name[sr@latin]=baškirski Name[sv]=Bashkir Name[ta]=பஷ்கீர் Name[te]=బాష్కిర్ Name[tg]=Бошқирдӣ Name[th]=ภาษาแบชเคียร์ Name[tr]=Bashkir Name[ug]=باشقىرتچە Name[uk]=Башкирська Name[uz]=Boshqircha Name[uz@cyrillic]=Бошқирча -Name[vi]=Ba-x-kia +Name[vi]=Bashkir Name[wa]=Bashkir -Name[x-test]=xxBashkirxx Name[xh]=Bashkir +Name[x-test]=xxBashkirxx Name[zh_CN]=巴什基尔语 Name[zh_HK]=Bashkir語 Name[zh_TW]=Bashkir語 [be] Name=Belarusian Name[af]=Belarusian Name[ar]=بلاروسية Name[as]=বেলাৰুচীয় Name[ast]=Bielorrusu Name[be]=Беларуская Name[be@latin]=Biełaruskaja Name[bg]=Белоруски Name[bn]=বেলারুশিয় Name[bn_IN]=বেলারুশিয়ান Name[br]=Belarusieg Name[bs]=Bjeloruski Name[ca]=Bielorús Name[ca@valencia]=Bielorús Name[cs]=Běloruský Name[csb]=Białorusczi Name[cy]=Belarwsieg Name[da]=Hviderussisk Name[de]=Weißrussisch Name[el]=Λευκορωσικά Name[en_GB]=Belarusian Name[eo]=Belorusa Name[es]=Bielorruso Name[et]=Valgevene Name[eu]=Bielorrusiera Name[fa]=بلاروسی Name[fi]=Valkovenäjä Name[fr]=Biélorusse Name[fy]=Wyt-Russysk Name[ga]=Bealarúisis Name[gl]=Bielorruso Name[gu]=બેલારશિયન Name[he]=בלרוסית Name[hi]=बेलारूसी Name[hne]=बेलारूसी Name[hr]=Bjeloruski Name[hsb]=Běłorusce Name[hu]=Belorusz Name[ia]=Bielorusso Name[id]=Belarusia Name[is]=Hvít-Rússneska Name[it]=Bielorusso Name[ja]=ベラルーシ語 Name[kk]=Белорусша Name[km]=បេឡារុស្ស Name[kn]=ಬೆಲರೂಸಿಯನ್ Name[ko]=벨라루스어 Name[ku]=Belarusî Name[lb]=Wéisrussesch Name[lt]=Baltarusių Name[lv]=Baltkrievu Name[mai]=बेलारूसी Name[mk]=Белоруски Name[ml]=ബെലാറൂഷ്യന്‍ Name[mr]=बेलारूसी Name[ms]=Belarusia Name[nb]=Hviterussisk Name[nds]=Wittruss'sch Name[ne]=बेलारूसी Name[nl]=Wit-Rusland Name[nn]=Kviterussisk Name[oc]=Bielorus Name[or]=Belarusian Name[pa]=ਬੇਲਾਰੂਸੀ Name[pl]=Białoruski Name[ps]=بېلاروسي Name[pt]=Bielorrusso Name[pt_BR]=Bielorrusso Name[ro]=Belarusă Name[ru]=Белорусский Name[se]=Vilgesruoššagiella Name[si]=බෙලරුසියානු Name[sk]=Bieloruština Name[sl]=belorusko Name[sq]=Bjelloruse Name[sr]=белоруски Name[sr@ijekavian]=бјелоруски Name[sr@ijekavianlatin]=bjeloruski Name[sr@latin]=beloruski Name[sv]=Vitryska Name[ta]=பெலாரூசியன் Name[te]=బెలరషియన్ Name[tg]=Белорусӣ Name[th]=ภาษาเบลารุสเซีย Name[tr]=Belarus Dili Name[ug]=بېلارۇسچە Name[uk]=Білоруська Name[uz]=Beloruscha Name[uz@cyrillic]=Белорусча -Name[vi]=Be-la-ru-xợ +Name[vi]=Bê-la-rút Name[wa]=Bielorûsse -Name[x-test]=xxBelarusianxx Name[xh]=Belarusian +Name[x-test]=xxBelarusianxx Name[zh_CN]=白俄罗斯语 Name[zh_HK]=白俄羅斯語 Name[zh_TW]=白俄羅斯語 [be@latin] Name=Belarusian (Latin) Name[ar]=بلاروسية (لاتينية) Name[as]=বেলাৰুচীয় (লেটিন) Name[ast]=Bielorrusu (Llatinu) Name[be@latin]=Biełaruskaja łacinka Name[bg]=Белоруски (латиница) Name[bn]=বেলারুশিয় (লাতিন) Name[bn_IN]=বেলারুশিয়ান (লাতিন) Name[bs]=Bjeloruski(Latinica) Name[ca]=Bielorús (llatí) Name[ca@valencia]=Bielorús (llatí) Name[cs]=Běloruský (latinka) Name[csb]=Białorusczi (łacëzniany) Name[da]=Hviderussisk (latin) Name[de]=Weißrussisch (lat. Alphabet) Name[el]=Λευκορωσικά (Λατινικά) Name[en_GB]=Belarusian (Latin) Name[eo]=Belorusa (Latina) Name[es]=Bielorruso (Latino) Name[et]=Valgevene (ladina) Name[eu]=Bielorrusiera (Latinoa) +Name[fa]=بلاروسی (لاتین) Name[fi]=Valkovenäjä (Latin) Name[fr]=Biélorusse (Latin) Name[fy]=Wyt-Russysk (latynsk) Name[ga]=Bealarúisis (aibítir Laidineach) Name[gl]=Bielorruso (latino) Name[gu]=બેલારશિયન (લેટિન) Name[he]=בלרוסית (לטינית) Name[hi]=बेलारूसी (लातिन) Name[hne]=बेलारूसी (लेटिन) Name[hr]=Bjeloruski (latinica) Name[hsb]=Běłorusce (z łaćonskim pismom) Name[hu]=Belorusz (latin betűs) Name[ia]=Bielorusso (Latin) Name[id]=Belarusia (Latin) Name[is]=Hvít-Rússneska latnesk Name[it]=Bielorusso (Latino) Name[ja]=ベラルーシ語 (ラテン文字) Name[kk]=Латындағы белорусша Name[km]=បេឡារុស្ស៊ី (ឡាតាំង) Name[kn]=ಬೆಲರೂಸಿಯನ್ (ಲಾಟಿನ್) Name[ko]=벨라루스어 (라틴 문자) Name[ku]=Belarusî (Latin) Name[lt]=Baltarusių (lotynų) Name[lv]=Baltkrievu (Latīņu) Name[mai]=बेलारूसी (लातिन) Name[ml]=ബെലാറൂഷ്യന്‍ (ലാറ്റിന്‍) Name[ms]=Belarus (Latin) Name[nb]=Hviterussisk (latinsk) Name[nds]=Wittruss'sch (Latiensch) Name[nl]=Wit-Rusland (Latijn) Name[nn]=Kviterussisk (romanisert) Name[pa]=ਬੇਲਾਰੂਸੀ (ਲੈਟਿਨ) Name[pl]=Białoruski (alfabet łaciński) Name[pt]=Bielorrusso (Latino) Name[pt_BR]=Bielorrusso (latino) Name[ro]=Bielorusă (latin) Name[ru]=Белорусский (латиница) Name[se]=Vilgesruoššagiella (Latiidna) Name[si]=බෙලරුසියානු (ලතින්) Name[sk]=Bieloruština (latinka) Name[sl]=belorusko (latinica) Name[sq]=Bjelloruse (Latine) Name[sr]=белоруски (латиница) Name[sr@ijekavian]=бјелоруски (латиница) Name[sr@ijekavianlatin]=bjeloruski (latinica) Name[sr@latin]=beloruski (latinica) Name[sv]=Vitryska (latinsk) Name[ta]=பெலாரூசியன் (இலத்தீன்) Name[tg]=Белорусӣ (Лотинӣ) Name[th]=ภาษาเบลารุสเซีย (ละติน) Name[tr]=Belarus Dili (Latin) Name[ug]=بېلارۇسىيەچە(لاتىن) Name[uk]=Білоруська (латиниця) +Name[vi]=Belarusian (Latin) Name[wa]=Bielorûsse (Latén) Name[x-test]=xxBelarusian (Latin)xx Name[zh_CN]=白俄罗斯语(拉丁语系) Name[zh_TW]=白俄羅斯語(拉丁) [bg] Name=Bulgarian Name[af]=Bulgaars Name[ar]=بلغارية Name[as]=বুলগেৰীয় Name[ast]=Búlgaru Name[be]=Балгарская Name[be@latin]=Baŭharskaja Name[bg]=Български Name[bn]=বুলগেরিয় Name[bn_IN]=বুলগেরিয়ান Name[br]=Bulgareg Name[bs]=Bugarski Name[ca]=Búlgar Name[ca@valencia]=Búlgar Name[cs]=Bulharský Name[csb]=Bùlgarsczi Name[cy]=Bwlgareg Name[da]=Bulgarsk Name[de]=Bulgarisch Name[el]=Βουλγαρικά Name[en_GB]=Bulgarian Name[eo]=Bulgara Name[es]=Búlgaro Name[et]=Bulgaaria Name[eu]=Bulgariera Name[fa]=بلغاری Name[fi]=Bulgaria Name[fr]=Bulgare Name[fy]=Bulgaarsk Name[ga]=Bulgáiris Name[gl]=Búlgaro Name[gu]=બલ્ગેરીયન Name[he]=בולגרית Name[hi]=बुल्गारियाई Name[hne]=बुल्गारियाई Name[hr]=Bugarski Name[hsb]=Bołharsce Name[hu]=Bolgár Name[ia]=Bulgaro Name[id]=Bulgaria Name[is]=Búlgarska Name[it]=Bulgaro Name[ja]=ブルガリア語 Name[kk]=Болғарша Name[km]=ប៊ុលហ្គារី Name[kn]=ಬಲ್ಗೇರಿಯನ್ Name[ko]=불가리아어 Name[ku]=Bulgarî Name[lb]=Bulgaresch Name[lt]=Bulgarų Name[lv]=Bulgāru Name[mai]=बुल्गारियाइ Name[mk]=Бугарски Name[ml]=ബള്‍ഗേറിയന്‍ Name[mr]=बुल्गारियाई Name[ms]=Bulgaria Name[nb]=Bulgarsk Name[nds]=Bulgaarsch Name[ne]=बुल्गेरियाली Name[nl]=Bulgaars Name[nn]=Bulgarsk Name[oc]=Bulgar Name[or]=Bulgarian Name[pa]=ਬੁਲਗਾਰੀਆਈ Name[pl]=Bułgarski Name[ps]=بلګريايي Name[pt]=Búlgaro Name[pt_BR]=Búlgaro Name[ro]=Bulgară Name[ru]=Болгарский Name[se]=Bulgáriagiella Name[si]=බල්ගේරියානු Name[sk]=Bulharčina Name[sl]=bolgarsko Name[sq]=Bullgare Name[sr]=бугарски Name[sr@ijekavian]=бугарски Name[sr@ijekavianlatin]=bugarski Name[sr@latin]=bugarski Name[sv]=Bulgariska Name[ta]=பல்கேரியன் Name[te]=బల్గెరియన్ Name[tg]=Булғорӣ Name[th]=ภาษาบัลแกเรีย Name[tr]=Bulgarca Name[ug]=بۇلغارچە Name[uk]=Болгарська Name[uz]=Bolgarcha Name[uz@cyrillic]=Болгарча -Name[vi]=Bảo-gia-lơi +Name[vi]=Bun-ga-ry Name[wa]=Bulgåre -Name[x-test]=xxBulgarianxx Name[xh]=Bulgarian +Name[x-test]=xxBulgarianxx Name[zh_CN]=保加利亚语 Name[zh_HK]=保加利亞語 Name[zh_TW]=保加利亞語 [bh] Name=Bihari Name[af]=Bihari Name[ar]=بهارية Name[as]=বিহাৰী Name[ast]=Biharí Name[be]=Біхарская Name[be@latin]=Biharskaja Name[bg]=Бихари Name[bn]=বিহারী Name[bn_IN]=বিহারি Name[br]=Bihari Name[bs]=Biharski Name[ca]=Bihari Name[ca@valencia]=Bihari Name[cs]=Bihari Name[csb]=Bihari Name[cy]=Bihareg Name[da]=Bihari Name[de]=Biharisch Name[el]=Bihari Name[en_GB]=Bihari Name[eo]=Bihari Name[es]=Bihari Name[et]=Bihari Name[eu]=Bihari Name[fa]=بیهاری Name[fi]=Bihari Name[fr]=Bihari Name[fy]=Bihary Name[ga]=Bihairis Name[gl]=Bihari Name[gu]=બિહારી Name[he]=ביהרי Name[hi]=बिहारी Name[hne]=बिहारी Name[hr]=Biharski Name[hsb]=Biharisce Name[hu]=Bihari Name[ia]=Bihari Name[id]=Bihari Name[is]=Bihari Name[it]=Bihari Name[ja]=ビハール語 Name[kk]=Бихарша Name[km]=ប៊ិហារី Name[kn]=ಬಿಹಾರಿ Name[ko]=비하르어 Name[ku]=Biharî Name[lb]=Biharesch Name[lt]=Bihari Name[lv]=Biharu Name[mai]=बिहारी Name[mk]=Бихари Name[ml]=ബീഹാരി Name[mr]=बिहारी Name[ms]=Bihari Name[nb]=Bihari Name[nds]=Bihari Name[ne]=बिहारी Name[nl]=Bihari Name[nn]=Bihari Name[oc]=Bihari Name[or]=Bihari Name[pa]=ਬਿਹਾਰੀ Name[pl]=Bihari Name[ps]=بېهاري Name[pt]=Bihari Name[pt_BR]=Bihari Name[ro]=Bihari Name[ru]=Бихарский Name[se]=Biháragiella Name[si]=බිහාරි Name[sk]=Bihárčina Name[sl]=bihari Name[sq]=Bihari Name[sr]=бихарски Name[sr@ijekavian]=бихарски Name[sr@ijekavianlatin]=biharski Name[sr@latin]=biharski Name[sv]=Bihari Name[ta]=பிகாரி Name[te]=బిహారి Name[tg]=Бихарӣ Name[th]=ภาษาบิฮาริ Name[tr]=Bihari Name[ug]=بىخارىچە Name[uk]=Біхарі Name[uz]=Bixari Name[uz@cyrillic]=Бихари -Name[vi]=Bi-ha-ri +Name[vi]=Bihari Name[wa]=Bihari -Name[x-test]=xxBiharixx Name[xh]=Bihari +Name[x-test]=xxBiharixx Name[zh_CN]=比哈尔语 Name[zh_HK]=比哈爾語 Name[zh_TW]=比哈爾語 [bi] Name=Bislama Name[af]=Bislama Name[ar]=بيسلاما Name[as]=বিস্লামা Name[ast]=Bislama Name[be]=Бісламская Name[be@latin]=Biślama Name[bg]=Бислама Name[bn]=বিসলামা Name[bn_IN]=বিসলামা Name[br]=Bislama Name[bs]=Bislama Name[ca]=Bislama Name[ca@valencia]=Bislama Name[cs]=Bislama Name[csb]=Bislama Name[cy]=Bislameg Name[da]=Bislama Name[de]=Bislama Name[el]=Bislama Name[en_GB]=Bislama Name[eo]=Bislama Name[es]=Bislama Name[et]=Bislama Name[eu]=Bislama Name[fa]=بیسلاما Name[fi]=Bislama Name[fr]=Bichlamar Name[fy]=Bislama Name[ga]=Bioslamais Name[gl]=Bislama Name[gu]=બિસલામા Name[he]=ביסלמה Name[hi]=बिस्लामा Name[hne]=बिस्लामा Name[hr]=Bislamski Name[hsb]=Bislamisce Name[hu]=Biszlama Name[ia]=Bislama Name[id]=Bislama Name[is]=Bislama Name[it]=Bislama Name[ja]=ビスラマ語 Name[kk]=Бисамша Name[km]=ប៊ីសឡាម៉ា Name[kn]=ಬಿಸ್ಲಾಮ Name[ko]=비슬라마어 Name[ku]=Bislama Name[lb]=Bislama Name[lt]=Bislama Name[lv]=Bišlamā Name[mai]=बिस्लामा Name[mk]=Бислама Name[ml]=ബിസ്ലാമാ Name[mr]=बिस्लामा Name[ms]=Bislama Name[nb]=Bislama Name[nds]=Bislama Name[ne]=बिस्लामा Name[nl]=Bislama Name[nn]=Bislama Name[oc]=Bislamà Name[or]=Bislama Name[pa]=ਬਿਸਲਾਮਾ Name[pl]=Bislama Name[ps]=بېسلاما Name[pt]=Bislama Name[pt_BR]=Bislama Name[ro]=Bislama Name[ru]=Бислама Name[se]=Bislamagiella Name[si]=බිස්ලාමා Name[sk]=Bislama Name[sl]=bislama Name[sq]=Bislama Name[sr]=бисламски Name[sr@ijekavian]=бисламски Name[sr@ijekavianlatin]=bislamski Name[sr@latin]=bislamski Name[sv]=Bislama Name[ta]=பிஸ்லாமா Name[te]=బిస్లమా Name[tg]=Бисламавӣ Name[th]=ภาษาบิสลามา Name[tr]=Bislama Name[ug]=بىسلاماچە Name[uk]=Біслама Name[uz]=Bislama Name[uz@cyrillic]=Бислама -Name[vi]=Bit-la-ma +Name[vi]=Bislama Name[wa]=Bislama -Name[x-test]=xxBislamaxx Name[xh]=Bislama +Name[x-test]=xxBislamaxx Name[zh_CN]=比斯拉马语 Name[zh_HK]=Bislama語 Name[zh_TW]=Bislama語 [bn] Name=Bengali Name[af]=Bengali Name[ar]=بنغالية Name[as]=বঙালী Name[ast]=Bengalí Name[be]=Бенгальская Name[be@latin]=Bengalskaja Name[bg]=Бенгали Name[bn]=বাংলা Name[bn_IN]=বাংলা Name[br]=Bangali Name[bs]=Bengalski Name[ca]=Bengalí Name[ca@valencia]=Bengalí Name[cs]=Bengálský Name[csb]=Bengalsczi Name[cy]=Bengaleg Name[da]=Bengali Name[de]=Bengalisch Name[el]=Bengali Name[en_GB]=Bengali Name[eo]=Bengala Name[es]=Bengalí Name[et]=Bengali Name[eu]=Bengalera Name[fa]=بنگلادشی Name[fi]=Bengali Name[fr]=Bengalî Name[fy]=Bengaalsk Name[ga]=Beangáilis Name[gl]=Bengalí Name[gu]=બંગાળી Name[he]=בנגלית Name[hi]=बंगाली Name[hne]=बंगाली Name[hr]=Bengalski Name[hsb]=Bengalsce Name[hu]=Bengáli Name[ia]=Bengali Name[id]=Bengali Name[is]=Bengalst Name[it]=Bengalese Name[ja]=ベンガル語 Name[kk]=Бенгали Name[km]=​បេន្កាលី Name[kn]=ಬಂಗಾಳಿ Name[ko]=벵갈어 Name[ku]=Bengalî Name[lb]=Bengalesch Name[lt]=Bengalų Name[lv]=Bengāļu Name[mai]=बंगाली Name[mk]=Бенгалски Name[ml]=ബംഗാളി Name[mr]=बंगाली Name[ms]=Bengali Name[nb]=Bengali Name[nds]=Bengaalsch Name[ne]=बङ्गाली Name[nl]=Bengali Name[nn]=Bengali Name[oc]=Bengalí Name[or]=Bengali Name[pa]=ਬੰਗਾਲੀ Name[pl]=Bengalski Name[ps]=بنګالي Name[pt]=Bengali Name[pt_BR]=Bengali Name[ro]=Bengali Name[ru]=Бенгальский Name[se]=Bengalagiella Name[si]=බෙංගාලි Name[sk]=Bengálčina Name[sl]=bengalsko Name[sq]=Bengali Name[sr]=бенгалски Name[sr@ijekavian]=бенгалски Name[sr@ijekavianlatin]=bengalski Name[sr@latin]=bengalski Name[sv]=Bengali Name[ta]=பெங்காலி Name[te]=బెంగాలి Name[tg]=Банголӣ Name[th]=ภาษาเบงกาลี Name[tr]=Bengalce Name[ug]=بېنگالچە Name[uk]=Бенгальська Name[uz]=Bengalcha Name[uz@cyrillic]=Бенгалча -Name[vi]=Ben-ga-li +Name[vi]=Băng-gan Name[wa]=Bengali -Name[x-test]=xxBengalixx Name[xh]=Bengali +Name[x-test]=xxBengalixx Name[zh_CN]=孟加拉语 Name[zh_HK]=孟加拉語 Name[zh_TW]=孟加拉語 [bn_IN] Name=Bengali (India) Name[ar]=بنغالية (الهند) Name[as]=বঙালী (ভাৰত) Name[ast]=Bengalí (India) Name[be@latin]=Bengalskaja (Indyja) Name[bg]=Бенгали (Индия) Name[bn]=বাংলা (ভারত) Name[bn_IN]=বাংলা (ভারত) Name[bs]=Bengalski(Indija) Name[ca]=Bengalí (Índia) Name[ca@valencia]=Bengalí (Índia) Name[cs]=Bengálský (Indie) Name[csb]=Bengalsczi (Indie) Name[da]=Bengali (Indien) Name[de]=Bengalisch (Indien) Name[el]=Bengali (Ινδία) Name[en_GB]=Bengali (India) Name[eo]=Bengala (Hindio) Name[es]=Bengalí (India) Name[et]=Bengali (India) Name[eu]=Bengalera (India) Name[fa]=بنگلادشی (هند) Name[fi]=Bengali (Intia) Name[fr]=Bengali (Inde) Name[fy]=Bengaalsk (india) Name[ga]=Beangáilis (An India) Name[gl]=Bengalí (India) Name[gu]=બંગાળી (ભારત) Name[he]=בנגלית (הודו) Name[hi]=बंगाली (भारत) Name[hne]=बंगाली (भारत) Name[hr]=Bengalski (Indija) Name[hsb]=Bengalsce (Indiska) Name[hu]=Bengáli (India) Name[ia]=Bengali (India) Name[id]=Bengali (India) Name[is]=Bengalst (Indland) Name[it]=Bengalese (India) Name[ja]=ベンガル語 (インド) Name[kk]=Бенгали (Үндістан) Name[km]=​បេន្កាលី (ឥណ្ឌា) Name[kn]=ಬಂಗಾಳಿ (ಭಾರತ) Name[ko]=벵갈어 (인도) Name[ku]=Bengalî (Hindistan) Name[lt]=Bengalų (Indija) Name[lv]=Bengāļu (Indijas) Name[mai]=बंगाली (भारत) Name[mk]=Бенгалски (Индија) Name[ml]=ബംഗാളി (ഇന്ത്യ) Name[mr]=बंगाली (भारत) Name[ms]=Bengali (India) Name[nb]=Bengali (India) Name[nds]=Bengaalsch (Indien) Name[nl]=Bengali (India) Name[nn]=Bengali (India) Name[oc]=Bengalin (Índia) Name[or]=Bengali (India) Name[pa]=ਬੰਗਾਲੀ (ਭਾਰਤ) Name[pl]=Bengalski (Indie) Name[ps]=بنګالي (انډيا) Name[pt]=Bengali (Índia) Name[pt_BR]=Bengali (Índia) Name[ro]=Bengali (India) Name[ru]=Бенгальский (Индия) Name[se]=Bengalagiella (India) Name[si]=බෙංගාලි (ඉන්දියා) Name[sk]=Bengálčina (India) Name[sl]=bengalsko (Indija) Name[sq]=Bengali (India) Name[sr]=бенгалски (Индија) Name[sr@ijekavian]=бенгалски (Индија) Name[sr@ijekavianlatin]=bengalski (Indija) Name[sr@latin]=bengalski (Indija) Name[sv]=Bengali (Indien) Name[ta]=பெங்காலி (இந்தியா) Name[te]=బెంగాలి (భారతీయ) Name[tg]=Банголӣ (Ҳиндӣ) Name[th]=ภาษาเบงกาลี (อินเดีย) Name[tr]=Bengalce (Hindistan) Name[ug]=بېنگالچە (ھىندىستان) Name[uk]=Бенгальська (Індія) +Name[vi]=Bengali (Ấn độ) Name[wa]=Bengali (Inde) Name[x-test]=xxBengali (India)xx Name[zh_CN]=孟加拉语(印度) Name[zh_TW]=孟加拉語(印度) [bo] Name=Tibetan Name[af]=Tibetan Name[ar]=تبتية Name[as]=টিব্বটীয় Name[ast]=Tibetanu Name[be]=Тыбецкая Name[be@latin]=Tybeckaja Name[bg]=Тибетски Name[bn]=তিব্বতী Name[bn_IN]=তিব্বতি Name[br]=Yezh an Tibet Name[bs]=Tibetski Name[ca]=Tibetà Name[ca@valencia]=Tibetà Name[cs]=Tibetský Name[csb]=Tibetańsczi Name[cy]=Tibeteg Name[da]=Tibetansk Name[de]=Tibetisch Name[el]=Θιβετιανά Name[en_GB]=Tibetan Name[eo]=Tibeta Name[es]=Tibetano Name[et]=Tiibeti Name[eu]=Tibetera Name[fa]=تیبوتیایی Name[fi]=Tiibet Name[fr]=Tibétain Name[fy]=Tibetaansk Name[ga]=Tibéidis Name[gl]=Tibetano Name[gu]=તિબેટીયન Name[he]=טיבטית Name[hi]=तिब्बती Name[hne]=तिब्बती Name[hr]=Tibetanski Name[hsb]=Tibetisce Name[hu]=Tibeti Name[ia]=Tibetano Name[id]=Tibet Name[is]=Tíbeska Name[it]=Tibetano Name[ja]=チベット語 Name[kk]=Тибетше Name[km]=ទីបេ Name[kn]=ಟಿಬೆಟನ್ Name[ko]=티베트어 Name[ku]=Tîbetî Name[lb]=Tibetanesch Name[lt]=Tibetiečių Name[lv]=Tibetiešu Name[mai]=तिब्बती Name[mk]=Тибетански Name[ml]=ടിബറ്റന്‍ Name[mr]=टिबेटियन Name[ms]=Tibet Name[nb]=Tibetansk Name[nds]=Tibeetsch Name[ne]=तिब्बती Name[nl]=Tibetaans Name[nn]=Tibetansk Name[oc]=Tibetan Name[or]=Tibetan Name[pa]=ਤਿੱਬਤੀ Name[pl]=Tybetański Name[ps]=ټېبېټي Name[pt]=Tibetano Name[pt_BR]=Tibetano Name[ro]=Tibetană Name[ru]=Тибетский Name[se]=Tibehtagiella Name[si]=ටිබෙටියානු Name[sk]=Tibetčina Name[sl]=tibetansko Name[sq]=Tibetiane Name[sr]=тибетански Name[sr@ijekavian]=тибетански Name[sr@ijekavianlatin]=tibetanski Name[sr@latin]=tibetanski Name[sv]=Tibetanska Name[ta]=திபெத்தியன் Name[te]=టిబెటియన్ Name[tg]=Тибетӣ Name[th]=ภาษาฑิเบต Name[tr]=Tibetan Name[ug]=تىبەتچە Name[uk]=Тибетська Name[uz]=Tibetcha Name[uz@cyrillic]=Тибетча -Name[vi]=Tây-tạng +Name[vi]=Tây Tạng Name[wa]=Tibetyin -Name[x-test]=xxTibetanxx Name[xh]=Tibetan +Name[x-test]=xxTibetanxx Name[zh_CN]=藏语 Name[zh_HK]=藏語 Name[zh_TW]=藏語 [br] Name=Breton Name[af]=Breton Name[ar]=بريتونية Name[as]=ব্ৰেট'ন Name[ast]=Bretón Name[be]=Брэтонская Name[be@latin]=Bretonskaja Name[bg]=Бретонски Name[bn]=ব্রেটন Name[bn_IN]=ব্রেটন Name[br]=Brezhoneg Name[bs]=Bretonski Name[ca]=Bretó Name[ca@valencia]=Bretó Name[cs]=Bretonský Name[csb]=Bretońsczi Name[cy]=Llydaweg Name[da]=Bretonsk Name[de]=Bretonisch Name[el]=Βρετονικά Name[en_GB]=Breton Name[eo]=Bretona Name[es]=Bretón Name[et]=Bretooni Name[eu]=Bretoiera Name[fa]=برتونیایی Name[fi]=Bretoni Name[fr]=Breton Name[fy]=Bretonsk Name[ga]=Briotáinis Name[gl]=Bretón Name[gu]=બ્રેટોન Name[he]=ברטונית Name[hi]=ब्रेटन Name[hne]=ब्रेटन Name[hr]=Bretonski Name[hsb]=Bretonisce Name[hu]=Breton Name[ia]=Bretone Name[id]=Breton Name[is]=Bretánska Name[it]=Bretone Name[ja]=ブルトン語 Name[kk]=Бретонша Name[km]=ប្រេតុង Name[kn]=ಬ್ರೆಟನ್ Name[ko]=브르타뉴어 Name[ku]=Bretonî Name[lb]=Britesch Name[lt]=Bretonų Name[lv]=Bretoņu Name[mai]=ब्रेटन Name[mk]=Бретонски Name[ml]=ബ്രെട്ടോണ്‍ Name[mr]=ब्रेटन Name[ms]=Breton Name[nb]=Bretonsk Name[nds]=Bretoonsch Name[ne]=बेलायती Name[nl]=Bretons Name[nn]=Bretonsk Name[oc]=Breton Name[or]=Breton Name[pa]=ਬਰੀਟੋਨ Name[pl]=Bretoński Name[ps]=برېټون Name[pt]=Bretão Name[pt_BR]=Bretão Name[ro]=Bretonă Name[ru]=Бретонский Name[se]=Bretonagiella Name[si]=බ්‍රෙටන් Name[sk]=Bretónčina Name[sl]=bretonsko Name[sq]=Bretone Name[sr]=бретонски Name[sr@ijekavian]=бретонски Name[sr@ijekavianlatin]=bretonski Name[sr@latin]=bretonski Name[sv]=Bretonska Name[ta]=பிரெடான் Name[te]=బ్రెటన్ Name[tg]=Бритонӣ Name[th]=ภาษาเบรทตัน Name[tr]=Britanya Dili -Name[ug]=بىرېتونچە +Name[ug]=برېتونچە Name[uk]=Бретонська Name[uz]=Bretoncha Name[uz@cyrillic]=Бретонча -Name[vi]=Bợ-re-ton +Name[vi]=Breton Name[wa]=Burton -Name[x-test]=xxBretonxx Name[xh]=Breton +Name[x-test]=xxBretonxx Name[zh_CN]=布里多尼语 Name[zh_HK]=不列塔尼語 Name[zh_TW]=不列塔尼語 [bs] Name=Bosnian Name[af]=Bosnies Name[ar]=بوسنية Name[as]=বোস্নীয় Name[ast]=Bosniu Name[be]=Баснійская Name[be@latin]=Baśnijskaja Name[bg]=Босненски Name[bn]=বসনীয় Name[bn_IN]=বসনিয়ান Name[br]=Bosnieg Name[bs]=Bosanski Name[ca]=Bosnià Name[ca@valencia]=Bosnià Name[cs]=Bosenský Name[csb]=Bósniany Name[cy]=Bosneg Name[da]=Bosnisk Name[de]=Bosnisch Name[el]=Βοσνιακά Name[en_GB]=Bosnian Name[eo]=Bosnia Name[es]=Bosnio Name[et]=Bosnia Name[eu]=Bosniera Name[fa]=بوسنیایی Name[fi]=Bosnia Name[fr]=Bosniaque Name[fy]=Bosnysk Name[ga]=Boisnis Name[gl]=Bosnio Name[gu]=બોસ્નીયન Name[he]=בוסנית Name[hi]=बोस्नियाई Name[hne]=बोस्नियाई Name[hr]=Bošnjački Name[hsb]=Bosnisce Name[hu]=Bosnyák Name[ia]=Bosniano Name[id]=Bosnia Name[is]=Bosníska Name[it]=Bosniaco Name[ja]=ボスニア語 Name[kk]=Боснаша Name[km]=បូស្នី Name[kn]=ಬೋಸ್ನಿಯನ್ Name[ko]=보스니아어 Name[ku]=Bosnî Name[lb]=Bosnesch Name[lt]=Bosnių Name[lv]=Bosniešu Name[mai]=बोस्नियाइ Name[mk]=Босански Name[ml]=ബോസ്നിയന്‍ Name[mr]=बोस्नियाई Name[ms]=Bosnia Name[nb]=Bosnisk Name[nds]=Bosnisch Name[ne]=बोस्नियाली Name[nl]=Bosnisch Name[nn]=Bosnisk Name[oc]=Bosniac Name[or]=Bosnian Name[pa]=ਬੋਸਨੀਆ Name[pl]=Bośniacki Name[ps]=بوسنيايي Name[pt]=Bósnio Name[pt_BR]=Bósnio Name[ro]=Bosniacă Name[ru]=Боснийский Name[se]=Bosniagiella Name[si]=බොස්නියානු Name[sk]=Bosniačtina Name[sl]=bosansko Name[sq]=Boshnjake Name[sr]=бошњачки Name[sr@ijekavian]=бошњачки Name[sr@ijekavianlatin]=bošnjački Name[sr@latin]=bošnjački Name[sv]=Bosniska Name[ta]=பொஸ்னியன் Name[te]=బొస్నియన్ Name[tg]=Босниявӣ Name[th]=ภาษาบอสเนีย Name[tr]=Boşnakça Name[ug]=بوسنىيەچە Name[uk]=Боснійська Name[uz]=Bosniyacha Name[uz@cyrillic]=Боснияча -Name[vi]=Bo-x-ni-a +Name[vi]=Bosnia Name[wa]=Bosnyin -Name[x-test]=xxBosnianxx Name[xh]=Bosnian +Name[x-test]=xxBosnianxx Name[zh_CN]=波斯尼亚语 Name[zh_HK]=波斯尼亞語 Name[zh_TW]=波士尼亞語 [ca] Name=Catalan Name[af]=Katelaans Name[ar]=كتلونية Name[as]=কাটালান Name[ast]=Catalán Name[be]=Каталонская Name[be@latin]=Katalanskaja Name[bg]=Каталонски Name[bn]=ক্যাটালান Name[bn_IN]=ক্যাটালান Name[br]=Katalaneg Name[bs]=Katalonski Name[ca]=Català Name[ca@valencia]=Català Name[cs]=Katalánský Name[csb]=Katalońsczi Name[cy]=Catalaneg Name[da]=Catalansk Name[de]=Katalanisch Name[el]=Καταλανικά Name[en_GB]=Catalan Name[eo]=Kataluna Name[es]=Catalán Name[et]=Katalaani Name[eu]=Katalaniera Name[fa]=کاتالانی Name[fi]=Katalaani Name[fr]=Catalan Name[fy]=Katalaansk Name[ga]=Catalóinis Name[gl]=Catalán Name[gu]=કેટેલાન Name[he]=קטלונית Name[hi]=केटेलन Name[hne]=केटेलन Name[hr]=Katalonski Name[hsb]=Katalansce Name[hu]=Katalán Name[ia]=Catalan Name[id]=Catalan Name[is]=Katalánska Name[it]=Catalano Name[ja]=カタロニア語 Name[kk]=Каталанша Name[km]=កាតាឡាន Name[kn]=ಕ್ಯಾಟಲಾನ್ Name[ko]=카탈루냐어 Name[ku]=Katalan Name[lb]=Katalanesch Name[lt]=Katalonų Name[lv]=Kataloņu Name[mai]=केटालान Name[mk]=Каталонски Name[ml]=കറ്റാലന്‍ Name[mr]=केटेलन Name[ms]=Catalan Name[nb]=Katalansk Name[nds]=Katalaansch Name[ne]=क्यातालान Name[nl]=Catalaans Name[nn]=Katalansk Name[oc]=Catalan Name[or]=Catalan Name[pa]=ਕਾਟਾਲਾਨ Name[pl]=Kataloński Name[ps]=کېټېلېن Name[pt]=Catalão Name[pt_BR]=Catalão Name[ro]=Catalană Name[ru]=Каталонский Name[se]=Katalánagiella Name[si]=කැටලන් Name[sk]=Katalánčina Name[sl]=katalonsko Name[sq]=Katalane Name[sr]=каталонски Name[sr@ijekavian]=каталонски Name[sr@ijekavianlatin]=katalonski Name[sr@latin]=katalonski Name[sv]=Katalanska Name[ta]=கடலான் Name[te]=కెటలన్ Name[tg]=Каталанӣ Name[th]=ภาษาคาตะลาน Name[tr]=Katalan Dili Name[ug]=كاتالانچە Name[uk]=Каталонська Name[uz]=Katalancha Name[uz@cyrillic]=Каталанча -Name[vi]=Ca-ta-lan +Name[vi]=Catalan Name[wa]=Catalan -Name[x-test]=xxCatalanxx Name[xh]=Catalan +Name[x-test]=xxCatalanxx Name[zh_CN]=加泰罗尼亚语 Name[zh_HK]=嘉泰羅尼亞語 Name[zh_TW]=嘉泰羅尼亞語 [ca@valencia] Name=Catalan (Valencian) Name[bg]=Каталонски (Валенсиански) Name[bs]=Katalonski(Valensijski) Name[ca]=Català (Valencià) Name[ca@valencia]=Català (Valencià) Name[cs]=Katalánský (Valencie) Name[da]=Catalansk (Valenciansk) Name[de]=Katalanisch (Valenciana) Name[el]=Καταλανικά (Βαλένθια) Name[en_GB]=Catalan (Valencian) Name[es]=Catalán (Valenciano) Name[et]=Katalaani (valencia) Name[eu]=Katalana (Valentziera) Name[fi]=Katalaani (Valencia) Name[fr]=Catalan (Valence) Name[ga]=Catalóinis (Vaileinsis) Name[gl]=Catalán (valenciano) Name[hr]=Katalonski (valencijski) Name[hu]=Katalán (valenciai) Name[ia]=Catalan (Valencian) Name[id]=Catalan (Valencia) Name[is]=Katalónska (Valensía) Name[it]=Catalano (Valenziano) Name[ja]=バレンシア語 Name[kk]=Каталанша (Валенсиянша) Name[km]=កាតាឡាំង (វ៉ាឡេនស៊ៀន) Name[kn]=ಕೆಟಲಾನ್ (ವೆಲೆನ್ಶಿಯನ್) Name[ko]=카탈루냐어 (발렌시아) Name[ku]=Katalan (Valensî) Name[lt]=Katalonų (Valencijos) Name[lv]=Kataloņu (Valensijas) Name[ms]=Catalan (Valencia) Name[nb]=Katalansk (Valenciansk) Name[nds]=Katalaansch (valenziaansch) Name[nl]=Catalaans (Valentiaans) Name[nn]=Katalansk (Valencia) Name[pa]=ਕਾਟਾਲਾਨ (ਵਾਲਿਨਸੀਆਈ) Name[pl]=Kataloński (walencki) Name[pt]=Catalão (Valenciano) Name[pt_BR]=Catalão (valenciano) Name[ro]=Catalană (Valenciană) Name[ru]=Каталонский (Валенсия) Name[se]=Kataluniagiella (Valensalaš) Name[sk]=Katalánčina (Valencia) Name[sl]=katalonsko (valencijsko) Name[sr]=каталонски (валенсијски) Name[sr@ijekavian]=каталонски (валенсијски) Name[sr@ijekavianlatin]=katalonski (valensijski) Name[sr@latin]=katalonski (valensijski) Name[sv]=Katalanska (valenciska) Name[ta]=கடலான் (வேலன்சியன்) Name[tg]=Каталан (Валенсӣ) Name[th]=ภาษาคาตะลาน (วาเลนเซีย) Name[tr]=Katalan (Valencia) Name[ug]=كاتالانچە(ۋالىنسىيە) Name[uk]=Каталонська (валенсійський діалект) +Name[vi]=Catalan (Valencian) Name[wa]=Catalan (Valince) Name[x-test]=xxCatalan (Valencian)xx Name[zh_CN]=加泰罗尼亚(瓦伦西亚)语 Name[zh_TW]=加泰羅尼亞(瓦倫西亞)語 [ce] Name=Chechen Name[af]=Chechen Name[ar]=شيشانية Name[as]=ছেছেন্‌ Name[ast]=Chechenu Name[be]=Чачэнская Name[be@latin]=Čačenskaja Name[bg]=Чеченски Name[bn]=চেচেন Name[bn_IN]=চেচেন Name[br]=Tchetcheneg Name[bs]=Čečenski Name[ca]=Txetxè Name[ca@valencia]=Txetxè Name[cs]=Čečenský Name[csb]=Czeczeńsczi Name[cy]=Checheneg Name[da]=Chechen Name[de]=Tschetschenisch Name[el]=Τσετσενικά Name[en_GB]=Chechen Name[eo]=Ĉeĉena Name[es]=Checheno Name[et]=Tšetšeeni Name[eu]=Chechen Name[fa]=چچنی Name[fi]=Tšetšeeni Name[fr]=Tchétchène Name[fy]=Tsjechysk Name[ga]=Seisnis Name[gl]=Checheno Name[gu]=ચેચેન Name[he]=צ'צ'נית Name[hi]=चेचेन Name[hne]=चेचेन Name[hr]=Čečenski Name[hsb]=Čečenisce Name[hu]=Csecsen Name[ia]=Checheno Name[id]=Chechen Name[is]=Tékkneska Name[it]=Ceceno Name[ja]=チェチェン語 Name[kk]=Шешенше Name[km]=ចេចេន Name[kn]=ಚೆಚೆನ್ Name[ko]=체첸어 Name[ku]=Çeçenî Name[lb]=Tschetschenesch Name[lt]=Čėčėnų Name[lv]=Čečenu Name[mai]=चेचेन Name[mk]=Чеченски Name[ml]=ചെച്ചന്‍ Name[mr]=चेचेन Name[ms]=Chechen Name[nb]=Tsjetsjensk Name[nds]=Tschetscheensch Name[ne]=चेचेन Name[nl]=Chechen Name[nn]=Tsjetsjensk Name[oc]=Chechen Name[or]=Chechen Name[pa]=ਚੇਚਨ Name[pl]=Czeczeński Name[ps]=چيچنيايي Name[pt]=Checheno Name[pt_BR]=Checheno Name[ro]=Cecenă Name[ru]=Чеченский Name[se]=Čečeniagiella Name[si]=චෙචන් Name[sk]=Čečenčina Name[sl]=čečensko Name[sq]=Çeçene Name[sr]=чеченски Name[sr@ijekavian]=чеченски Name[sr@ijekavianlatin]=čečenski Name[sr@latin]=čečenski Name[sv]=Tjetjenska Name[ta]=செச்சென் Name[te]=చెచన్ Name[tg]=Чеченӣ Name[th]=ภาษาเชเชน Name[tr]=Çeçen -Name[ug]=چېچېنچە +Name[ug]=چېچەنچە Name[uk]=Чеченська Name[uz]=Chechencha Name[uz@cyrillic]=Чеченча -Name[vi]=Che-chen +Name[vi]=Chechen Name[wa]=Tchetchene -Name[x-test]=xxChechenxx Name[xh]=Chechen +Name[x-test]=xxChechenxx Name[zh_CN]=车臣语 Name[zh_HK]=Chechen語 Name[zh_TW]=車臣語 [ch] Name=Chamorro Name[af]=Chamorro Name[ar]=شامورو Name[as]=কেমোৰো Name[ast]=Chamorru Name[be]=Чаморская Name[be@latin]=Čamora Name[bg]=Чаморо Name[bn]=চামোরো Name[bn_IN]=চামোরো Name[br]=Chamorro Name[bs]=Čamoro Name[ca]=Chamorro Name[ca@valencia]=Chamorro Name[cs]=Chamorro Name[csb]=Chamorro Name[cy]=Chamorreg Name[da]=Chamorro Name[de]=Chamorro Name[el]=Chamorro Name[en_GB]=Chamorro Name[eo]=Ĉamora Name[es]=Chamorro Name[et]=Chamorro Name[eu]=Chamorro Name[fa]=کاماروئی Name[fi]=Tšamorro Name[fr]=Chamorro Name[fy]=Chamorro Name[ga]=Seamóróis Name[gl]=Chamorro Name[gu]=ચામોરો Name[he]=צ'מורו Name[hi]=केमोरो Name[hne]=केमोरो Name[hr]=Čamorski Name[hsb]=Chamorrisce Name[hu]=Chamorro Name[ia]=Chamorro Name[id]=Chamorro Name[is]=Chamorró Name[it]=Chamorro Name[ja]=チャモロ語 Name[kk]=Чаморро Name[km]=ចាម៉ូរ៉ូ Name[kn]=ಚಾಮೊರೊ Name[ko]=차모로어 Name[ku]=Xamoro Name[lb]=Chamorro Name[lt]=Chamorro Name[lv]=Čamorru Name[mai]=केमोरो Name[mk]=Чаморо Name[ml]=ഷമരോ Name[mr]=केमोरो Name[ms]=Chamorro Name[nb]=Chamorro Name[nds]=Chamorro Name[ne]=क्यामोरो Name[nl]=Chamorro Name[nn]=Chamorro Name[oc]=Chamorrá Name[or]=Chamorro Name[pa]=ਚਾਮੂਰੂ Name[pl]=Chamorro Name[ps]=چمورو Name[pt]=Chamorro Name[pt_BR]=Chamorro Name[ro]=Camoro Name[ru]=Чаморро Name[se]=Chamorrogiella Name[si]=චැමොරෝ Name[sk]=Čamorčina Name[sl]=chamorro Name[sq]=Chamorro Name[sr]=чаморски Name[sr@ijekavian]=чаморски Name[sr@ijekavianlatin]=čamorski Name[sr@latin]=čamorski Name[sv]=Chamorro Name[ta]=சமொரோ Name[te]=చమొర్రొ Name[tg]=Чаморроӣ Name[th]=ภาษาชามอโร Name[tr]=Chamorro Name[ug]=چامورروچە Name[uk]=Чаморо Name[uz]=Chamorro Name[uz@cyrillic]=Чаморро -Name[vi]=Cha-mo-rô +Name[vi]=Chamorro Name[wa]=Chamorro -Name[x-test]=xxChamorroxx Name[xh]=Chamorro +Name[x-test]=xxChamorroxx Name[zh_CN]=查莫罗语 Name[zh_HK]=查摩洛語 Name[zh_TW]=查摩洛語 [co] Name=Corsican Name[af]=Corsican Name[ar]=كورسيكي Name[as]=ক'ৰ্চিয়ান Name[ast]=Corsicanu Name[be]=Карсіканская Name[be@latin]=Karsikanskaja Name[bg]=Корсикански Name[bn]=কর্সিকান Name[bn_IN]=কোর্সিকান Name[br]=Korseg Name[bs]=Korzikanski Name[ca]=Cors Name[ca@valencia]=Cors Name[cs]=Korsický Name[csb]=Kòrsykańsczi Name[cy]=Corsiceg Name[da]=Korsikansk Name[de]=Korsisch Name[el]=Κορσικανικά Name[en_GB]=Corsican Name[eo]=Korsika Name[es]=Corso Name[et]=Korsika Name[eu]=Korsiera Name[fa]=کورسیکانی Name[fi]=Korsika Name[fr]=Corse Name[fy]=Korsikaansk Name[ga]=Corsaicis Name[gl]=Corso Name[gu]=કોર્સિકન Name[he]=קורסיקנית Name[hi]=कॉर्सियन Name[hne]=कार्सियन Name[hr]=Korzikanski Name[hsb]=Korsisce Name[hu]=Korzikai Name[ia]=Corsicano Name[id]=Corsican Name[is]=Korsíkanska Name[it]=Corso Name[ja]=コルシカ語 Name[kk]=Корсиканша Name[km]=កូសីកា Name[kn]=ಕೋರ್ಸಿಯನ್ Name[ko]=코르시카어 Name[ku]=Korsî Name[lb]=Korsesch Name[lt]=Korsikiečių Name[lv]=Korsikāņu Name[mai]=कार्सियन Name[mk]=Корзикански Name[ml]=കോര്‍സികന്‍ Name[mr]=कॉर्सियन Name[ms]=Corsican Name[nb]=Korsikansk Name[nds]=Korssch Name[ne]=कोर्सिकन Name[nl]=Corsicaans Name[nn]=Korsikansk Name[oc]=Còrse Name[or]=Corsican Name[pa]=ਕੁਰਸੀਕੇਨ Name[pl]=Korsykański Name[ps]=کورسېکن Name[pt]=Corso Name[pt_BR]=Corso Name[ro]=Corsicană Name[ru]=Корсиканский Name[se]=Korsikagiella Name[si]=කෝසිකන් Name[sk]=Korzičtina Name[sl]=korzijško Name[sq]=Korsikane Name[sr]=корзикански Name[sr@ijekavian]=корзикански Name[sr@ijekavianlatin]=korzikanski Name[sr@latin]=korzikanski Name[sv]=Korsikanska Name[ta]=கோர்சிகன் Name[te]=కొర్సికన్ Name[tg]=Корсиканӣ Name[th]=ภาษาคอร์ซิกัน Name[tr]=Korsikaca Name[ug]=كورسىكاچە Name[uk]=Корсиканська Name[uz]=Korsikancha Name[uz@cyrillic]=Корсиканча -Name[vi]=Coa-xi-ca +Name[vi]=Corsica Name[wa]=Corse -Name[x-test]=xxCorsicanxx Name[xh]=Corsican +Name[x-test]=xxCorsicanxx Name[zh_CN]=科西嘉语 Name[zh_HK]=科西嘉語 Name[zh_TW]=科西嘉語 [crh] Name=Crimean Tatar Name[ar]=تتارية القرم Name[as]=ক্ৰিমিয়ান টাটাৰ Name[ast]=Tatar de Crimea Name[be@latin]=Krymskich tataraŭ Name[bg]=Кримейски татарски Name[bn]=ক্রিমিয়ান টাটার Name[bn_IN]=ক্রিমিয়ান তাতার Name[bs]=Krimsko Tatarski Name[ca]=Tàtar de Crimea Name[ca@valencia]=Tàtar de Crimea Name[cs]=Krymská tatarština Name[csb]=Tatarsczi (krimsczi) Name[da]=Krimsk tatar Name[de]=Krimtatarisch Name[el]=Ταταρικά Κριμαίας Name[en_GB]=Crimean Tatar Name[es]=Tártaro de Crimea Name[et]=Krimmitatari Name[eu]=Tatariera Name[fi]=Krimin tataari Name[fr]=Tatars de Crimée Name[fy]=Crimean Tatar Name[ga]=Tatairis na Crimé Name[gl]=Tártaro da Crimea Name[gu]=ક્રિમીઅન તાતાર Name[he]=טטרית של קרים Name[hi]=क्रिमियन तातर Name[hne]=क्रिमियन तातर Name[hr]=Krimsko-tatarski Name[hsb]=Krimtatarsce Name[hu]=Krími tatár Name[ia]=Crimean Tatar Name[id]=Crimean Tatar Name[is]=Tataríska frá Krím Name[it]=Tataro di Crimea Name[ja]=クリミア・タタール語 Name[kk]=Қырым татарша Name[km]=Crimean Tatar Name[kn]=ಕ್ರಮಿಯನ್ ಟಟಾರ್ Name[ko]=크림 타타르어 Name[ku]=Tatarî ya Kirimî Name[lt]=Krymo totorių Name[lv]=Krimas tatāru Name[mai]=क्रिमियन तातर Name[mk]=Кримски татарски Name[ml]=ക്രിമിയന്‍ ടട്ടാര്‍ Name[mr]=क्रिमीयन तातार Name[ms]=Crimean Tatar Name[nb]=Krimtatarsk Name[nds]=Krimtataarsch Name[nl]=Krimtartaar Name[nn]=Krimtatarsk Name[pa]=ਕਰੀਮੀਨ ਤਾਤਾਰ Name[pl]=Tatarski (Krymski) Name[ps]=کريمين ټاټار Name[pt]=Tatar da Crimeia Name[pt_BR]=Tártaro da Crimeia Name[ro]=Tătară din Crimeea Name[ru]=Крымско-татарский Name[se]=Krimtataralašgiella Name[si]=ක්‍රිමීන් ටටාර් Name[sk]=Krymská tatárčina Name[sl]=Krimsko tatarsko Name[sq]=Krimease Tatare Name[sr]=кримски татарски Name[sr@ijekavian]=кримски татарски Name[sr@ijekavianlatin]=krimski tatarski Name[sr@latin]=krimski tatarski Name[sv]=Krimtatariska Name[ta]=கிரீமியன் டாடர் Name[tg]=Тоторӣ Name[th]=ภาษาทาทาร์ Name[tr]=Kırım Tatarcası Name[ug]=قىرىم تاتارچە Name[uk]=Кримсько-татарська +Name[vi]=Crimean Tatar Name[wa]=Tatår del Crimêye Name[x-test]=xxCrimean Tatarxx Name[zh_CN]=克里米亚鞑靼语 Name[zh_TW]=Crimean Tatar [cs] Name=Czech Name[af]=Tsjeggië Name[ar]=تشيكية Name[as]=ছেক Name[ast]=Checu Name[be]=Чэшская Name[be@latin]=Českaja Name[bg]=Чешки Name[bn]=চেক Name[bn_IN]=চেক Name[br]=Tchekeg Name[bs]=Češki Name[ca]=Txec Name[ca@valencia]=Txec Name[cs]=Český Name[csb]=Czesczi Name[cy]=Tsiec Name[da]=Tjekkisk Name[de]=Tschechisch Name[el]=Τσέχικα Name[en_GB]=Czech Name[eo]=Ĉeĥa Name[es]=Checo Name[et]=Tšehhi Name[eu]=Txekiera Name[fa]=چک Name[fi]=Tšekki Name[fr]=Tchèque Name[fy]=Tsjechysk Name[ga]=Seicis Name[gl]=Checo Name[gu]=ચેક Name[he]=צ'כית Name[hi]=चेक Name[hne]=चेक Name[hr]=Češki Name[hsb]=Čěsce Name[hu]=Cseh Name[ia]=Tchech Name[id]=Ceko Name[is]=Tékkneska Name[it]=Ceco Name[ja]=チェコ語 Name[kk]=Чехше Name[km]=ឆេក Name[kn]=ಚೆಕ್ Name[ko]=체코어 Name[ku]=Çekî Name[lb]=Tschechesch Name[lt]=Čekų Name[lv]=Čehu Name[mai]=चेक Name[mk]=Чешки Name[ml]=ചെക്ക് Name[mr]=चेक Name[ms]=Czech Name[nb]=Tsjekkisk Name[nds]=Tschechsch Name[ne]=चेक Name[nl]=Tsjechisch Name[nn]=Tsjekkisk Name[oc]=Chèc Name[or]=Czech Name[pa]=ਚੈੱਕ Name[pl]=Czeski Name[ps]=چېک Name[pt]=Checo Name[pt_BR]=Tcheco Name[ro]=Cehă Name[ru]=Чешский Name[se]=Čehkagiella Name[si]=චෙච් Name[sk]=Čeština Name[sl]=češko Name[sq]=Çeke Name[sr]=чешки Name[sr@ijekavian]=чешки Name[sr@ijekavianlatin]=češki Name[sr@latin]=češki Name[sv]=Tjeckiska Name[ta]=செக் Name[te]=చెక్ Name[tg]=Чехӣ Name[th]=ภาษาเชค Name[tr]=Çekçe Name[ug]=چېخچە Name[uk]=Чеська Name[uz]=Chexcha Name[uz@cyrillic]=Чехча Name[vi]=Séc Name[wa]=Tcheke -Name[x-test]=xxCzechxx Name[xh]=Czech +Name[x-test]=xxCzechxx Name[zh_CN]=捷克语 Name[zh_HK]=捷克語 Name[zh_TW]=捷克語 [csb] Name=Kashubian Name[af]=Kashubian Name[ar]=لغة الكاشبيان Name[as]=কাছুবিয়ান Name[ast]=Kashubianu Name[be@latin]=Kašubskaja Name[bg]=Кашуби Name[bn]=কাশুবিয়ান Name[bn_IN]=কাশুবিয়ান Name[bs]=Kašupski Name[ca]=Caixubi Name[ca@valencia]=Caixubi Name[cs]=Kašubský Name[csb]=Kaszëbsczi Name[da]=Kashubiansk Name[de]=Kaschubisch Name[el]=Kασουβιανά Name[en_GB]=Kashubian Name[eo]=Kaŝuba Name[es]=Casubio Name[et]=Kašuubi Name[eu]=Kaxubiera Name[fi]=Kašubi Name[fr]=Kachoube Name[fy]=Kashubian Name[ga]=Caisiúibis Name[gl]=Kashubí Name[gu]=કોસુબિન Name[he]=קאשובית Name[hi]=काशुबियन Name[hne]=कासुबियन Name[hr]=Kašupski Name[hsb]=Kašubsce Name[hu]=Kasub Name[ia]=Kashubian Name[id]=Kashubian Name[is]=Kashubian Name[it]=Casciubico Name[ja]=カシューブ語 Name[kk]=Кашубша Name[km]=កាស៊ូបៀន Name[kn]=ಕಷುಬಿಯನ್ Name[ko]=카슈비아어 Name[ku]=Kaşûbî Name[lt]=Kašubų Name[lv]=Kašubāņu Name[mai]=काशुबिनयन Name[mk]=Кашубски Name[ml]=കശൂബ്യന്‍ Name[mr]=कासुबियाई Name[ms]=Kashubian Name[nb]=Kasjubisk Name[nds]=Kaschuubsch Name[nl]=Kashubian Name[nn]=Kasjubisk Name[oc]=Kashbian Name[or]=Kashubian Name[pa]=ਕਾਸ਼ੂਬੀਅਨ Name[pl]=Kaszubski Name[ps]=کشوبي Name[pt]=Kashubian Name[pt_BR]=Cassúbia Name[ro]=Kashubian Name[ru]=Кашубский Name[se]=Kašubiagiella Name[si]=කෂුබියන් Name[sk]=Kašubčina Name[sl]=kašubijsko Name[sq]=Kashubian Name[sr]=кашупски Name[sr@ijekavian]=кашупски Name[sr@ijekavianlatin]=kašupski Name[sr@latin]=kašupski Name[sv]=Kasjubiska Name[ta]=கஷுபியன் Name[tg]=Кошубиянӣ Name[th]=ภาษาคาชูเบียน Name[tr]=Kashubian Name[ug]=كاشۇبىچە Name[uk]=Кашубська +Name[vi]=Kashubian Name[wa]=Cachoube Name[x-test]=xxKashubianxx Name[zh_CN]=卡舒比语 Name[zh_TW]=Kashubian [cu] Name=Church Slavic Name[af]=Church Slavic Name[ar]=سلافية الكنيسة Name[as]=চাৰ্চ স্লাভিক Name[ast]=Eslavu eclesiásticu Name[be]=Царкоўна-славянская Name[be@latin]=Carkoŭna-słavianskaja Name[bg]=Църковнославянски Name[bn]=চার্চ স্লাভিক Name[bn_IN]=চার্চ স্লাভিক Name[br]=Slaveg an iliz Name[bs]=Crkvenoslavenski Name[ca]=Eslau eclesiàstic Name[ca@valencia]=Eslau eclesiàstic Name[cs]=Staroslověnský Name[csb]=Stôrôcerwiowò-słowiańsczi Name[cy]=Slaveg Eglwysol Name[da]=Kirkeslavisk Name[de]=Kirchenslawisch Name[el]=Εκκλησιαστικά Σλαβικά (Σλαβονικά) Name[en_GB]=Church Slavic Name[eo]=Eklezia Slava Name[es]=Eslavo eclesiástico Name[et]=Kirikuslaavi Name[eu]=Church Eslaviera Name[fa]=یوگوسلاویایی Name[fi]=Kirkkoslaavi Name[fr]=Vieux-slave liturgique Name[fy]=Tsjerk-slavysk Name[ga]=Slaivis Eaglaise Name[gl]=Eslavo eclesiástico Name[gu]=ચર્ચ સાલ્વિક Name[he]=סלבית כנסייתית Name[hi]=चर्च स्लाविक Name[hne]=चर्च स्लाविक Name[hr]=Crkveni pravoslavni Name[hsb]=Cyrkwinosłowjansce Name[hu]=Szláv (egyházi) Name[ia]=Slavo Ecclesial Name[id]=Church Slavic Name[is]=Kirkju-slavneska Name[it]=Slavo ecclesiastico Name[ja]=教会スラブ語 Name[kk]=Шірке славянша Name[km]=ឆឺច​ស្លាវិច Name[kn]=ಚರ್ಚ್ ಸ್ಲಾವಿಕ್ Name[ko]=교회 슬라브어 Name[ku]=Slavikiya Kilîseyî Name[lb]=Kiircheslawesch Name[lt]=Bažnytinė slavų Name[lv]=Slāvu baznīcas Name[mai]=चर्च स्लाविक Name[mk]=Црковнословенски Name[ml]=ചര്‍ച്ച് സ്ലാവിക് Name[mr]=चर्च स्लाविक Name[ms]=Church Slavic Name[nb]=Kirkeslavisk Name[nds]=Ooltslaawsch Name[ne]=चर्च स्लाभिक Name[nl]=Kerk Slavisch Name[nn]=Kyrkjeslavisk Name[or]=Church Slavic Name[pa]=ਚੂਰਚ ਸਲਾਵਿਨ Name[pl]=Starocerkiewno-słowiański Name[ps]=چرچ سلاويکي Name[pt]=Igreja Eslava Name[pt_BR]=Eslavo eclesiástico Name[ro]=Slavă bisericească Name[ru]=Церковнославянский Name[se]=Slávagiella Name[si]=චර්ච් ස්ලැවික් Name[sk]=Cirkevná slovančina Name[sl]=cerkvena slovanščina Name[sq]=Sllave Kishtare Name[sr]=црквенословенски Name[sr@ijekavian]=црквенословенски Name[sr@ijekavianlatin]=crkvenoslovenski Name[sr@latin]=crkvenoslovenski Name[sv]=Kyrkoslaviska Name[ta]=சர்ச் ஸ்லாவிக் Name[te]=చర్చి స్లావిక్ Name[tg]=Славянии динӣ Name[th]=ภาษาเชิร์ชสลาฟ Name[tr]=Church Slavic Name[ug]=چېركاۋ سلاۋيانچە Name[uk]=Церковнослов'янська Name[uz]=Cherkov-slovyancha Name[uz@cyrillic]=Черков-словянча -Name[vi]=Xla-vơ nhà thơ +Name[vi]=Nhà thờ Slavic Name[wa]=Eslave d' eglijhe -Name[x-test]=xxChurch Slavicxx Name[xh]=Church Slavic +Name[x-test]=xxChurch Slavicxx Name[zh_CN]=古教会斯拉夫语 Name[zh_HK]=教堂斯拉夫語 Name[zh_TW]=教堂斯拉夫語 [cv] Name=Chuvash Name[af]=Chuvash Name[ar]=شوفاش Name[as]=ছুভাশ্ব Name[ast]=Chuvash Name[be]=Чувашская Name[be@latin]=Čuvaskaja Name[bg]=Чувашки Name[bn]=চুভাশ Name[bn_IN]=চুভাশ Name[br]=Tchuvasheg Name[bs]=Čuvaški Name[ca]=Chuvash Name[ca@valencia]=Chuvash Name[cs]=Čuvašský Name[csb]=Czuwasczi Name[cy]=Chuvasheg Name[da]=Chuvash Name[de]=Tschuwaschisch Name[el]=Chuvash Name[en_GB]=Chuvash Name[eo]=Ĉuvaŝa Name[es]=Chuvasio Name[et]=Tšuvaši Name[eu]=Chuvash Name[fa]=چواش Name[fi]=Tšuvassi Name[fr]=Tchouvache Name[fy]=Chuvash Name[ga]=Suvaisis Name[gl]=Chuvash Name[gu]=ચુવાસ Name[he]=צ'ובשית Name[hi]=चाउवेश Name[hne]=चाउवेस Name[hr]=Čuvaški Name[hsb]=Čuwašisce Name[hu]=Csuvas Name[ia]=Chuvash Name[id]=Chuvash Name[is]=Chuvash Name[it]=Ciuvascio Name[ja]=チュワシュ語 Name[kk]=Шуашша Name[km]=ចូវ៉ាស Name[kn]=ಚುವಾಷ್ Name[ko]=추바시어 Name[ku]=Çuvaş Name[lb]=Chuvas Name[lt]=Čiuvašų Name[lv]=Čuvašu Name[mai]=चुवाश Name[mk]=Чуваш Name[ml]=ഷുവാഷ് Name[mr]=चाउवेश Name[ms]=Chuvash Name[nb]=Chuvash Name[nds]=Tschuwasch Name[ne]=चुभास Name[nl]=Chuvash Name[nn]=Tsjuvasjisk Name[oc]=Chuvash Name[or]=Chuvash Name[pa]=ਚੂਵਸ਼ Name[pl]=Czuwaski Name[ps]=چووېش Name[pt]=Chuvash Name[pt_BR]=Tchuvache Name[ro]=Ciuvașă Name[ru]=Чувашский Name[se]=Chuvashgiella Name[si]=චුවෑෂ් Name[sk]=Čuvaština Name[sl]=chuvash Name[sq]=Çuvashe Name[sr]=чувашки Name[sr@ijekavian]=чувашки Name[sr@ijekavianlatin]=čuvaški Name[sr@latin]=čuvaški Name[sv]=Tjuvasjiska Name[ta]=சுவாஷ் Name[te]=చువాష్ Name[tg]=Чувашӣ Name[th]=ภาษาชูวาช Name[tr]=Çuvaşça Name[ug]=چۇۋاشچە Name[uk]=Чуваська Name[uz]=Chuvashcha Name[uz@cyrillic]=Чувашча -Name[vi]=Chu-va-xợ +Name[vi]=Chuvash Name[wa]=Tchouvache -Name[x-test]=xxChuvashxx Name[xh]=Chuvash +Name[x-test]=xxChuvashxx Name[zh_CN]=楚瓦什语 Name[zh_HK]=楚瓦士語 Name[zh_TW]=楚瓦士語 [cy] Name=Welsh Name[af]=Wallies Name[ar]=غالية Name[as]=ৱেল্‌শ্ব Name[ast]=Galés Name[be]=Уэльская Name[be@latin]=Valijskaja Name[bg]=Уелски Name[bn]=ওয়েল্‌শ Name[bn_IN]=ওয়েলশ Name[br]=Kembraeg Name[bs]=Velški Name[ca]=Gal·lès Name[ca@valencia]=Gal·lès Name[cs]=Welšský Name[csb]=Walijsczi Name[cy]=Cymraeg Name[da]=Walisisk Name[de]=Walisisch Name[el]=Ουαλικά Name[en_GB]=Welsh Name[eo]=Kimra Name[es]=Galés Name[et]=Uelsi Name[eu]=Galesa Name[fa]=ولزی Name[fi]=Kymri Name[fr]=Gallois Name[fy]=Welsk Name[ga]=Breatnais Name[gl]=Galés Name[gu]=વેલ્સ Name[he]=וולשית Name[hi]=वेल्श Name[hne]=वेल्स Name[hr]=Velški Name[hsb]=Kymrisce Name[hu]=Velszi Name[ia]=Gallese Name[id]=Welsh Name[is]=Velska Name[it]=Gallese Name[ja]=ウェールズ語 Name[kk]=Уэлсше Name[km]=វែល Name[kn]=ವೆಲ್ಷ್ Name[ko]=웨일스어 Name[ku]=Galî Name[lb]=Walisesch Name[lt]=Velsiečių Name[lv]=Velsiešu Name[mai]=वेल्श Name[mk]=Велшки Name[ml]=വെല്‍ഷ് Name[mr]=वेल्श Name[ms]=Wales Name[nb]=Walisisk Name[nds]=Waliessch Name[ne]=वेल्स Name[nl]=Welsh Name[nn]=Walisisk Name[oc]=Galés Name[or]=Welsh Name[pa]=ਵਾਲਿਸ਼ Name[pl]=Walijski Name[ps]=وېلش Name[pt]=Galês Name[pt_BR]=Galês Name[ro]=Velșă Name[ru]=Валлийский Name[se]=Walesagiella Name[si]=වෙල්ෂ් Name[sk]=Waleština Name[sl]=valižansko Name[sq]=Uellsiane Name[sr]=велшки Name[sr@ijekavian]=велшки Name[sr@ijekavianlatin]=velški Name[sr@latin]=velški Name[sv]=Walesiska Name[ta]=வெல்ஷ் Name[te]=వెల్ష్ Name[tg]=Уэлсӣ Name[th]=ภาษาเวลช์ Name[tr]=Gallerce -Name[ug]=ۋېلشچە +Name[ug]=ۋېلىشچە Name[uk]=Уельська Name[uz]=Uelscha Name[uz@cyrillic]=Уэлсча -Name[vi]=Ouen-x +Name[vi]=Welsh Name[wa]=Walès -Name[x-test]=xxWelshxx Name[xh]=Welsh +Name[x-test]=xxWelshxx Name[zh_CN]=威尔士语 Name[zh_HK]=威爾斯語 Name[zh_TW]=威爾斯語 [da] Name=Danish Name[af]=Deens Name[ar]=دنماركية Name[as]=ডেনিশ্ব Name[ast]=Danés Name[be]=Дацкая Name[be@latin]=Dackaja Name[bg]=Датски Name[bn]=ড্যানিশ Name[bn_IN]=ডেনিশ Name[br]=Daneg Name[bs]=Danski Name[ca]=Danès Name[ca@valencia]=Danés Name[cs]=Dánský Name[csb]=Dëńsczi Name[cy]=Daneg Name[da]=Dansk Name[de]=Dänisch Name[el]=Δανέζικα Name[en_GB]=Danish Name[eo]=Dana Name[es]=Danés Name[et]=Taani Name[eu]=Daniera Name[fa]=دانمارکی Name[fi]=Tanska Name[fr]=Danois Name[fy]=Deensk Name[ga]=Danmhairgis Name[gl]=Dinamarqués Name[gu]=ડેનિશ Name[he]=דנית Name[hi]=दानिश Name[hne]=दानिस Name[hr]=Danski Name[hsb]=Dansce Name[hu]=Dán Name[ia]=Danese Name[id]=Denmark Name[is]=Danska Name[it]=Danese Name[ja]=デンマーク語 Name[kk]=Датша Name[km]=ដាណឺម៉ាក Name[kn]=ಡ್ಯಾನಿಷ್ Name[ko]=덴마크어 Name[ku]=Danmarkî Name[lb]=Dänesch Name[lt]=Danų Name[lv]=Dāņu Name[mai]=डैनिश Name[mk]=Дански Name[ml]=ഡാനിഷ് Name[mr]=दानिश Name[ms]=Danish Name[nb]=Dansk Name[nds]=Däänsch Name[ne]=डेनिश Name[nl]=Deens Name[nn]=Dansk Name[oc]=Danés Name[or]=Danish Name[pa]=ਡੈਨਿਸ਼ Name[pl]=Duński Name[ps]=ډېنېش Name[pt]=Dinamarquês Name[pt_BR]=Dinamarquês Name[ro]=Daneză Name[ru]=Датский Name[se]=Dánskkagiella Name[si]=ඩැනිෂ් Name[sk]=Dánčina Name[sl]=dansko Name[sq]=Daneze Name[sr]=дански Name[sr@ijekavian]=дански Name[sr@ijekavianlatin]=danski Name[sr@latin]=danski Name[sv]=Danska Name[ta]=டேனிஷ் Name[te]=డెనిష్ Name[tg]=Даниявӣ Name[th]=ภาษาเดนมาร์ค Name[tr]=Danimarka Dili Name[ug]=دانىشچە Name[uk]=Данська Name[uz]=Daniyacha Name[uz@cyrillic]=Данияча -Name[vi]=Đan-mạch +Name[vi]=Đan Mạch Name[wa]=Daenwès -Name[x-test]=xxDanishxx Name[xh]=Danish +Name[x-test]=xxDanishxx Name[zh_CN]=丹麦语 Name[zh_HK]=丹麥語 Name[zh_TW]=丹麥語 [de] Name=German Name[af]=Duits Name[ar]=ألمانية Name[as]=জাৰ্মান Name[ast]=Alemán Name[be]=Нямецкая Name[be@latin]=Niamieckaja Name[bg]=Немски Name[bn]=জার্মান Name[bn_IN]=জার্মান Name[br]=Alamaneg Name[bs]=Njemački Name[ca]=Alemany Name[ca@valencia]=Alemany Name[cs]=Německý Name[csb]=Miemiecczi Name[cy]=Almaeneg Name[da]=Tysk Name[de]=Deutsch Name[el]=Γερμανικά Name[en_GB]=German Name[eo]=Germana Name[es]=Alemán Name[et]=Saksa Name[eu]=Alemaniera Name[fa]=آلمانی Name[fi]=Saksa Name[fr]=Allemand Name[fy]=Dútsk Name[ga]=Gearmáinis Name[gl]=Alemán Name[gu]=જર્મન Name[he]=גרמנית Name[hi]=जर्मन Name[hne]=जर्मन Name[hr]=Njemački Name[hsb]=Němsce Name[hu]=Német Name[hy]=Գերմաներեն Name[ia]=Germano Name[id]=Jerman Name[is]=Þýska Name[it]=Tedesco Name[ja]=ドイツ語 Name[kk]=Немісше Name[km]=អាល្លឺម៉ង់ Name[kn]=ಜರ್ಮನ್ Name[ko]=독일어 Name[ku]=Almanî Name[lb]=Däitsch Name[lt]=Vokiečių Name[lv]=Vācu Name[mai]=जर्मन Name[mk]=Германски Name[ml]=ജര്‍മ്മന്‍ Name[mr]=जर्मन Name[ms]=Jerman Name[nb]=Tysk Name[nds]=Hoochdüütsch Name[ne]=जर्मन Name[nl]=Duits Name[nn]=Tysk Name[oc]=Aleman Name[or]=German Name[pa]=ਜਰਮਨ Name[pl]=Niemiecki Name[ps]=جرمن Name[pt]=Alemão Name[pt_BR]=Alemão Name[ro]=Germană Name[ru]=Немецкий Name[se]=Duiskkagiella Name[si]=ජර්මානු Name[sk]=Nemčina Name[sl]=nemško Name[sq]=Gjermane Name[sr]=немачки Name[sr@ijekavian]=њемачки Name[sr@ijekavianlatin]=njemački Name[sr@latin]=nemački Name[sv]=Tyska Name[ta]=ஜெர்மன் Name[te]=జెర్మన్ Name[tg]=Немисӣ Name[th]=ภาษาเยอรมัน Name[tr]=Almanca Name[ug]=گېرمانچە Name[uk]=Німецька Name[uz]=Olmoncha Name[uz@cyrillic]=Олмонча Name[vi]=Đức Name[wa]=Almand -Name[x-test]=xxGermanxx Name[xh]=Isijamani +Name[x-test]=xxGermanxx Name[zh_CN]=德语 Name[zh_HK]=德語 Name[zh_TW]=德語 [dsb] Name=Lower Sorbian Name[ar]=صوربية منخفضة Name[as]=লোৱাৰ ছৰ্বিয়ান Name[ast]=Baxu Sorbiu Name[be@latin]=Nižnie-łužyckaja Name[bg]=Долносорбийски Name[bn]=নিম্ন সার্বীয় Name[bn_IN]=লোয়ার সোর্বিয়ান Name[bs]=Donjolužičkosrpski Name[ca]=Baix sòrab Name[ca@valencia]=Baix sòrab Name[cs]=Dolnolužicko srbský Name[csb]=Dolnosorbsczi Name[da]=Nedre sorbisk Name[de]=Niedersorbisch Name[el]=Κάτω Σορβικά Name[en_GB]=Lower Sorbian Name[eo]=Malsuprasoraba Name[es]=Bajo sorabo Name[et]=Alamsorbi Name[eu]=Behe Serbiera +Name[fa]=صربی پایینی Name[fi]=Alasorbi Name[fr]=Bas-Sorabe Name[fy]=Leech Sorbysk Name[ga]=Sorbais Íochtarach Name[gl]=Baixo sórabo Name[gu]=લોઅર સોર્બિયન Name[he]=סורבית תחתית Name[hi]=निचला सॉर्बियाई Name[hne]=लोअर सार्बियाई Name[hr]=Donjesrpski Name[hu]=Alsó szorb Name[ia]=Alto Sorbiano Name[id]=Sorbian Bawah Name[is]=Lág-sorbian Name[it]=Basso sorabo Name[ja]=下ソルブ語 Name[kk]=Төменгі сорбше Name[km]=សូបៀន ក្រោម Name[kn]=ಕೆಳಗಿಲಿನ ಸೋರ್ಬಿಯನ್ Name[ko]=저지대 소르비아어 Name[ku]=Sorbiya Jêrîn Name[lt]=Lower Sorbian Name[lv]=Apakšsorbu Name[mai]=नीच्चाँक सोर्बियन Name[ml]=ലോവര്‍ സോര്‍ബിയന്‍ Name[ms]=Lower Sorbian Name[nb]=Nedresorbisk Name[nds]=Neddersorbsch Name[nl]=Nedersorbisch Name[nn]=Lågsorbisk Name[pa]=ਲੋਅਰ ਸਰਬੀਆਈ Name[pl]=Dolnołużycki Name[pt]=Sérvio de Baixo Name[pt_BR]=Baixo Sorábio Name[ro]=Sîrbă de Jos Name[ru]=Нижнелужицкий Name[se]=Vuolle Sorbiagiella Name[si]=පහළ සෝබියානු Name[sk]=Dolnolužická srbčina Name[sl]=Zgornjesorbijsko Name[sq]=Sorbiane e Ulët Name[sr]=доњолужичкосрпски Name[sr@ijekavian]=доњолужичкосрпски Name[sr@ijekavianlatin]=donjolužičkosrpski Name[sr@latin]=donjolužičkosrpski Name[sv]=Lågsorbiska Name[ta]=சொர்பியன் சிற்றெழுத்து Name[tg]=Сербияи Поён Name[th]=ภาษาซอร์เบียนตอนล่าง Name[tr]=Aşağı Sırpça Name[ug]=تۆۋەن سوربىيانچە Name[uk]=Нижньолужицька +Name[vi]=Lower Sorbian Name[wa]=Bas sorbyin Name[x-test]=xxLower Sorbianxx Name[zh_CN]=下索布语 Name[zh_TW]=下塞爾維亞語 [dz] Name=Dzongkha Name[af]=Dzongkha Name[ar]=جونغا Name[as]=জঙ্কা Name[ast]=Dzongkha Name[be]=Цонга Name[be@latin]=Dzongkha Name[bg]=Джонкгха Name[bn]=জঙখা Name[bn_IN]=জোংগা Name[br]=Dzongkha Name[bs]=Džongka Name[ca]=Dzongkha Name[ca@valencia]=Dzongkha Name[cs]=Dzongkha Name[csb]=Dzongkha Name[cy]=Dzongkhaeg Name[da]=Dzongkha Name[de]=Dzongkha Name[el]=Dzongkha Name[en_GB]=Dzongkha Name[eo]=Dzonka Name[es]=Dzongkha Name[et]=Dzongkha Name[eu]=Dzongkha Name[fa]=زونگخا Name[fi]=Dzongkha Name[fr]=Dzongkha Name[fy]=Dzongkha Name[ga]=Dzongkha Name[gl]=Dzongca Name[gu]=ઝોન્ખા Name[he]=ג'ונקה Name[hi]=झोंखा Name[hne]=झोंखा Name[hr]=Dzongkha Name[hsb]=Dzongkhisce Name[hu]=Dzongkha Name[ia]=Dzongkha Name[id]=Dzongkha Name[is]=Dzongkha Name[it]=Dzongkha Name[ja]=ゾンカ語 Name[kk]=(Дзонгха) Бутанша Name[km]=ដុងហ្កា Name[kn]=ಡ್ಸೋಂಖಾ Name[ko]=존카어 Name[ku]=Dzongxa Name[lb]=Dzongkha Name[lt]=Dzongkha Name[lv]=Dzongke Name[mai]=ड्जोंग्खा Name[mk]=Џонгха Name[ml]=സോങ്കാ Name[mr]=झोंखा Name[ms]=Dzongkha Name[nb]=Dzongkha Name[nds]=Dzongkha Name[ne]=जोङ्खा Name[nl]=Dzongkha Name[nn]=Dzongkha Name[oc]=Dzongkha Name[or]=Dzongkha Name[pa]=ਡਜ਼ੋਨਗਖਾ Name[pl]=Dzongkha Name[pt]=Dzongkha Name[pt_BR]=Dzongkha Name[ro]=Dzongkha Name[ru]=Дзонгка (Бутан) Name[se]=Dzongkhagiella Name[si]=සොංඛා Name[sk]=Dzongkä Name[sl]=dzonkha Name[sq]=Xonga Name[sr]=џонка Name[sr@ijekavian]=џонка Name[sr@ijekavianlatin]=džonka Name[sr@latin]=džonka Name[sv]=Dzongkha Name[ta]=டிசொங்க்ஹா Name[te]=జొంగ్ఖ Name[tg]=Дзонгка Name[th]=ภาษาจงข่า Name[tr]=Dzongkha Name[ug]=بۇتانچە Name[uk]=Дзонг-ке Name[uz]=Dzongxa Name[uz@cyrillic]=Дзонгха -Name[vi]=Đ-xong-kha +Name[vi]=Dzongkha Name[wa]=Boutanès -Name[x-test]=xxDzongkhaxx Name[xh]=Dzongkha +Name[x-test]=xxDzongkhaxx Name[zh_CN]=不丹语 Name[zh_HK]=Dzongkha語 Name[zh_TW]=Dzongkha語 [el] Name=Greek Name[af]=Grieks Name[ar]=يونانية Name[as]=গ্ৰীক Name[ast]=Griegu Name[be]=Грэцкая Name[be@latin]=Hreckaja Name[bg]=Гръцки Name[bn]=গ্রীক Name[bn_IN]=গ্রিক Name[br]=Gresianeg Name[bs]=Grčki Name[ca]=Grec Name[ca@valencia]=Grec Name[cs]=Řecký Name[csb]=Grecczi Name[cy]=Groeg Name[da]=Græsk Name[de]=Griechisch Name[el]=Ελληνικά Name[en_GB]=Greek Name[eo]=Greka Name[es]=Griego Name[et]=Kreeka Name[eu]=Grekoa Name[fa]=یونانی Name[fi]=Kreikka Name[fr]=Grec Name[fy]=Gryks Name[ga]=Gréigis Name[gl]=Grego Name[gu]=ગ્રીક Name[he]=יוונית Name[hi]=यूनानी Name[hne]=यूनानी Name[hr]=Grčki Name[hsb]=Grjeksce Name[hu]=Görög Name[hy]=Հուներեն Name[ia]=Greco Name[id]=Yunani Name[is]=Gríska Name[it]=Greco Name[ja]=ギリシャ語 Name[kk]=Грекше Name[km]=ក្រិក Name[kn]=ಗ್ರೀಕ್ Name[ko]=그리스어 Name[ku]=Yewnanî Name[lb]=Griichesch Name[lt]=Graikų Name[lv]=Grieķu Name[mai]=ग्रीक Name[mk]=Грчки Name[ml]=ഗ്രീക്ക് Name[mr]=ग्रीक Name[ms]=Greek Name[nb]=Gresk Name[nds]=Greeksch Name[ne]=ग्रीक Name[nl]=Grieks Name[nn]=Gresk Name[oc]=Grèc Name[or]=Greek Name[pa]=ਗਰੀਕ Name[pl]=Grecki Name[ps]=يوناني Name[pt]=Grego Name[pt_BR]=Grego Name[ro]=Greacă Name[ru]=Греческий Name[se]=Greikkagiella Name[si]=ග්‍රීක Name[sk]=Gréčtina Name[sl]=grško Name[sq]=Greke Name[sr]=грчки Name[sr@ijekavian]=грчки Name[sr@ijekavianlatin]=grčki Name[sr@latin]=grčki Name[sv]=Grekiska Name[ta]=கிரேக்கம் Name[te]=గ్రీక్ Name[tg]=Юнонӣ Name[th]=ภาษากรีก Name[tr]=Yunanca Name[ug]=گىرېكچە Name[uk]=Грецька Name[uz]=Yunoncha Name[uz@cyrillic]=Юнонча -Name[vi]=Hy-lạp +Name[vi]=Hy Lạp Name[wa]=Grek -Name[x-test]=xxGreekxx Name[xh]=isigrike +Name[x-test]=xxGreekxx Name[zh_CN]=希腊语 Name[zh_HK]=希臘語 Name[zh_TW]=希臘語 [en] Name=English Name[af]=Engels Name[ar]=إنجليزية Name[as]=ইংৰাজী Name[ast]=Inglés Name[be]=Англійская Name[be@latin]=Anhielskaja Name[bg]=Английски Name[bn]=ইংরেজ Name[bn_IN]=ইংরেজি Name[br]=Saozneg Name[bs]=Engleski Name[ca]=Anglès Name[ca@valencia]=Anglés Name[cs]=Anglický Name[csb]=Anielsczi Name[cy]=Saesneg Name[da]=Engelsk Name[de]=Englisch Name[el]=Αγγλικά Name[en_GB]=English Name[eo]=Angla Name[es]=Inglés Name[et]=Inglise Name[eu]=Ingelesa Name[fa]=انگلیسی Name[fi]=Englanti Name[fr]=Anglais Name[fy]=Ingelsk Name[ga]=Béarla Name[gl]=Inglés Name[gu]=અંગ્રેજી Name[he]=אנגלית Name[hi]=अंग्रेज़ी Name[hne]=अंगरेजी Name[hr]=Engleski Name[hsb]=Jendźelsce Name[hu]=Angol Name[hy]=Անգլերեն Name[ia]=Anglese Name[id]=Inggris Name[is]=Enska Name[it]=Inglese Name[ja]=英語 Name[kk]=Ағылшынша Name[km]=អង់គ្លេស Name[kn]=ಇಂಗ್ಲೀಷ್ Name[ko]=영어 Name[ku]=Îngilîzî Name[lb]=Englesch Name[lt]=Anglų Name[lv]=Angļu Name[mai]=अंग्रेजी Name[mk]=Англиски Name[ml]=ഇംഗ്ലീഷ് Name[mr]=अंग्रेज़ी Name[ms]=Inggeris Name[nb]=Engelsk Name[nds]=Engelsch Name[ne]=अङ्ग्रेजी Name[nl]=Engels Name[nn]=Engelsk Name[oc]=Anglés Name[or]=English Name[pa]=ਅੰਗਰੇਜ਼ੀ Name[pl]=Angielski Name[ps]=انګريزي Name[pt]=Inglês Name[pt_BR]=Inglês Name[ro]=Engleză Name[ru]=Английский Name[se]=Eŋgelasgiella Name[si]=ඉංග්‍රීසි Name[sk]=Angličtina Name[sl]=angleško Name[sq]=Anglisht Name[sr]=енглески Name[sr@ijekavian]=енглески Name[sr@ijekavianlatin]=engleski Name[sr@latin]=engleski Name[sv]=Engelska Name[ta]=ஆங்கிலம் Name[te]=ఆంగ్లం Name[tg]=Англисӣ Name[th]=ภาษาอังกฤษ Name[tr]=İngilizce Name[ug]=ئىنگلىزچە Name[uk]=Англійська Name[uz]=Inglizcha Name[uz@cyrillic]=Инглизча Name[vi]=Anh Name[wa]=Inglès -Name[x-test]=xxEnglishxx Name[xh]=Isingesi +Name[x-test]=xxEnglishxx Name[zh_CN]=英语 Name[zh_HK]=英語 Name[zh_TW]=英語 [en_GB] Name=British English Name[af]=Britse Engels Name[ar]=إنجليزية بريطانية Name[as]=বিটিশ্ব ইংৰাজী Name[ast]=Inglés Británicu Name[be]=Англійская брытанская Name[be@latin]=Brytanskaja anhielskaja Name[bg]=Британски английски Name[bn]=বৃটিশ ইংরেজি Name[bn_IN]=ব্রিটিশ ইংরাজি Name[br]=Saozneg eus Bro Saoz Name[bs]=Engleski(Britanski) Name[ca]=Anglès britànic Name[ca@valencia]=Anglés britànic Name[cs]=Britská angličtina Name[csb]=Britijsczi anielsczi Name[cy]=Saesneg Prydain Name[da]=Britisk engelsk Name[de]=Englisch (UK) Name[el]=Αγγλικά (Μ. Βρετανίας) Name[en_GB]=British English Name[eo]=Angla (Brita) Name[es]=Inglés británico Name[et]=Briti inglise Name[eu]=Ingelesa (britainiarra) Name[fa]=انگلیسی بریتانیایی Name[fi]=Britannianenglanti Name[fr]=Anglais britannique Name[fy]=Britsk Ingelsk Name[ga]=Béarla na Breataine Name[gl]=Inglés británico Name[gu]=બ્રિટિશ અંગ્રેજી Name[he]=אנגלית בריטית Name[hi]=ब्रितानी अंग्रेज़ी Name[hne]=ब्रितानी अंगरेजी Name[hr]=Britanski Engleski Name[hsb]=Jendźelsce (WB) Name[hu]=Angol (brit) Name[hy]=Բրիտանական Անգլերեն Name[ia]=Anglese Britannic Name[id]=Inggris Britania Name[is]=Bresk enska Name[it]=Inglese britannico Name[ja]=イギリス英語 Name[kk]=Британдық ағылшынша Name[km]=អង់គ្លេស (អង់គ្លេស) Name[kn]=ಬ್ರಿಟಿಷ್ ಇಂಗ್ಲಿಷ್ Name[ko]=영국 영어 Name[ku]=Îngilîziya Brîtanyayê Name[lb]=Britescht Englesch Name[lt]=Anglų (D.Britanijos) Name[lv]=Britu angļu Name[mai]=ब्रिटिश अंग्रेजी Name[mk]=Англиски (британски) Name[ml]=ബ്രിട്ടീഷ് ഇംഗ്ലീഷ് Name[mr]=ब्रितानी अंग्रेज़ी Name[ms]=British English Name[nb]=Britisk engelsk Name[nds]=Britsch Engelsch Name[ne]=बेलायती अङ्ग्रेजी Name[nl]=Engels (Brits) Name[nn]=Engelsk (Storbritannia) Name[oc]=Anglés britanic Name[or]=British English Name[pa]=ਅੰਗਰੇਜ਼ੀ ਬਰਤਾਨੀਆ Name[pl]=Angielski brytyjski Name[ps]=برېټانوي انګريزي Name[pt]=Inglês da Grã-Bretanha Name[pt_BR]=Inglês Britânico Name[ro]=Engleză britanică Name[ru]=Английский (Великобритания) Name[se]=Eŋgelasgiella (Stuorra Brittania) Name[si]=බ්‍රිතාන්‍ය ඉංග්‍රීසි Name[sk]=Britská angličtina Name[sl]=britansko angleško Name[sq]=Anglishte Britanike Name[sr]=британски енглески Name[sr@ijekavian]=британски енглески Name[sr@ijekavianlatin]=britanski engleski Name[sr@latin]=britanski engleski Name[sv]=Brittisk engelska Name[ta]=பிரிட்டிஷ் ஆங்கிலம் Name[te]=బ్రిటిష్ ఆంగ్లం Name[tg]=Англисӣ (Бритонӣ) Name[th]=ภาษาอังกฤษ บริติช Name[tr]=İngiliz İngilizcesi Name[ug]=ئەنگلىيە ئىنگلىزچە Name[uk]=Англійська (Великобританія) Name[uz]=Inglizcha (Angliya) Name[uz@cyrillic]=Инглизча (Англия) -Name[vi]=Anh (quốc Anh) +Name[vi]=Vương quốc Anh Name[wa]=Inglès britanike Name[x-test]=xxBritish Englishxx Name[zh_CN]=英国英语 Name[zh_HK]=英式英語 Name[zh_TW]=(英式)英語 [en_US] Name=American English Name[af]=Amerikaanse Engels Name[ar]=إنجليزية أمريكية Name[as]=আমেৰিকান ইংৰাজী Name[ast]=nglés americanu Name[be]=Англійская амерыканская Name[be@latin]=Amerykanskaja anhielskaja Name[bg]=Американски английски Name[bn]=মার্কিন ইংরেজি Name[bn_IN]=আমেরিকান ইংরেজি Name[br]=Saozneg eus SUA Name[bs]=Engleski(Američki) Name[ca]=Anglès americà Name[ca@valencia]=Anglés americà Name[cs]=Americká angličtina Name[csb]=Amerikańsczi anielsczi Name[da]=Amerikansk engelsk Name[de]=Englisch (US) Name[el]=Αγγλικά (Αμερικής) Name[en_GB]=American English Name[eo]=Angla (Usona) Name[es]=Inglés americano Name[et]=Ameerika inglise Name[eu]=Ingelesa (amerikarra) Name[fa]=انگلیسی امریکایی Name[fi]=Amerikanenglanti Name[fr]=Anglais américain Name[fy]=Amerikaansk Ingelsk Name[ga]=Béarla Mheiriceá Name[gl]=Inglés americano Name[gu]=અમેરિકન અંગ્રેજી Name[he]=אנגלית ארה"ב Name[hi]=अमरीकी अंग्रेज़ी Name[hne]=अमरीकी अंगरेजी Name[hr]=Američki Engleski Name[hsb]=Jendźelsce (USA) Name[hu]=Angol (amerikai) Name[hy]=Ամերիկյան Անգլերեն Name[ia]=Anglese Americano Name[id]=Inggris Amerika Name[is]=Bandarísk enska Name[it]=Inglese americano Name[ja]=アメリカ英語 Name[kk]=Американдық ағылшынша Name[km]=អង់គ្លេស អាមេរិក Name[kn]=ಅಮೆರಿಕನ್ ಇಂಗ್ಲೀಷ್ Name[ko]=미국 영어 Name[ku]=Îngilîziya Amerîkayî Name[lb]=Amerikanescht Englesch Name[lt]=Anglų (JAV) Name[lv]=Amerikāņu angļu Name[mai]=अमरीकी अंग्रेजी Name[mk]=Англиски (американски) Name[ml]=അമേരിക്കന്‍ ഇംഗ്ലീഷ് Name[mr]=अमेरिकन इंग्लिश Name[ms]=American English Name[nb]=Amerikansk engelsk Name[nds]=Amerikaansch Engelsch Name[ne]=अमेरेकी अङ्ग्रेजी Name[nl]=Engels (Amerikaans) Name[nn]=Engelsk (USA) Name[oc]=Anglés american Name[or]=American English Name[pa]=ਅੰਗਰੇਜ਼ੀ ਅਮਰੀਕੀ Name[pl]=Angielski amerykański Name[ps]=امريکايي انګريزي Name[pt]=Inglês Americano Name[pt_BR]=Inglês Americano Name[ro]=Engleză americană Name[ru]=Английский (США) Name[se]=Eŋgelasgiella (Amerihkáhlaš) Name[si]=ඇමරිකානු ඉංග්‍රීසි Name[sk]=Americká angličtina Name[sl]=ameriško angleško Name[sq]=Anglishte Amerikane Name[sr]=амерички енглески Name[sr@ijekavian]=амерички енглески Name[sr@ijekavianlatin]=američki engleski Name[sr@latin]=američki engleski Name[sv]=Amerikansk engelska Name[ta]=அமெரிக்கன் ஆங்கிலம் Name[te]=అమెరికన్ ఆంగ్లం Name[tg]=Англисӣ (Амрикоӣ) Name[th]=ภาษาอังกฤษ อเมริกัน Name[tr]=Amerikan İngilizcesi Name[ug]=ئامېرىكا ئىنگلىزچە Name[uk]=Англійська (США) Name[uz]=Inglizcha (AQSH) Name[uz@cyrillic]=Инглизча (АҚШ) Name[vi]=Anh (Mỹ) Name[wa]=Inglès des Estats-Unis Name[x-test]=xxAmerican Englishxx Name[zh_CN]=美国英语 Name[zh_HK]=美式英語 Name[zh_TW]=美語 [eo] Name=Esperanto Name[af]=Esperanto Name[ar]=إسبرانتو Name[as]=এস্পেৰান্টো Name[ast]=Esperanto Name[be]=Эсперанта Name[be@latin]=Esperanta Name[bg]=Есперанто Name[bn]=এস্পারান্তো Name[bn_IN]=এসপারান্তো Name[br]=Esperanteg Name[bs]=Esperanto Name[ca]=Esperanto Name[ca@valencia]=Esperanto Name[cs]=Esperanto Name[csb]=Esperanto Name[cy]=Esperanto Name[da]=Esperanto Name[de]=Esperanto Name[el]=Εσπεράντο Name[en_GB]=Esperanto Name[eo]=Esperanto Name[es]=Esperanto Name[et]=Esperanto Name[eu]=Esperantoa Name[fa]=اسپرانتور Name[fi]=Esperanto Name[fr]=Espéranto Name[fy]=Esperanto Name[ga]=Esperanto Name[gl]=Esperanto Name[gu]=એસ્પ્રાન્ટો Name[he]=אספרנטו Name[hi]=एस्परेन्तो Name[hne]=एस्परेन्तो Name[hr]=Esperanto Name[hsb]=Esperantisce Name[hu]=Eszperantó Name[hy]=Էսպերանտո Name[ia]=Esperanto Name[id]=Esperanto Name[is]=Esperanto Name[it]=Esperanto Name[ja]=エスペラント語 Name[kk]=Эсперанто Name[km]=អេស្ពេរ៉ាន់តូ Name[kn]=ಎಸ್ಪರಾನ್ಟೊ Name[ko]=에스페란토 Name[ku]=Esperanto Name[lb]=Esperanto Name[lt]=Esperanto Name[lv]=Esperanto Name[mai]=एस्पेरांटो Name[mk]=Есперанто Name[ml]=എസ്പരാണ്ടോ Name[mr]=एस्परेन्तो Name[ms]=Esperanto Name[nb]=Esperanto Name[nds]=Esperanto Name[ne]=इस्पेरान्तो Name[nl]=Esperanto Name[nn]=Esperanto Name[oc]=Esperanto Name[or]=Esperanto Name[pa]=ਇਸਪੀਰਨਟੋ Name[pl]=Esperanto Name[ps]=اېسپېرېنټو Name[pt]=Esperanto Name[pt_BR]=Esperanto Name[ro]=Esperanto Name[ru]=Эсперанто Name[se]=Esperanto Name[si]=එස්පෙරැන්ටෝ Name[sk]=Esperanto Name[sl]=esperanto Name[sq]=Esperanto Name[sr]=есперанто Name[sr@ijekavian]=есперанто Name[sr@ijekavianlatin]=esperanto Name[sr@latin]=esperanto Name[sv]=Esperanto Name[ta]=எஸ்பரான்டோ Name[te]=ఎస్పరాన్టొ Name[tg]=Эсперанто Name[th]=ภาษาเอสเปอร์รันโต Name[tr]=Esperanto Name[ug]=ئېسپېرانتو (دۇنيا تىلى) Name[uk]=Есперанто Name[uz]=Esperanto Name[uz@cyrillic]=Эсперанто -Name[vi]=Ét-pe-ran-tô +Name[vi]=Esperanto Name[wa]=Esperanto -Name[x-test]=xxEsperantoxx Name[xh]=Esperanto +Name[x-test]=xxEsperantoxx Name[zh_CN]=世界语 Name[zh_HK]=世界語 Name[zh_TW]=世界語 [es] Name=Spanish Name[af]=Spaans Name[ar]=إسبانية Name[as]=স্পেনিশ্ব Name[ast]=Castellanu Name[be]=Іспанская Name[be@latin]=Hišpanskaja Name[bg]=Испански Name[bn]=স্প্যানিশ Name[bn_IN]=স্প্যানিশ Name[br]=Spagnoleg Name[bs]=Španski Name[ca]=Espanyol Name[ca@valencia]=Espanyol Name[cs]=Španělský Name[csb]=Szpańsczi Name[cy]=Sbaeneg Name[da]=Spansk Name[de]=Spanisch Name[el]=Ισπανικά Name[en_GB]=Spanish Name[eo]=Hispana Name[es]=Español Name[et]=Hispaania Name[eu]=Gaztelera Name[fa]=اسپانیایی Name[fi]=Espanja Name[fr]=Espagnol Name[fy]=Spaansk Name[ga]=Spáinnis Name[gl]=Castelán Name[gu]=સ્પેનીશ Name[he]=ספרדית Name[hi]=स्पेनी Name[hne]=स्पेनी Name[hr]=Španjolski Name[hsb]=Španisce Name[hu]=Spanyol Name[hy]=Իսպաներեն Name[ia]=Espaniol Name[id]=Spanyol Name[is]=Spánska Name[it]=Spagnolo Name[ja]=スペイン語 Name[kk]=Испанша Name[km]=អេស្ប៉ាញ Name[kn]=ಸ್ಪ್ಯಾನಿಷ್ Name[ko]=스페인어 Name[ku]=Spanî Name[lb]=Spuenesch Name[lt]=Ispanų Name[lv]=Spāņu Name[mai]=स्पेनी Name[mk]=Шпански Name[ml]=സ്പാനിഷ് Name[mr]=स्पॅनिश Name[ms]=Sepanyol Name[nb]=Spansk Name[nds]=Spaansch Name[ne]=स्पेनिश Name[nl]=Spaans Name[nn]=Spansk Name[oc]=Castelhan Name[or]=Spanish Name[pa]=ਸਪੇਨੀ Name[pl]=Hiszpański Name[ps]=سپېنش Name[pt]=Espanhol Name[pt_BR]=Espanhol Name[ro]=Spaniolă Name[ru]=Испанский Name[se]=Spánskkagiella Name[si]=ස්පාඤ්ඤ Name[sk]=Španielčina Name[sl]=špansko Name[sq]=Spanjolle Name[sr]=шпански Name[sr@ijekavian]=шпански Name[sr@ijekavianlatin]=španski Name[sr@latin]=španski Name[sv]=Spanska Name[ta]=ஸ்பானிய Name[te]=స్పెనిష్ Name[tg]=Испанӣ Name[th]=ภาษาสเปน Name[tr]=İspanyolca Name[ug]=ئىسپانچە Name[uk]=Іспанська Name[uz]=Ispancha Name[uz@cyrillic]=Испанча -Name[vi]=Tây-ban-nha +Name[vi]=Tây Ban Nha Name[wa]=Castiyan -Name[x-test]=xxSpanishxx Name[xh]=Isipanishi +Name[x-test]=xxSpanishxx Name[zh_CN]=西班牙语 Name[zh_HK]=西班牙語 Name[zh_TW]=西班牙語 [et] Name=Estonian Name[af]=Estonianse Name[ar]=إستونية Name[as]=এস্টোনিয়ান Name[ast]=Estoniu Name[be]=Эстонская Name[be@latin]=Estonskaja Name[bg]=Естонски Name[bn]=এস্টোনীয় Name[bn_IN]=এস্তোনিয়ান Name[br]=Estoneg Name[bs]=Estonski Name[ca]=Estonià Name[ca@valencia]=Estonià Name[cs]=Estonský Name[csb]=Estońsczi Name[cy]=Estoneg Name[da]=Estisk Name[de]=Estnisch Name[el]=Εσθονικά Name[en_GB]=Estonian Name[eo]=Estona Name[es]=Estonio Name[et]=Eesti Name[eu]=Estoniera Name[fa]=استونیایی Name[fi]=Viro Name[fr]=Estonien Name[fy]=Estsk Name[ga]=Eastóinis Name[gl]=Estoniano Name[gu]=ઇસ્ટોનિઅન Name[he]=אסטונית Name[hi]=एस्तोनियाई Name[hne]=एस्तोनियाई Name[hr]=Estonski Name[hsb]=Estnisce Name[hu]=Észt Name[hy]=Եստոներեն Name[ia]=Estonian Name[id]=Estonia Name[is]=Eistneska Name[it]=Estone Name[ja]=エストニア語 Name[kk]=Эстонша Name[km]=អេស្តូនី Name[kn]=ಎಸ್ಚೋನಿಯನ್ Name[ko]=에스토니아어 Name[ku]=Estonî Name[lb]=Estnesch Name[lt]=Estų Name[lv]=Igauņu Name[mai]=एस्तोनियाइ Name[mk]=Естонски Name[ml]=എസ്തോണിയന്‍ Name[mr]=एस्तोनियाई Name[ms]=Estonia Name[nb]=Estisk Name[nds]=Eestlannsch Name[ne]=इस्टोनियाली Name[nl]=Ests Name[nn]=Estisk Name[oc]=Estonian Name[or]=Estonian Name[pa]=ਇਸਟੋਨੀਆ Name[pl]=Estoński Name[ps]=اېسټونيايي Name[pt]=Estónio Name[pt_BR]=Estoniano Name[ro]=Estoniană Name[ru]=Эстонский Name[se]=Esttegiella Name[si]=එස්තෝනියානු Name[sk]=Estónčina Name[sl]=estonsko Name[sq]=Estoneze Name[sr]=естонски Name[sr@ijekavian]=естонски Name[sr@ijekavianlatin]=estonski Name[sr@latin]=estonski Name[sv]=Estniska Name[ta]=எஸ்டோனியன் Name[te]=ఎస్టొనియన్ Name[tg]=Эстонӣ Name[th]=ภาษาเอสโทเนีย Name[tr]=Estonya Dili Name[ug]=ئېستونچە Name[uk]=Естонська Name[uz]=Estoncha Name[uz@cyrillic]=Эстонча -Name[vi]=E-x-tô-ni-a +Name[vi]=Estonia Name[wa]=Estonyin -Name[x-test]=xxEstonianxx Name[xh]=Estonian +Name[x-test]=xxEstonianxx Name[zh_CN]=爱沙尼亚语 Name[zh_HK]=愛沙尼亞語 Name[zh_TW]=愛沙尼亞語 [eu] Name=Basque Name[af]=Basque Name[ar]=باسكية Name[as]=বাস্ক Name[ast]=Vascu Name[be]=Басцкая Name[be@latin]=Baskaŭskaja Name[bg]=Баскийски Name[bn]=বাস্ক Name[bn_IN]=বাস্ক Name[br]=Euskareg Name[bs]=Baskijski Name[ca]=Basc Name[ca@valencia]=Basc Name[cs]=Baskický Name[csb]=Baskijsczi Name[cy]=Basgeg Name[da]=Baskisk Name[de]=Baskisch Name[el]=Βασκικά Name[en_GB]=Basque Name[eo]=Eŭska Name[es]=Euskera Name[et]=Baski Name[eu]=Euskara Name[fa]=باسکی Name[fi]=Baski Name[fr]=Basque Name[fy]=Baskysk Name[ga]=Bascais Name[gl]=Basco Name[gu]=બાસ્ક Name[he]=בסקית Name[hi]=बास्क Name[hne]=बास्क Name[hr]=Baskijski Name[hsb]=Baskisce Name[hu]=Baszk Name[ia]=Basco Name[id]=Basque Name[is]=Baskamál Name[it]=Basco Name[ja]=バスク語 Name[kk]=Баскша Name[km]=​​បាស្កេ Name[kn]=ಬಾಸ್ಕ್ Name[ko]=바스크어 Name[ku]=Baskî Name[lb]=Baskesch Name[lt]=Baskų Name[lv]=Basku Name[mai]=बास्क Name[mk]=Баскиски Name[ml]=ബാസ്ക് Name[mr]=बास्क Name[ms]=Basque Name[nb]=Baskisk Name[nds]=Basksch Name[ne]=बास्क Name[nl]=Baskisch Name[nn]=Baskisk Name[oc]=Basc Name[or]=Basque Name[pa]=ਬਸਕਿਉ Name[pl]=Baskijski Name[ps]=بېسک Name[pt]=Basco Name[pt_BR]=Basco Name[ro]=Bască Name[ru]=Баскский Name[se]=Baskalašgiella Name[si]=බැස්ක් Name[sk]=Baskičtina Name[sl]=baskovsko Name[sq]=Baske Name[sr]=баскијски Name[sr@ijekavian]=баскијски Name[sr@ijekavianlatin]=baskijski Name[sr@latin]=baskijski Name[sv]=Baskiska Name[ta]=பாஸ்க் Name[te]=బాస్క్ Name[tg]=Баскӣ Name[th]=ภาษาบาสก์ Name[tr]=Bask Dili Name[ug]=باسكىچە Name[uk]=Баскська Name[uz]=Baskcha Name[uz@cyrillic]=Баскча -Name[vi]=Ba-x-quợ +Name[vi]=Basque Name[wa]=Basse -Name[x-test]=xxBasquexx Name[xh]=Basque +Name[x-test]=xxBasquexx Name[zh_CN]=巴斯克语 Name[zh_HK]=巴斯克語 Name[zh_TW]=巴斯克語 [fa] Name=Farsi (Persian) Name[af]=Farsi (Persies) Name[ar]=فارسية Name[as]=ফাৰ্চী (পাৰ্চিয়ান) Name[ast]=Farsi (Persa) Name[be]=Персідская Name[be@latin]=Farsi (persydzkaja) Name[bg]=Фарси Name[bn]=ফার্সি (পার্সিয়ান) Name[bn_IN]=ফার্সি Name[br]=Farsieg (Persieg) Name[bs]=Farski(Perzijski) Name[ca]=Farsi (Persa) Name[ca@valencia]=Farsi (Persa) Name[cs]=Farsi (Perský) Name[csb]=Farsi (persczi) Name[cy]=Farsi (Perseg) Name[da]=Farsi (Persisk) Name[de]=Farsi (Persisch) Name[el]=Farsi (Περσικά) Name[en_GB]=Farsi (Persian) Name[eo]=Frisa (Persa) Name[es]=Persa Name[et]=Farsi (pärsia) Name[eu]=Farsiera (Persiera) Name[fa]=فارسی Name[fi]=Farsi (persia) Name[fr]=Persan Name[fy]=Farsysk (Persysk) Name[ga]=Fairsis (Peirsis) Name[gl]=Frisón (Parsi) Name[gu]=ફારસી (પર્શીયન) Name[he]=פרסית Name[hi]=फारसी (पर्सियाई) Name[hne]=फारसी (पर्सियाई) Name[hr]=Farsi (Perzijski) Name[hsb]=Farsisce (Persisce) Name[hu]=Fárszi (perzsa) Name[ia]=Farsi (Perse) Name[id]=Farsi (Persia) Name[is]=Farsi (Persneska) Name[it]=Farsi (Persiano) Name[ja]=ペルシア語 Name[kk]=Фарси Name[km]=ហ្វាស៊ី (ពឺស៊ាន) Name[kn]=ಫಾರ್ಸಿ (ಪರ್ಶಿಯನ್) Name[ko]=페르시아어 Name[ku]=Farsî Name[lb]=Farsi (Persesch) Name[lt]=Farsi (persų) Name[lv]=Persiešu (Farsi) Name[mai]=फारसी (पर्सियाइ) Name[mk]=Фарси (персиски) Name[ml]=പാര്‍സി (പേര്‍ഷ്യന്‍) Name[mr]=फारसी (पर्शियन) Name[ms]=Parsi Name[nb]=Farsi (Persisk) Name[nds]=Farsi (Persisch) Name[ne]=फारसी (पर्सियन) Name[nl]=Farsi (Perzisch) Name[nn]=Persisk Name[or]=Farsi (Persian) Name[pa]=ਫਾਰਸੀ (ਪਰਸ਼ੀਆਈ) Name[pl]=Farsi (Perski) Name[ps]=پاړسي Name[pt]=Farsi (Persa) Name[pt_BR]=Farsi (Persa) Name[ro]=Farsi (Persană) Name[ru]=Персидский Name[se]=Farsigiella (Persialaš) Name[si]=ෆාර්සි (පර්සියානු) Name[sk]=Fársí (perzština) Name[sl]=Farsi (perzijsko) Name[sq]=Farsi (Persiane) Name[sr]=фарси (персијски) Name[sr@ijekavian]=фарси (персијски) Name[sr@ijekavianlatin]=farsi (persijski) Name[sr@latin]=farsi (persijski) Name[sv]=Persiska Name[ta]=பார்சி (பெர்சியன்) Name[te]=ఫార్సి (పెర్షియన్) Name[tg]=Форсӣ Name[th]=ภาษาฟาร์ซี (เปอร์เซียน) Name[tr]=Farsça (İran) Name[ug]=پارىسچە Name[uk]=Фризька (Перська) Name[uz]=Forscha (Perscha) Name[uz@cyrillic]=Форсча (Персча) -Name[vi]=Pha-xi +Name[vi]=Farsi (Ba Tư) Name[wa]=Farsi Name[x-test]=xxFarsi (Persian)xx Name[zh_CN]=波斯语 Name[zh_HK]=波斯語 Name[zh_TW]=波斯語 [fi] Name=Finnish Name[af]=Feense Name[ar]=فنلندية Name[as]=ফিনিশ্ব Name[ast]=Finlandés Name[be]=Фінская Name[be@latin]=Finskaja Name[bg]=Фински Name[bn]=ফিনিশ Name[bn_IN]=ফিনিশ Name[br]=Finneg Name[bs]=Finski Name[ca]=Finès Name[ca@valencia]=Finés Name[cs]=Finský Name[csb]=Finsczi Name[cy]=Ffineg Name[da]=Finsk Name[de]=Finnisch Name[el]=Φιλανδικά Name[en_GB]=Finnish Name[eo]=Fina Name[es]=Finés Name[et]=Soome Name[eu]=Finlandiera Name[fa]=فنلاندی Name[fi]=Suomi Name[fr]=Finnois Name[fy]=Finsk Name[ga]=Fionlainnis Name[gl]=Finlandés Name[gu]=ફિનિશ Name[he]=פינית Name[hi]=फिनिश Name[hne]=फिनिस Name[hr]=Finski Name[hsb]=Finsce Name[hu]=Finn Name[hy]=Ֆիներեն Name[ia]=Finnese Name[id]=Finlandia Name[is]=Finnska Name[it]=Finlandese Name[ja]=フィンランド語 Name[kk]=Финнша Name[km]=ហ្វាំងឡង់ Name[kn]=ಫಿನ್ನಿಷ್ Name[ko]=핀란드어 Name[ku]=Finkî Name[lb]=Finnesch Name[lt]=Suomių Name[lv]=Somu Name[mai]=फिनिश Name[mk]=Фински Name[ml]=ഫിന്നിഷ് Name[mr]=फिनिश Name[ms]=Finnish Name[nb]=Finsk Name[nds]=Finnsch Name[ne]=फिनिश Name[nl]=Fins Name[nn]=Finsk Name[oc]=Finés Name[or]=Finnish Name[pa]=ਫੈਨਿਸ਼ Name[pl]=Fiński Name[ps]=فېنېش Name[pt]=Finlandês Name[pt_BR]=Finlandês Name[ro]=Finlandeză Name[ru]=Финский Name[se]=Suomagiella Name[si]=ෆින්ලන්තානු Name[sk]=Fínčina Name[sl]=finsko Name[sq]=Finlandeze Name[sr]=фински Name[sr@ijekavian]=фински Name[sr@ijekavianlatin]=finski Name[sr@latin]=finski Name[sv]=Finska Name[ta]=பின்னிஷ் Name[te]=ఫిన్నిష్ Name[tg]=Финӣ Name[th]=ภาษาฟินแลนด์ Name[tr]=Fince Name[ug]=فىنچە Name[uk]=Фінська Name[uz]=Fincha Name[uz@cyrillic]=Финча -Name[vi]=Phần-lan +Name[vi]=Phần Lan Name[wa]=Finwès -Name[x-test]=xxFinnishxx Name[xh]=Finnish +Name[x-test]=xxFinnishxx Name[zh_CN]=芬兰语 Name[zh_HK]=芬蘭語 Name[zh_TW]=芬蘭語 [fj] Name=Fijian Name[af]=Fijian Name[ar]=فيجية Name[as]=ফিজিয়ান Name[ast]=Fijianu Name[be]=Фіджыйская Name[be@latin]=Fidžyjskaja Name[bg]=Фиджи Name[bn]=ফিজিয়ান Name[bn_IN]=ফিজিয়ান Name[br]=Fidjeg Name[bs]=Fidžijski Name[ca]=Fijià Name[ca@valencia]=Fijià Name[cs]=Fidžijský Name[csb]=z Fiji Name[cy]=Fijieg Name[da]=Fijiansk Name[de]=Fidschi Name[el]=Fijian Name[en_GB]=Fijian Name[eo]=Fiĝia Name[es]=Fiyiano Name[et]=Fidži Name[eu]=Fijiera Name[fa]=فیجیایی Name[fi]=Fidži Name[fr]=Fidjien Name[fy]=Fijdzjysk Name[ga]=Fidsis Name[gl]=Fixiano Name[gu]=ફિજીઅન Name[he]=פיגי'ת Name[hi]=फिज़ी Name[hne]=फिजी Name[hr]=Fidžijski Name[hsb]=Fidźisce Name[hu]=Fidzsi Name[ia]=Fijian Name[id]=Fijian Name[is]=Fijian Name[it]=Figiano Name[ja]=フィジー語 Name[kk]=Фиджише Name[km]=ហ្វ៊ីហ្ស៊ី Name[kn]=ಫಿಜಿಯನ್ Name[ko]=피지어 Name[ku]=Fîcî Name[lb]=Fidschi-Sprooch Name[lt]=Fidži Name[lv]=Fidžiešu Name[mai]=फिजियन Name[mk]=Фиџиски Name[ml]=ഫിജിയന്‍ Name[mr]=फिज़ी Name[ms]=Fijian Name[nb]=Fijisk Name[nds]=Fidschi Name[ne]=फिजियन Name[nl]=Fijisch Name[nn]=Fijiansk Name[oc]=Fijian Name[or]=Fijian Name[pa]=ਫਿਜੀਨ Name[pl]=z Fiji Name[ps]=فيجي Name[pt]=Fidjiano Name[pt_BR]=Fijiano Name[ro]=Fijiană Name[ru]=Фиджи Name[se]=Fižigiella Name[si]=ෆීජි Name[sk]=Fidžijčina Name[sl]=fidžijsko Name[sq]=Fixhiane Name[sr]=фиџијски Name[sr@ijekavian]=фиџијски Name[sr@ijekavianlatin]=fidžijski Name[sr@latin]=fidžijski Name[sv]=Fijianska Name[ta]=பிஜியன் Name[te]=ఫిజియన్ Name[tg]=Фиҷӣ Name[th]=ภาษาฟิจิ Name[tr]=Fijian Name[ug]=فىجىچە Name[uk]=Фіджійська Name[uz]=Fijicha Name[uz@cyrillic]=Фижича -Name[vi]=Phi-gi +Name[vi]=Fijian Name[wa]=Fidjyin -Name[x-test]=xxFijianxx Name[xh]=Fijian +Name[x-test]=xxFijianxx Name[zh_CN]=斐济语 Name[zh_HK]=斐濟語 Name[zh_TW]=斐濟語 [fo] Name=Faroese Name[af]=Faroese Name[ar]=فروية Name[as]=ফাৰোইছ Name[ast]=Faroés Name[be]=Фароская Name[be@latin]=Faroskaja Name[bg]=Фарьорски Name[bn]=ফারোইস Name[bn_IN]=ফেরোইজ Name[br]=Faroeseg Name[bs]=Farski Name[ca]=Feroès Name[ca@valencia]=Feroés Name[cs]=Faerský Name[csb]=z Òwczëch Òstrowów Name[cy]=Faroeg Name[da]=Færøsk Name[de]=Färöisch Name[el]=Faroese Name[en_GB]=Faroese Name[eo]=Feroa Name[es]=Feroés Name[et]=Fääri Name[eu]=Faroera Name[fa]=فاروسی Name[fi]=Fääri Name[fr]=Féroïen Name[fy]=Faeroersk Name[ga]=Faróis Name[gl]=Feroés Name[gu]=ફોરોસી Name[he]=פארואית Name[hi]=फारसी Name[hne]=फारसी Name[hr]=Farski Name[hsb]=Ferejsce Name[hu]=Faröei Name[ia]=Faroese Name[id]=Faroese Name[is]=Færeyska Name[it]=Faroese Name[ja]=フェーロー語 Name[kk]=Фароэзше Name[km]=ហ្វារ៉ូស Name[kn]=ಫರೊಈಸ್ Name[ko]=페로어 Name[ku]=Faroyî Name[lb]=Faröesch Name[lt]=Farerų Name[lv]=Fēru Name[mai]=फारसी Name[mk]=Фарски Name[ml]=ഫരൂസ് Name[mr]=फारसी Name[ms]=Faroese Name[nb]=Færøyisk Name[nds]=Färöösch Name[ne]=फारोसी Name[nl]=Faroese Name[nn]=Færøysk Name[oc]=Feroés Name[or]=Faroese Name[pa]=ਫਾਰੋਇਸੀ Name[pl]=z Wysp Owczych Name[pt]=Faroês Name[pt_BR]=Feroês Name[ro]=Faroeză Name[ru]=Фарерский Name[se]=Fearagiella Name[si]=ෆැරෝසි Name[sk]=Faerčina Name[sl]=fersko Name[sq]=Faroeze Name[sr]=фарски Name[sr@ijekavian]=фарски Name[sr@ijekavianlatin]=farski Name[sr@latin]=farski Name[sv]=Färöiska Name[ta]=பாரோவீஸ் Name[te]=ఫారొఈస్ Name[tg]=Фароесӣ Name[th]=ภาษาฟาโรอีส Name[tr]=Faroese Name[ug]=فاروئىسچە Name[uk]=Фарерська Name[uz]=Farercha Name[uz@cyrillic]=Фарерча -Name[vi]=Pha-rô +Name[vi]=Faroe Name[wa]=Faeroyès -Name[x-test]=xxFaroesexx Name[xh]=Faroese +Name[x-test]=xxFaroesexx Name[zh_CN]=法罗群岛语 Name[zh_HK]=法羅語 Name[zh_TW]=法羅語 [fr] Name=French Name[af]=Franse Name[ar]=فرنسية Name[as]=ফৰাচী Name[ast]=Francés Name[be]=Французская Name[be@latin]=Francuskaja Name[bg]=Френски Name[bn]=ফরাসী Name[bn_IN]=ফ্রেঞ্চ Name[br]=Galleg Name[bs]=Francuski Name[ca]=Francès Name[ca@valencia]=Francés Name[cs]=Francouzský Name[csb]=Francësczi Name[cy]=Frangeg Name[da]=Fransk Name[de]=Französisch Name[el]=Γαλλικά Name[en_GB]=French Name[eo]=Franca Name[es]=Francés Name[et]=Prantsuse Name[eu]=Frantsesa Name[fa]=فرانسوی Name[fi]=Ranska Name[fr]=Français Name[fy]=Frânsk Name[ga]=Fraincis Name[gl]=Francés Name[gu]=ફ્રેંચ Name[he]=צרפתית Name[hi]=फ्रांसीसी Name[hne]=फ्रांसीसी Name[hr]=Francuski Name[hsb]=Francosce Name[hu]=Francia Name[hy]=Ֆրանսերեն Name[ia]=Francese Name[id]=Prancis Name[is]=Franska Name[it]=Francese Name[ja]=フランス語 Name[kk]=Французша Name[km]=បារាំង Name[kn]=ಫ್ರೆಂಚ್ Name[ko]=프랑스어 Name[ku]=Fransî Name[lb]=Franzéisch Name[lt]=Prancūzų Name[lv]=Franču Name[mai]=फ्रेंच Name[mk]=Француски Name[ml]=ഫ്രഞ്ച് Name[mr]=फ्रेंच Name[ms]=Perancis Name[nb]=Fransk Name[nds]=Franzöösch Name[ne]=फ्रेन्च Name[nl]=Frans Name[nn]=Fransk Name[oc]=Francés Name[or]=French Name[pa]=ਫਰੈਂਚ Name[pl]=Francuski Name[ps]=فرانسوي Name[pt]=Francês Name[pt_BR]=Francês Name[ro]=Franceză Name[ru]=Французский Name[se]=Fránskkagiella Name[si]=ප්‍රංශ Name[sk]=Francúzština Name[sl]=francosko Name[sq]=Franceze Name[sr]=француски Name[sr@ijekavian]=француски Name[sr@ijekavianlatin]=francuski Name[sr@latin]=francuski Name[sv]=Franska Name[ta]=பிரென்சு Name[te]=ఫ్రెంచ్ Name[tg]=Франсавӣ Name[th]=ภาษาฝรั่งเศส Name[tr]=Fransızca Name[ug]=فىرانسۇزچە Name[uk]=Французька Name[uz]=Fransuzcha Name[uz@cyrillic]=Французча Name[vi]=Pháp Name[wa]=Francès -Name[x-test]=xxFrenchxx Name[xh]=Isifrentshi +Name[x-test]=xxFrenchxx Name[zh_CN]=法语 Name[zh_HK]=法語 Name[zh_TW]=法語 [fy] Name=Frisian Name[af]=Frisian Name[ar]=فريسية Name[as]=ফ্ৰিচিয়ান Name[ast]=Frisón Name[be]=Фрысійская Name[be@latin]=Fryskaja Name[bg]=Фризийски Name[bn]=ফ্রিসিয়ান Name[bn_IN]=ফ্রিসিয়ান Name[br]=Frisianeg Name[bs]=Frizijski Name[ca]=Frisó Name[ca@valencia]=Frisó Name[cs]=Fríský Name[csb]=Frizëjsczi Name[cy]=Frisieg Name[da]=Frisisk Name[de]=Friesisch Name[el]=Frisian Name[en_GB]=Frisian Name[eo]=Frisa Name[es]=Frisio Name[et]=Friisi Name[eu]=Frisiera Name[fa]=فریسی Name[fi]=Friisi Name[fr]=Frison Name[fy]=Frysk Name[ga]=Freaslainnis Name[gl]=Frisio Name[gu]=ફ્રિસિયન Name[he]=פריזית Name[hi]=फ्रिसियन Name[hne]=फ्रिसियन Name[hr]=Frizijski Name[hsb]=Frizisce Name[hu]=Fríz Name[ia]=Frisian Name[id]=Frisian Name[is]=Frísneska Name[it]=Frisone Name[ja]=フリジア語 Name[kk]=Фризше Name[km]=ហ្វ្រីស៊ាន Name[kn]=ಫ್ರಿಷಿಯನ್ Name[ko]=프리지아어 Name[ku]=Frîsî Name[lb]=Friesesch Name[lt]=Fryzų Name[lv]=Frīzu Name[mai]=फ्रिसियन Name[mk]=Фризиски Name[ml]=ഫ്രിഷ്യന്‍ Name[mr]=फ्रिसियन Name[ms]=Frisia Name[nb]=Frisisk Name[nds]=Freesch Name[ne]=फ्रिसियन Name[nl]=Frysk Name[nn]=Frisisk Name[oc]=Frisian Name[or]=Frisian Name[pa]=ਫਰੀਸੀਨਿਸ Name[pl]=Fryzyjski Name[ps]=فرېشين Name[pt]=Frísio Name[pt_BR]=Frisão Name[ro]=Frisiană Name[ru]=Фризский Name[se]=Frisagiella Name[si]=ෆ්‍රිසියන් Name[sk]=Frízština Name[sl]=frizijsko Name[sq]=Friziane Name[sr]=фризијски Name[sr@ijekavian]=фризијски Name[sr@ijekavianlatin]=frizijski Name[sr@latin]=frizijski Name[sv]=Frisiska Name[ta]=பிரிசியன் Name[te]=ఫ్రిసియన్ Name[tg]=Фризианӣ Name[th]=ภาษาฟรีเชียน Name[tr]=Frisian Name[ug]=فرىسونچە Name[uk]=Фризька Name[uz]=Frizcha Name[uz@cyrillic]=Фризча -Name[vi]=Ph-ri-xi +Name[vi]=Frisia Name[wa]=Frizon -Name[x-test]=xxFrisianxx Name[xh]=Frisian +Name[x-test]=xxFrisianxx Name[zh_CN]=弗里斯兰语 Name[zh_HK]=弗利然語 Name[zh_TW]=弗利然語 [ga] Name=Irish Gaelic Name[af]=Ierse Gaelic Name[ar]=غايلية إرلاندية Name[as]=আইৰিশ্ব গেলিক Name[ast]=Gaélicu irlandés Name[be]=Ірландская гальская Name[be@latin]=Irlandzkaja gaelskaja Name[bg]=Ирландски Name[bn]=আইরিশ গেলিক Name[bn_IN]=আইরিশ গেলিক Name[br]=Iwerzhoneg eus Bro Iwerzhon Name[bs]=Irski Name[ca]=Gaèlic irlandès Name[ca@valencia]=Gaèlic irlandés Name[cs]=Galský (irština) Name[csb]=Irlandzczi Gaelic Name[da]=Irsk gælisk Name[de]=Irisches Gälisch Name[el]=Ιρλανδική (Gaeilge) Name[en_GB]=Irish Gaelic Name[eo]=Gaela (Irlanda) Name[es]=Gaélico irlandés Name[et]=Iiri gaeli Name[eu]=Irlandar gaelikoa Name[fa]=اسکاتلندی ایرلندی Name[fi]=Iiri Name[fr]=Gaélique irlandais Name[fy]=Iersk Gaelic Name[ga]=Gaeilge Name[gl]=Gaélico irlandés Name[gu]=આઈરીશ ગેલિક Name[he]=גאלית אירית Name[hi]=आइरिश गैलिक Name[hne]=आइरिस गैलिक Name[hr]=Irski Galski Name[hsb]=Gaelisce (Irska) Name[hu]=Gall (ír) Name[ia]=Irlandese Gaelic Name[id]=Gaelic Irlandia Name[is]=Írsk gelíska Name[it]=Gaelico irlandese Name[ja]=アイルランド系ゲール語 Name[kk]=Ирланд галлша Name[km]=អៀរឡង់ ហ្គាអេលិក Name[kn]=ಐರಿಷ್ ಗ್ಯಾಲಿಕ್ Name[ko]=아일랜드 게일어 Name[ku]=Galiya Îrlandayê Name[lb]=Irescht Gällesch Name[lt]=Irish Gaelic Name[lv]=Īru gēlu Name[mai]=आइरिश गैलिक Name[mk]=Ирски галски Name[ml]=ഐറിഷ് ഗാലിക് Name[mr]=आइरिश गैलिक Name[ms]=Irish Gaelic Name[nb]=Irsk gælisk Name[nds]=Irsch Gäälsch Name[ne]=आइरिस ग्यालिक Name[nl]=Gaelic (Iers) Name[nn]=Gælisk (Irland) Name[or]=Irish Gaelic Name[pa]=ਆਈਰਿਸ਼ ਗਾਈਲਿਕ Name[pl]=Irlandzki Gaelic Name[pt]=Galês da Irlanda Name[pt_BR]=Gaélico Irlandês Name[ro]=Galeză irlandeză Name[ru]=Ирландский Name[se]=Irlánddalaš gaelagiella Name[si]=අයිරිෂ් ගේලික් Name[sk]=Írska gaelčina Name[sl]=irsko galsko Name[sq]=Irlandeze Gale Name[sr]=ирски гелски Name[sr@ijekavian]=ирски гелски Name[sr@ijekavianlatin]=irski gelski Name[sr@latin]=irski gelski Name[sv]=Iriska Name[ta]=ஐரிஷ் காலிக் Name[te]=ఐరిష్ గెలిక్ Name[tg]=Ирландӣ (Галикӣ) Name[th]=ภาษาไอริชเกลิค Name[tr]=İrlanda Galik Name[ug]=ئىرېلاندىيە گالىكچە Name[uk]=Гаельська (Ірландія) -Name[vi]=Xen-tợ Ái-nhĩ-lan +Name[vi]=Irish Gaelic Name[wa]=Irlandès Name[x-test]=xxIrish Gaelicxx Name[zh_CN]=爱尔兰盖尔语 Name[zh_TW]=(愛爾蘭)蓋爾語 [gd] Name=Gaelic Name[af]=Gaelic Name[ar]=غايلية Name[as]=গেলিক Name[ast]=Gaélicu Name[be]=Гальская Name[be@latin]=Gaelskaja Name[bg]=Гаелски Name[bn]=গেলিক Name[bn_IN]=গেলিক Name[br]=Iwerzhoneg Name[bs]=Keltski Name[ca]=Gaèlic Name[ca@valencia]=Gaèlic Name[cs]=Galský Name[csb]=Celtycczi (gaelic) Name[cy]=Gaeleg Name[da]=Gælisk Name[de]=Gälisch Name[el]=Σκωτική (Gaelic) Name[en_GB]=Gaelic Name[eo]=Gaela Name[es]=Gaélico Name[et]=Gaeli Name[eu]=Gaelikoa Name[fa]=اسکاتلندی Name[fi]=Gaeli Name[fr]=Gaélique Name[fy]=Gaelic Name[ga]=Gàidhlig Name[gl]=Gaélico Name[gu]=ગેલિક Name[he]=גאלית Name[hi]=गैलिक Name[hne]=गैलिक Name[hr]=Galski Name[hsb]=Gaelisce Name[hu]=Gall Name[ia]=Gaelic Name[id]=Gaelic Name[is]=Gelíska Name[it]=Gaelico Name[ja]=ゲール語 Name[kk]=Галлша Name[km]=ហ្គាអេលិក Name[kn]=ಗ್ಯಾಲಿಕ್ Name[ko]=게일어 Name[ku]=Gaelî Name[lb]=Gällesch Name[lt]=Galų Name[lv]=Gēlu Name[mai]=गैलिक Name[mk]=Галски Name[ml]=ഗാലിക് Name[mr]=गैलिक Name[ms]=Gaelic Name[nb]=Gælisk Name[nds]=Gäälsch Name[ne]=ग्यालिक Name[nl]=Gaelic Name[nn]=Gælisk Name[oc]=Gaelic Name[or]=Gaelic Name[pa]=ਗਾਈਲਿਕ Name[pl]=celtycki (gaelic) Name[ps]=ګاېلېک Name[pt]=Galês Name[pt_BR]=Gaélico Name[ro]=Galeză Name[ru]=Шотландский Name[se]=Gaelagiella Name[si]=ගේලික් Name[sk]=Gaelčina Name[sl]=galsko Name[sq]=Gale Name[sr]=гелски Name[sr@ijekavian]=гелски Name[sr@ijekavianlatin]=gelski Name[sr@latin]=gelski Name[sv]=Gäliska Name[ta]=கேலிக் Name[te]=గెలిక్ Name[tg]=Галикӣ Name[th]=ภาษาเกลิค Name[tr]=Galik Name[ug]=گالىكچە Name[uk]=Гаельська Name[uz]=Galikcha Name[uz@cyrillic]=Галикча -Name[vi]=Xen-tợ +Name[vi]=Gaelic Name[wa]=Gayel -Name[x-test]=xxGaelicxx Name[xh]=Gaelic +Name[x-test]=xxGaelicxx Name[zh_CN]=盖尔语 Name[zh_HK]=蓋爾語 Name[zh_TW]=蓋爾語 [gl] Name=Galician Name[af]=Galician Name[ar]=جلقية Name[as]=গেলিচিয়ান Name[ast]=Gallegu Name[be]=Галіцыйская Name[be@latin]=Galisijskaja Name[bg]=Галисийски Name[bn]=গেলিসিয়ান Name[bn_IN]=গেলিশিয়ান Name[br]=Galiseg Name[bs]=Galicijski Name[ca]=Gallec Name[ca@valencia]=Gallec Name[cs]=Haličský Name[csb]=Galicëjsczi Name[cy]=Galiseg Name[da]=Galicisk Name[de]=Galicisch Name[el]=Γαλικιανά (Ισπανία) Name[en_GB]=Galician Name[eo]=Galega Name[es]=Gallego Name[et]=Galeegi Name[eu]=Galiziera Name[fa]=اسکاتلندی Name[fi]=Gallicia Name[fr]=Galicien Name[fy]=Galiciaansk Name[ga]=Gailísis Name[gl]=Galego Name[gu]=ગેલિસીયન Name[he]=גליסית Name[hi]=गैलिसियाई Name[hne]=गैलिसियाई Name[hr]=Galicijski Name[hsb]=Galicisce Name[hu]=Galíciai Name[ia]=Galleco Name[id]=Galician Name[is]=Gelíska Name[it]=Gallego Name[ja]=ガリシア語 Name[kk]=Галицияша Name[km]=ហ្កាលីស៊ី Name[kn]=ಗ್ಯಾಲಿಷಿಯನ್ Name[ko]=갈리시아어 Name[ku]=Galîkî Name[lb]=Galizesch Name[lt]=Galiciečių Name[lv]=Galisiešu Name[mai]=गेलिसियन Name[mk]=Галски Name[ml]=ഗലീഷ്യന്‍ Name[mr]=गैलिसियाई Name[ms]=Galician Name[nb]=Galicisk Name[nds]=Galizsch Name[ne]=ग्यालिसियन Name[nl]=Galicisch Name[nn]=Galisisk Name[oc]=Galician Name[or]=Galician Name[pa]=ਗਾਈਲੀਆਈ Name[pl]=Galicyjski Name[ps]=ګېلېشين Name[pt]=Galego Name[pt_BR]=Galego Name[ro]=Galiciană Name[ru]=Галисийский Name[se]=Galisiagiella Name[si]=ගැලීසියානු Name[sk]=Galícijčina Name[sl]=galicijsko Name[sq]=Galiciane Name[sr]=галицијски Name[sr@ijekavian]=галицијски Name[sr@ijekavianlatin]=galicijski Name[sr@latin]=galicijski Name[sv]=Galiciska Name[ta]=காலிசியன் Name[te]=గలిచియన్ Name[tg]=Галлӣ Name[th]=ภาษาแกลิเซีย Name[tr]=Galce -Name[ug]=گالىتسىيانچە +Name[ug]=گالىسىيچە Name[uk]=Галісійська Name[uz]=Galikcha Name[uz@cyrillic]=Галикча -Name[vi]=Ga-li-ci +Name[vi]=Galicia Name[wa]=Galicyin -Name[x-test]=xxGalicianxx Name[xh]=isiGalacian +Name[x-test]=xxGalicianxx Name[zh_CN]=加利西亚语 Name[zh_TW]=加利西亞語 [gn] Name=Guarani Name[af]=Guarani Name[ar]=غوراني Name[as]=গুৱাৰানি Name[ast]=Guaraní Name[be]=Гуярані Name[be@latin]=Guarani Name[bg]=Гуарани Name[bn]=গুয়ারানি Name[bn_IN]=গুয়ারানি Name[br]=Guarani Name[bs]=Guaranski Name[ca]=Guaraní Name[ca@valencia]=Guaraní Name[cs]=Guarani Name[csb]=Guarani Name[cy]=Guarani Name[da]=Guarani Name[de]=Guarani Name[el]=Γκουαράνι Name[en_GB]=Guarani Name[eo]=Gvarania Name[es]=Guaraní Name[et]=Guaranii Name[eu]=Guaraniera Name[fa]=گوارانی Name[fi]=Guarani Name[fr]=Guarani Name[fy]=Guarani Name[ga]=Guaráinis Name[gl]=Guaraní Name[gu]=ગુઆરાની Name[he]=גוארני Name[hi]=गौरानी Name[hne]=गौरानी Name[hr]=Gvaranski Name[hsb]=Guarani Name[hu]=Guarani Name[ia]=Guarani Name[id]=Guarani Name[is]=Guarani Name[it]=Guaraní Name[ja]=グァラニ語 Name[kk]=Гуарани Name[km]=ហ្គារ៉ានី Name[kn]=ಗುವಾರಾನಿ Name[ko]=과라니어 Name[ku]=Guaranî Name[lb]=Guarani Name[lt]=Guarani Name[lv]=Gvaranu Name[mai]=गौरानी Name[mk]=Гуарани Name[ml]=ഗുരാണി Name[mr]=गौरानी Name[ms]=Guarani Name[nb]=Guarani Name[nds]=Guarani Name[ne]=गुवारानी Name[nl]=Guarani Name[nn]=Guarani Name[oc]=Guarari Name[or]=Guarani Name[pa]=ਗੁਜਰਾਨੀ Name[pl]=Guarani Name[ps]=ګوراني Name[pt]=Guarani Name[pt_BR]=Guarani Name[ro]=Guarană Name[ru]=Гуарани Name[se]=Guaránagiella Name[si]=ගුවාරානි Name[sk]=Guaraníjčina Name[sl]=guarani Name[sq]=Guarani Name[sr]=гварани Name[sr@ijekavian]=гварани Name[sr@ijekavianlatin]=gvarani Name[sr@latin]=gvarani Name[sv]=Guarani Name[ta]=குவரானி Name[te]=గువారాని Name[tg]=Гуаранӣ Name[th]=ภาษากวารานี Name[tr]=Guarani Name[ug]=گۇئارانىچە Name[uk]=Гуарані Name[uz]=Guarani Name[uz@cyrillic]=Гуарани -Name[vi]=Gua-ra-ni +Name[vi]=Guarani Name[wa]=Gwarani -Name[x-test]=xxGuaranixx Name[xh]=Guarani +Name[x-test]=xxGuaranixx Name[zh_CN]=瓜拉尼语 Name[zh_HK]=瓜拉尼語 Name[zh_TW]=瓜拉尼語 [gu] Name=Gujarati Name[af]=Gujarati Name[ar]=كوجراتي Name[as]=গুজ্ৰাটি Name[ast]=Gujaratí Name[be]=Гуяраці Name[be@latin]=Gujarati Name[bg]=Гуджарати Name[bn]=গুজরাতী Name[bn_IN]=গুজরাতি Name[br]=Gujaratieg Name[bs]=Guđaratski Name[ca]=Gujarati Name[ca@valencia]=Gujarati Name[cs]=Gujarati Name[csb]=Gujarati Name[cy]=Gujarati Name[da]=Gujarati Name[de]=Gujarati Name[el]=Gujarati Name[en_GB]=Gujarati Name[eo]=Guĝarata Name[es]=Gujarati Name[et]=Gudžarati Name[eu]=Gujaratera Name[fa]=گجراتی Name[fi]=Gudžarati Name[fr]=Gujarati Name[fy]=Gujarati Name[ga]=Gúisearáitis Name[gl]=Guxarati Name[gu]=ગુજરાતી Name[he]=גוג'ראטית Name[hi]=गुजराती Name[hne]=गुजराती Name[hr]=Gudžaratski Name[hsb]=Gujarati Name[hu]=Gudzsarati Name[ia]=Gujarati Name[id]=Gujarati Name[is]=Gujarati Name[it]=Gujarati Name[ja]=グジャラート語 Name[kk]=Гуджарати Name[km]=ហ្គុយ៉ារ៉ាទី Name[kn]=ಗುಜರಾತಿ Name[ko]=구자라트어 Name[ku]=Guyaratî Name[lb]=Gujarati Name[lt]=Gudžarati Name[lv]=Gudžarati Name[mai]=गुजराती Name[mk]=Гујарати Name[ml]=ഗുജറാത്തി Name[mr]=गुजराती Name[ms]=Gujarati Name[nb]=Gujarati Name[nds]=Gudscharati Name[ne]=गुजराती Name[nl]=Gujarati Name[nn]=Gujarati Name[oc]=Gujarati Name[or]=Gujarati Name[pa]=ਗੁਜਰਾਤੀ Name[pl]=Gujarati Name[ps]=ګجراتي Name[pt]=Gujarati Name[pt_BR]=Gujerati Name[ro]=Gujarati Name[ru]=Гуджарати Name[se]=Gujaratigiella Name[si]=ගුජරාටි Name[sk]=Gudžarátčina Name[sl]=gujarati Name[sq]=Gujarati Name[sr]=гуџарати Name[sr@ijekavian]=гуџарати Name[sr@ijekavianlatin]=gudžarati Name[sr@latin]=gudžarati Name[sv]=Gujarati Name[ta]=குஜராத்தி Name[te]=గుజరాతీ Name[tg]=Гӯҷаратӣ Name[th]=ภาษากูจาราตี Name[tr]=Gujarati Name[ug]=گۇجاراتچە Name[uk]=Гуджараті Name[uz]=Gujarati Name[uz@cyrillic]=Гужарати -Name[vi]=Gu-gia-ra-ti +Name[vi]=Gujarati Name[wa]=Goudjarati -Name[x-test]=xxGujaratixx Name[xh]=Gujarati +Name[x-test]=xxGujaratixx Name[zh_CN]=古吉拉特语 Name[zh_HK]=古吉拉特語 Name[zh_TW]=古吉拉特語 [gv] Name=Manx Name[af]=Manx Name[ar]=مانكس Name[as]=মানক্স Name[ast]=Manés Name[be]=Мэнкс Name[be@latin]=Manx Name[bg]=Манкски Name[bn]=মানক্স Name[bn_IN]=ম্যাঙ্গস Name[br]=Manav Name[bs]=Manski(Keltski) Name[ca]=Manx Name[ca@valencia]=Manx Name[cs]=Manx Name[csb]=Manx Name[cy]=Manneg Name[da]=Mansk Name[de]=Manx Name[el]=Manx (Gaelg) Name[en_GB]=Manx Name[eo]=Manksa Name[es]=Manés Name[et]=Mänksi Name[eu]=Manera Name[fa]=مانکسی Name[fi]=Manx Name[fr]=Mannois Name[fy]=Manx Name[ga]=Manainnis Name[gl]=Manés Name[gu]=માન્ક્ષ Name[he]=מאנית Name[hi]=मांक्स Name[hne]=मांक्स Name[hr]=Manx Name[hsb]=Manxowsce Name[hu]=Manx Name[ia]=Manx Name[id]=Manx Name[is]=Manx Name[it]=Mannese Name[ja]=マン島語 Name[kk]=Манксша Name[km]=ម៉ង Name[kn]=ಮಾನ್ಕ್ಸ್ Name[ko]=망스어 Name[ku]=Manks Name[lb]=Manx Name[lt]=Manx Name[lv]=Meniešu Name[mai]=मांक्स Name[mk]=Манкс Name[ml]=മാന്‍ക്സ് Name[mr]=मांक्स Name[ms]=Manx Name[nb]=Manx Name[nds]=Manx Name[ne]=म्याङ्क्स Name[nl]=Manx Name[nn]=Manx Name[or]=Manx Name[pa]=ਮਾਲਸ Name[pl]=Manx Name[ps]=مېنکس Name[pt]=Manx Name[pt_BR]=Manês Name[ro]=Manxă Name[ru]=Мэнский Name[se]=Mánksagiella Name[si]=මැන්ක්ස් Name[sk]=Mančina Name[sl]=manx Name[sq]=Manks Name[sr]=манкс Name[sr@ijekavian]=манкс Name[sr@ijekavianlatin]=manks Name[sr@latin]=manks Name[sv]=Manx Name[ta]=மான்க்ஸ் Name[te]=మేన్క్స్ Name[tg]=Манксӣ Name[th]=ภาษาแมงซ์ Name[tr]=Manx Name[ug]=مانكىسچە Name[uk]=Манкс Name[uz]=Manks Name[uz@cyrillic]=Манкс -Name[vi]=Man-xợ +Name[vi]=Manx Name[wa]=Gayel del Iye di Man -Name[x-test]=xxManxxx Name[xh]=Manx +Name[x-test]=xxManxxx Name[zh_CN]=马恩语 Name[zh_HK]=曼島語 Name[zh_TW]=曼島語 [ha] Name=Hausa Name[af]=Hausa Name[ar]=هوس Name[as]=হাউছা Name[ast]=Hausa Name[be]=Хаўса Name[be@latin]=Hausa Name[bg]=Хауса Name[bn]=হাউসা Name[bn_IN]=হাওসা Name[br]=Haousa Name[bs]=Hausa Name[ca]=Haussa Name[ca@valencia]=Haussa Name[cs]=Hausa Name[csb]=Hausa Name[cy]=Hausa Name[da]=Hausa Name[de]=Hausa Name[el]=Hausa Name[en_GB]=Hausa Name[eo]=Haŭsa Name[es]=Hausa Name[et]=Hausa Name[eu]=Hausa Name[fa]=هوسا Name[fi]=Hausa Name[fr]=Haoussa Name[fy]=Hausa Name[ga]=Hásais Name[gl]=Hausa Name[gu]=હુસા Name[he]=האוסה Name[hi]=हौसा Name[hne]=हौसा Name[hr]=Hausa Name[hsb]=Hausasce Name[hu]=Hausa Name[ia]=Hausa Name[id]=Hausa Name[is]=Hausa Name[it]=Hausa Name[ja]=ハウサ語 Name[kk]=Хауса Name[km]=ហូសា Name[kn]=ಹೌಸಾ Name[ko]=하우사어 Name[ku]=Hawsa Name[lb]=Haussa-Sprooch Name[lt]=Hausa Name[lv]=Hausu Name[mai]=हौसा Name[mk]=Хауса Name[ml]=ഹൌസാ Name[mr]=हौसा Name[ms]=Hausa Name[nb]=Hausa Name[nds]=Haussa Name[ne]=हउसा Name[nl]=Hausa Name[nn]=Hausa Name[oc]=Hausa Name[or]=Hausa Name[pa]=ਹਾਉਸਾ Name[pl]=Hausa Name[ps]=هاوسا Name[pt]=Hausa Name[pt_BR]=Haússa Name[ro]=Hausă Name[ru]=Хауса Name[se]=Hausagiella Name[si]=හවුසා Name[sk]=Hauština Name[sl]=hausa Name[sq]=Hausa Name[sr]=хауса Name[sr@ijekavian]=хауса Name[sr@ijekavianlatin]=hausa Name[sr@latin]=hausa Name[sv]=Hausa Name[ta]=ஹவுசா Name[te]=హౌసా Name[tg]=Хаусагӣ Name[th]=ภาษาเฮาซา Name[tr]=Hausa Name[ug]=خائۇساچە Name[uk]=Гауса Name[uz]=Xausa Name[uz@cyrillic]=Хауса -Name[vi]=Hau-sa +Name[vi]=Hausa Name[wa]=Hawsa -Name[x-test]=xxHausaxx Name[xh]=Hausa +Name[x-test]=xxHausaxx Name[zh_CN]=豪撒语 Name[zh_HK]=豪薩語 Name[zh_TW]=豪薩語 [he] Name=Hebrew Name[af]=Hibreüs Name[ar]=عبرية Name[as]=হিব্ৰিউ Name[ast]=Hebreu Name[be]=Габрэйская Name[be@latin]=Habrejskaja Name[bg]=Иврит Name[bn]=হীব্রু Name[bn_IN]=হিব্রু Name[br]=Hebreeg Name[bs]=Hebrejski Name[ca]=Hebreu Name[ca@valencia]=Hebreu Name[cs]=Hebrejský Name[csb]=Hebrejsczi Name[cy]=Iddeweg Name[da]=Hebraisk Name[de]=Hebräisch Name[el]=Εβραϊκά Name[en_GB]=Hebrew Name[eo]=Hebrea Name[es]=Hebreo Name[et]=Heebrea Name[eu]=Hebreera Name[fa]=عبری Name[fi]=Heprea Name[fr]=Hébreu Name[fy]=Hebrieuwsk Name[ga]=Eabhrais Name[gl]=Hebreu Name[gu]=હિબ્રુ Name[he]=עברית Name[hi]=हिब्रू Name[hne]=हिब्रू Name[hr]=Hebrejski Name[hsb]=Hebrejsce Name[hu]=Héber Name[ia]=Hebreo Name[id]=Ibrani Name[is]=Hebreska Name[it]=Ebraico Name[ja]=ヘブライ語 Name[kk]=Ивритше Name[km]=ហេប្រ៊ូ Name[kn]=ಹೀಬ್ರೂ Name[ko]=히브리어 Name[ku]=Îbranî Name[lb]=Hebräesch Name[lt]=Hebrajų Name[lv]=Ivrits Name[mai]=हिब्रू Name[mk]=Еврејски Name[ml]=ഹീബ്രു Name[mr]=हिब्रू Name[ms]=Hebrew Name[nb]=Hebraisk Name[nds]=Hebrääsch Name[ne]=हिब्रु Name[nl]=Hebreeuws Name[nn]=Hebraisk Name[oc]=Ebrèu Name[or]=Hebrew Name[pa]=ਹੈਬਰਿਊ Name[pl]=Hebrajski Name[ps]=هېبرو Name[pt]=Hebreu Name[pt_BR]=Hebraico Name[ro]=Ebraică Name[ru]=Иврит Name[se]=Hebreagiella Name[si]=හීබෲ Name[sk]=Hebrejčina Name[sl]=hebrejsko Name[sq]=Hebraike Name[sr]=хебрејски Name[sr@ijekavian]=хебрејски Name[sr@ijekavianlatin]=hebrejski Name[sr@latin]=hebrejski Name[sv]=Hebreiska Name[ta]=எபிரேயம் Name[te]=హీబ్రూ Name[tg]=Яҳудӣ Name[th]=ภาษาฮิบรู Name[tr]=İbranice Name[ug]=ئىبرانىچە Name[uk]=Єврейська Name[uz]=Yahudiycha Name[uz@cyrillic]=Яҳудийча -Name[vi]=Do-thái +Name[vi]=Do Thái Name[wa]=Ebreu -Name[x-test]=xxHebrewxx Name[xh]=Isihebhere +Name[x-test]=xxHebrewxx Name[zh_CN]=希伯来语 Name[zh_HK]=希伯來語 Name[zh_TW]=希伯來語 [hi] Name=Hindi Name[af]=Hindi Name[ar]=هندية Name[as]=হিন্দী Name[ast]=Hindí Name[be]=Хіндзі Name[be@latin]=Hindzi Name[bg]=Хинди Name[bn]=হিন্দী Name[bn_IN]=হিন্দি Name[br]=Hindi Name[bs]=Hindu Name[ca]=Hindi Name[ca@valencia]=Hindi Name[cs]=Hindský Name[csb]=Hindi Name[cy]=Hindw^ Name[da]=Hindi Name[de]=Hindi Name[el]=Hindi Name[en_GB]=Hindi Name[eo]=Hinda Name[es]=Hindi Name[et]=Hindi Name[eu]=Hindi Name[fa]=هندی Name[fi]=Hindi Name[fr]=Hindi Name[fy]=Hindy Name[ga]=Hiondúis Name[gl]=Hindi Name[gu]=હિન્દી Name[he]=הינדית Name[hi]=हिन्दी Name[hne]=हिन्दी Name[hr]=Hinduski Name[hsb]=Hindisce Name[hu]=Hindi Name[hy]=Հինդի Name[ia]=Hindi Name[id]=Hindi Name[is]=Hindi Name[it]=Hindi Name[ja]=ヒンディー語 Name[kk]=Хинди Name[km]=ហិណ្ឌូ Name[kn]=ಹಿಂದಿ Name[ko]=힌디어 Name[ku]=Hîndî Name[lb]=Hindi Name[lt]=Hindi Name[lv]=Hindu Name[mai]=हिन्दी Name[mk]=Хинди Name[ml]=ഹിന്ദി Name[mr]=हिंदी Name[ms]=Hindi Name[nb]=Hindi Name[nds]=Hindi Name[ne]=हिन्दी Name[nl]=Hindi Name[nn]=Hindi Name[oc]=Indi Name[or]=Hindi Name[pa]=ਹਿੰਦੀ Name[pl]=Hindi Name[ps]=هندي Name[pt]=Hindu Name[pt_BR]=Hindi Name[ro]=Hindusă Name[ru]=Хинди Name[se]=Hindigiella Name[si]=හින්දි Name[sk]=Hindčina Name[sl]=hindujsko Name[sq]=Hindi Name[sr]=хинду Name[sr@ijekavian]=хинду Name[sr@ijekavianlatin]=hindu Name[sr@latin]=hindu Name[sv]=Hindi Name[ta]=ஹிந்தி Name[te]=హింది Name[tg]=Ҳиндӣ Name[th]=ภาษาฮินดี Name[tr]=Hintçe Name[ug]=ھىندىچە Name[uk]=Хінді Name[uz]=Hindcha Name[uz@cyrillic]=Ҳиндча -Name[vi]=Hin-đi +Name[vi]=Hindi Name[wa]=Hindi -Name[x-test]=xxHindixx Name[xh]=Hindi +Name[x-test]=xxHindixx Name[zh_CN]=印度语 Name[zh_HK]=北印度語 Name[zh_TW]=北印度語 [hne] Name=Chhattisgarhi Name[ar]=تشهتسجريا Name[ast]=Chhattisgarhi Name[be@latin]=Chhattisgarhi Name[bg]=Чхатисгархи Name[bn]=ছত্তিসগড়ি Name[bs]=Čatigarski Name[ca]=Chattisgarbi Name[ca@valencia]=Chattisgarbi Name[cs]=Chhattisgarhi Name[da]=Chhattisgarhi Name[de]=Chhattisgarhi Name[el]=Χατισγκαρχί Name[en_GB]=Chhattisgarhi Name[eo]=Chhattisgarhi Name[es]=Chhattisgarhi Name[et]=Chhattisgarhi Name[eu]=Chhattisgarhi Name[fi]=Chhattisgarhi Name[fr]=Chhattisgarhi Name[fy]=Chhattisgarhi Name[ga]=Chaitisgharhís Name[gl]=Chhattisgarhi Name[gu]=છત્તિસગઢી Name[he]=צ'האטיסגארי Name[hr]=Chhattisgarhi Name[hu]=Cshattíszgarhi Name[ia]=Chhattisgarhi Name[id]=Chhattisgarhi Name[is]=Chhattisgarhi Name[it]=Chhattisgarhi Name[ja]=チャッティースガリー語 Name[kk]=Чхаттисгарти Name[km]=ឆាយទីសហ្គាស៊ី Name[kn]=ಛತ್ತೀಸ್ಗರ್ಹಿ Name[ko]=차티스가르어 Name[ku]=Şattisgarî Name[lv]=Čatisgari Name[ml]=ചത്തീസ്ഗരി Name[ms]=Chhattisgarhi Name[nb]=Chhattisgarhi Name[nds]=Chhattisgarhi Name[nl]=Chhattisgarhi Name[nn]=Tsjhattisgarhi Name[pa]=ਛੱਤੀਸਗੜ੍ਹੀ Name[pl]=Chhattisgarhi Name[pt]=Chhattisgarhi Name[pt_BR]=Chhattisgarhi Name[ro]=Chhattisgarhi Name[ru]=Чхаттисгархи Name[se]=Čattisgarhigiella Name[sk]=Čatísgarh Name[sq]=Chhattisgarhi Name[sr]=чатисгархи Name[sr@ijekavian]=чатисгархи Name[sr@ijekavianlatin]=čatisgarhi Name[sr@latin]=čatisgarhi Name[sv]=Chhattisgarhi Name[ta]=சத்தீஸ்கரி Name[tg]=Chhattisgarhi Name[th]=ภาษาฉัตติสครห์ Name[tr]=Chhattisgarhi Name[ug]=چاتتىسگارھىچە Name[uk]=Чхатісгарі +Name[vi]=Chhattisgarhi Name[wa]=Chhattisgarhi Name[x-test]=xxChhattisgarhixx Name[zh_CN]=恰蒂斯加尔语 Name[zh_TW]=Chhattisgarhi [ho] Name=Hiri Motu Name[af]=Hiri Motu Name[ar]=هيري موتو Name[as]=হিৰি মোটু Name[ast]=Hiri Motu Name[be]=Хірымоту Name[be@latin]=Hiri Motu Name[bg]=Хири Моту Name[bn]=হিরি মোটু Name[bn_IN]=হিরি মোটু Name[br]=Hiri Motu Name[bs]=Hiri Motu Name[ca]=Hiri Motu Name[ca@valencia]=Hiri Motu Name[cs]=Hiri Motu Name[csb]=Hiri Motu Name[cy]=Hiri Motu Name[da]=Hiri Motu Name[de]=Hiri Motu Name[el]=Hiri Motu Name[en_GB]=Hiri Motu Name[eo]=Hirimotua Name[es]=Hiri Motu Name[et]=Hiri Motu Name[eu]=Hiri Motu Name[fa]=هیری موتو Name[fi]=Hiri-motu Name[fr]=Hiri motu Name[fy]=Hiri Motu Name[ga]=Hírí-Mótúis Name[gl]=Hiri Motu Name[gu]=હીરી મોટુ Name[he]=הירי מוטו Name[hi]=हिरी मोतू Name[hne]=हिरी मोतू Name[hr]=Hiri Motu Name[hsb]=Hiri Motusce Name[hu]=Hiri motu Name[ia]=Hiri Motu Name[id]=Hiri Motu Name[is]=Hiri Motu Name[it]=Hiri motu Name[ja]=ヒリモトゥ語 Name[kk]=Хири Моту Name[km]=ហ៊ីរី ម៉ូទូ Name[kn]=ಹೀರೀ ಮೋಟೂ Name[ko]=히리 모투어 Name[ku]=Hîrî Motu Name[lb]=Hiri-Motu Name[lt]=Hiri Motu Name[lv]=Hirimotu Name[mai]=हिरी मोतू Name[mk]=Хири Моту Name[ml]=ഹിരി മൊട്ടു Name[mr]=हिरी मोतू Name[ms]=Hiri Motu Name[nb]=Hiri Motu Name[nds]=Hiri Motu Name[ne]=हिरी मोतु Name[nl]=Hiri Motu Name[nn]=Hiri motu Name[oc]=Iri Motu Name[or]=Hiri Motu Name[pa]=ਹੀਰੀ ਮੋਟੂ Name[pl]=Hiri Motu Name[ps]=هيري موټو Name[pt]=Hiri Motu Name[pt_BR]=Hiri Motu Name[ro]=Hiri Motu Name[ru]=Хири-моту Name[se]=Hiri Motu-giella Name[si]=හිරි මොටු Name[sk]=Hiri Motu Name[sl]=hiri motu Name[sq]=Hiri Motu Name[sr]=хири‑моту Name[sr@ijekavian]=хири‑моту Name[sr@ijekavianlatin]=hiri‑motu Name[sr@latin]=hiri‑motu Name[sv]=Hirimotu Name[ta]=ஹிரி மோடு Name[te]=హిరి మోటు Name[tg]=Хири Моту Name[th]=ภาษาฮิริโมตู Name[tr]=Hiri Motu Name[ug]=خىرى موتۇچە Name[uk]=Хірімоту Name[uz]=Xiri Motu Name[uz@cyrillic]=Хири Моту -Name[vi]=Hi-ri-mô-tu +Name[vi]=Hiri Motu Name[wa]=Hiri Motu -Name[x-test]=xxHiri Motuxx Name[xh]=Hiri Motu +Name[x-test]=xxHiri Motuxx Name[zh_CN]=希里莫图语 Name[zh_HK]=Hiri Motu語 Name[zh_TW]=Hiri Motu語 [hr] Name=Croatian Name[af]=Kroatiese Name[ar]=كرواتية Name[as]=ক্ৰোয়েচিয়ান Name[ast]=Croata Name[be]=Харвацкая Name[be@latin]=Charvackaja Name[bg]=Хърватски Name[bn]=ক্রোয়েশীয় Name[bn_IN]=ক্রোয়েশিয়ান Name[br]=Kroateg Name[bs]=Hrvatski Name[ca]=Croat Name[ca@valencia]=Croat Name[cs]=Chorvatský Name[csb]=Chòrwacczi Name[cy]=Croatieg Name[da]=Kroatisk Name[de]=Kroatisch Name[el]=Κροατικά Name[en_GB]=Croatian Name[eo]=Kroata Name[es]=Croata Name[et]=Horvaadi Name[eu]=Kroaziera Name[fa]=کروواسیایی Name[fi]=Kroatia Name[fr]=Croate Name[fy]=Kroatysk Name[ga]=Cróitis Name[gl]=Croata Name[gu]=ક્રોએશિયન Name[he]=קרואטית Name[hi]=क्रोएशियाई Name[hne]=क्रोएसियाई Name[hr]=Hrvatski Name[hsb]=Chorwatsce Name[hu]=Horvát Name[ia]=Croato Name[id]=Kroatia Name[is]=Króatíska Name[it]=Croato Name[ja]=クロアチア語 Name[kk]=Хорватша Name[km]=ក្រូអាត Name[kn]=ಕ್ರೊಯೇಶಿಯನ್ Name[ko]=크로아티아어 Name[ku]=Kroatî Name[lb]=Kroatesch Name[lt]=Kroatų Name[lv]=Horvātu Name[mai]=क्रोएशियाइ Name[mk]=Хрватски Name[ml]=ക്രോയേഷ്യന്‍ Name[mr]=क्रोएशीयन Name[ms]=Croatia Name[nb]=Kroatisk Name[nds]=Kroaatsch Name[ne]=क्रोयसियाली Name[nl]=Kroatisch Name[nn]=Kroatisk Name[oc]=Croat Name[or]=Croatian Name[pa]=ਕਰੋਟੀਅਨ Name[pl]=Chorwacki Name[ps]=کروټيايي Name[pt]=Croata Name[pt_BR]=Croata Name[ro]=Croată Name[ru]=Хорватский Name[se]=Kroatiagiella Name[si]=ක්‍රොඒෂියානු Name[sk]=Chorvátčina Name[sl]=hrvaško Name[sq]=Kroate Name[sr]=хрватски Name[sr@ijekavian]=хрватски Name[sr@ijekavianlatin]=hrvatski Name[sr@latin]=hrvatski Name[sv]=Kroatiska Name[ta]=குரொயேசியன் Name[te]=క్రొయెషియన్ Name[tg]=Хорватӣ Name[th]=ภาษาโครเอเชีย Name[tr]=Hırvatça Name[ug]=خورۋاتچە Name[uk]=Хорватська Name[uz]=Xorvatcha Name[uz@cyrillic]=Хорватча -Name[vi]=Cợ-rô-a-ti-a +Name[vi]=Croatia Name[wa]=Crowåte -Name[x-test]=xxCroatianxx Name[xh]=Croatian +Name[x-test]=xxCroatianxx Name[zh_CN]=克罗地亚语 Name[zh_HK]=克羅地亞語 Name[zh_TW]=克羅埃西亞語 [hsb] Name=Upper Sorbian Name[af]=Hoog Serbiese Name[ar]=صوربية مرتفعة Name[as]=আপাৰ ছৰ্বিয়ান Name[ast]=Altu Sorbiu Name[be]=Верхнялужыцкая Name[be@latin]=Vierchnie-łužyckaja Name[bg]=Горносорбийски Name[bn]=উচ্চ সার্বীয় Name[bn_IN]=আপার সোর্বিয়ান Name[br]=Sorab uhel Name[bs]=Gornjolužičkosrpski Name[ca]=Alt sòrab Name[ca@valencia]=Alt sòrab Name[cs]=Hornolužicko srbský Name[csb]=Górnosorbsczi Name[cy]=Sorbieg Uchaf Name[da]=Øvre sorbisk Name[de]=Obersorbisch Name[el]=Άνω Σορβικά Name[en_GB]=Upper Sorbian Name[eo]=Alta soraba Name[es]=Alto sorabo Name[et]=Ülemsorbi Name[eu]=Goi Serbiera Name[fa]=صربستان شمالی Name[fi]=Yläsorbi Name[fr]=Haut-Sorabe Name[fy]=Heech Sorbysk Name[ga]=Sorbais Uachtarach Name[gl]=Alto sórabo Name[gu]=અપર સોર્બિયન Name[he]=סורבית עילית Name[hi]=ऊपरी सॉर्बियाई Name[hne]=ऊपरी सार्बियाई Name[hr]=Gornjosrpski Name[hsb]=Hornjoserbsce Name[hu]=Felső szorb Name[ia]=Alto Sorbiano Name[id]=Sorbian Atas Name[is]=Upper Sorbian Name[it]=Alto sorabo Name[ja]=上ソルブ語 Name[kk]=Жоғары сорбше Name[km]=សូបៀន លើ Name[kn]=ಮೇಲಿನ ಸೋರ್ಬಿಯನ್ Name[ko]=고지대 소르비아어 Name[ku]=Sorbiya Jorîn Name[lb]=Uewersorbesch Name[lt]=Upper Sorbian Name[lv]=Augšsorbu Name[mai]=ऊपरी सॉर्बियाइ Name[mk]=Јужно лужички Name[ml]=അപ്പര്‍ സോര്‍ബിയന്‍ Name[mr]=अप्पर सोर्बीयन Name[ms]=Upper Sorbian Name[nb]=Øvresorbisk Name[nds]=Böversorbsch Name[ne]=माथिल्लो सोर्बियाली Name[nl]=Opper Sorbian Name[nn]=Høgsorbisk Name[or]=Upper Sorbian Name[pa]=ਉੱਪਰੀ ਸਰਬੀਆਈ Name[pl]=Górnołużycki Name[ps]=بره سربي Name[pt]=Sérvio de Cima Name[pt_BR]=Alto Sorábio Name[ro]=Sîrbă de Sus Name[ru]=Верхнелужицкий Name[se]=Bajil Sorbiagiella Name[si]=ඉහළ සෝබියානු Name[sk]=Hornolužická srbčina Name[sl]=zgornjesorbijsko Name[sq]=Sorbiane e Sipërme Name[sr]=горњолужичкосрпски Name[sr@ijekavian]=горњолужичкосрпски Name[sr@ijekavianlatin]=gornjolužičkosrpski Name[sr@latin]=gornjolužičkosrpski Name[sv]=Högsorbiska Name[ta]=செர்பியன் பெரியெழுத்து Name[te]=అప్పర్ సొర్బియన్ Name[tg]=Сербияи Болоӣ Name[th]=ภาษาซอร์เบียนตอนบน Name[tr]=Yukarı Sırpça Name[ug]=ئۈستى سوربىيانچە Name[uk]=Верхньолужицька Name[uz]=Yuqori Sorbcha Name[uz@cyrillic]=Юқори Сорбча -Name[vi]=Xoa-bi muộn Name[wa]=Hôt sorbyin Name[x-test]=xxUpper Sorbianxx Name[zh_CN]=上索布语 Name[zh_TW]=塞爾維亞語 [hu] Name=Hungarian Name[af]=Hongaars Name[ar]=مجرية Name[as]=হাঙ্গেৰীয় Name[ast]=Húngaru Name[be]=Венгерская Name[be@latin]=Vuhorskaja Name[bg]=Унгарски Name[bn]=হাঙ্গারীয় Name[bn_IN]=হাঙ্গেরিয়ান Name[br]=Hungareg Name[bs]=Mađarski Name[ca]=Hongarès Name[ca@valencia]=Hongarés Name[cs]=Maďarský Name[csb]=Madżarsczi Name[cy]=Hwngareg Name[da]=Ungarsk Name[de]=Ungarisch Name[el]=Ουγγρικά Name[en_GB]=Hungarian Name[eo]=Hungara Name[es]=Húngaro Name[et]=Ungari Name[eu]=Hungariera Name[fa]=مجارستانی Name[fi]=Unkari Name[fr]=Hongrois Name[fy]=Hongaarsk Name[ga]=Ungáiris Name[gl]=Húngaro Name[gu]=હંગેરિયન Name[he]=הונגרית Name[hi]=हंगेरियाई Name[hne]=हंगेरियाई Name[hr]=Mađarski Name[hsb]=Madźarsce Name[hu]=Magyar Name[ia]=Hungaro Name[id]=Hungaria Name[is]=Ungverska Name[it]=Ungherese Name[ja]=ハンガリー語 Name[kk]=Мажарша Name[km]=ហុងគ្រី Name[kn]=ಹಂಗೇರಿಯನ್ Name[ko]=헝가리어 Name[ku]=Macarî Name[lb]=Ungaresch Name[lt]=Vengrų Name[lv]=Ungāru Name[mai]=हंगेरियाई Name[mk]=Унгарски Name[ml]=ഹംഗേറിയന്‍ Name[mr]=हंगेरियाई Name[ms]=Hungaria Name[nb]=Ungarsk Name[nds]=Ungaarsch Name[ne]=हङ्गेरियन Name[nl]=Hongaars Name[nn]=Ungarsk Name[oc]=Ongrés Name[or]=Hungarian Name[pa]=ਹੰਗਰੀਆਈ Name[pl]=Węgierski Name[ps]=هنګريايي Name[pt]=Húngaro Name[pt_BR]=Húngaro Name[ro]=Maghiară Name[ru]=Венгерский Name[se]=Ungárgiella Name[si]=හංගේරියානු Name[sk]=Maďarčina Name[sl]=madžarsko Name[sq]=Hungareze Name[sr]=мађарски Name[sr@ijekavian]=мађарски Name[sr@ijekavianlatin]=mađarski Name[sr@latin]=mađarski Name[sv]=Ungerska Name[ta]=ஹங்கேரியன் Name[te]=హంగెరియన్ Name[tg]=Венгерӣ Name[th]=ภาษาฮังการี Name[tr]=Macarca Name[ug]=ماجارچە Name[uk]=Угорська Name[uz]=Vengrcha Name[uz@cyrillic]=Венгрча -Name[vi]=Hung-gia-lợi +Name[vi]=Hung-ga-ry Name[wa]=Hongrwès -Name[x-test]=xxHungarianxx Name[xh]=Hungarian +Name[x-test]=xxHungarianxx Name[zh_CN]=匈牙利语 Name[zh_HK]=匈牙利語 Name[zh_TW]=匈牙利語 [hy] Name=Armenian Name[af]=Armeens Name[ar]=أرمنية Name[as]=আৰ্মেনিয়ান Name[ast]=Armeniu Name[be]=Армянская Name[be@latin]=Armianskaja Name[bg]=Арменски Name[bn]=আর্মেনীয় Name[bn_IN]=আর্মেনিয়ান Name[br]=Armenieg Name[bs]=Jermenski Name[ca]=Armeni Name[ca@valencia]=Armeni Name[cs]=Arménský Name[csb]=Armeńsczi Name[cy]=Armeineg Name[da]=Armensk Name[de]=Armenisch Name[el]=Αρμενικά Name[en_GB]=Armenian Name[eo]=Armena Name[es]=Armenio Name[et]=Armeenia Name[eu]=Armeniera Name[fa]=ارمنی Name[fi]=Armenia Name[fr]=Arménien Name[fy]=Armeensk Name[ga]=Airméinis Name[gl]=Armenio Name[gu]=અર્મેનિયન Name[he]=ארמנית Name[hi]=आर्मेनियाई Name[hne]=आर्मेनियाई Name[hr]=Armenski Name[hsb]=Armensce Name[hu]=Örmény Name[hy]=Հայերեն Name[ia]=Armenio Name[id]=Armenia Name[is]=Armeskt Name[it]=Armeno Name[ja]=アルメニア語 Name[kk]=Арменше Name[km]=អារមេនី Name[kn]=ಅರ್ಮೇನಿಯನ್ Name[ko]=아르메니아어 Name[ku]=Ermenî Name[lb]=Armenesch Name[lt]=Armėnų Name[lv]=Armēņu Name[mai]=आर्मेनियाइ Name[mk]=Ерменски Name[ml]=അര്‍മീനിയന്‍ Name[mr]=आर्मेनिअन Name[ms]=Armenia Name[nb]=Armensk Name[nds]=Armeensch Name[ne]=आर्मेनियाली Name[nl]=Armeens Name[nn]=Armensk Name[oc]=Armenian Name[or]=Armenian Name[pa]=ਅਰਮੀਆਈ Name[pl]=Ormiański Name[ps]=ارمينيايي Name[pt]=Arménio Name[pt_BR]=Armênio Name[ro]=Armeană Name[ru]=Армянский Name[se]=Armeniagiella Name[si]=ආමේනියානු Name[sk]=Arménčina Name[sl]=armensko Name[sq]=Armenisht Name[sr]=јерменски Name[sr@ijekavian]=јерменски Name[sr@ijekavianlatin]=jermenski Name[sr@latin]=jermenski Name[sv]=Armenska Name[ta]=ஆர்மீனியன் Name[te]=అర్మెనియన్ Name[tg]=Арманӣ Name[th]=ภาษาอาร์เมเนีย Name[tr]=Ermenice Name[ug]=ئەرمەنچە Name[uk]=Вірменська Name[uz]=Armancha Name[uz@cyrillic]=Арманча -Name[vi]=Ác-mê-ni +Name[vi]=Ác-mê-ni-a Name[wa]=Årmenyin -Name[x-test]=xxArmenianxx Name[xh]=Armenian +Name[x-test]=xxArmenianxx Name[zh_CN]=亚美尼亚语 Name[zh_HK]=亞美尼亞語 Name[zh_TW]=亞美尼亞語 [hz] Name=Herero Name[af]=Herero Name[ar]=هيريرو Name[as]=হেৰেৰো Name[ast]=Herero Name[be]=Хэрэра Name[be@latin]=Herero Name[bg]=Хереро Name[bn]=হেরেরো Name[bn_IN]=হেরেরো Name[br]=Herero Name[bs]=Herero Name[ca]=Herero Name[ca@valencia]=Herero Name[cs]=Herero Name[csb]=Herero Name[cy]=Hausa Name[da]=Herero Name[de]=Herero Name[el]=Herero Name[en_GB]=Herero Name[eo]=Herera Name[es]=Herero Name[et]=Herero Name[eu]=Herero Name[fa]=هررو Name[fi]=Herero Name[fr]=Herero Name[fy]=Herero Name[ga]=Heiréiróis Name[gl]=Herero Name[gu]=હિરેરો Name[he]=הררו Name[hi]=हेरेरो Name[hne]=हेरेरो Name[hr]=Herero Name[hsb]=Hererosce Name[hu]=Hereró Name[ia]=Herero Name[id]=Herero Name[is]=Herero Name[it]=Herero Name[ja]=ヘレロ語 Name[kk]=Хереро Name[km]=ហេរេអូ Name[kn]=ಹೆರೆರೊ Name[ko]=헤레로어 Name[ku]=Herero Name[lb]=Herero Name[lt]=Herero Name[lv]=Hereru Name[mai]=हेरेरो Name[mk]=Хереро Name[ml]=ഹിരീരോ Name[mr]=हेरेरो Name[ms]=Herero Name[nb]=Herero Name[nds]=Herero Name[ne]=हेरेरो Name[nl]=Herero Name[nn]=Herero Name[oc]=Ebrèu Name[or]=Herero Name[pa]=ਹੀਰੀਰੋ Name[pl]=Herero Name[ps]=هېرېرو Name[pt]=Herero Name[pt_BR]=Hereró Name[ro]=Hereră Name[ru]=Эреро Name[se]=Hererogiella Name[si]=හෙරිරෝ Name[sk]=Hererčina Name[sl]=herero Name[sq]=Herero Name[sr]=хереро Name[sr@ijekavian]=хереро Name[sr@ijekavianlatin]=herero Name[sr@latin]=herero Name[sv]=Herero Name[ta]=ஹெரெரோ Name[te]=హెరెరో Name[tg]=Херэро Name[th]=ภาษาเฮอเรโร Name[tr]=Herero Name[ug]=خېرېروچە Name[uk]=Гереро Name[uz]=Xerero Name[uz@cyrillic]=Хереро -Name[vi]=He-re-rô +Name[vi]=Herero Name[wa]=Herero -Name[x-test]=xxHereroxx Name[xh]=Herero +Name[x-test]=xxHereroxx Name[zh_CN]=赫雷罗语 Name[zh_HK]=Herero語 Name[zh_TW]=Herero語 [ia] Name=Interlingua Name[af]=Interlingua Name[ar]=إنترلينغوا Name[as]=ইন্টাৰ্লিঙ্গুৱা Name[ast]=Interlingua Name[be]=Інтэрлінгуа Name[be@latin]=Interlingua Name[bg]=Интерлингва Name[bn]=ইন্টারলিঙ্গুয়া Name[bn_IN]=ইন্টারলিঙ্গুয়া Name[br]=Interlingua Name[bs]=Interlingua Name[ca]=Interlingua Name[ca@valencia]=Interlingua Name[cs]=Interlingua Name[csb]=Interlingua Name[cy]=Interlingua Name[da]=Interlingua Name[de]=Interlingua Name[el]=Interlingua Name[en_GB]=Interlingua Name[eo]=Interlingvao Name[es]=Interlingua Name[et]=Interlingua Name[eu]=Interlingua Name[fa]=میان زبانی Name[fi]=Interlingua Name[fr]=Interlingua Name[fy]=Interlingua Name[ga]=Idirtheanga Name[gl]=Interlingua Name[gu]=ઈન્ટરલીગુઆ Name[he]=אינטרלינגואָה Name[hi]=अंतरभाषी Name[hne]=इंटरलिंगुआ Name[hr]=Interlingua Name[hsb]=Interlingua Name[hu]=Interlingua Name[ia]=Interlingua Name[id]=Interlingua Name[is]=Interlingua Name[it]=Interlingua Name[ja]=インターリンガ Name[kk]=Интерлингва Name[km]=អ៊ីងតឺលីងគ័រ Name[kn]=ಇಂಟರ್ಲಿಂಗ್ಯುವಾ Name[ko]=국제어 (Interlingua) Name[ku]=înterlîngua Name[lb]=Interlingua Name[lt]=Interlingua Name[lv]=Interlingva Name[mai]=अंतरभाषायी Name[mk]=Интерлингва Name[ml]=എല്ലാ ഭാഷകളിലും Name[mr]=अंतरभाषी Name[ms]=Interlingua Name[nb]=Interlingua Name[nds]=Interlingua Name[ne]=इन्टरलिङ्गुवा Name[nl]=Interlingua Name[nn]=Interlingua Name[oc]=Interlinguà Name[or]=Interlingua Name[pa]=ਇੰਟਰਲੀਗੂਆ Name[pl]=Interlingua Name[ps]=اېنټرلېنګوا Name[pt]=Interlingua Name[pt_BR]=Interlíngua Name[ro]=Interlingua Name[ru]=Интерлингва Name[se]=Interlingua Name[sk]=Interlingua Name[sl]=interlingua Name[sq]=Interlingua Name[sr]=интерлингва Name[sr@ijekavian]=интерлингва Name[sr@ijekavianlatin]=interlingva Name[sr@latin]=interlingva Name[sv]=Interlingua Name[ta]=இன்டெர்லிங்குவா Name[te]=ఇంటర్ లింగువా Name[tg]=Забони миёнрав Name[th]=ภาษานานาชาติ Name[tr]=Interlingua Name[ug]=خەلقئارا تىل Name[uk]=Інтерлінгва Name[uz]=Interlingua Name[uz@cyrillic]=Интерлингуа -Name[vi]=In-tợ-lin-gua +Name[vi]=Interlingua Name[wa]=Interlingua (noû latén) -Name[x-test]=xxInterlinguaxx Name[xh]=Interlingua +Name[x-test]=xxInterlinguaxx Name[zh_CN]=拉丁国际语 Name[zh_HK]=科技共通語 Name[zh_TW]=科技共通語 [id] Name=Indonesian Name[af]=Indonesië Name[ar]=إندونيسية Name[as]=ইন্ডোনেচীয় Name[ast]=Indonesiu Name[be]=Інданэзійская Name[be@latin]=Indanezijskaja Name[bg]=Индонезийски Name[bn]=ইন্দোনেশীয় Name[bn_IN]=ইন্দোনেশিয়ান Name[br]=Indoneseg Name[bs]=Indonezijski Name[ca]=Indonesi Name[ca@valencia]=Indonesi Name[cs]=Indonéský Name[csb]=Indonezëjsczi Name[cy]=Indonesieg Name[da]=Indonesisk Name[de]=Indonesisch Name[el]=Ινδονησιακά Name[en_GB]=Indonesian Name[eo]=Indonezia Name[es]=Indonesio Name[et]=Indoneesia Name[eu]=Indonesiera Name[fa]=اندونزیایی Name[fi]=Indonesia Name[fr]=Indonésien Name[fy]=Yndonesysk Name[ga]=Indinéisis Name[gl]=Indonesio Name[gu]=ઈન્ડોનેશિયન Name[he]=אינדונזית Name[hi]=इंडोनेशियाई Name[hne]=इंडोनेसियाई Name[hr]=Indonezijski Name[hsb]=Indonezisce Name[hu]=Indonéz Name[ia]=Indonesiano Name[id]=Indonesia Name[is]=Indónesíska Name[it]=Indonesiano Name[ja]=インドネシア語 Name[kk]=Индонезияша Name[km]=ឥណ្ឌូនេស៊ី Name[kn]=ಇಂಡೋನೇಷಿಯನ್ Name[ko]=인도네시아어 Name[ku]=Endonezî Name[lb]=Indonesesch Name[lt]=Indoneziečių Name[lv]=Indonēziešu Name[mai]=इंडोनेशियन Name[mk]=Индонезиски Name[ml]=ഇന്തോനേഷ്യന്‍ Name[mr]=इंडोनेशियाई Name[ms]=Indonesia Name[nb]=Indonesisk Name[nds]=Indoneesch Name[ne]=इन्डोनेसियाली Name[nl]=Indonesisch Name[nn]=Indonesisk Name[oc]=Indonesian Name[or]=Indonesian Name[pa]=ਇੰਡੋਨੇਸ਼ੀਆਈ Name[pl]=Indonezyjski Name[ps]=انډونيشيايي Name[pt]=Indonésio Name[pt_BR]=Indonésio Name[ro]=Indoneziană Name[ru]=Индонезийский Name[se]=Indonesiagiella Name[si]=ඉන්දුනීසියානු Name[sk]=Indonézština Name[sl]=indonezijsko Name[sq]=Indoneziane Name[sr]=индонезијски Name[sr@ijekavian]=индонезијски Name[sr@ijekavianlatin]=indonezijski Name[sr@latin]=indonezijski Name[sv]=Indonesiska Name[ta]=இந்தோனீசியன் Name[te]=ఇన్డొనెషియన్ Name[tg]=Индонезӣ Name[th]=ภาษาอินโดนีเซีย Name[tr]=İndonezya Dili Name[ug]=ھىندونېزىيەچە Name[uk]=Індонезійська Name[uz]=Indonezcha Name[uz@cyrillic]=Индонезча -Name[vi]=Nam-dương +Name[vi]=Indonesia Name[wa]=Indonezyin -Name[x-test]=xxIndonesianxx Name[xh]=Indonesian +Name[x-test]=xxIndonesianxx Name[zh_CN]=印度尼西亚语 Name[zh_HK]=印尼語 Name[zh_TW]=印尼語 [ie] Name=Interlingue Name[af]=Interlingue Name[ar]=إنترلينغوي Name[as]=ইন্টাৰলিঙ্গ Name[ast]=Interlingue Name[be]=Інтэрлінг Name[be@latin]=Interlingue Name[bg]=Оксидентал Name[bn]=ইন্টারলিং Name[bn_IN]=ইন্টারলিঙ্গুই Name[br]=Interlingeg Name[bs]=Interlingva Name[ca]=Interlingue Name[ca@valencia]=Interlingue Name[cs]=Interlingue Name[csb]=Interlingue Name[cy]=Interlingue Name[da]=Interlingue Name[de]=Interlingue Name[el]=Interlingue Name[en_GB]=Interlingue Name[eo]=Interlingveo Name[es]=Idioma occidental Name[et]=Interlingue Name[eu]=Interlingue Name[fa]=میان زبانی Name[fi]=Interlingue Name[fr]=Interlingue Name[fy]=Interlingua Name[ga]=Idirtheanga iartharach Name[gl]=Interlingua Name[gu]=ઈન્ટરલીંગ Name[he]=אינטרלינגואֶה Name[hi]=इंटरलिंग Name[hne]=इंटरलिंग Name[hr]=Interlingue Name[hsb]=Interlingue Name[hu]=Interlingue Name[ia]=Interlingue Name[id]=Interlingue Name[is]=Interlingue Name[it]=Interlingue Name[ja]=インターリング Name[kk]=Интерлигве Name[km]=អ៊ីងតឺលីង Name[kn]=ಇಂಟರ್ಲಿಂಗ್ಯುವೇ Name[ko]=국제어 (Interlingue) Name[ku]=Înterlîngue Name[lb]=Interlingua Name[lt]=Interlingue Name[lv]=Interlingve Name[mai]=इंटरलिंग Name[mk]=Интерлингва Name[ml]=എല്ലാ ഭാഷയിലും Name[mr]=अंतरभाषी Name[ms]=Interlingue Name[nb]=Interlingue Name[nds]=Interlingue Name[ne]=इन्टरलिङ्गुवा Name[nl]=Interlingue Name[nn]=Interlingue Name[or]=Interlingue Name[pa]=ਇੰਟਰਈਨੂਗੂਈ Name[pl]=Interlingue Name[ps]=اېنټرلېنګ Name[pt]=Interlingue Name[pt_BR]=Interlingue Name[ro]=Interlingue Name[ru]=Окциденталь Name[se]=Interlingue Name[sk]=Interlingue Name[sl]=interlingue Name[sq]=Interlingue Name[sr]=интерлингве Name[sr@ijekavian]=интерлингве Name[sr@ijekavianlatin]=interlingve Name[sr@latin]=interlingve Name[sv]=Interlingua Name[ta]=இன்டெர்லிங்குவே Name[te]=ఇంటర్ లింగె Name[tg]=Забони миёнрав Name[th]=ภาษาอินเทอร์ลิงก์ Name[tr]=Interlingue Name[ug]=خەلقئارا تىل Name[uk]=Окциденталь Name[uz]=Interlingue Name[uz@cyrillic]=Интерлингуе -Name[vi]=In-tợ-lin-guợ +Name[vi]=Interlingue Name[wa]=Interlingue -Name[x-test]=xxInterlinguexx Name[xh]=Interlingue +Name[x-test]=xxInterlinguexx Name[zh_CN]=国际语 Name[zh_HK]=Interlingue語 Name[zh_TW]=Interlingue語 [ik] Name=Inupiaq Name[af]=Inupiaq Name[ar]=إنوبياك Name[as]=ইনুপিয়াক Name[ast]=Inupiaq Name[be]=Інупіцкая Name[be@latin]=Inupiaq Name[bg]=Инупиак Name[bn]=ইনুপিয়াক Name[bn_IN]=ইনুপিয়াক Name[br]=Inupiak Name[bs]=Inupijski Name[ca]=Inupiaq Name[ca@valencia]=Inupiaq Name[cs]=Inupiaq Name[csb]=Inupiaq Name[cy]=Inupiaq Name[da]=Inupiaq Name[de]=Inupiaq Name[el]=Inupiaq Name[en_GB]=Inupiaq Name[eo]=Inupiaka Name[es]=Inupiaq Name[et]=Inupiaq Name[eu]=Inupiaq Name[fa]=اینوپیاک Name[fi]=Inupiatun Name[fr]=Inupiaq Name[fy]=Inupiaq Name[ga]=Iniúipiacais Name[gl]=Inupiaq Name[gu]=ઇનુપીઆક Name[he]=אינופיאק Name[hi]=इनुपिआक Name[hne]=इनुपिआक Name[hr]=Inupiaq Name[hsb]=Inupiaksce Name[hu]=Inupiak Name[ia]=Inupiaq Name[id]=Inupiaq Name[is]=Inupiaq Name[it]=Inupiak Name[ja]=イヌピアック語 Name[kk]=Инупиакша Name[km]=អ៊ីនូពីយ៉ាក Name[kn]=ಇನೂಪಿಯಾಕ್ Name[ko]=이누피아크어 Name[ku]=Înupiyaq Name[lb]=Inupiaq Name[lt]=Inupiaq Name[lv]=Inupiaku Name[mai]=इनुपिआक Name[mk]=Инупиак Name[ml]=ഇനൂപിയാക് Name[mr]=इनुपिआक Name[ms]=Inupiaq Name[nb]=Inupiaq Name[nds]=Inupiak Name[ne]=इनुपियाक Name[nl]=Inupiaq Name[nn]=Inupiak Name[or]=Inupiaq Name[pa]=ਇਨਪੀਕਾਉ Name[pl]=Inupiaq Name[ps]=اېنوپيک Name[pt]=Inupiaq Name[pt_BR]=Inupiaq Name[ro]=Inupiacă Name[ru]=Инупиак Name[se]=Inupiaqgiella Name[si]=ඉනුපියැක් Name[sk]=Inupiakčina Name[sl]=inupiaq Name[sq]=Inupiaq Name[sr]=инупијак Name[sr@ijekavian]=инупијак Name[sr@ijekavianlatin]=inupijak Name[sr@latin]=inupijak Name[sv]=Inupiaq Name[ta]=இனுபியாக் Name[te]=ఇనుపియాక్ Name[tg]=Инупиакӣ Name[th]=ภาษาอินุพิอัค Name[tr]=Inupiaq -Name[ug]=ئىنۇپىكچە +Name[ug]=ئىنۇپىئاقچە Name[uk]=Інупіак Name[uz]=Inupiak Name[uz@cyrillic]=Инупиак -Name[vi]=I-nu-piac +Name[vi]=Inupiaq Name[wa]=Inyupiak -Name[x-test]=xxInupiaqxx Name[xh]=Inupiaq +Name[x-test]=xxInupiaqxx Name[zh_CN]=因纽皮特语 Name[zh_HK]=Inupiaq語 Name[zh_TW]=Inupiaq語 [io] Name=Ido Name[af]=Ido Name[ar]=إيدو Name[as]=ইদো Name[ast]=Ido Name[be]=Ідо Name[be@latin]=Ido Name[bg]=Идо Name[bn]=ইডো Name[bn_IN]=আইডো Name[br]=Ido Name[bs]=Ido Name[ca]=Ido Name[ca@valencia]=Ido Name[cs]=Ido Name[csb]=Ido Name[cy]=Ido Name[da]=Ido Name[de]=Ido Name[el]=Ido Name[en_GB]=Ido Name[eo]=Ido Name[es]=Ido Name[et]=Ido Name[eu]=Ido Name[fa]=ایدو Name[fi]=Ido Name[fr]=Ido Name[fy]=Ido Name[ga]=Ido Name[gl]=Ido Name[gu]=ઈડો Name[he]=אידו Name[hi]=इदो Name[hne]=इदो Name[hr]=Ido Name[hsb]=Idosce Name[hu]=Ido Name[ia]=Ido Name[id]=Ido Name[is]=Ido Name[it]=Ido Name[ja]=イド語 Name[kk]=Идо Name[km]=អ៊ីឌូ Name[kn]=ಇಡೋ Name[ko]=이도어 Name[ku]=Îdo Name[lb]=Ido Name[lt]=Ido Name[lv]=Ido Name[mai]=इदो Name[mk]=Идо Name[ml]=എയ്ഡോ Name[mr]=इदो Name[ms]=Ido Name[nb]=Ido Name[nds]=Ido Name[ne]=इडो Name[nl]=Ido Name[nn]=Ido Name[oc]=Ido Name[or]=Ido Name[pa]=ਆਈਡੋ Name[pl]=Ido Name[ps]=اېډو Name[pt]=Ido Name[pt_BR]=Ido Name[ro]=Ido Name[ru]=Идо Name[se]=Idogiella Name[si]=ඉඩෝ Name[sk]=Ido Name[sl]=ido Name[sq]=Ido Name[sr]=идо Name[sr@ijekavian]=идо Name[sr@ijekavianlatin]=ido Name[sr@latin]=ido Name[sv]=Ido Name[ta]=ஈடோ Name[te]=ఇడొ Name[tg]=Идо Name[th]=ภาษาอิโด Name[tr]=Ido Name[ug]=ئىدوچە Name[uk]=Ідо Name[uz]=Ido Name[uz@cyrillic]=Идо -Name[vi]=I-đô +Name[vi]=Ido Name[wa]=Ido -Name[x-test]=xxIdoxx Name[xh]=Ido +Name[x-test]=xxIdoxx Name[zh_CN]=伊多语 Name[zh_HK]=伊多語 Name[zh_TW]=伊多語 [is] Name=Icelandic Name[af]=Yslandies Name[ar]=آيسلندية Name[as]=আইচ্‌লেন্ডিক Name[ast]=Islandés Name[be]=Ісландская Name[be@latin]=Iślandzkaja Name[bg]=Исландски Name[bn]=আইসল্যান্ডিক Name[bn_IN]=আইসল্যান্ডিক Name[br]=Islandeg Name[bs]=Islandski Name[ca]=Islandès Name[ca@valencia]=Islandés Name[cs]=Islandský Name[csb]=Islandzczi Name[cy]=Islandeg Name[da]=Islandsk Name[de]=Isländisch Name[el]=Ισλανδικά Name[en_GB]=Icelandic Name[eo]=Islanda Name[es]=Islandés Name[et]=Islandi Name[eu]=Islandiera Name[fa]=ایسلندی Name[fi]=Islanti Name[fr]=Islandais Name[fy]=Iislânsk Name[ga]=Íoslainnis Name[gl]=Islandés Name[gu]=આઈલેન્ડિક Name[he]=איסלנדית Name[hi]=आइसलैंडिक Name[hne]=आइसलैंडिक Name[hr]=Islandski Name[hsb]=Islandsce Name[hu]=Izlandi Name[ia]=Islandese Name[id]=Icelandic Name[is]=Íslenska Name[it]=Islandese Name[ja]=アイスランド語 Name[kk]=Исландша Name[km]=អ៊ីស្លង់ Name[kn]=ಐಸ್ಲ್ಯಾಂಡಿಕ್ Name[ko]=아이슬란드어 Name[ku]=Îzlandî Name[lb]=Islännesch Name[lt]=Islandų Name[lv]=Islandiešu Name[mai]=आइसलैंडिक Name[mk]=Исландски Name[ml]=ഐസ്ലാന്‍ഡിക് Name[mr]=आयलॅंडिक Name[ms]=Icelandic Name[nb]=Islandsk Name[nds]=Islannsch Name[ne]=आइसल्यान्डिक Name[nl]=IJslands Name[nn]=Islandsk Name[oc]=Islandés Name[or]=Icelandic Name[pa]=ਆਇਸਲੈਂਡ Name[pl]=Islandzki Name[ps]=اېسلېنډي Name[pt]=Islandês Name[pt_BR]=Islandês Name[ro]=Islandeză Name[ru]=Исландский Name[se]=Islánddagiella Name[si]=අයිස්ලන්තානු Name[sk]=Islandčina Name[sl]=islandsko Name[sq]=Islandeze Name[sr]=исландски Name[sr@ijekavian]=исландски Name[sr@ijekavianlatin]=islandski Name[sr@latin]=islandski Name[sv]=Isländska Name[ta]=ஐஸ்லாந்தியம் Name[te]=ఐస్ లేండిక్ Name[tg]=Исландӣ Name[th]=ภาษาไอซ์แลนด์ Name[tr]=İzlanda Dili Name[ug]=ئىسلاندچە Name[uk]=Ісландська Name[uz]=Islandcha Name[uz@cyrillic]=Исландча -Name[vi]=Băng-đảo +Name[vi]=Iceland Name[wa]=Izlandès -Name[x-test]=xxIcelandicxx Name[xh]=Icelandic +Name[x-test]=xxIcelandicxx Name[zh_CN]=冰岛语 Name[zh_HK]=冰島語 Name[zh_TW]=冰島語 [it] Name=Italian Name[af]=Italiaans Name[ar]=إيطالية Name[as]=ইটালীয় Name[ast]=Italianu Name[be]=Італьянская Name[be@latin]=Italjanskaja Name[bg]=Италиански Name[bn]=ইতালীয় Name[bn_IN]=ইটালিয়ান Name[br]=Italianeg Name[bs]=Italijanski Name[ca]=Italià Name[ca@valencia]=Italià Name[cs]=Italský Name[csb]=Italsczi Name[cy]=Eidaleg Name[da]=Italiensk Name[de]=Italienisch Name[el]=Ιταλικά Name[en_GB]=Italian Name[eo]=Itala Name[es]=Italiano Name[et]=Itaalia Name[eu]=Italiera Name[fa]=ایتالیایی Name[fi]=Italia Name[fr]=Italien Name[fy]=Italiaansk Name[ga]=Iodáilis Name[gl]=Italiano Name[gu]=ઈટાલીયન Name[he]=איטלקית Name[hi]=इतालवी Name[hne]=इतालवी Name[hr]=Talijanski Name[hsb]=Italsce Name[hu]=Olasz Name[hy]=Իտալերեն Name[ia]=Italiano Name[id]=Italia Name[is]=Ítalska Name[it]=Italiano Name[ja]=イタリア語 Name[kk]=Итальянша Name[km]=អ៊ីតាលី Name[kn]=ಇಟಾಲಿಯನ್ Name[ko]=이탈리아어 Name[ku]=Îtalî Name[lb]=Italienesch Name[lt]=Italų Name[lv]=Itāļu Name[mai]=इतालवी Name[mk]=Италијански Name[ml]=ഇറ്റാലിയന്‍ Name[mr]=इतालवी Name[ms]=Italia Name[nb]=Italiensk Name[nds]=Italieensch Name[ne]=इटालियन Name[nl]=Italiaans Name[nn]=Italiensk Name[oc]=Italian Name[or]=Italian Name[pa]=ਇਤਾਲਵੀ Name[pl]=Włoski Name[ps]=اېټالوي Name[pt]=Italiano Name[pt_BR]=Italiano Name[ro]=Italiană Name[ru]=Итальянский Name[se]=Itáliagiella Name[si]=ඉතාලි Name[sk]=Taliančina Name[sl]=italijansko Name[sq]=Italiane Name[sr]=италијански Name[sr@ijekavian]=италијански Name[sr@ijekavianlatin]=italijanski Name[sr@latin]=italijanski Name[sv]=Italienska Name[ta]=இத்தாலியன் Name[te]=ఇటాలియన్ Name[tg]=Итолиёӣ Name[th]=ภาษาอิตาเลียน Name[tr]=İtalyanca Name[ug]=ئىتاليانچە Name[uk]=Італійська Name[uz]=Italyancha Name[uz@cyrillic]=Италянча Name[vi]=Ý Name[wa]=Itålyin -Name[x-test]=xxItalianxx Name[xh]=isitaliyane +Name[x-test]=xxItalianxx Name[zh_CN]=意大利语 Name[zh_HK]=意大利語 Name[zh_TW]=義大利語 [iu] Name=Inuktitut Name[af]=Inuktitut Name[ar]=إنكتيتوت Name[as]=ইনুক্টিটুট Name[ast]=Inuktitut Name[be]=Інуктытут Name[be@latin]=Inuktitut Name[bg]=Инуктитут Name[bn]=ইনাক্টিটুট Name[bn_IN]=ইনুকটিটুট Name[br]=Inuktitut Name[bs]=Inuktitut Name[ca]=Inuktitut Name[ca@valencia]=Inuktitut Name[cs]=Inuktitut Name[csb]=Inuktitut Name[cy]=Inuktitut Name[da]=Inuktitut Name[de]=Inuktitut Name[el]=Inuktitut Name[en_GB]=Inuktitut Name[eo]=Inuktituta Name[es]=Inuktitut Name[et]=Inuktitut Name[eu]=Inuktitut Name[fa]=اینوکتیتوت Name[fi]=Inuktitut Name[fr]=Inuktitut Name[fy]=Inuktitut Name[ga]=Ionúitis Name[gl]=Inuktitut Name[gu]=ઈનુક્ટિટુટ Name[he]=אינוקטיטוט Name[hi]=इनुक्तितुत Name[hne]=इनुक्तितुत Name[hr]=Inuktitut Name[hsb]=Inuktitutsce Name[hu]=Inuktitut Name[ia]=Inuktitut Name[id]=Inuktitut Name[is]=Inuktitut Name[it]=Inuktitut Name[ja]=イヌイット語 Name[kk]=Инуктиут Name[km]=អ៊ីនូកទីទូត Name[kn]=ಇನುಕ್ಟಿಟುಟ್ Name[ko]=이눅티툿어 Name[ku]=Înûktîtut Name[lb]=Inuktitut Name[lt]=Inuktitut Name[lv]=Inuītu Name[mai]=इनुक्तितुत Name[mk]=Инуктитут Name[ml]=ഇന്‍കുട്ടിടുട്ട് Name[mr]=इनुक्तितुत Name[ms]=Inuktitut Name[nb]=Inuktitut Name[nds]=Inuktitut Name[ne]=इनक्टिटुट Name[nl]=Inuktitut Name[nn]=Inuittisk Name[oc]=Inuktitut Name[or]=Inuktitut Name[pa]=ਇਨੂਕਟੀਟੂਟ Name[pl]=Inuktitut Name[pt]=Inuktitut Name[pt_BR]=Inuktitut Name[ro]=Inuktitut Name[ru]=Инуктитут Name[se]=Inuhkagiella Name[si]=ඉනුක්ටිටුට් Name[sk]=Inuktitut Name[sl]=inuktitut Name[sq]=Inuktitut Name[sr]=инуктитут Name[sr@ijekavian]=инуктитут Name[sr@ijekavianlatin]=inuktitut Name[sr@latin]=inuktitut Name[sv]=Inuktitut Name[ta]=இனுக்டிடுட் Name[te]=ఇనుక్తిటుట్ Name[tg]=Инуктитут Name[th]=ภาษาอินุคทิทุท Name[tr]=Inuktitut Name[ug]=ئىنۇكتىتۇتچە Name[uk]=Інуктітут Name[uz]=Inuktitut Name[uz@cyrillic]=Инуктитут -Name[vi]=I-nuc-ti-túc +Name[vi]=Inuktitut Name[wa]=Inuktitut -Name[x-test]=xxInuktitutxx Name[xh]=Inuktitut +Name[x-test]=xxInuktitutxx Name[zh_CN]=因纽特语 Name[zh_HK]=Inuktitut語 Name[zh_TW]=因紐特語 [ja] Name=Japanese Name[af]=Japanees Name[ar]=يابانية Name[as]=জাপানী Name[ast]=Xaponés Name[be]=Японская Name[be@latin]=Japonskaja Name[bg]=Японски Name[bn]=জাপানী Name[bn_IN]=জাপানি Name[br]=Japaneg Name[bs]=Japanski Name[ca]=Japonès Name[ca@valencia]=Japonés Name[cs]=Japonský Name[csb]=Japòńsczi Name[cy]=Japaneg Name[da]=Japansk Name[de]=Japanisch Name[el]=Ιαπωνικά Name[en_GB]=Japanese Name[eo]=Japana Name[es]=Japonés Name[et]=Jaapani Name[eu]=Japoniera Name[fa]=ژاپنی Name[fi]=Japani Name[fr]=Japonais Name[fy]=Japansk Name[ga]=Seapáinis Name[gl]=Xaponés Name[gu]=જાપાનીઝ Name[he]=יפנית Name[hi]=जापानी Name[hne]=जापानी Name[hr]=Japanski Name[hsb]=Japansce Name[hu]=Japán Name[ia]=Japonese Name[id]=Jepang Name[is]=Japanska Name[it]=Giapponese Name[ja]=日本語 Name[kk]=Жапонша Name[km]=ជប៉ុន Name[kn]=ಜಪಾನೀ Name[ko]=일본어 Name[ku]=Japanese Name[lb]=Japanesch Name[lt]=Japonų Name[lv]=Japāņu Name[mai]=जापानी Name[mk]=Јапонски Name[ml]=ജാപ്പനീസ് Name[mr]=जपानी Name[ms]=Jepun Name[nb]=Japansk Name[nds]=Japaansch Name[ne]=जापानी Name[nl]=Japans Name[nn]=Japansk Name[oc]=Japonés Name[or]=ଜାପାନୀ Name[pa]=ਜਾਪਾਨੀ Name[pl]=Japoński Name[ps]=جاپاني Name[pt]=Japonês Name[pt_BR]=Japonês Name[ro]=Japoneză Name[ru]=Японский Name[se]=Jáhpangiella Name[si]=ජපන් Name[sk]=Japončina Name[sl]=japonsko Name[sq]=Japoneze Name[sr]=јапански Name[sr@ijekavian]=јапански Name[sr@ijekavianlatin]=japanski Name[sr@latin]=japanski Name[sv]=Japanska Name[ta]=ஜப்பானியம் Name[te]=జపనీస్ Name[tg]=Ҷопонӣ Name[th]=ภาษาญี่ปุ่น Name[tr]=Japonca Name[ug]=ياپونچە Name[uk]=Японська Name[uz]=Yaponcha Name[uz@cyrillic]=Японча Name[vi]=Nhật Name[wa]=Djaponès -Name[x-test]=xxJapanesexx Name[xh]=Isijapani +Name[x-test]=xxJapanesexx Name[zh_CN]=日语 Name[zh_HK]=日語 Name[zh_TW]=日語 [jv] Name=Javanese Name[af]=Javanees Name[ar]=جاوية Name[as]=জাভানী Name[ast]=Xavanés Name[be]=Яванская Name[be@latin]=Javanskaja Name[bg]=Явайски Name[bn]=জাভানিস Name[bn_IN]=জাভানিস Name[br]=Javaneg Name[bs]=Javanski Name[ca]=Javanès Name[ca@valencia]=Javanés Name[cs]=Jávský Name[csb]=Jawańsczi Name[cy]=Javaneg Name[da]=Javansk Name[de]=Javanisch Name[el]=Javanese Name[en_GB]=Javanese Name[eo]=Java Name[es]=Javanés Name[et]=Jaava Name[eu]=Javera Name[fa]=جاوانیز Name[fi]=Jaava Name[fr]=Javanais Name[fy]=Javaansk Name[ga]=Iávais Name[gl]=Xavanés Name[gu]=જાવાનીઝ Name[he]=ג'אווה Name[hi]=जावानी Name[hne]=जावानी Name[hr]=Javanski Name[hsb]=Jawanisce Name[hu]=Jávai Name[ia]=Javanese Name[id]=Jawa Name[is]=Javanese Name[it]=Giavanese Name[ja]=ジャワ語 Name[kk]=Ява Name[km]=យ៉ាវា Name[kn]=ಜಾವನೀಸ್ Name[ko]=자바어 Name[ku]=Javayî Name[lb]=Javanesesch Name[lt]=Javiečių Name[lv]=Javiešu Name[mai]=जावानी Name[mk]=Јавански Name[ml]=ജാവനീസ് Name[mr]=जावानी Name[ms]=Jawa Name[nb]=Javanesisk Name[nds]=Javaneesch Name[ne]=जाभानिज Name[nl]=Javaans Name[nn]=Javanesisk Name[oc]=Javanés Name[or]=Javanese Name[pa]=ਜਾਵਾਨੀਆਈ Name[pl]=Jawański Name[ps]=جاواني Name[pt]=Javanês Name[pt_BR]=Javanês Name[ro]=Iavaneză Name[ru]=Яванский Name[se]=Jávagiella Name[si]=ජාවා Name[sk]=Jávčina Name[sl]=javansko Name[sq]=Javaneze Name[sr]=јавански Name[sr@ijekavian]=јавански Name[sr@ijekavianlatin]=javanski Name[sr@latin]=javanski Name[sv]=Javanesiska Name[ta]=ஜாவானீயம் Name[te]=జావానీస్ Name[tg]=Ёвонӣ Name[th]=ภาษาชวา Name[tr]=Javanese Name[ug]=ياۋاچە Name[uk]=Яванська Name[uz]=Yaavanez Name[uz@cyrillic]=Яаванез -Name[vi]=Gia-va +Name[vi]=Java Name[wa]=Djavanès -Name[x-test]=xxJavanesexx Name[xh]=Javanese +Name[x-test]=xxJavanesexx Name[zh_CN]=爪哇语 Name[zh_HK]=爪哇語 Name[zh_TW]=爪哇語 [ka] Name=Georgian Name[af]=Georgiën Name[ar]=جورجية Name[as]=জৰ্জিয়ান Name[ast]=Xorxanu Name[be]=Грузінская Name[be@latin]=Hruzinskaja Name[bg]=Грузински Name[bn]=জর্জিয়ান Name[bn_IN]=জর্জিয়ান Name[br]=Jeorjieg Name[bs]=Gruzijski Name[ca]=Georgià Name[ca@valencia]=Georgià Name[cs]=Gruzínský Name[csb]=Grëzóńsczi Name[cy]=Georgeg Name[da]=Georgisk Name[de]=Georgisch Name[el]=Γεωργιανά Name[en_GB]=Georgian Name[eo]=Kartvela Name[es]=Georgiano Name[et]=Gruusia Name[eu]=Georgiera Name[fa]=گرجی Name[fi]=Georgia Name[fr]=Géorgien Name[fy]=Georgysk Name[ga]=Seoirsis Name[gl]=Xeorxiano Name[gu]=જ્યોર્જિયન Name[he]=גאורגית Name[hi]=ज्यॉर्जियाई Name[hne]=ज्यार्जियाई Name[hr]=Gruzijski Name[hsb]=Georgisce Name[hu]=Grúz Name[ia]=Georgian Name[id]=Georgia Name[is]=Georgíska Name[it]=Georgiano Name[ja]=グルジア語 Name[kk]=Гүржіше Name[km]=ហ្សកហ្ស៊ី Name[kn]=ಜೋರ್ಜಿಯನ್ Name[ko]=조지아어 Name[ku]=Gurcî Name[lb]=Georgesch Name[lt]=Gruzinų Name[lv]=Gruzīnu Name[mai]=ज्यॉर्जियाइ Name[mk]=Грузиски Name[ml]=ജോര്‍ജ്ജിയന്‍ Name[mr]=जॉर्जियन Name[ms]=Georgia Name[nb]=Georgisk Name[nds]=Georgsch Name[ne]=जर्जियाली Name[nl]=Georgisch Name[nn]=Georgisk Name[oc]=Georgian Name[or]=Georgian Name[pa]=ਜਾਰਜੀਆਈ Name[pl]=Gruziński Name[ps]=ګورجين Name[pt]=Geórgio Name[pt_BR]=Georgiano Name[ro]=Georgiană Name[ru]=Грузинский Name[se]=Grusiagiella Name[si]=ජෝර්ජියානු Name[sk]=Gruzínčina Name[sl]=gruzijsko Name[sq]=Gjeorgjiane Name[sr]=грузијски Name[sr@ijekavian]=грузијски Name[sr@ijekavianlatin]=gruzijski Name[sr@latin]=gruzijski Name[sv]=Georgiska Name[ta]=ஜார்ஜியன் Name[te]=జార్జియన్ Name[tg]=Гурҷӣ Name[th]=ภาษาจอร์เจีย Name[tr]=Gürcüce Name[ug]=گىرۇزىنچە Name[uk]=Грузинська Name[uz]=Gruzincha Name[uz@cyrillic]=Грузинча -Name[vi]=Gi-oa-gi-ạ +Name[vi]=Georgia Name[wa]=Djeyordjyin -Name[x-test]=xxGeorgianxx Name[xh]=Georgian +Name[x-test]=xxGeorgianxx Name[zh_CN]=乔治亚语 Name[zh_HK]=喬治亞語 Name[zh_TW]=喬治亞語 [ki] Name=Kikuyu Name[af]=Kikuyu Name[ar]=كيكويو Name[as]=কিকুয়ু Name[ast]=Kikuyu Name[be]=Кікую Name[be@latin]=Kikuyu Name[bg]=Кикю Name[bn]=কিকুয়ু Name[bn_IN]=কিকুয়ু Name[br]=Kikuyu Name[bs]=Kikuju Name[ca]=Kikuyu Name[ca@valencia]=Kikuyu Name[cs]=Kikuyu Name[csb]=Kikuyu Name[cy]=Kikuyu Name[da]=Kikuyu Name[de]=Kikuyu Name[el]=Kikuyu Name[en_GB]=Kikuyu Name[eo]=Gikuja Name[es]=Kikuyu Name[et]=Kikuju Name[eu]=Kikuyu Name[fa]=کیکویا Name[fi]=Kikuju Name[fr]=Kikuyu Name[fy]=Kikuyu Name[ga]=Ciocúis Name[gl]=Kikuyu Name[gu]=કિકુયુ Name[he]=קיקויו Name[hi]=किकूयू Name[hne]=किकूयू Name[hr]=Kikuyu Name[hsb]=Kikuyu Name[hu]=Kikuju Name[ia]=Kikuyu Name[id]=Kikuyu Name[is]=Kikuyu Name[it]=Kikuyu Name[ja]=キクユ語 Name[kk]=Кикую Name[km]=គីគូយូ Name[kn]=ಕಿಯುಕು Name[ko]=키쿠유어 Name[ku]=Kîkuyu Name[lb]=Kikuyu-Sprooch Name[lt]=Kikuyu Name[lv]=Kikuju Name[mai]=किकूयू Name[mk]=Кикују Name[ml]=കികുയു Name[mr]=किकूयू Name[ms]=Kikuyu Name[nb]=Kikuyu Name[nds]=Kikuyu Name[ne]=किकुयु Name[nl]=Kikuyu Name[nn]=Kikuyu Name[oc]=Kikuyu Name[or]=Kikuyu Name[pa]=ਕਿਕੂਯੂ Name[pl]=Kikuyu Name[ps]=کېکويو Name[pt]=Kikuyu Name[pt_BR]=Kikuyu Name[ro]=Kikuyu Name[ru]=Кикуйю Name[se]=Kikujugiella Name[si]=කිකුයු Name[sk]=Kikuju Name[sl]=kikuyu Name[sq]=Kikuyu Name[sr]=кикују Name[sr@ijekavian]=кикују Name[sr@ijekavianlatin]=kikuju Name[sr@latin]=kikuju Name[sv]=Kikuyu Name[ta]=கிகுயு Name[te]=కికుయు Name[tg]=Кикуягӣ Name[th]=ภาษาคิคุยุ Name[tr]=Kikuyu Name[ug]=كىكۇيۇچە Name[uk]=Кікуйю Name[uz]=Kikuyu Name[uz@cyrillic]=Кикуйу -Name[vi]=Ki-ku-yu +Name[vi]=Kikuyu Name[wa]=Kikuyu -Name[x-test]=xxKikuyuxx Name[xh]=Kikuyu +Name[x-test]=xxKikuyuxx Name[zh_CN]=基库尤语 Name[zh_HK]=吉庫猶語 Name[zh_TW]=吉庫猶語 [kk] Name=Kazakh Name[af]=Kazakh Name[ar]=قزقية Name[as]=কাজাখ Name[ast]=Kazaxu Name[be]=Казахская Name[be@latin]=Kazaskaja Name[bg]=Казахски Name[bn]=কাজাখ Name[bn_IN]=কাজাখ Name[br]=Kazakstaneg Name[bs]=Kazaški Name[ca]=Kazakh Name[ca@valencia]=Kazakh Name[cs]=Kazašský Name[csb]=Kazachsczi Name[cy]=Kazakh Name[da]=Kazakh Name[de]=Kasachisch Name[el]=Καζαχικά Name[en_GB]=Kazakh Name[eo]=Kazaĥa Name[es]=Kazajo Name[et]=Kasahhi Name[eu]=Kazakhera Name[fa]=قزاق Name[fi]=Kazakki Name[fr]=Kazakh Name[fy]=Kazakh Name[ga]=Casaicis Name[gl]=Cazaxo Name[gu]=કઝાખ Name[he]=קזחית Name[hi]=कज़ाख Name[hne]=कजाख Name[hr]=Kazački Name[hsb]=Kazachisce Name[hu]=Kazah Name[ia]=Kazako Name[id]=Kazakh Name[is]=Kazakh Name[it]=Kazako Name[ja]=カザフ語 Name[kk]=Қазақша Name[km]=កាហ្សាក់ស្ថាន Name[kn]=ಕಝಾಕ್ Name[ko]=카자흐어 Name[ku]=Kazakî Name[lb]=Kasachesch Name[lt]=Kazachų Name[lv]=Kazahu Name[mai]=कजाख Name[mk]=Казахстански Name[ml]=ഖസാഖ് Name[mr]=कज़ाख Name[ms]=Kazakh Name[nb]=Kazakh Name[nds]=Kasachsch Name[ne]=कजाक Name[nl]=Kazakh Name[nn]=Kasakhisk Name[oc]=Kazakh Name[or]=Kazakh Name[pa]=ਕਾਜ਼ਾਖ Name[pl]=Kazachski Name[ps]=کزاکي Name[pt]=Cazaque Name[pt_BR]=Cazaque Name[ro]=Cazacă Name[ru]=Казахский Name[se]=Kazakhagiella Name[si]=කසාඛ් Name[sk]=Kazaština Name[sl]=kazaško Name[sq]=Kazake Name[sr]=казашки Name[sr@ijekavian]=казашки Name[sr@ijekavianlatin]=kazaški Name[sr@latin]=kazaški Name[sv]=Kazakiska Name[ta]=கசாக் Name[te]=కజాఖ్ Name[tg]=Қазоқӣ Name[th]=ภาษาคาซัคสถาน Name[tr]=Kazakça Name[ug]=قازاقچە Name[uk]=Казахська Name[uz]=Qozoqcha Name[uz@cyrillic]=Қозоқча -Name[vi]=Kha-xakh +Name[vi]=Kazakh Name[wa]=Kazaxh -Name[x-test]=xxKazakhxx Name[xh]=Kazakh +Name[x-test]=xxKazakhxx Name[zh_CN]=哈萨克语 Name[zh_HK]=哈薩克語 Name[zh_TW]=哈薩克語 [kl] Name=Kalaallisut Name[af]=Kalaallisut Name[ar]=كلاليسوت Name[as]=কালালিছুট Name[ast]=Groenlandés Name[be]=Калаалісут Name[be@latin]=Kalaallisut Name[bg]=Калисути Name[bn]=কালালিসুট Name[bn_IN]=কালালিসুট Name[br]=Kalaallisut Name[bs]=Kalalisut Name[ca]=Kalaallisut Name[ca@valencia]=Kalaallisut Name[cs]=Kalaallisut Name[csb]=Kalaallisut Name[cy]=Kalaallisut Name[da]=Kalaallisut Name[de]=Kalaallisut Name[el]=Kalaallisut Name[en_GB]=Kalaallisut Name[eo]=Gronlanda Name[es]=Kalaallisut Name[et]=Kalaallisut Name[eu]=Kalaallisut Name[fa]=کالالیسوت Name[fi]=Kalaallisut (grönlanti) Name[fr]=Kalaallisut Name[fy]=Kalaallisut Name[ga]=Graonlainnis Name[gl]=Groenlandés Name[gu]=કાલાલ્લિસુટ Name[he]=קלאליסוט Name[hi]=कलालिसुत Name[hne]=कलालिसुत Name[hr]=Kalaallisut Name[hsb]=Kalaallisut Name[hu]=Kalaalliszut Name[ia]=Kalaallisut Name[id]=Kalaallisut Name[is]=Kalaallisut Name[it]=Groenlandese Name[ja]=グリーンランド語 Name[kk]=Калаалисутша Name[km]=កាឡាអាលីសាត់ Name[kn]=ಕಲಾಲ್ಲಿಸುತ್ Name[ko]=그린란드어 Name[ku]=Kalaallîsut Name[lb]=Kalaallisut Name[lt]=Kalaallisut Name[lv]=Grenlandiešu Name[mai]=कालालिसुत Name[mk]=Калалисут Name[ml]=കലാല്ലിസട്ട് Name[mr]=कलालिसुत Name[ms]=Kalaallisut Name[nb]=Kalaallisut Name[nds]=Kalaallisut Name[ne]=कलाल्लिसुट Name[nl]=Kalaallisut Name[nn]=Grønlandsk Name[or]=Kalaallisut Name[pa]=ਕਾਲਾਆਲਿਸੂਟ Name[pl]=Kalaallisut Name[pt]=Kalaallisut Name[pt_BR]=Groenlandês Name[ro]=Calalisută Name[ru]=Гренландский Name[se]=Kalállisutgiella Name[si]=කලාලිසුට් Name[sk]=Grónčina Name[sl]=kalaallisut Name[sq]=Kalaallisut Name[sr]=калалисут Name[sr@ijekavian]=калалисут Name[sr@ijekavianlatin]=kalalisut Name[sr@latin]=kalalisut Name[sv]=Grönländska Name[ta]=கலாலிசட் Name[te]=కలాల్లిసుత్ Name[tg]=Калалисутӣ Name[th]=ภาษาคาลัทลิซุท Name[tr]=Kalaallisut Name[ug]=كالائاللىسۇت Name[uk]=Калаалісут Name[uz]=Kalaallisut Name[uz@cyrillic]=Калааллисут -Name[vi]=Ka-lă-li-sút +Name[vi]=Kalaallisut Name[wa]=Kalaallisut -Name[x-test]=xxKalaallisutxx Name[xh]=Kalaallisut +Name[x-test]=xxKalaallisutxx Name[zh_CN]=格陵兰语 Name[zh_HK]=Kalaallisut語 Name[zh_TW]=Kalaallisut語 [km] Name=Khmer Name[af]=Khmer Name[ar]=خمرية Name[as]=খ্‌মেৰ Name[ast]=Khmer Name[be]=Хмерская Name[be@latin]=Chmerskaja Name[bg]=Кхмерски Name[bn]=খমের Name[bn_IN]=খমের Name[br]=Kmereg Name[bs]=Kmerski Name[ca]=Khmer Name[ca@valencia]=Khmer Name[cs]=Kmérský Name[csb]=Khmersczi Name[cy]=Khmer Name[da]=Khmer Name[de]=Khmer Name[el]=Khmer Name[en_GB]=Khmer Name[eo]=Kmera Name[es]=Camboyano Name[et]=Khmeeri Name[eu]=Khmer Name[fa]=خمری Name[fi]=Khmer Name[fr]=Khmer Name[fy]=Khmer Name[ga]=Ciméiris Name[gl]=Khmer Name[gu]=ખ્મેર Name[he]=חמר Name[hi]=ख्मेर Name[hne]=ख्मेर Name[hr]=Kmerski Name[hsb]=Khmer Name[hu]=Khmer Name[ia]=Khmer Name[id]=Khmer Name[is]=Khmer Name[it]=Khmer Name[ja]=クメール語 Name[kk]=Кхмерше Name[km]=ខ្មែរ Name[kn]=ಖ್ಮೇರ್ Name[ko]=크메르어 Name[ku]=Khmer Name[lb]=Khmer Name[lt]=Khmerų Name[lv]=Khmeru Name[mai]=ख्मेर Name[mk]=Кмерски Name[ml]=ഖമര്‍ Name[mr]=ख्मेर Name[ms]=Khmer Name[nb]=Khmer Name[nds]=Khmer Name[ne]=खमेर Name[nl]=Khmer Name[nn]=Khmer Name[oc]=Khmer Name[or]=Khmer Name[pa]=ਖਮੀਰ Name[pl]=Khmerski Name[ps]=کمير Name[pt]=Khmer Name[pt_BR]=Cambojano Name[ro]=Kmeră Name[ru]=Кхмерский Name[se]=Khmeragiella Name[si]=ඛමිර් Name[sk]=Khmérčina Name[sl]=kmersko Name[sq]=Khmer Name[sr]=кмерски Name[sr@ijekavian]=кмерски Name[sr@ijekavianlatin]=kmerski Name[sr@latin]=kmerski Name[sv]=Kambodjanska Name[ta]=கெமர் Name[te]=ఖ్మెర్ Name[tg]=Хмерӣ Name[th]=ภาษาเขมร Name[tr]=Khmer Name[ug]=كېخمېرچە Name[uk]=Кхмерська Name[uz]=Kxmercha Name[uz@cyrillic]=Кхмерча Name[vi]=Khơ-me Name[wa]=Xhmer -Name[x-test]=xxKhmerxx Name[xh]=Khmer +Name[x-test]=xxKhmerxx Name[zh_CN]=高棉语 Name[zh_HK]=高棉語 Name[zh_TW]=高棉語 [kn] Name=Kannada Name[af]=Kanadees Name[ar]=كنادا Name[as]=কন্নড় Name[ast]=Canaresu Name[be]=Канадская Name[be@latin]=Kannada Name[bg]=Каннада Name[bn]=কন্নাডা Name[bn_IN]=কন্নড় Name[br]=Kanada Name[bs]=Kannada Name[ca]=Kanarès Name[ca@valencia]=Kanarés Name[cs]=Kannada Name[csb]=Kannada Name[cy]=Kannada Name[da]=Kannada Name[de]=Kannada Name[el]=Kannada Name[en_GB]=Kannada Name[eo]=Kanara Name[es]=Kannada Name[et]=Kannada Name[eu]=Kannada Name[fa]=کانادایی Name[fi]=Kannada Name[fr]=Kannada Name[fy]=Kannada Name[ga]=Cannadais Name[gl]=Kannada Name[gu]=કન્નડ Name[he]=קנאדה Name[hi]=कन्नड Name[hne]=कन्नड Name[hr]=Kannada Name[hsb]=Kannada Name[hu]=Kannada Name[ia]=Kannada Name[id]=Kannada Name[is]=Kannada Name[it]=Kannada Name[ja]=カンナダ語 Name[kk]=Каннада Name[km]=កាណាដា Name[kn]=ಕನ್ನಡ Name[ko]=칸나다어 Name[ku]=Kannada Name[lb]=Kannada Name[lt]=Kannada Name[lv]=Kannadu Name[mai]=कन्नड Name[mk]=Канада Name[ml]=കന്നഡ Name[mr]=कन्नड Name[ms]=Kannada Name[nb]=Kannada Name[nds]=Kannada Name[ne]=कन्नडा Name[nl]=Kannada Name[nn]=Kannada Name[oc]=Kannadà Name[or]=Kannada Name[pa]=ਕੰਨੜ Name[pl]=Kannada Name[ps]=کناډا Name[pt]=Kannada Name[pt_BR]=Canarês Name[ro]=Kanada Name[ru]=Каннада Name[se]=Kannadagiella Name[si]=කන්නදා Name[sk]=Kannadčina Name[sl]=kannada Name[sq]=Kannada Name[sr]=канадски Name[sr@ijekavian]=канадски Name[sr@ijekavianlatin]=kanadski Name[sr@latin]=kanadski Name[sv]=Kanaresiska Name[ta]=கன்னடம் Name[te]=కన్నడ Name[tg]=Канадӣ Name[th]=ภาษากัณณาท Name[tr]=Kannada Name[ug]=كانناداچە Name[uk]=Каннада Name[uz]=Kannada Name[uz@cyrillic]=Каннада -Name[vi]=Ka-na-đa +Name[vi]=Kannada Name[wa]=Kannada -Name[x-test]=xxKannadaxx Name[xh]=Kannada +Name[x-test]=xxKannadaxx Name[zh_CN]=卡纳达语 Name[zh_HK]=坎那達語 Name[zh_TW]=坎那達語 [ko] Name=Korean Name[af]=Koriaanse Name[ar]=كورية Name[as]=কোৰীয় Name[ast]=Coreanu Name[be]=Карэйская Name[be@latin]=Karejskaja Name[bg]=Корейски Name[bn]=কোরীয় Name[bn_IN]=কোরিয়ান Name[br]=Koreeg Name[bs]=Korejski Name[ca]=Coreà Name[ca@valencia]=Coreà Name[cs]=Korejský Name[csb]=Kòrejańsczi Name[cy]=Koreëg Name[da]=Koreansk Name[de]=Koreanisch Name[el]=Κορεάτικα Name[en_GB]=Korean Name[eo]=Korea Name[es]=Coreano Name[et]=Korea Name[eu]=Koreera Name[fa]=کره‌ای Name[fi]=Korea Name[fr]=Coréen Name[fy]=Koareaansk Name[ga]=Cóiréis Name[gl]=Coreano Name[gu]=કોરીયન Name[he]=קוריאנית Name[hi]=कोरियाई Name[hne]=कोरियाई Name[hr]=Korejski Name[hsb]=Koreansce Name[hu]=Koreai Name[ia]=Coreano Name[id]=Korea Name[is]=Kóreska Name[it]=Coreano Name[ja]=韓国語・朝鮮語 Name[kk]=Корейше Name[km]=កូរ៉េ Name[kn]=ಕೊರಿಯನ್ Name[ko]=한국어 Name[ku]=Koreyî Name[lb]=Koreanesch Name[lt]=Korėjiečių Name[lv]=Korejiešu Name[mai]=कोरियाइ Name[mk]=Корејски Name[ml]=കൊറിയന്‍ Name[mr]=कोरियन Name[ms]=Korea Name[nb]=Koreansk Name[nds]=Koreaansch Name[ne]=कोरियाली Name[nl]=Koreaans Name[nn]=Koreansk Name[oc]=Corean Name[or]=Korean Name[pa]=ਕੋਰੀਆਈ Name[pl]=Koreański Name[ps]=کوريايي Name[pt]=Coreano Name[pt_BR]=Coreano Name[ro]=Coreană Name[ru]=Корейский Name[se]=Koreagiella Name[si]=කොරියානු Name[sk]=Kórejčina Name[sl]=korejsko Name[sq]=Koreane Name[sr]=корејски Name[sr@ijekavian]=корејски Name[sr@ijekavianlatin]=korejski Name[sr@latin]=korejski Name[sv]=Koreanska Name[ta]=கொரியன் Name[te]=కొరియన్ Name[tg]=Кореягӣ Name[th]=ภาษาเกาหลี Name[tr]=Korece Name[ug]=كورېيەچە Name[uk]=Корейська Name[uz]=Koreyscha Name[uz@cyrillic]=Корейсча -Name[vi]=Triều-tiên +Name[vi]=Hàn Quốc Name[wa]=Coreyin -Name[x-test]=xxKoreanxx Name[xh]=Isikorea +Name[x-test]=xxKoreanxx Name[zh_CN]=韩语 Name[zh_HK]=韓國語 Name[zh_TW]=韓國語 [ks] Name=Kashmiri Name[af]=Kashmiri Name[ar]=كشميرية Name[as]=কাশ্মীৰি Name[ast]=Cachemiranu Name[be]=Кашмірская Name[be@latin]=Kašmirskaja Name[bg]=Кашмири Name[bn]=কাশ্মীরি Name[bn_IN]=কাশমিরী Name[br]=Kashmiri Name[bs]=Kašmirski Name[ca]=Caixmiri Name[ca@valencia]=Caixmiri Name[cs]=Kašmírský Name[csb]=Kaszmirsczi Name[cy]=Kashmiri Name[da]=Kashmirsk Name[de]=Kashmiri Name[el]=Kashmiri Name[en_GB]=Kashmiri Name[eo]=Kaŝmira Name[es]=Kashmiri Name[et]=Kašmiiri Name[eu]=Kaxmirera Name[fa]=کشمیری Name[fi]=Kašmiri Name[fr]=Kashmiri Name[fy]=Kashmiri Name[ga]=Caismíris Name[gl]=Caxemir Name[gu]=કાશ્મીરી Name[he]=קשמירית Name[hi]=कश्मीरी Name[hne]=कस्मीरी Name[hr]=Kašmirski Name[hsb]=Kašmirsce Name[hu]=Kasmír Name[ia]=Kashmiri Name[id]=Kashmiri Name[is]=Kashmiri Name[it]=Kašmiro Name[ja]=カシュミール語 Name[kk]=Кашмирше Name[km]=កាស្មៀរ Name[kn]=ಕಶ್ಮೀರಿ Name[ko]=카슈미르어 Name[ku]=Keşmîrî Name[lb]=Kashmiri Name[lt]=Kašmiro Name[lv]=Kašmiriešu Name[mai]=कश्मीरी Name[mk]=Кашмирски Name[ml]=കാഷ്മീരി Name[mr]=कश्मीरी Name[ms]=Kashmiri Name[nb]=Kashmiri Name[nds]=Kaschmiirsch Name[ne]=काश्मिरी Name[nl]=Kashmiri Name[nn]=Kasjmiri Name[oc]=Kashmiri Name[or]=Kashmiri Name[pa]=ਕਸ਼ਮੀਰੀ Name[pl]=Kaszmirski Name[ps]=کشميري Name[pt]=Caxemir Name[pt_BR]=Caxemira Name[ro]=Cașmiră Name[ru]=Кашмирский Name[se]=Kašmirgiella Name[si]=කාෂ්මීරි Name[sk]=Kašmírčina Name[sl]=kašmirsko Name[sq]=Kashmiri Name[sr]=кашмирски Name[sr@ijekavian]=кашмирски Name[sr@ijekavianlatin]=kašmirski Name[sr@latin]=kašmirski Name[sv]=Kashmiri Name[ta]=காஷ்மீரி Name[te]=కష్మీరీ Name[tg]=Кашмирӣ Name[th]=ภาษากัศมิรี Name[tr]=Kashmiri Name[ug]=كەشمىرچە Name[uk]=Кашмірська Name[uz]=Kashmircha Name[uz@cyrillic]=Кашмирча -Name[vi]=Ka-x-mi-ri +Name[vi]=Kashmiri Name[wa]=Cachmiri -Name[x-test]=xxKashmirixx Name[xh]=Kashmiri +Name[x-test]=xxKashmirixx Name[zh_CN]=克什米尔语 Name[zh_HK]=喀什米爾語 Name[zh_TW]=喀什米爾語 [ku] Name=Kurdish Name[af]=Kurdish Name[ar]=كردية Name[as]=কুৰ্ডিশ্ব Name[ast]=Kurdu Name[be]=Курдская Name[be@latin]=Kurdzkaja Name[bg]=Кюрдски Name[bn]=কুর্দিশ Name[bn_IN]=কুর্ডিশ Name[br]=Kurdeg Name[bs]=Kurdski Name[ca]=Kurd Name[ca@valencia]=Kurd Name[cs]=Kurdský Name[csb]=Kùrdijsczi Name[cy]=Kwrdeg Name[da]=Kurdisk Name[de]=Kurdisch Name[el]=Κουρδικά Name[en_GB]=Kurdish Name[eo]=Kurda Name[es]=Kurdo Name[et]=Kurdi Name[eu]=Turkiera Name[fa]=کردی Name[fi]=Kurdi Name[fr]=Kurde Name[fy]=Koerdysk Name[ga]=Coirdis Name[gl]=Kurdo Name[gu]=કુર્દીશ Name[he]=כורדית Name[hi]=कुर्दिश Name[hne]=कुर्दिस Name[hr]=Kurdski Name[hsb]=Kurdisce Name[hu]=Kurd Name[ia]=Kurdo Name[id]=Kurdish Name[is]=Kúrdíska Name[it]=Curdo Name[ja]=クルド語 Name[kk]=Курдше Name[km]=ឃឺដ Name[kn]=ಕುರ್ದಿಷ್ Name[ko]=쿠르드어 Name[ku]=Kurdî Name[lb]=Kurdesch Name[lt]=Kurdų Name[lv]=Kurdu Name[mai]=कुर्दिश Name[mk]=Курдски Name[ml]=കുര്‍ദ്ദിഷ് Name[mr]=कुर्दिश Name[ms]=Kurdish Name[nb]=Kurdisk Name[nds]=Kurdsch Name[ne]=कुर्दिश Name[nl]=Koerdisch Name[nn]=Kurdisk Name[oc]=Curd Name[or]=Kurdish Name[pa]=ਕੁਰਦ Name[pl]=Kurdyjski Name[ps]=کوردي Name[pt]=Curdo Name[pt_BR]=Curdo Name[ro]=Curdă Name[ru]=Курдский Name[se]=Kurdigiella Name[si]=කුර්දිෂ් Name[sk]=Kurdčina Name[sl]=kurdsko Name[sq]=Kurde Name[sr]=курдски Name[sr@ijekavian]=курдски Name[sr@ijekavianlatin]=kurdski Name[sr@latin]=kurdski Name[sv]=Kurdiska Name[ta]=குர்திஷ் Name[te]=కుర్దిష్ Name[tg]=Курдиш Name[th]=ภาษาเคอร์ดิช Name[tr]=Kürtçe Name[ug]=كۇردچە Name[uk]=Курдська Name[uz]=Kurdcha Name[uz@cyrillic]=Курдча -Name[vi]=Kuổ-đị +Name[vi]=Kurd Name[wa]=Kurdi -Name[x-test]=xxKurdishxx Name[xh]=Kurdish +Name[x-test]=xxKurdishxx Name[zh_CN]=库尔德语 Name[zh_HK]=庫德語 Name[zh_TW]=庫德語 [kv] Name=Komi Name[af]=Komi Name[ar]=كومي Name[as]=কোমি Name[ast]=Komi Name[be]=Комі Name[be@latin]=Komi Name[bg]=Комизирянски Name[bn]=কোমি Name[bn_IN]=কোমি Name[br]=Komi Name[bs]=Komi Name[ca]=Komi Name[ca@valencia]=Komi Name[cs]=Komi Name[csb]=z Komi Name[cy]=Komi Name[da]=Komi Name[de]=Komi Name[el]=Komi Name[en_GB]=Komi Name[eo]=Komia Name[es]=Komi Name[et]=Komi Name[eu]=Komoreera Name[fa]=کمی Name[fi]=Komi Name[fr]=Komi Name[fy]=Komi Name[ga]=Coimí Name[gl]=Komi Name[gu]=કોમી Name[he]=קומי Name[hi]=कोमी Name[hne]=कोमी Name[hr]=Komi Name[hsb]=Komi Name[hu]=Komi Name[ia]=Komi Name[id]=Komi Name[is]=Komi Name[it]=Komi Name[ja]=コミ語 Name[kk]=Коми Name[km]=កូមី Name[kn]=ಕೋಮಿ Name[ko]=코미어 Name[ku]=Komî Name[lb]=Komi-Sprooch Name[lt]=Komi Name[lv]=Komiešu Name[mai]=कोमी Name[mk]=Коми Name[ml]=കോമി Name[mr]=कोमी Name[ms]=Komi Name[nb]=Komi Name[nds]=Komi Name[ne]=कोमी Name[nl]=Komi Name[nn]=Komi Name[oc]=Komi Name[or]=Komi Name[pa]=ਕੋਮੀ Name[pl]=z Komi Name[ps]=کومي Name[pt]=Komi Name[pt_BR]=Komi Name[ro]=Komi Name[ru]=Коми Name[se]=Komigiella Name[si]=කොමි Name[sk]=Komijčina Name[sl]=komi Name[sq]=Komi Name[sr]=коми Name[sr@ijekavian]=коми Name[sr@ijekavianlatin]=komi Name[sr@latin]=komi Name[sv]=Komi Name[ta]=கோமி Name[te]=కోమి Name[tg]=Комӣ Name[th]=ภาษาคอมี Name[tr]=Komi Name[ug]=كومىچە Name[uk]=Комі Name[uz]=Komi Name[uz@cyrillic]=Коми -Name[vi]=Khô-mi +Name[vi]=Komi Name[wa]=Komi -Name[x-test]=xxKomixx Name[xh]=Komi +Name[x-test]=xxKomixx Name[zh_CN]=科米语 Name[zh_HK]=Komi語 Name[zh_TW]=Komi語 [kw] Name=Cornish Name[af]=Cornish Name[ar]=كورنية Name[as]=ক'ৰ্নিশ্ব Name[ast]=Córnicu Name[be]=Корнская Name[be@latin]=Karnijskaja Name[bg]=Корнуълски Name[bn]=কর্নিশ Name[bn_IN]=কর্নিশ Name[br]=Korneveg Name[bs]=Korniški Name[ca]=Còrnic Name[ca@valencia]=Còrnic Name[cs]=Kornišský Name[csb]=Kòrnwalijsczi Name[cy]=Cernyweg Name[da]=Kornisk Name[de]=Kornisch Name[el]=Κορνουαλικά Name[en_GB]=Cornish Name[eo]=Kornvala Name[es]=Cornuallés Name[et]=Korni Name[eu]=Cornish Name[fa]=کرنیشی Name[fi]=Korni Name[fr]=Cornique Name[fy]=Cornysk Name[ga]=Coirnis Name[gl]=Córnico Name[gu]=કોર્નિશ Name[he]=קורנית Name[hi]=कॉर्निश Name[hne]=कार्निस Name[hr]=Kornski Name[hsb]=Kornisce Name[hu]=Korn Name[ia]=Cornish Name[id]=Cornish Name[is]=Cornish Name[it]=Cornico Name[ja]=コーンウォール語 Name[kk]=Корнуолше Name[km]=កូនីស Name[kn]=ಕೋರ್ನಿಷ್ Name[ko]=콘월어 Name[ku]=Korniş Name[lb]=Kornesch Name[lt]=Kornų Name[lv]=Korniešu Name[mai]=कॉर्निश Name[mk]=Корниш Name[ml]=കോര്‍ണിഷ് Name[mr]=कॉर्निश Name[ms]=Cornish Name[nb]=Cornisk Name[nds]=Kornisch Name[ne]=कर्निस Name[nl]=Cornish Name[nn]=Kornisk Name[oc]=Cornic Name[or]=Cornish Name[pa]=ਕੋਰਨਿਸ਼ Name[pl]=Kornwalijski Name[ps]=کورني Name[pt]=Cornualho Name[pt_BR]=Córnico Name[ro]=Corneză Name[ru]=Корнский Name[se]=Kornagiella Name[si]=කෝර්නිෂ් Name[sk]=Kornčina Name[sl]=cornish Name[sq]=Kornish Name[sr]=корнвалски Name[sr@ijekavian]=корнвалски Name[sr@ijekavianlatin]=kornvalski Name[sr@latin]=kornvalski Name[sv]=Korniska Name[ta]=கோர்னிஷ் Name[te]=కొర్నిష్ Name[tg]=Корниягӣ Name[th]=ภาษาคอร์นิช Name[tr]=Cornish Name[ug]=كورنىشچە Name[uk]=Корнійська Name[uz]=Korn Name[uz@cyrillic]=Корн -Name[vi]=Xen-tợ Coanh-ouặn +Name[vi]=Cornwall Name[wa]=Cornike -Name[x-test]=xxCornishxx Name[xh]=Cornish +Name[x-test]=xxCornishxx Name[zh_CN]=康沃尔语 Name[zh_HK]=康瓦耳語 Name[zh_TW]=康瓦耳語 [ky] Name=Kirghiz Name[af]=Kirghiz Name[ar]=قرغيزية Name[as]=কিৰ্গিজ Name[ast]=Kirguisu Name[be]=Кіргізская Name[be@latin]=Kirhiskaja Name[bg]=Киргизки Name[bn]=কার্ঘিস Name[bn_IN]=কির্গিজ Name[br]=Kirgistaneg Name[bs]=Kirgiski Name[ca]=Kirguís Name[ca@valencia]=Kirguís Name[cs]=Kyrgizský Name[csb]=Kirgijsczi Name[cy]=Kirghiz Name[da]=Kirghiz Name[de]=Kirgisisch Name[el]=Kirghiz Name[en_GB]=Kirghiz Name[eo]=Kirgiza Name[es]=Kirguiz Name[et]=Kirgiisi Name[eu]=Kirgiera Name[fa]=قرقیزی Name[fi]=Kirgiisi Name[fr]=Kirghize Name[fy]=Kirgizysk Name[ga]=Cirgisis Name[gl]=Quirguiz Name[gu]=કિર્ગીઝ Name[he]=קירגיזית Name[hi]=किर्गिज Name[hne]=किर्गिज Name[hr]=Kirgiški Name[hsb]=Kirgisce Name[hu]=Kirgiz Name[ia]=Kirghizo Name[id]=Kirghiz Name[is]=Kirgíska Name[it]=Kirghiso Name[ja]=キルギス語 Name[kk]=Қырғызша Name[km]=គៀរហ្គីស្តង់ Name[kn]=ಕಿರ್ಘಿಜ್ Name[ko]=키르키즈어 Name[ku]=Kirgîzî Name[lb]=Kirghisesch Name[lt]=Kirgizų Name[lv]=Kirgīzu Name[mai]=खिरगिज Name[mk]=Киргизтански Name[ml]=കിര്‍ഗ്ഗിഷ് Name[mr]=किर्गिज Name[ms]=Kirghiz Name[nb]=Kirgisisk Name[nds]=Kirgiisch Name[ne]=क्रिगिज Name[nl]=Kirghizisch Name[nn]=Kirgisisk Name[oc]=Kirghiz Name[or]=Kirghiz Name[pa]=ਕਿਰਘੀਜ਼ Name[pl]=Kirgiski Name[ps]=کرګزي Name[pt]=Quirguistanês Name[pt_BR]=Quirguiz Name[ro]=Chirghiză Name[ru]=Киргизский Name[se]=Kirgisiagiella Name[si]=කිර්ඝිස් Name[sk]=Kirgizština Name[sl]=kirgizijsko Name[sq]=Kirgize Name[sr]=киргиски Name[sr@ijekavian]=киргиски Name[sr@ijekavianlatin]=kirgiski Name[sr@latin]=kirgiski Name[sv]=Kirghiziska Name[ta]=கிர்கிஸ் Name[te]=కిర్ఘిజ్ Name[tg]=Қирғизӣ Name[th]=ภาษาเคอร์กิซ Name[tr]=Kırgız Name[ug]=قىرغىزچە Name[uk]=Киргизька Name[uz]=Qirgʻizcha Name[uz@cyrillic]=Қирғизча -Name[vi]=Kia-gi-x +Name[vi]=Kirghiz Name[wa]=Kirguize -Name[x-test]=xxKirghizxx Name[xh]=Kirghiz +Name[x-test]=xxKirghizxx Name[zh_CN]=吉尔吉斯语 Name[zh_HK]=吉爾吉斯語 Name[zh_TW]=吉爾吉斯語 [la] Name=Latin Name[af]=Latyn Name[ar]=لاتينية Name[as]=লেটিন Name[ast]=Llatín Name[be]=Лацінская Name[be@latin]=Łacinskaja Name[bg]=Латински Name[bn]=লাতিন Name[bn_IN]=লাতিন Name[br]=Latin Name[bs]=Latinski Name[ca]=Llatí Name[ca@valencia]=Llatí Name[cs]=Latina Name[csb]=Łacëzna Name[cy]=Lladin Name[da]=Latin Name[de]=Latein Name[el]=Λατινικά Name[en_GB]=Latin Name[eo]=Latino Name[es]=Latín Name[et]=Ladina Name[eu]=Latina Name[fa]=لاتین Name[fi]=Latina Name[fr]=Latin Name[fy]=Latyn Name[ga]=Laidin Name[gl]=Latín Name[gu]=લેટિન Name[he]=לטינית Name[hi]=लातिन Name[hne]=लातिन Name[hr]=Latinski Name[hsb]=Łaćonsce Name[hu]=Latin Name[hy]=Լատիներեն Name[ia]=Latino Name[id]=Latin Name[is]=Latína Name[it]=Latino Name[ja]=ラテン語 Name[kk]=Латынша Name[km]=ឡាតាំង Name[kn]=ಲ್ಯಾಟಿನ್ Name[ko]=라틴어 Name[ku]=Latînî Name[lb]=Latäin Name[lt]=Lotynų Name[lv]=Latīņu Name[mai]=लैटिन Name[mk]=Латински Name[ml]=ലത്തീന്‍ Name[mr]=लॅटिन Name[ms]=Latin Name[nb]=Latin Name[nds]=Latiensch Name[ne]=ल्याटिन Name[nl]=Latijn Name[nn]=Latin Name[oc]=Latin Name[or]=Latin Name[pa]=ਲੈਟਿਨ Name[pl]=Łaciński Name[ps]=لاټيني Name[pt]=Latim Name[pt_BR]=Latim Name[ro]=Latină Name[ru]=Латинский Name[se]=Láhtengiella Name[si]=ලතින් Name[sk]=Latinčina Name[sl]=latinsko Name[sq]=Latine Name[sr]=латински Name[sr@ijekavian]=латински Name[sr@ijekavianlatin]=latinski Name[sr@latin]=latinski Name[sv]=Latin Name[ta]=இலத்தீன் Name[te]=లాటిన్ Name[tg]=Лотинӣ Name[th]=ภาษาละติน Name[tr]=Latin Name[ug]=لاتىنچە Name[uk]=Латинська Name[uz]=Lotincha Name[uz@cyrillic]=Лотинча -Name[vi]=La-tinh +Name[vi]=Latin Name[wa]=Latén -Name[x-test]=xxLatinxx Name[xh]=Latin +Name[x-test]=xxLatinxx Name[zh_CN]=拉丁语 Name[zh_HK]=拉丁語 Name[zh_TW]=拉丁語 [lb] Name=Luxembourgish Name[af]=Luxembourgish Name[ar]=لوكسمبورغية Name[as]=লাক্সেম্বৰ্গিছ Name[ast]=Lluxemburgués Name[be]=Люксембургская Name[be@latin]=Luksemburskaja Name[bg]=Люксембургски Name[bn]=লাক্সেমবার্গিশ Name[bn_IN]=লাক্সেমবুর্গিশ Name[br]=Luksembourgeg Name[bs]=Luksemburški Name[ca]=Luxemburguès Name[ca@valencia]=Luxemburgués Name[cs]=Lucemburský Name[csb]=Luksembùrsczi Name[cy]=Luxembwrgeg Name[da]=Luxembourgish Name[de]=Luxemburgisch Name[el]=Λουξεμβουργικά Name[en_GB]=Luxembourgish Name[eo]=Luksemburga Name[es]=Luxemburgués Name[et]=Luksemburgi Name[eu]=Luxenburgera Name[fa]=لوکزامبورگ Name[fi]=Luxemburg Name[fr]=Luxembourgeois Name[fy]=Luksemboarchsk Name[ga]=Lucsambuirgis Name[gl]=Luxemburgués Name[gu]=લક્ઝેમ્બર્ગીઝ Name[he]=לוקסמבורגית Name[hi]=लक्जमबर्गिश Name[hne]=लक्जमबर्गिस Name[hr]=Luksemburški Name[hsb]=Luksemburgsce Name[hu]=Luxemburgi Name[ia]=Luxemburgese Name[id]=Luxembourgish Name[is]=Lúxemborgiska Name[it]=Lussemburghese Name[ja]=ルクセンブルク語 Name[kk]=Люксимбургша Name[km]=លុចហ្សំបួរ Name[kn]=ಲಕ್ಝೆಂಬರ್ಗಿಷ್ Name[ko]=룩셈부르크어 Name[ku]=Luksemburgî Name[lb]=Lëtzebuergesch Name[lt]=Liuksemburgiečių Name[lv]=Luksemburgiešu Name[mai]=लक्समबर्ग Name[mk]=Луксембургски Name[ml]=ലക്സംബര്‍ഗ്ഗിഷ് Name[mr]=लक्जमबर्गिश Name[ms]=Luxembourgish Name[nb]=Luxemburgisk Name[nds]=Luxemborgsch Name[ne]=लग्जेम्बर्गिस Name[nl]=Letzenburgs Name[nn]=Luxembourgsk Name[oc]=Luxemborgés Name[or]=Luxembourgish Name[pa]=ਲਕਸ਼ਬਰਗਸ਼ Name[pl]=Luksemburski Name[ps]=لګسېمبرګيايي Name[pt]=Luxemburguês Name[pt_BR]=Luxemburguês Name[ro]=Luxemburgheză Name[ru]=Люксембургский Name[se]=Luksenburggagiella Name[si]=ලක්සම්බර්ගිෂ් Name[sk]=Luxemburčina Name[sl]=luksemburško Name[sq]=Luksemburgeze Name[sr]=луксембуршки Name[sr@ijekavian]=луксембуршки Name[sr@ijekavianlatin]=luksemburški Name[sr@latin]=luksemburški Name[sv]=Luxemburgiska Name[ta]=லக்சம்போர்கிஷ் Name[te]=లక్సెంబర్గిష్ Name[tg]=Люксембургӣ Name[th]=ภาษาลักเซมเบอร์ก Name[tr]=Luxembourgish Name[ug]=لىيۇكسېمبۇرگچە Name[uk]=Люксембурзька Name[uz]=Lyuksemburgcha Name[uz@cyrillic]=Люксембургча -Name[vi]=Lúc-xăm-buac +Name[vi]=Luxembourg Name[wa]=Lussimbordjwès -Name[x-test]=xxLuxembourgishxx Name[xh]=Luxembourgish +Name[x-test]=xxLuxembourgishxx Name[zh_CN]=卢森堡语 Name[zh_HK]=盧森堡語 Name[zh_TW]=盧森堡語 [li] Name=Limburgan Name[af]=Limburgan Name[ar]=لمبرغية Name[as]=লিম্বুৰ্গান Name[ast]=Limburganu Name[be]=Лімбургская Name[be@latin]=Limburskaja Name[bg]=Лимбургански Name[bn]=লিমবার্গান Name[bn_IN]=লিমবুর্গান Name[br]=Limburgeg Name[bs]=Limburški Name[ca]=Limburguès Name[ca@valencia]=Limburgués Name[cs]=Limburgan Name[csb]=Limbùrgańsczi Name[cy]=Limbwrgeg Name[da]=Limburgansk Name[de]=Limburgisch Name[el]=Limburgan Name[en_GB]=Limburgan Name[eo]=Limburga Name[es]=Limburgano Name[et]=Limburgi Name[eu]=Limburgan Name[fa]=لیمبرگان Name[fi]=Limburg Name[fr]=Limbourgeois Name[fy]=Limburgsk Name[ga]=Liombuirgis Name[gl]=Limburgano Name[gu]=લિમ્બુર્ગી Name[he]=לימבורגית Name[hi]=लिम्बर्गन Name[hne]=लिम्बर्गन Name[hr]=Limburški Name[hsb]=Limburgsce Name[hu]=Limburgi Name[ia]=Limburgano Name[id]=Limburgan Name[is]=Limburgian Name[it]=Limburghese Name[ja]=リグリア語 Name[kk]=Лимбургша Name[km]=លីបួគ Name[kn]=ಲಿಂಬುರ್ಗನ್ Name[ko]=림부르크어 Name[ku]=Lîmburgî Name[lb]=Limburgesch Name[lt]=Limburgan Name[lv]=Limburgiešu Name[mai]=लिम्बर्गन Name[mk]=Лимбургански Name[ml]=ലിമ്ബ്ബൂര്‍ഗ്ഗന്‍ Name[mr]=लिम्बर्गन Name[ms]=Limburgan Name[nb]=Limburgisk Name[nds]=Limborgsch Name[ne]=लिम्बुरगन Name[nl]=Limburgs Name[nn]=Limburgsk Name[or]=Limburgan Name[pa]=ਲੀਮਬੁਰਗਾਨ Name[pl]=Limburgiański Name[pt]=Limburguês Name[pt_BR]=Limburguês Name[ro]=Limburgană Name[ru]=Лимбуржский Name[se]=Limburggagiella Name[si]=ලිම්බර්ගන් Name[sk]=Limburčina Name[sl]=limburgan Name[sq]=Limburgan Name[sr]=лимбуршки Name[sr@ijekavian]=лимбуршки Name[sr@ijekavianlatin]=limburški Name[sr@latin]=limburški Name[sv]=Limburgiska Name[ta]=லிம்பர்கன் Name[te]=లింబర్గన్ Name[tg]=Лимбурганӣ Name[th]=ภาษาลิมเบอร์กัน Name[tr]=Limburgan Name[ug]=لىمبۇرگانچە Name[uk]=Лімбурганська Name[uz]=Limburgan Name[uz@cyrillic]=Лимбурган -Name[vi]=Lim-bua-ga +Name[vi]=Limburg Name[wa]=Limbordjwès -Name[x-test]=xxLimburganxx Name[xh]=Limburgan +Name[x-test]=xxLimburganxx Name[zh_CN]=林堡语 Name[zh_HK]=Limburgan語 Name[zh_TW]=Limburgan語 [ln] Name=Lingala Name[af]=Lingala Name[ar]=لينغالا Name[as]=লিঙ্গালা Name[ast]=Lingala Name[be]=Лінгальская Name[be@latin]=Lingala Name[bg]=Лингала Name[bn]=লিঙ্গালা Name[bn_IN]=লিঙ্গালা Name[br]=Lingaleg Name[bs]=Lingala Name[ca]=Lingala Name[ca@valencia]=Lingala Name[cs]=Lingala Name[csb]=Lingala Name[cy]=Lingala Name[da]=Lingala Name[de]=Lingala Name[el]=Lingala Name[en_GB]=Lingala Name[eo]=Lingala Name[es]=Lingala Name[et]=Lingala Name[eu]=Lingala Name[fa]=لینگالا Name[fi]=Lingala Name[fr]=Lingala Name[fy]=Lingala Name[ga]=Liongáilis Name[gl]=Lingala Name[gu]=લિંગાલા Name[he]=לינגאלה Name[hi]=लिंगला Name[hne]=लिंगला Name[hr]=Lingalski Name[hsb]=Lingala Name[hu]=Lingala Name[ia]=Lingala Name[id]=Lingala Name[is]=Lingala Name[it]=Lingala Name[ja]=リンガラ語 Name[kk]=Лингата Name[km]=លីនហ្គាឡា Name[kn]=ಲಿಂಗಾಲ Name[ko]=링갈라어 Name[ku]=Lîngala Name[lb]=Lingala Name[lt]=Lingala Name[lv]=Lingala Name[mai]=लिंगाला Name[mk]=Лингала Name[ml]=ലിന്‍ഗാല Name[mr]=लिंगला Name[ms]=Lingala Name[nb]=Lingala Name[nds]=Lingala Name[ne]=लिङ्गाला Name[nl]=Lingala Name[nn]=Lingala Name[oc]=Lingalà Name[or]=Lingala Name[pa]=ਲੀਨਗਾਲਾ Name[pl]=Lingala Name[ps]=لېنګالا Name[pt]=Lingala Name[pt_BR]=Lingala Name[ro]=Lingală Name[ru]=Лингала Name[se]=Lingalagiella Name[si]=ලින්ගලා Name[sk]=Lingalčina Name[sl]=lingala Name[sq]=Lingala Name[sr]=лингала Name[sr@ijekavian]=лингала Name[sr@ijekavianlatin]=lingala Name[sr@latin]=lingala Name[sv]=Lingala Name[ta]=லிங்காலா Name[te]=లింగాలా Name[tg]=Лингалӣ Name[th]=ภาษาลิงกาลา Name[tr]=Lingala Name[ug]=لىنگالاچە Name[uk]=Лінгала Name[uz]=Lingala Name[uz@cyrillic]=Лингала -Name[vi]=Lin-ga-la +Name[vi]=Lingala Name[wa]=Lingala -Name[x-test]=xxLingalaxx Name[xh]=Lingala +Name[x-test]=xxLingalaxx Name[zh_CN]=林加拉语 Name[zh_HK]=Lingala語 Name[zh_TW]=Lingala語 [lo] Name=Lao Name[af]=Lao Name[ar]=لاوية Name[as]=লাও Name[ast]=Laosianu Name[be]=Лаоская Name[be@latin]=Laoskaja Name[bg]=Лао Name[bn]=লাও Name[bn_IN]=লাও Name[br]=Lao Name[bs]=Lao Name[ca]=Laosià Name[ca@valencia]=Laosià Name[cs]=Laoský Name[csb]=Lao Name[cy]=Lao Name[da]=Lao Name[de]=Laotisch Name[el]=Lao Name[en_GB]=Lao Name[eo]=Laosa Name[es]=Laosiano Name[et]=Lao Name[eu]=Laosera Name[fa]=لائویی Name[fi]=Lao Name[fr]=Lao Name[fy]=Lao Name[ga]=Láóis Name[gl]=Lao Name[gu]=લાઓ Name[he]=לאו Name[hi]=लाओ Name[hne]=लाओ Name[hr]=Lao Name[hsb]=Lao Name[hu]=Lao Name[ia]=Lao Name[id]=Lao Name[is]=Lao Name[it]=Lao Name[ja]=ラオ語 Name[kk]=Лаосша Name[km]=ឡាវ Name[kn]=ಲಾಓ Name[ko]=라오어 Name[ku]=Lao Name[lb]=Lao Name[lt]=Laosiečių Name[lv]=Laosiešu Name[mai]=लाओ Name[mk]=Лао Name[ml]=ലാവോ Name[mr]=लाओ Name[ms]=Lao Name[nb]=Lao Name[nds]=Laootsch Name[ne]=लाओ Name[nl]=Lao Name[nn]=Laotisk Name[oc]=Laossian Name[or]=Lao Name[pa]=ਲਿਓ Name[pl]=Laotański Name[ps]=لاو Name[pt]=Lao Name[pt_BR]=Laociano Name[ro]=Lao Name[ru]=Лаосский Name[se]=Laogiella Name[si]=ලාඕ Name[sk]=Laoština Name[sl]=laoško Name[sq]=Lao Name[sr]=лаоћански Name[sr@ijekavian]=лаоћански Name[sr@ijekavianlatin]=laoćanski Name[sr@latin]=laoćanski Name[sv]=Laotiska Name[ta]=லாவோ Name[te]=లావో Name[tg]=Лаосӣ Name[th]=ภาษาลาว Name[tr]=Lao Name[ug]=لائوسچە Name[uk]=Лаоська Name[uz]=Laoscha Name[uz@cyrillic]=Лаосча Name[vi]=Lào Name[wa]=Lawocyin -Name[x-test]=xxLaoxx Name[xh]=Lao +Name[x-test]=xxLaoxx Name[zh_CN]=老挝语 Name[zh_HK]=寮國語 Name[zh_TW]=寮國語 [lt] Name=Lithuanian Name[af]=Lithuaniese Name[ar]=ليتوانية Name[as]=লিথুৱেনিয়ান Name[ast]=Llituanu Name[be]=Літоўская Name[be@latin]=Litoŭskaja Name[bg]=Литовски Name[bn]=লিথুয়েনীয় Name[bn_IN]=লিথুয়েনিয়ান Name[br]=Lituaneg Name[bs]=Litvanski Name[ca]=Lituà Name[ca@valencia]=Lituà Name[cs]=Litevský Name[csb]=Litewsczi Name[cy]=Lithuaneg Name[da]=Litauisk Name[de]=Litauisch Name[el]=Λιθουανικά Name[en_GB]=Lithuanian Name[eo]=Litova Name[es]=Lituano Name[et]=Leedu Name[eu]=Lituaniera Name[fa]=لیتوانی Name[fi]=Liettua Name[fr]=Lituanien Name[fy]=Litouwsk Name[ga]=Liotuáinis Name[gl]=Lituano Name[gu]=લિથુઆનિઅન Name[he]=ליטאית Name[hi]=लिथुआनियाई Name[hne]=लिथुआनियाई Name[hr]=Litvanski Name[hsb]=Litawsce Name[hu]=Litván Name[hy]=Լիտվերեն Name[ia]=Lituano Name[id]=Lithuania Name[is]=Litháíska Name[it]=Lituano Name[ja]=リトアニア語 Name[kk]=Литваша Name[km]=លីទុយអានី Name[kn]=ಲಿಥುವೇನಿಯನ್ Name[ko]=리투아니아어 Name[ku]=Lîtuwanî Name[lb]=Litauesch Name[lt]=Lietuvių Name[lv]=Lietuviešu Name[mai]=लिथुआनियाइ Name[mk]=Литвански Name[ml]=ലിത്തുവേനിയന്‍ Name[mr]=लिथुआनियाई Name[ms]=Lithuania Name[nb]=Litauisk Name[nds]=Litausch Name[ne]=लिथुनियाली Name[nl]=Litouws Name[nn]=Litauisk Name[oc]=Lituanian Name[or]=Lithuanian Name[pa]=ਲੀਥੂਨੀਆਨ Name[pl]=Litewski Name[ps]=لېټوانيايي Name[pt]=Lituano Name[pt_BR]=Lituano Name[ro]=Lituaniană Name[ru]=Литовский Name[se]=Lietuvagiella Name[si]=ලිතුවේනියානු Name[sk]=Litovčina Name[sl]=litvansko Name[sq]=Lituaneze Name[sr]=литвански Name[sr@ijekavian]=литвански Name[sr@ijekavianlatin]=litvanski Name[sr@latin]=litvanski Name[sv]=Litauiska Name[ta]=லிதுவேனியன் Name[te]=లితువెనియన్ Name[tg]=Литвонӣ Name[th]=ภาษาลิธัวเนีย Name[tr]=Litvanya Dili Name[ug]=لىتۋاچە Name[uk]=Литовська Name[uz]=Litvacha Name[uz@cyrillic]=Литвача -Name[vi]=Li-tu-a-ni +Name[vi]=Lithuani Name[wa]=Litwanyin -Name[x-test]=xxLithuanianxx Name[xh]=Lithuanian +Name[x-test]=xxLithuanianxx Name[zh_CN]=立陶宛语 Name[zh_HK]=立陶宛語 Name[zh_TW]=立陶宛語 [lv] Name=Latvian Name[af]=Latvian Name[ar]=لاتفية Name[as]=লাট্‌ভিয়ান Name[ast]=Letón Name[be]=Латвійская Name[be@latin]=Łatyskaja Name[bg]=Латвийски Name[bn]=লাটভিয়ান Name[bn_IN]=লাটভিয়ান Name[br]=Latvieg Name[bs]=Latvijski Name[ca]=Letó Name[ca@valencia]=Letó Name[cs]=Lotyšský Name[csb]=Łotewsczi Name[cy]=Latfieg Name[da]=Lettisk Name[de]=Lettisch Name[el]=Λεττονικά Name[en_GB]=Latvian Name[eo]=Latvia Name[es]=Letón Name[et]=Läti Name[eu]=Letoniera Name[fa]=لاتوینی Name[fi]=Latvia Name[fr]=Letton Name[fy]=Letsk Name[ga]=Laitvis Name[gl]=Letón Name[gu]=લેટવિયન Name[he]=לטבית Name[hi]=लातवियाई Name[hne]=लातवियाई Name[hr]=Latvijski Name[hsb]=Letisce Name[hu]=Lett Name[ia]=Letton Name[id]=Latvia Name[is]=Lettneska Name[it]=Lettone Name[ja]=ラトビア語 Name[kk]=Латвияша Name[km]=ឡាតវៀ Name[kn]=ಲಾಟ್ವಿಯನ್ Name[ko]=라트비아어 Name[ku]=Letonî Name[lb]=Lettesch Name[lt]=Latvių Name[lv]=Latviešu Name[mai]=लातवियाइ Name[mk]=Латвиски Name[ml]=ലാത്വിയന്‍ Name[mr]=लातवियाई Name[ms]=Latvia Name[nb]=Latvisk Name[nds]=Lettsch Name[ne]=लाट्भियन Name[nl]=Lets Name[nn]=Latvisk Name[oc]=Leton Name[or]=Latvian Name[pa]=ਲਾਟਵੀਨ Name[pl]=Łotewski Name[ps]=لېټوين Name[pt]=Letão Name[pt_BR]=Letão Name[ro]=Letonă Name[ru]=Латышский Name[se]=Látviagiella Name[si]=ලැට්වියානු Name[sk]=Lotyština Name[sl]=latvijsko Name[sq]=Letone Name[sr]=летонски Name[sr@ijekavian]=летонски Name[sr@ijekavianlatin]=letonski Name[sr@latin]=letonski Name[sv]=Lettiska Name[ta]=இலட்வியன் Name[te]=లాటివ్యన్ Name[tg]=Латвиягӣ Name[th]=ภาษาลัทเวีย Name[tr]=Litvanya Dili Name[ug]=لاتۋىيەچە Name[uk]=Латвійська Name[uz]=Latishcha Name[uz@cyrillic]=Латишча Name[vi]=Lát-vi-a Name[wa]=Letonyin -Name[x-test]=xxLatvianxx Name[xh]=Isilatvian +Name[x-test]=xxLatvianxx Name[zh_CN]=拉脱维亚语 Name[zh_HK]=拉脫維亞語 Name[zh_TW]=拉脫維亞語 [mai] Name=Maithili Name[ar]=مايثيلي Name[as]=মৈথিলি Name[ast]=Maithili Name[be@latin]=Maithili Name[bg]=Майтили Name[bn]=মৈথিলী Name[bn_IN]=মৈথিলি Name[bs]=Maithili Name[ca]=Maithili Name[ca@valencia]=Maithili Name[cs]=Maithili Name[csb]=Maithili Name[da]=Maithili Name[de]=Maithili Name[el]=Μαϊθίλι Name[en_GB]=Maithili Name[eo]=Maithili Name[es]=Maithili Name[et]=Maithili Name[eu]=Maithiliera Name[fi]=Maithili Name[fr]=Maïthili Name[fy]=Maithili Name[ga]=Maitilis Name[gl]=Maithili Name[gu]=મૈથિલિ Name[hi]=मैथिली Name[hr]=Maithilski Name[hu]=Maithili Name[ia]=Maithili Name[id]=Maithili Name[is]=Maithili Name[it]=Maithili Name[ja]=マイティリー語 Name[kk]=Майтили Name[km]=ម៉ារ៉ាទី Name[kn]=ಮೈಥಿಲಿ Name[ko]=마이틸리어 Name[ku]=Maratî Name[lt]=Maithili Name[lv]=Maithilu Name[ml]=മൈഥിലി Name[ms]=Maithili Name[nb]=Maithili Name[nds]=Maithili Name[nl]=Maithili Name[nn]=Maithili Name[pa]=ਮੈਥਲੀ Name[pl]=Maithili Name[pt]=Maithili Name[pt_BR]=Maithili Name[ro]=Maithili Name[ru]=Майтхили Name[se]=Maitiligiella Name[si]=මයිතිලි Name[sk]=Maithilčina Name[sl]=Maithili Name[sq]=Maithili Name[sr]=маитхили Name[sr@ijekavian]=маитхили Name[sr@ijekavianlatin]=maithili Name[sr@latin]=maithili Name[sv]=Maithili Name[ta]=மைதிலி Name[tg]=Майтифил Name[th]=ภาษาไมถิลี Name[tr]=Maithili Name[ug]=مايتىلىچە Name[uk]=Майтхілі +Name[vi]=Maithili Name[wa]=Maithili Name[x-test]=xxMaithilixx Name[zh_CN]=迈蒂利语 Name[zh_TW]=Maithili語 [mg] Name=Malagasy Name[af]=Malagasy Name[ar]=ملغاسي Name[as]=মালাগাছি Name[ast]=Malgache Name[be]=Малагасійская Name[be@latin]=Malagasy Name[bg]=Малагашки Name[bn]=মালাগাসি Name[bn_IN]=মালাগাসি Name[br]=Malagacheg Name[bs]=Malagaški Name[ca]=Malgaix Name[ca@valencia]=Malgaix Name[cs]=Malagasy Name[csb]=Madagarsczi Name[cy]=Malagasy Name[da]=Malagasy Name[de]=Madagassisch Name[el]=Μαλγασικά Name[en_GB]=Malagasy Name[eo]=Malagasa Name[es]=Malagasio Name[et]=Malagassi Name[eu]=Madagaskarera Name[fa]=مالاگازی Name[fi]=Malagassi Name[fr]=Malgache Name[fy]=Malagasysk Name[ga]=Malagásais Name[gl]=Malgaxe Name[gu]=માલાગાસી Name[he]=מלגשית Name[hi]=मलागासी Name[hne]=मलागासी Name[hr]=Malagaski Name[hsb]=Malagasy Name[hu]=Malagazi Name[ia]=Malagasy Name[id]=Malagasy Name[is]=Malagasy Name[it]=Malgascio Name[ja]=マラガシ語 Name[kk]=Мальгашша Name[km]=ម៉ាដាហ្កាសការ Name[kn]=ಮಲಗೆಸಿ Name[ko]=말라가시어 Name[ku]=Malagasî Name[lb]=Madagassesch Name[lt]=Malagasių Name[lv]=Malagasu Name[mai]=मलागासी Name[mk]=Малагаси Name[ml]=മലഗാസി Name[mr]=मलागासी Name[ms]=Malagasy Name[nb]=Malagasy Name[nds]=Madagass'sch Name[ne]=मालागासे Name[nl]=Malagasy Name[nn]=Gassisk Name[or]=Malagasy Name[pa]=ਮਾਲਾਗਾਸਆ Name[pl]=Madagaskarski Name[ps]=ملاګاسي Name[pt]=Malgaxe Name[pt_BR]=Malgaxe Name[ro]=Malgașă Name[ru]=Мальгашский Name[se]=Malagasigiella Name[si]=මලගසි Name[sk]=Malgaština Name[sl]=malagaško Name[sq]=Malagasy Name[sr]=малагаси Name[sr@ijekavian]=малагаси Name[sr@ijekavianlatin]=malagasi Name[sr@latin]=malagasi Name[sv]=Malagassiska Name[ta]=மலகாசி Name[te]=మలగాసి Name[tg]=Малагасӣ Name[th]=ภาษามาลากาซี Name[tr]=Malagasy Name[ug]=ماداغاسقارچە Name[uk]=Малагасійська Name[uz]=Malagasi Name[uz@cyrillic]=Малагаси -Name[vi]=Ma-la-ga-xị +Name[vi]=Malagasy Name[wa]=Malgache -Name[x-test]=xxMalagasyxx Name[xh]=Malagasy +Name[x-test]=xxMalagasyxx Name[zh_CN]=马尔加什语 Name[zh_HK]=馬拉加西語 Name[zh_TW]=馬拉加西語 [mh] Name=Marshallese Name[af]=Marshallese Name[ar]=مارشالية Name[as]=মাৰ্ছালিশ্ব Name[ast]=Marshalés Name[be]=Маршальская Name[be@latin]=Maršaleskaja Name[bg]=Ебон Name[bn]=মার্শালিস Name[bn_IN]=মার্শালিস Name[br]=Yezh an enez Marshall Name[bs]=Maršalski Name[ca]=Marshallès Name[ca@valencia]=Marshallés Name[cs]=Marshallský Name[csb]=z Òstrowów Marshalla Name[cy]=Marshalleg Name[da]=Marshallesisk Name[de]=Marshallisch Name[el]=Marshallese Name[en_GB]=Marshallese Name[eo]=Marŝala Name[es]=Marshalés Name[et]=Maršalli Name[eu]=Marshallera Name[fa]=مارشالی Name[fi]=Marshall Name[fr]=Marshall Name[fy]=Marshalleesk Name[ga]=Marascailis Name[gl]=Marshalés Name[gu]=માર્શલીઝ Name[he]=מרשלית Name[hi]=मार्शलीज Name[hne]=मार्सलीज Name[hr]=Maršaleski Name[hsb]=Maršalesce Name[hu]=Marsalli Name[ia]=Marshallese Name[id]=Marshallese Name[is]=Maltneska Name[it]=Marsciallese Name[ja]=マーシャル語 Name[kk]=Маршаллша Name[km]=ម៉ាស្យាលីស Name[kn]=ಮಾರ್ಶಲ್ಲೀಸ್ Name[ko]=마셜어 Name[ku]=Marşalî Name[lb]=Marschallesesch Name[lt]=Maršaliečių Name[lv]=Māršaliešu Name[mai]=मार्शलीज Name[mk]=Маршалски Name[ml]=മാര്‍ഷാലീസ് Name[mr]=मार्शलीज Name[ms]=Marshallese Name[nb]=Marshallesisk Name[nds]=Marschalleesch Name[ne]=मार्शलिज Name[nl]=Marshallees Name[nn]=Marshallesisk Name[or]=Marshallese Name[pa]=ਮਾਰਸ਼ਲੀਈਸੀ Name[pl]=z Wysp Marshalla Name[ps]=مارشالي Name[pt]=Marselhês Name[pt_BR]=Marchalês Name[ro]=Marșaleză Name[ru]=Маршалльский Name[se]=Marshallagiella Name[si]=මාෂලීස් Name[sk]=Maršalčina Name[sl]=maršalsko Name[sq]=Marshalleze Name[sr]=маршалески Name[sr@ijekavian]=маршалески Name[sr@ijekavianlatin]=maršaleski Name[sr@latin]=maršaleski Name[sv]=Marshall Name[ta]=மார்ஷலீஸ் Name[te]=మార్షలీస్ Name[tg]=Маршалезӣ Name[th]=ภาษามาร์แชล Name[tr]=Marshallese Name[ug]=مارشالچە Name[uk]=Маршальська Name[uz]=Marshallez Name[uz@cyrillic]=Маршаллез -Name[vi]=Mă-xăn +Name[vi]=Marshall Name[wa]=Marshalès -Name[x-test]=xxMarshallesexx Name[xh]=Marshallese +Name[x-test]=xxMarshallesexx Name[zh_CN]=马绍尔语 Name[zh_HK]=馬紹爾語 Name[zh_TW]=馬紹爾語 [mi] Name=Maori Name[af]=Maori Name[ar]=ماوري Name[as]=মাওৰি Name[ast]=Maorí Name[be]=Маорская Name[be@latin]=Maory Name[bg]=Маори Name[bn]=মাওরি Name[bn_IN]=মাওরি Name[br]=Maorieg Name[bs]=Maorski Name[ca]=Maori Name[ca@valencia]=Maori Name[cs]=Maorský Name[csb]=Maòrëjsczi Name[cy]=Maori Name[da]=Maori Name[de]=Maori Name[el]=Μαορί Name[en_GB]=Maori Name[eo]=Maoria Name[es]=Maorí Name[et]=Maoori Name[eu]=Maoria Name[fa]=مائوری Name[fi]=Maori Name[fr]=Maori Name[fy]=Maori Name[ga]=Maorais Name[gl]=Maorí Name[gu]=માઓરી Name[he]=מאורית Name[hi]=माओरी Name[hne]=माओरी Name[hr]=Maori Name[hsb]=Maori Name[hu]=Maori Name[ia]=Maori Name[id]=Maori Name[is]=Maori Name[it]=Maori Name[ja]=マオリ語 Name[kk]=Маори Name[km]=ម៉ោរី Name[kn]=ಮವೋರಿ Name[ko]=마오리어 Name[ku]=Maorî Name[lb]=Maoresch Name[lt]=Maorių Name[lv]=Maoru Name[mai]=माओरी Name[mk]=Маорски Name[ml]=മൌറി Name[mr]=माओरी Name[ms]=Maori Name[nb]=Maori Name[nds]=Maori Name[ne]=माओरी Name[nl]=Maori Name[nn]=Maori Name[oc]=Maòri Name[or]=Maori Name[pa]=ਮਾਓਰੀ Name[pl]=Maoryjski Name[ps]=ماوري Name[pt]=Maori Name[pt_BR]=Maori Name[ro]=Maură Name[ru]=Маори Name[se]=Maoragiella Name[si]=මඕරි Name[sk]=Maorčina Name[sl]=maorsko Name[sq]=Maori Name[sr]=маорски Name[sr@ijekavian]=маорски Name[sr@ijekavianlatin]=maorski Name[sr@latin]=maorski Name[sv]=Maoriska Name[ta]=மாவோரி Name[te]=మావొరి Name[tg]=Маори Name[th]=ภาษาเมารี Name[tr]=Maori Dili Name[ug]=ماۋرىچە Name[uk]=Маорі Name[uz]=Maori Name[uz@cyrillic]=Маори -Name[vi]=Mao-ri +Name[vi]=Maori Name[wa]=Mawori -Name[x-test]=xxMaorixx Name[xh]=Maori +Name[x-test]=xxMaorixx Name[zh_CN]=毛利语 Name[zh_HK]=毛利語 Name[zh_TW]=毛利語 [mk] Name=Macedonian Name[af]=Macedonian Name[ar]=مقدونية Name[as]=মেচিডোনীয় Name[ast]=Macedoniu Name[be]=Македонская Name[be@latin]=Makiedonskaja Name[bg]=Македонски Name[bn]=মাসিডোনীয় Name[bn_IN]=মেসিডোনিয়ান Name[br]=Makedoneg Name[bs]=Makedonski Name[ca]=Macedoni Name[ca@valencia]=Macedoni Name[cs]=Makedonský Name[csb]=Macedońsczi Name[cy]=Macedoneg Name[da]=Makedonisk Name[de]=Mazedonisch Name[el]=Σλαβομακεδονικά Name[en_GB]=Macedonian Name[eo]=Makedona Name[es]=Macedonio Name[et]=Makedoonia Name[eu]=Mazedoniera Name[fa]=مقدونی Name[fi]=Makedonia Name[fr]=Macédonien Name[fy]=Masedoanysk Name[ga]=Macadóinis Name[gl]=Macedonio Name[gu]=મેસેડોનિયન Name[he]=מקדונית Name[hi]=मकदूनियाई Name[hne]=मकदूनियाई Name[hr]=Makedonski Name[hsb]=Makedonsce Name[hu]=Macedón Name[ia]=Macedone Name[id]=Macedonia Name[is]=Makedóníska Name[it]=Macedone Name[ja]=マケドニア語 Name[kk]=Македонша Name[km]=ម៉ាសេដូនី Name[kn]=ಮೆಸಡೋನಿಯನ್ Name[ko]=마케도니아어 Name[ku]=Makedonî Name[lb]=Mazedonesch Name[lt]=Makedoniečių Name[lv]=Maķedoniešu Name[mai]=मेसिडोनियाइ Name[mk]=Македонски Name[ml]=മാസിഡോണിയന്‍ Name[mr]=मेसीडोनियन Name[ms]=Macedonia Name[nb]=Makedonsk Name[nds]=Makedoonsch Name[ne]=म्यासेडोनियाली Name[nl]=Macedonisch Name[nn]=Makedonsk Name[oc]=Macedonian Name[or]=Macedonian Name[pa]=ਮੈਕਡੋਨੀਆ Name[pl]=Macedoński Name[ps]=مېسېډونين Name[pt]=Macedónio Name[pt_BR]=Macedônio Name[ro]=Macedoneană Name[ru]=Македонский Name[se]=Makedoniagiella Name[si]=මැසිඩෝනියානු Name[sk]=Macedónčina Name[sl]=makedonsko Name[sq]=Maqedone Name[sr]=македонски Name[sr@ijekavian]=македонски Name[sr@ijekavianlatin]=makedonski Name[sr@latin]=makedonski Name[sv]=Makedonska Name[ta]=மாசிடோனியன் Name[te]=మసిడొనియన్ Name[tg]=Мақдунӣ Name[th]=ภาษามาเซโดเนีย Name[tr]=Makedonca Name[ug]=ماكېدونچە Name[uk]=Македонська Name[uz]=Makedoniyacha Name[uz@cyrillic]=Македонияча -Name[vi]=Ma-xê-đô-ni +Name[vi]=Macedonia Name[wa]=Macedonyin -Name[x-test]=xxMacedonianxx Name[xh]=Macedonian +Name[x-test]=xxMacedonianxx Name[zh_CN]=马其顿语 Name[zh_HK]=馬其頓語 Name[zh_TW]=馬其頓語 [ml] Name=Malayalam Name[af]=Malayalam Name[ar]=مالايالام Name[as]=মলয়ালম Name[ast]=Malayalam Name[be]=Малаяламская Name[be@latin]=Malayalam Name[bg]=Малаялам Name[bn]=মালয়লম Name[bn_IN]=মালায়ালম Name[br]=Malayalam Name[bs]=Malajalam Name[ca]=Malaiàlam Name[ca@valencia]=Malaiàlam Name[cs]=Malayalam Name[csb]=Drawidańsczi (hindusczi) Name[cy]=Malayalam Name[da]=Malayalam Name[de]=Malayalam Name[el]=Malayalam Name[en_GB]=Malayalam Name[eo]=Malajala Name[es]=Malabar Name[et]=Malajalami Name[eu]=Malayalam Name[fa]=مالی Name[fi]=Malajalam Name[fr]=Malayalam Name[fy]=Malayalam Name[ga]=Mailéalaimis Name[gl]=Malaialam Name[gu]=મલયાલમ Name[he]=מליאלאם Name[hi]=मलयालम Name[hne]=मलयालम Name[hr]=Malajamski Name[hsb]=Malayalam Name[hu]=Malajalam Name[ia]=Malayalam Name[id]=Malayalam Name[is]=Malayalam Name[it]=Malayalam Name[ja]=マラヤーラム語 Name[kk]=Малайамша Name[km]=ម៉ាឡាយ៉ាឡាម Name[kn]=ಮಲಯಾಳಂ Name[ko]=말라얄람어 Name[ku]=Malayalam Name[lb]=Malajalam Name[lt]=Malajiečių Name[lv]=Malajalu Name[mai]=मलयालम Name[mk]=Малајалам Name[ml]=മലയാളം Name[mr]=मल्यालम Name[ms]=Malayalam Name[nb]=Malayalam Name[nds]=Malayalam Name[ne]=मलेयालम Name[nl]=Malayalam Name[nn]=Malayalam Name[oc]=Malayalam Name[or]=Malayalam Name[pa]=ਮਲਿਆਲਮ Name[pl]=Malajalam Name[ps]=ملايالم Name[pt]=Malayalam Name[pt_BR]=Malaiala Name[ro]=Malailamă Name[ru]=Малаялам Name[se]=Malajalamagiella Name[si]=මලයාලම් Name[sk]=Malajálamčina Name[sl]=malayalam Name[sq]=Malajalam Name[sr]=малајалам Name[sr@ijekavian]=малајалам Name[sr@ijekavianlatin]=malajalam Name[sr@latin]=malajalam Name[sv]=Malayalam Name[ta]=மலையாளம் Name[te]=మలయాళం Name[tg]=Малаямӣ Name[th]=ภาษามะละยาลัม Name[tr]=Malayalam -Name[ug]=مالايامچە +Name[ug]=مالايالامچە Name[uk]=Малайська Name[uz]=Malayalam Name[uz@cyrillic]=Малайалам -Name[vi]=Ma-lay-am +Name[vi]=Malayalam Name[wa]=Malayalam -Name[x-test]=xxMalayalamxx Name[xh]=Malayalam +Name[x-test]=xxMalayalamxx Name[zh_CN]=马拉亚拉姆语 Name[zh_HK]=馬來亞拉姆語 Name[zh_TW]=馬來亞拉姆語 [mn] Name=Mongolian Name[af]=Mongolees Name[ar]=منغولية Name[as]=মঙ্গোলীয় Name[ast]=Mongol Name[be]=Мангольская Name[be@latin]=Manholskaja Name[bg]=Монголски Name[bn]=মোঙ্গল Name[bn_IN]=মঙ্গোলিয়ান Name[br]=Mongolieg Name[bs]=Mongolski Name[ca]=Mongol Name[ca@valencia]=Mongol Name[cs]=Mongolský Name[csb]=Mòngolsczi Name[cy]=Mongoleg Name[da]=Mongolsk Name[de]=Mongolisch Name[el]=Μογγολικά Name[en_GB]=Mongolian Name[eo]=Mongola Name[es]=Mongol Name[et]=Mongoolia Name[eu]=Mongoliera Name[fa]=مغول Name[fi]=Mongoli Name[fr]=Mongol Name[fy]=Moangoalsk Name[ga]=Mongóilis Name[gl]=Mongol Name[gu]=મોંગોલિયન Name[he]=מונגולית Name[hi]=मंगोलियन Name[hne]=मंगोलियन Name[hr]=Mongolski Name[hsb]=Mongolsce Name[hu]=Mongol Name[ia]=Mongolico Name[id]=Mongolia Name[is]=Bosníska Name[it]=Mongolo Name[ja]=モンゴル語 Name[kk]=Моңғолша Name[km]=ម៉ុងហ្គោលី Name[kn]=ಮಂಗೋಲಿಯನ್ Name[ko]=몽골어 Name[ku]=Mongolî Name[lb]=Mongolesch Name[lt]=Mongolų Name[lv]=Mongoļu Name[mai]=मंगोलियाइ Name[mk]=Монголски Name[ml]=മംഗോളിയ Name[mr]=मंगोलीयन Name[ms]=Mongolia Name[nb]=Mongolsk Name[nds]=Mongoolsch Name[ne]=मङ्गोलियन Name[nl]=Mongolisch Name[nn]=Mongolsk Name[oc]=Mongolian Name[or]=Mongolian Name[pa]=ਮੰਗੋਲੀਆਈ Name[pl]=Mongolski Name[ps]=مغلي Name[pt]=Mongol Name[pt_BR]=Mongol Name[ro]=Mongolă Name[ru]=Монгольский Name[se]=Mongoliagiella Name[si]=මොංගෝලියානු Name[sk]=Mongolčina Name[sl]=mongolsko Name[sq]=Mongole Name[sr]=монголски Name[sr@ijekavian]=монголски Name[sr@ijekavianlatin]=mongolski Name[sr@latin]=mongolski Name[sv]=Mongoliska Name[ta]=மங்கோலியன் Name[te]=మంగోలియన్ Name[tg]=Муғулӣ Name[th]=ภาษามองโกล Name[tr]=Moğolca Name[ug]=موڭغۇلچە Name[uk]=Монгольська Name[uz]=Mugʻulcha Name[uz@cyrillic]=Муғулча -Name[vi]=Mông-cổ +Name[vi]=Mông Cổ Name[wa]=Mongol -Name[x-test]=xxMongolianxx Name[xh]=Mongolian +Name[x-test]=xxMongolianxx Name[zh_CN]=蒙古语 Name[zh_HK]=蒙古語 Name[zh_TW]=蒙古語 [mo] Name=Moldavian Name[af]=Moldavian Name[ar]=مولدافية Name[as]=মোল্দাভিয়ান Name[ast]=Moldavu Name[be]=Малдаўская Name[be@latin]=Małdaŭskaja Name[bg]=Молдовски Name[bn]=মলডেভীয় Name[bn_IN]=মোল্ডাভিয়ান Name[br]=Moldaveg Name[bs]=Moldavski Name[ca]=Moldau Name[ca@valencia]=Moldau Name[cs]=Moldavský Name[csb]=Mòłdawsczi Name[cy]=Moldafeg Name[da]=Moldovisk Name[de]=Moldawisch Name[el]=Μολδαβικά Name[en_GB]=Moldavian Name[eo]=Moldava Name[es]=Moldavo Name[et]=Moldaavia Name[eu]=Moldabiera Name[fa]=مولداوی Name[fi]=Moldavia Name[fr]=Moldave Name[fy]=Moldavysk Name[ga]=Moldávais Name[gl]=Moldavo Name[gu]=મોલ્ડેવિયન Name[he]=מולדבית Name[hi]=मोल्दावियन Name[hne]=मोल्दावियन Name[hr]=Moldavski Name[hsb]=Moldawsce Name[hu]=Moldáv Name[ia]=Moldaviano Name[id]=Moldavian Name[is]=Moldóvíska Name[it]=Moldavo Name[ja]=モルダビア語 Name[kk]=Молдовша Name[km]=ម៉ុលដាវី Name[kn]=ಮಾಲ್ಡೇವಿಯನ್ Name[ko]=몰도바어 Name[ku]=Moldavî Name[lb]=Moldawesch Name[lt]=Moldavų Name[lv]=Moldāvu Name[mai]=मोल्दावियन Name[mk]=Молдавски Name[ml]=മാള്‍ഡോവിയന്‍ Name[mr]=मोल्दावियन Name[ms]=Moldavia Name[nb]=Moldavisk Name[nds]=Moldaawsch Name[ne]=मोल्डाभियन Name[nl]=Moldavisch Name[nn]=Moldovsk Name[oc]=Croacia Name[or]=Moldavian Name[pa]=ਮੋਲਡਾਵੀਆਈ Name[pl]=Mołdawski Name[ps]=مالډيوي Name[pt]=Moldavo Name[pt_BR]=Moldavo Name[ro]=Moldovenească Name[ru]=Молдавский Name[se]=Moldáviagiella Name[si]=මෝල්දාවියන් Name[sk]=Moldavčina Name[sl]=moldavsko Name[sq]=Moldave Name[sr]=молдавски Name[sr@ijekavian]=молдавски Name[sr@ijekavianlatin]=moldavski Name[sr@latin]=moldavski Name[sv]=Moldaviska Name[ta]=மோல்டாவியன் Name[te]=మొల్దావియన్ Name[tg]=Молдаванӣ Name[th]=ภาษามอลดาเวียน Name[tr]=Moldavya Dili Name[ug]=مولداۋىيىچە Name[uk]=Молдовська Name[uz]=Moldavcha Name[uz@cyrillic]=Молдавча -Name[vi]=Mon-đa-vi +Name[vi]=Moldava Name[wa]=Moldåve -Name[x-test]=xxMoldavianxx Name[xh]=Moldavian +Name[x-test]=xxMoldavianxx Name[zh_CN]=摩尔多瓦语 Name[zh_HK]=摩爾達維亞語 Name[zh_TW]=摩爾達維亞語 [mr] Name=Marathi Name[af]=Marathi Name[ar]=ماراثية Name[as]=মাৰাথি Name[ast]=Marathi Name[be]=Мараўская Name[be@latin]=Marathi Name[bg]=Маратхи Name[bn]=মরাঠী Name[bn_IN]=মারাঠি Name[br]=Marateg Name[bs]=Marati Name[ca]=Marathi Name[ca@valencia]=Marathi Name[cs]=Marathi Name[csb]=Marathi (hindusczi) Name[cy]=Marathi Name[da]=Marathi Name[de]=Marathi Name[el]=Marathi Name[en_GB]=Marathi Name[eo]=Marata Name[es]=Maratí Name[et]=Marathi Name[eu]=Marathera Name[fa]=ماراتی Name[fi]=Marathi Name[fr]=Marathe Name[fy]=Marathi Name[ga]=Maraitis Name[gl]=Marata Name[gu]=મરાઠી Name[he]=מאראתי Name[hi]=मराठी Name[hne]=मराठी Name[hr]=Marathi Name[hsb]=Marati Name[hu]=Marati Name[ia]=Marathi Name[id]=Marathi Name[is]=Marathi Name[it]=Marathi Name[ja]=マラーティー語 Name[kk]=Марати Name[km]=ម៉ារ៉ាទី Name[kn]=ಮರಾಠಿ Name[ko]=마라티어 Name[ku]=Maratî Name[lb]=Marathi Name[lt]=Marathi Name[lv]=Marathu Name[mai]=मराठी Name[mk]=Марати Name[ml]=മറാത്തി Name[mr]=मराठी Name[ms]=Marathi Name[nb]=Marathi Name[nds]=Marathi Name[ne]=मराठी Name[nl]=Marathi Name[nn]=Marathi Name[oc]=Marati Name[or]=ମରାଠି Name[pa]=ਮਰਾਠੀ Name[pl]=Marathi (Hinduski) Name[ps]=مراټي Name[pt]=Marathi Name[pt_BR]=Marata Name[ro]=Marathi Name[ru]=Маратхи Name[se]=Marathagiella Name[si]=මරාති Name[sk]=Maráthčina Name[sl]=marathi Name[sq]=Marathi Name[sr]=марати Name[sr@ijekavian]=марати Name[sr@ijekavianlatin]=marati Name[sr@latin]=marati Name[sv]=Marathi Name[ta]=மராத்தி Name[te]=మరాఠి Name[tg]=Маравӣ Name[th]=ภาษามราฐี Name[tr]=Marathi Name[ug]=ماراتىچە Name[uk]=Мараті Name[uz]=Marati Name[uz@cyrillic]=Марати -Name[vi]=Ma-ra-ti +Name[vi]=Marathi Name[wa]=Marati -Name[x-test]=xxMarathixx Name[xh]=Marathi +Name[x-test]=xxMarathixx Name[zh_CN]=马拉提语 Name[zh_HK]=馬拉地語 Name[zh_TW]=馬拉地語 [ms] Name=Malay Name[af]=Malay Name[ar]=مالوية Name[as]=মালায় Name[ast]=Malayu Name[be]=Малайская Name[be@latin]=Malajskaja Name[bg]=Малайски Name[bn]=মালয় Name[bn_IN]=মালায় Name[br]=Maya Name[bs]=Malajski Name[ca]=Malai Name[ca@valencia]=Malai Name[cs]=Malajský Name[csb]=Malajsczi Name[cy]=Malay Name[da]=Malay Name[de]=Malaiisch Name[el]=Malay Name[en_GB]=Malay Name[eo]=Malaja Name[es]=Malayo Name[et]=Malaisia Name[eu]=Malaysiera Name[fa]=مالی Name[fi]=Malaiji Name[fr]=Malais Name[fy]=Maleisk Name[ga]=Malaeis Name[gl]=Malaio Name[gu]=મલય Name[he]=מלאית Name[hi]=मलय Name[hne]=मलय Name[hr]=Malajski Name[hsb]=Malajsce Name[hu]=Maláj Name[ia]=Malay Name[id]=Melayu Name[is]=Malay Name[it]=Malese Name[ja]=マレー語 Name[kk]=Малайша Name[km]=ម៉ាឡេស៊ី Name[kn]=ಮಲೇಯ್ Name[ko]=말레이어 Name[ku]=Malayî Name[lb]=Malaiesch Name[lt]=Malajų Name[lv]=Malajiešu Name[mai]=मलय Name[mk]=Малајски Name[ml]=മലയ് Name[mr]=मलय Name[ms]=Malay Name[nb]=Malaiisk Name[nds]=Malaiisch Name[ne]=मले Name[nl]=Malay Name[nn]=Malayisk Name[oc]=Malés Name[or]=Malay Name[pa]=ਮਾਲਿਆ Name[pl]=Malajski Name[ps]=ملای Name[pt]=Malaio Name[pt_BR]=Malaio Name[ro]=Malaeză Name[ru]=Малайский Name[se]=Malaigiella Name[si]=මැලේ Name[sk]=Malajčina Name[sl]=malajsko Name[sq]=Malaj Name[sr]=малајски Name[sr@ijekavian]=малајски Name[sr@ijekavianlatin]=malajski Name[sr@latin]=malajski Name[sv]=Malajiska Name[ta]=மலாய் Name[te]=మలయ Name[tg]=Малайӣ Name[th]=ภาษามลายู Name[tr]=Malay Name[ug]=مالايچە Name[uk]=Малайська Name[uz]=Malaycha Name[uz@cyrillic]=Малайча -Name[vi]=Mã-lai +Name[vi]=Mã lai Name[wa]=Malay -Name[x-test]=xxMalayxx Name[xh]=Malay +Name[x-test]=xxMalayxx Name[zh_CN]=马来语 Name[zh_HK]=馬來語 Name[zh_TW]=馬來語 [mt] Name=Maltese Name[af]=Maltees Name[ar]=مالطية Name[as]=মাল্টিছ Name[ast]=Maltés Name[be]=Мальтыйская Name[be@latin]=Maltyjskaja Name[bg]=Малтийски Name[bn]=মল্টিস Name[bn_IN]=মল্টিস Name[br]=Malteg Name[bs]=Malteški Name[ca]=Maltès Name[ca@valencia]=Maltés Name[cs]=Maltézský Name[csb]=Maltajsczi Name[cy]=Malteg Name[da]=Maltesisk Name[de]=Maltesisch Name[el]=Μαλτέζικα Name[en_GB]=Maltese Name[eo]=Malta Name[es]=Maltés Name[et]=Malta Name[eu]=Maltera Name[fa]=مالتز Name[fi]=Malta Name[fr]=Maltais Name[fy]=Malteesk Name[ga]=Máltais Name[gl]=Maltés Name[gu]=માલ્ટીઝ Name[he]=מלטזית Name[hi]=माल्टी Name[hne]=माल्टी Name[hr]=Malteški Name[hsb]=Maltesce Name[hu]=Máltai Name[ia]=Maltese Name[id]=Maltese Name[is]=Maltneska Name[it]=Maltese Name[ja]=マルタ語 Name[kk]=Мальташа Name[km]=ម៉ាល់តា Name[kn]=ಮಾಲ್ಟೀಸ್ Name[ko]=몰타어 Name[ku]=Maltayî Name[lb]=Maltesesch Name[lt]=Maltiečių Name[lv]=Maltiešu Name[mai]=माल्टीज Name[mk]=Малтешки Name[ml]=മാള്‍ടീസ് Name[mr]=माल्टी Name[ms]=Maltese Name[nb]=Maltesisk Name[nds]=Malteesch Name[ne]=माल्तिस Name[nl]=Maltees Name[nn]=Maltesisk Name[oc]=Maltés Name[or]=Maltese Name[pa]=ਮਾਲਟੀਸੀ Name[pl]=Maltański Name[ps]=مالټي Name[pt]=Maltês Name[pt_BR]=Maltês Name[ro]=Malteză Name[ru]=Мальтийский Name[se]=Maltagiella Name[si]=මෝල්ටීස් Name[sk]=Maltčina Name[sl]=maltežansko Name[sq]=Malteze Name[sr]=малтешки Name[sr@ijekavian]=малтешки Name[sr@ijekavianlatin]=malteški Name[sr@latin]=malteški Name[sv]=Maltesiska Name[ta]=மால்டீசு Name[te]=మాల్టీస్ Name[tg]=Малтесӣ Name[th]=ภาษามอลตีส Name[tr]=Malta Dili Name[ug]=مالتاچە Name[uk]=Мальтійська Name[uz]=Maltacha Name[uz@cyrillic]=Малтача -Name[vi]=Man-tợ +Name[vi]=Malta Name[wa]=Maltès -Name[x-test]=xxMaltesexx Name[xh]=Maltese +Name[x-test]=xxMaltesexx Name[zh_CN]=马耳他语 Name[zh_HK]=馬爾他語 Name[zh_TW]=馬爾他語 [my] Name=Burmese Name[af]=Burmees Name[ar]=بورمية Name[as]=বাৰ্মিছ Name[ast]=Birmanu Name[be]=Бурмеская Name[be@latin]=Burmeskaja Name[bg]=Бирмански Name[bn]=বর্মী Name[bn_IN]=বার্মিজ Name[br]=Birmaneg Name[bs]=Burmanski Name[ca]=Birmà Name[ca@valencia]=Birmà Name[cs]=Burmský Name[csb]=Birmańsczi Name[cy]=Burmeg Name[da]=Burmese Name[de]=Burmesisch Name[el]=Βιρμανικά Name[en_GB]=Burmese Name[eo]=Birma Name[es]=Burmés Name[et]=Birma Name[eu]=Birmaniera Name[fa]=برمس Name[fi]=Burma Name[fr]=Birman Name[fy]=Burmeesk Name[ga]=Burmais Name[gl]=Burmés Name[gu]=બર્મીઝ Name[he]=בורמזית Name[hi]=बर्मी Name[hne]=बर्मी Name[hr]=Burmanski Name[hsb]=Burmesce Name[hu]=Burmai Name[ia]=Burmese Name[id]=Burmese Name[is]=Búrmenska Name[it]=Birmano Name[ja]=ビルマ語 Name[kk]=Бирманша Name[km]=ភូមា Name[kn]=ಬರ್ಮೀಸ್ Name[ko]=버마어 Name[ku]=Burmayî Name[lb]=Burmesesch Name[lt]=Birmiečių Name[lv]=Birmiešu Name[mai]=बर्मीज Name[mk]=Бурмански Name[ml]=ബര്‍മ്മീസ് Name[mr]=बर्मी Name[ms]=Burma Name[nb]=Burmesisk Name[nds]=Burmeesch Name[ne]=बर्मेली Name[nl]=Burmees Name[nn]=Burmesisk Name[oc]=Birman Name[or]=Burmese Name[pa]=ਬੁਰਮੀਸੀ Name[pl]=Birmański Name[ps]=برمي Name[pt]=Birmanês Name[pt_BR]=Birmanês Name[ro]=Burmeză Name[ru]=Бирманский Name[se]=Burmagiella Name[si]=බුරුම Name[sk]=Barmčina Name[sl]=burmansko Name[sq]=Burmeze Name[sr]=бурмански Name[sr@ijekavian]=бурмански Name[sr@ijekavianlatin]=burmanski Name[sr@latin]=burmanski Name[sv]=Burmesiska Name[ta]=பர்மியம் Name[te]=బర్మీస్ Name[tg]=Бурмезӣ Name[th]=ภาษาพม่า Name[tr]=Burmese Name[ug]=بىرمىچە Name[uk]=Бірманська Name[uz]=Burmezcha Name[uz@cyrillic]=Бурмезча -Name[vi]=Miến-điện +Name[vi]=Miến Điện Name[wa]=Birman -Name[x-test]=xxBurmesexx Name[xh]=Burmese +Name[x-test]=xxBurmesexx Name[zh_CN]=缅甸语 Name[zh_HK]=緬甸語 Name[zh_TW]=緬甸語 [na] Name=Nauru Name[af]=Nauru Name[ar]=ناورو Name[as]=নাউৰু Name[ast]=Nauru Name[be]=Наурскі Name[be@latin]=Nauru Name[bg]=Науру Name[bn]=নাউরু Name[bn_IN]=নাউরু Name[br]=Naurueg Name[bs]=Nauru Name[ca]=Nauruà Name[ca@valencia]=Nauruà Name[cs]=Nauru Name[csb]=Nauru Name[cy]=Nauru Name[da]=Nauru Name[de]=Nauruisch Name[el]=Ναουρού Name[en_GB]=Nauru Name[eo]=Naura Name[es]=Nauru Name[et]=Nauru Name[eu]=Nauruera Name[fa]=نائورو Name[fi]=Nauru Name[fr]=Nauruan Name[fy]=Naurûaansk Name[ga]=Nárúis Name[gl]=Nauru Name[gu]=નાઉરુ Name[he]=נאורו Name[hi]=नौरू Name[hne]=नौरू Name[hr]=Nauru Name[hsb]=Nauru Name[hu]=Nauru Name[ia]=Nauru Name[id]=Nauru Name[is]=Nauru Name[it]=Nauruano Name[ja]=ナウル語 Name[kk]=Науру Name[km]=ណូរុ Name[kn]=ನೌರು Name[ko]=나우루어 Name[ku]=Naûrû Name[lb]=Nauruesch Name[lt]=Nauru Name[lv]=Nauruiešu Name[mai]=नौरू Name[mk]=Науру Name[ml]=നൌറു Name[mr]=नौरु Name[ms]=Nauru Name[nb]=Nauru Name[nds]=Nauru Name[ne]=नाउरू Name[nl]=Nauru Name[nn]=Nauru Name[oc]=Nauru Name[or]=Nauru Name[pa]=ਨਾਉਰੂ Name[pl]=Nauru Name[ps]=ناورو Name[pt]=Nauru Name[pt_BR]=Nauruano Name[ro]=Naură Name[ru]=Науру Name[se]=Naurugiella Name[si]=නවුරු Name[sk]=Nauruština Name[sl]=nauru Name[sq]=Nauru Name[sr]=науру Name[sr@ijekavian]=науру Name[sr@ijekavianlatin]=nauru Name[sr@latin]=nauru Name[sv]=Nauru Name[ta]=நவுரு Name[te]=నౌరు Name[tg]=Науру Name[th]=ภาษานาอุรุ Name[tr]=Nauru Name[ug]=ناۋرۇ Name[uk]=Науру Name[uz]=Nauru Name[uz@cyrillic]=Науру -Name[vi]=Nau-ru +Name[vi]=Nauru Name[wa]=Nawouro -Name[x-test]=xxNauruxx Name[xh]=Nauru +Name[x-test]=xxNauruxx Name[zh_CN]=瑙鲁语 Name[zh_HK]=諾魯語 Name[zh_TW]=諾魯語 [nb] Name=Norwegian Bokmål Name[af]=Noorweegs Bokmål Name[ar]=نرويجية بوكمال Name[as]=নোৰ্ৱেইয়ান বকমাল Name[ast]=Noruegu Bokmål Name[be]=Нарвежская (бокмаль) Name[be@latin]=Narveskaja (Bokmål) Name[bg]=Норвежки (букмол) Name[bn]=নরওয়েজীয় বোকমাল Name[bn_IN]=নরওয়েজিয়ান বোকমাল Name[br]=Norvegeg Bokmål Name[bs]=Norveški(Bukmol) Name[ca]=Noruec Bokmal Name[ca@valencia]=Noruec Bokmal Name[cs]=Norský (Bokmål) Name[csb]=Norwesczi Bokmål Name[cy]=Bokmal Norwyeg Name[da]=Norsk bokmål Name[de]=Norwegisch (Bokmål) Name[el]=Νορβηγικά Bokmål Name[en_GB]=Norwegian Bokmål Name[eo]=Norvega (Bokmal) Name[es]=Noruego Bokmål Name[et]=Norra bokmål Name[eu]=Norvegiera (Bokmål) Name[fa]=نروژی بوکمال Name[fi]=Norjan bokmål Name[fr]=Norvégien Bokmaal Name[fy]=Noarsk, Bokmål Name[ga]=Ioruais (Bokmål) Name[gl]=Noruegués Bokmål Name[gu]=નોર્વેયન બોકમલ Name[he]=נורבגית Bokmål Name[hi]=नार्वेजियाई बोकमाल Name[hne]=नार्वेजियाई बोकमाल Name[hr]=Norveški Bokmål Name[hsb]=Norwegsce (Bokmål) Name[hu]=Norvég (bokmal) Name[ia]=Norvegiano Bokmål Name[id]=Norwegian Bokmål Name[is]=Norska (bókmál) Name[it]=Norvegese bokmål Name[ja]=ノルウェー語 (ブークモール) Name[kk]=Норвег букмалша Name[km]=ន័រវែស បុកម៉ាល់ Name[kn]=ನಾರ್ವೆಯ ಬೋಕ್ಮಾಲ್ Name[ko]=노르웨이어 (복말) Name[ku]=Norwêcî Bokmal Name[lb]=Norwegesch (Bokmål) Name[lt]=Norvegų Bokmål Name[lv]=Norvēģu (bukmols) Name[mai]=नार्वेजियाई बोकमाल Name[mk]=Норвешки Bokmål Name[ml]=നോര്‍വ്വീജിയന്‍ ബോക്മാല് Name[mr]=नार्वेजियन बोकमल Name[ms]=Norwegian Bokmål Name[nb]=Norsk (bokmål) Name[nds]=Norweegsch (Bokmål) Name[ne]=नर्वेली बोकमल Name[nl]=Noors Bokmål Name[nn]=Norsk (bokmål) Name[oc]=Norvegian Bokmål Name[or]=Norwegian Bokmål Name[pa]=ਨੋਰਵਿਗੀਆਨ ਬੋਕਮਾਲ Name[pl]=Norweski Bokmaal Name[ps]=ناروېجني بوکمل Name[pt]=Norueguês Bokmål Name[pt_BR]=Dano-norueguês Name[ro]=Norvegiană Bokmål Name[ru]=Норвежский (литературный) Name[se]=Girjedárogiella Name[si]=නෝවීජියානු බොක්මැල් Name[sk]=Nórčina (Bokmål) Name[sl]=norveško (bokmaal) Name[sq]=Norvegjeze Bokmål Name[sr]=норвешки (књижевни) Name[sr@ijekavian]=норвешки (књижевни) Name[sr@ijekavianlatin]=norveški (književni) Name[sr@latin]=norveški (književni) Name[sv]=Norskt bokmål Name[ta]=நார்வீஜியன் பொக்மால் Name[te]=నార్వీజియన్ బోక్మాల్ Name[tg]=Норвегиягии Боқмалӣ Name[th]=ภาษานอร์เวย์ (บ็อคมัล) Name[tr]=Norveççe Bokmål Name[ug]=نورۋېگىيە بوكمالچە Name[uk]=Норвезька (Bokmål) Name[uz]=Norvegcha (Bokmaal) Name[uz@cyrillic]=Норвегча (Бокмаал) -Name[vi]=Na-uy (Bóc-mặn) +Name[vi]=Na Uy - Bokmål Name[wa]=Norvedjin (Bokmål) -Name[x-test]=xxNorwegian Bokmålxx Name[xh]=Norwegian Bokmål +Name[x-test]=xxNorwegian Bokmålxx Name[zh_CN]=挪威语(博克马尔语) Name[zh_TW]=挪威 Bokmål [nd] Name=Ndebele, North Name[af]=Ndebele, Noord Name[ar]=نديبيلية شمالية Name[as]=ডেবেল, নৰ্থ Name[ast]=Ndebele, Norte Name[be]=Ндэбель (поўнач) Name[be@latin]=Ndebele (poŭnač) Name[bg]=Северен Ндебеле Name[bn]=ন্‌দেবেলে, উত্তর Name[bn_IN]=এন্ডেবিলি, উত্তর Name[br]=Ndebele, Norzh Name[bs]=Ndebele, sjeverni Name[ca]=Ndebele Nord Name[ca@valencia]=Ndebele Nord Name[cs]=Ndebele, Severní Name[csb]=Ndebele, Norda Name[cy]=Ndebele, Gogledd Name[da]=Ndebele, nord Name[de]=Ndebele (nördliches) Name[el]=Ndebele, North Name[en_GB]=Ndebele, North Name[eo]=Ndebela, norda Name[es]=Ndebele del norte Name[et]=Põhja-ndebele Name[eu]=Ndebelera (iparraldekoa) Name[fa]=اندبل شمالی Name[fi]=Pohjois-ndebele Name[fr]=Ndébélé du Nord Name[fy]=Ndebele, Noard Name[ga]=Ndebele Thuaidh Name[gl]=Ndebele do norte Name[gu]=ડેબેલે, ઉત્તરી Name[he]=נדבלה צפונית Name[hi]=नेदेबेले, उत्तर Name[hne]=नेदेबेले, उत्तर Name[hr]=Ndebele, Sjeverni Name[hsb]=Ndebele, Sewjerne Name[hu]=Ndebele (északi) Name[ia]=Ndebele Septentrional Name[id]=Ndebele, Utara Name[is]=Ndebele, norður Name[it]=Ndebele settentrionale Name[ja]=北ンデベレ語 Name[kk]=Солтүсік Ндебеле Name[km]=អ៊ែនដិបិលិ ​ជើង Name[kn]=ನೆಬೆಲೇ, ಉತ್ತರ Name[ko]=북부 은데벨레어 Name[ku]=Ndebele, Bakur Name[lb]=Ndebele (nördlech) Name[lt]=Ndebele, Šiaurės Name[lv]=Ziemeļndebelu Name[mai]=नेदेबेले, उत्तर Name[mk]=Ндебеле, северен Name[ml]=വടക്കന്‍ ഡെബെലി Name[mr]=एनडेबेले, उत्तर Name[ms]=Ndebele, North Name[nb]=Ndebele, Nord Name[nds]=Ndebele, Noord Name[ne]=डेबेले, उत्तर Name[nl]=Ndebele, Noord Name[nn]=Ndebele, nord Name[or]=Ndebele, North Name[pa]=ਨਡੀਬੀਲੀ, ਉੱਤਰੀ Name[pl]=Ndebele, Północ Name[pt]=Ndebele do Norte Name[pt_BR]=Ndebele do norte Name[ro]=Ndebelă nordică Name[ru]=Северный ндебеле Name[se]=Ndebelegiella, davvi Name[sk]=Ndebelčina, severná Name[sl]=ndebele, severno Name[sq]=Ndebele, Veriore Name[sr]=ндебеле, северни Name[sr@ijekavian]=ндебеле, сјеверни Name[sr@ijekavianlatin]=ndebele, sjeverni Name[sr@latin]=ndebele, severni Name[sv]=Nordndebele Name[ta]=வட டெபெலே Name[te]=నెబేలె, ఉత్తర Name[tg]=Ндебелии Шимолӣ Name[th]=ภาษาอึนเดเบเล ตอนเหนือ Name[tr]=Ndebele, North Name[ug]=ندىبېلې، شىمالىي Name[uk]=Ндебелє, Північна Name[uz]=Ndebele, Shimol Name[uz@cyrillic]=Ндебеле, Шимол -Name[vi]=N-đe-be-lê (Bắc) +Name[vi]=Ndebele, Bắc Name[wa]=Ndebele (bijhe) -Name[x-test]=xxNdebele, Northxx Name[xh]=Isindebele, Emntla +Name[x-test]=xxNdebele, Northxx Name[zh_CN]=恩德贝莱语(北部) Name[zh_HK]=Ndebele語,北部 Name[zh_TW]=Ndebele語,北部 [nds] Name=Low Saxon Name[af]=Lae Saxon Name[ar]=ساكسونية منخفضة Name[as]=লো' ছেক্সন Name[ast]=Saxón baxu Name[be]=Ніжнесаксонская Name[be@latin]=Nižnie-saksonskaja Name[bg]=Долносаксонски Name[bn]=নিম্ন স্যাক্সন Name[bn_IN]=লো স্যাক্সন Name[br]=Saozeg izel Name[bs]=Donjosaksonski Name[ca]=Baix saxó Name[ca@valencia]=Baix saxó Name[cs]=Dolnosaský Name[csb]=Dolnosaksońsczi Name[cy]=Sacsoneg Isel Name[da]=Nedersaksisk Name[de]=Niederdeutsch Name[el]=Κάτω Σαξωνικά Name[en_GB]=Low Saxon Name[eo]=Malalta saksa Name[es]=Bajo sajón Name[et]=Alamsaksi Name[eu]=Beheko Sajoniera Name[fa]=ساکسونی سفلی Name[fi]=Alasaksa Name[fr]=Bas saxon Name[fy]=Neder Saksysk Name[ga]=Sacsainis Íochtarach Name[gl]=Baixo saxón Name[gu]=નીચું સેક્સોન Name[he]=סקסונית תחתית Name[hi]=लो सेक्सन Name[hne]=लो सेक्सन Name[hr]=Donjosaksonski Name[hsb]=Delnjosaksce Name[hu]=Alsószász Name[ia]=Basso Saxone Name[id]=Low Saxon Name[is]=Low Saxon Name[it]=Basso sassone Name[ja]=低ザクセン語 Name[kk]=Төмен саксонша Name[km]=ឡូសាក់សុង Name[kn]=ಕೆಳಗಿನ ಸಾಕ್ಸನ್ Name[ko]=저지대 색슨어 Name[ku]=Saksoniya Jêrîn Name[lb]=Niddersächsesch Name[lt]=Žemutinių saksonų Name[lv]=Lejasvācu Name[mai]=लो सेक्सन Name[mk]=Долносаксонски Name[ml]=ലോ സാക്സന്‍ Name[mr]=लो सॅक्सन Name[ms]=Low Saxon Name[nb]=Nedersaksisk Name[nds]=Plattdüütsch Name[ne]=लो साक्सोन Name[nl]=Nedersaksisch Name[nn]=Lågtysk Name[or]=Low Saxon Name[pa]=ਲੋਅ ਸਾਕੋਨ Name[pl]=Dolnosaksoński Name[ps]=ښکته سېګسن Name[pt]=Baixo-Saxão Name[pt_BR]=Baixo Saxão Name[ro]=Saxona de Jos Name[ru]=Нижнесаксонский Name[se]=Vuolil Sáksonagiella Name[si]=ලෝ සැක්සන් Name[sk]=Dolná saština Name[sl]=spodnjesaško Name[sq]=Saksone e Ulët Name[sr]=доњосаксонски Name[sr@ijekavian]=доњосаксонски Name[sr@ijekavianlatin]=donjosaksonski Name[sr@latin]=donjosaksonski Name[sv]=Lågsaxiska Name[ta]=லோ சாக்ஸான் Name[te]=లో సాక్సన్ Name[tg]=Саксонии Поёнӣ Name[th]=ภาษาเยอรมัน ระดับล่าง Name[tr]=Aşağı Saksonca Name[ug]=تۆۋەن ساكسونچە Name[uk]=Нижньосаксонська Name[uz]=Past Saksoncha Name[uz@cyrillic]=Паст Саксонча -Name[vi]=Xác-xọnh thấp Name[wa]=Bas sacson Name[x-test]=xxLow Saxonxx Name[zh_CN]=下撒克逊语 Name[zh_TW]=薩克遜語 [ne] Name=Nepali Name[af]=Nepalees Name[ar]=نيبالية Name[as]=নেপালী Name[ast]=Nepalinu Name[be]=Непальская Name[be@latin]=Nepalskaja Name[bg]=Непали Name[bn]=নেপালী Name[bn_IN]=নেপালি Name[br]=Nepaleg Name[bs]=Nepalski Name[ca]=Nepalès Name[ca@valencia]=Nepalés Name[cs]=Nepálský Name[csb]=Nepalsczi Name[cy]=Nepali Name[da]=Nepali Name[de]=Nepali Name[el]=Nepali Name[en_GB]=Nepali Name[eo]=Nepala Name[es]=Nepalí Name[et]=Nepaali Name[eu]=Nepalera Name[fa]=نپالی Name[fi]=Nepali Name[fr]=Népalais Name[fy]=Nepaleesk Name[ga]=Neipealais Name[gl]=Nepalí Name[gu]=નેપાળી Name[he]=נפאלית Name[hi]=नेपाली Name[hne]=नेपाली Name[hr]=Nepalski Name[hsb]=Nepalesce Name[hu]=Nepáli Name[ia]=Nepali Name[id]=Nepali Name[is]=Nepali Name[it]=Nepalese Name[ja]=ネパール語 Name[kk]=Непалша Name[km]=នេប៉ាល់ Name[kn]=ನೇಪಾಲಿ Name[ko]=네팔어 Name[ku]=Nepalî Name[lb]=Nepalesesch Name[lt]=Nepaliečių Name[lv]=Nepāliešu Name[mai]=नेपाली Name[mk]=Непалски Name[ml]=നേപ്പാളി Name[mr]=नेपाली Name[ms]=Nepali Name[nb]=Nepali Name[nds]=Nepaleesch Name[ne]=नेपाली Name[nl]=Nepalees Name[nn]=Nepali Name[oc]=Nepali Name[or]=Nepali Name[pa]=ਨੇਪਾਲੀ Name[pl]=Nepalski Name[ps]=نيپالي Name[pt]=Nepalês Name[pt_BR]=Nepalês Name[ro]=Nepaleză Name[ru]=Непальский Name[se]=Nepálagiella Name[si]=නේපාල Name[sk]=Nepálčina Name[sl]=nepalsko Name[sq]=Nepaleze Name[sr]=непалски Name[sr@ijekavian]=непалски Name[sr@ijekavianlatin]=nepalski Name[sr@latin]=nepalski Name[sv]=Nepali Name[ta]=நேபாளி Name[te]=నేపాలి Name[tg]=Непалӣ Name[th]=ภาษาเนปาล Name[tr]=Nepalce Name[ug]=نېپالچە Name[uk]=Непальська Name[uz]=Nepalcha Name[uz@cyrillic]=Непалча -Name[vi]=Ne-pa-li +Name[vi]=Nê pan Name[wa]=Nepalès -Name[x-test]=xxNepalixx Name[xh]=Nepali +Name[x-test]=xxNepalixx Name[zh_CN]=尼泊尔语 Name[zh_HK]=尼泊爾語 Name[zh_TW]=尼泊爾語 [ng] Name=Ndonga Name[af]=Ndonga Name[ar]=ندونغا Name[as]=ডঙ্গা Name[ast]=Ndonga Name[be]=Ндонга Name[be@latin]=Ndonga Name[bg]=Ндонга Name[bn]=নডোঙ্গা Name[bn_IN]=এনডোঙ্গা Name[br]=Ndonga Name[bs]=Ndonga Name[ca]=Ndonga Name[ca@valencia]=Ndonga Name[cs]=Ndonga Name[csb]=Ndonga Name[cy]=Ndonga Name[da]=Ndonga Name[de]=Oshivambo Name[el]=Ndonga Name[en_GB]=Ndonga Name[eo]=Ndonga Name[es]=Ndonga Name[et]=Ndonga Name[eu]=Ndonga Name[fa]=اندونگا Name[fi]=Ndonga Name[fr]=Ndonga Name[fy]=Ndonga Name[ga]=Ndongais Name[gl]=Ndonga Name[gu]=ડોંગા Name[he]=נדונגה Name[hi]=नदोन्गा Name[hne]=नदोन्गा Name[hr]=Ndonga Name[hsb]=Ndonga Name[hu]=Ndonga Name[ia]=Ndonga Name[id]=Ndonga Name[is]=Ndonga Name[it]=Ndonga Name[ja]=ンドゥンガ語 Name[kk]=Ндонга Name[km]=អ៊ែនដុងហ្កា Name[kn]=ಡೋಂಗಾ Name[ko]=은동가어 Name[ku]=Ndonga Name[lb]=Ndonga Name[lt]=Ndonga Name[lv]=Ndongu Name[mai]=नदोन्गा Name[mk]=Ндонга Name[ml]=ഡോങ്കാ Name[mr]=नदोन्गा Name[ms]=Ndonga Name[nb]=Ndonga Name[nds]=Ndonga Name[ne]=डोङ्गा Name[nl]=Ndonga Name[nn]=Ndonga Name[oc]=Ndonga Name[or]=Ndonga Name[pa]=ਨਡੋਨਗਾ Name[pl]=Ndonga Name[pt]=Ndonga Name[pt_BR]=Ndonga Name[ro]=Ndongă Name[ru]=Ндонга Name[se]=Ndongagiella Name[si]=එන්ඩොංගා Name[sk]=Ndonga Name[sl]=ndonga Name[sq]=Ndonga Name[sr]=ндонга Name[sr@ijekavian]=ндонга Name[sr@ijekavianlatin]=ndonga Name[sr@latin]=ndonga Name[sv]=Ndonga Name[ta]=டொங்கா Name[te]=డొంగా Name[tg]=Ндонга Name[th]=ภาษาอึนดองกา Name[tr]=Ndonga Name[ug]=ندونگا Name[uk]=Ндонга Name[uz]=Ndonga Name[uz@cyrillic]=Ндонга -Name[vi]=N-đon-ga +Name[vi]=Ndonga Name[wa]=Ndonga -Name[x-test]=xxNdongaxx Name[xh]=Ndonga +Name[x-test]=xxNdongaxx Name[zh_CN]=恩东加语 Name[zh_HK]=Ndonga語 Name[zh_TW]=Ndonga語 [nl] Name=Dutch Name[af]=Nederlands Name[ar]=هولندية Name[as]=ডাচ Name[ast]=Holandés Name[be]=Галандская Name[be@latin]=Halandzkaja Name[bg]=Холандски Name[bn]=ওলন্দাজ Name[bn_IN]=ডাচ Name[br]=Nederlandeg Name[bs]=Holandski Name[ca]=Holandès Name[ca@valencia]=Holandés Name[cs]=Holandský Name[csb]=Hòlandzczi Name[cy]=Iseldireg Name[da]=Hollandsk Name[de]=Niederländisch Name[el]=Ολλανδικά Name[en_GB]=Dutch Name[eo]=Nederlanda Name[es]=Holandés Name[et]=Hollandi Name[eu]=Nederlandera Name[fa]=هلندی Name[fi]=Hollanti Name[fr]=Hollandais Name[fy]=Nederlânsk Name[ga]=Ollainnis Name[gl]=Holandés Name[gu]=ડચ Name[he]=הולנדית Name[hi]=डच Name[hne]=डच Name[hr]=Nizozemski Name[hsb]=Nižozemsce Name[hu]=Holland Name[ia]=Hollandese Name[id]=Belanda Name[is]=Hollenska Name[it]=Nederlandese Name[ja]=オランダ語 Name[kk]=Нидреландша Name[km]=ហុល្លង់ Name[kn]=ಡಚ್ Name[ko]=네덜란드어 Name[ku]=Holendî Name[lb]=Hollännesch Name[lt]=Olandų Name[lv]=Holandiešu Name[mai]=डच Name[mk]=Холандски Name[ml]=ഡച്ച് Name[mr]=डच Name[ms]=Belanda Name[nb]=Nederlandsk Name[nds]=Nedderlannsch Name[ne]=डच Name[nl]=Nederlands Name[nn]=Nederlandsk Name[oc]=Olandés Name[or]=Dutch Name[pa]=ਡੱਚ Name[pl]=Holenderski Name[ps]=ډچ Name[pt]=Holandês Name[pt_BR]=Holandês Name[ro]=Olandeză Name[ru]=Голландский Name[se]=Hollánddagiella Name[si]=ඩච් Name[sk]=Holandčina Name[sl]=nizozemsko Name[sq]=Hollandeze Name[sr]=холандски Name[sr@ijekavian]=холандски Name[sr@ijekavianlatin]=holandski Name[sr@latin]=holandski Name[sv]=Holländska Name[ta]=டச்சு Name[te]=డచ్ Name[tg]=Олмонӣ Name[th]=ภาษาดัทช์ Name[tr]=Flamanca Name[ug]=گوللاندىيەچە Name[uk]=Голландська Name[uz]=Gollandcha Name[uz@cyrillic]=Голландча -Name[vi]=Hoà-lan +Name[vi]=Hà Lan Name[wa]=Neyerlandès -Name[x-test]=xxDutchxx Name[xh]=Isidatshi +Name[x-test]=xxDutchxx Name[zh_CN]=荷兰语 Name[zh_HK]=荷蘭語 Name[zh_TW]=荷蘭語 [nn] Name=Norwegian Nynorsk Name[af]=Noörweegse Nynorsk Name[ar]=نرويجية نينورسك Name[as]=ন'ৰ্ৱেইয়ান নিন'ৰ্স্ক Name[ast]=Nynorsk de Noruega Name[be]=Нарвежская (нюнорск) Name[be@latin]=Narveskaja (Nynorsk) Name[bg]=Норвежки (нюнорск) Name[bn]=নরওয়েজীয় নাইনর্স্ক Name[bn_IN]=নরওয়েজিয়ান নিনোরস্ক Name[br]=Norvegeg Nynorsk Name[bs]=Norveški (Ninorsk) Name[ca]=Noruec Nynorsk Name[ca@valencia]=Noruec Nynorsk Name[cs]=Norský (Nynorsk) Name[csb]=Norwesczi Nynorsk Name[cy]=Nynorsk Norwyeg Name[da]=Nynorsk Name[de]=Norwegisch (Nynorsk) Name[el]=Νορβηγικά Nynorsk Name[en_GB]=Norwegian Nynorsk Name[eo]=Norvega (Nynorsk) Name[es]=Noruego Nynorsk Name[et]=Norra nynorsk Name[eu]=Norvegiera (Nynorsk) Name[fa]=نرس جدید نروژی Name[fi]=Norjan nynorsk Name[fr]=Norvégien Nynorsk Name[fy]=Noarsk, Nynorsk Name[ga]=Ioruais (Nynorsk) Name[gl]=Noruegués Nynorsk Name[gu]=નોર્વેયન નોર્સક Name[he]=נורבגית Nynorsk Name[hi]=नारवेजियाई नायनोर्सक Name[hne]=नारवेजियाई नायनोर्सक Name[hr]=Norveški Nynorsk Name[hsb]=Norwegsce (Nynorsk) Name[hu]=Norvég (nynorsk) Name[ia]=Norvegiano Nynorsk Name[id]=Norwegian Nynorsk Name[is]=Norska (nýnorska) Name[it]=Norvegese nynorsk Name[ja]=ノルウェー語 (ニーノシュク) Name[kk]=Новег нунорскша Name[km]=ន័រវែស នីនូស Name[kn]=ನಾರ್ವೆಯ ನೈನೋರ್ಕ್ Name[ko]=노르웨이어 (뉘노르스크) Name[ku]=Norwêcî Nynorsk Name[lb]=Norwegesch (Nynorsk) Name[lt]=Norvegų Nynorsk Name[lv]=Jaunnorvēģu Name[mai]=नार्वेजियन न्योनोर्स्क Name[mk]=Норвешки Nynorsk Name[ml]=നോര്‍വ്വീജിയന്‍ നെയ്നോര്‍സ്ക് Name[mr]=नारवेजियाई नायनोर्सक Name[ms]=Norwegian Nynorsk Name[nb]=Norsk (nynorsk) Name[nds]=Norweegsch Nynorsk Name[ne]=नर्वेली नाइनोर्सक Name[nl]=Noors, Nynorsk Name[nn]=Norsk (nynorsk) Name[oc]=Nòrvegian (Nynorsk) Name[or]=Norwegian Nynorsk Name[pa]=ਨੋਰਵਿਗੀਆਨ ਨਯਾਨੋਰਸਕ Name[pl]=Norweski Nynorsk Name[ps]=ناروېجني نېنورسک Name[pt]=Norueguês Nynorsk Name[pt_BR]=Novo Norueguês Name[ro]=Norvegiană Nynorsk Name[ru]=Норвежский (нюнорск) Name[se]=Ođđadárogiella Name[sk]=Nórčina (Nynorsk) Name[sl]=norveško (nyorsk) Name[sq]=Norvegjeze Nynorsk Name[sr]=новонорвешки Name[sr@ijekavian]=новонорвешки Name[sr@ijekavianlatin]=novonorveški Name[sr@latin]=novonorveški Name[sv]=Nynorska Name[ta]=நார்வீஜியன் (நையோர்ஸ்க்) Name[te]=నార్వీజియన్ న్యోర్స్క్ Name[tg]=Норвегиягии Нюнорсӣ Name[th]=ภาษานอร์เวย์ (นูนอร์สคฺ) Name[tr]=Norveççe Nynorsk Name[ug]=نورۋېگىيە ناينوركس Name[uk]=Норвезька (Nynorsk) Name[uz]=Norvegiyacha (Nynorsk) Name[uz@cyrillic]=Норвегияча (Нйнорск) -Name[vi]=Na-uy (Ny-noạ-x-kh) +Name[vi]=Na Uy - Nynorsk Name[wa]=Noû-Norvedjyin (Nynorsk) -Name[x-test]=xxNorwegian Nynorskxx Name[xh]=Norwegian Nynorsk +Name[x-test]=xxNorwegian Nynorskxx Name[zh_CN]=挪威语(尼诺斯克语) Name[zh_HK]=挪威 Nynorsk 語 Name[zh_TW]=挪威 Nynorsk 語 [nr] Name=Ndebele, South Name[af]=Ndebele, Suid Name[ar]=نديبيلي جنوبية Name[as]=ডেবেলে,ছাউথ Name[ast]=Ndebele, Sur Name[be]=Ндэбель (поўдзень) Name[be@latin]=Ndebele (poŭdzień) Name[bg]=Южен Ндебеле Name[bn]=ন্‌দেবেলে, দক্ষিণ Name[bn_IN]=এন্ডেবিলি, দক্ষিণ Name[br]=Ndebele, Su Name[bs]=Ndebele, južni Name[ca]=Ndebele Sud Name[ca@valencia]=Ndebele Sud Name[cs]=Ndebele, Jižní Name[csb]=Ndebele, Pôłnie Name[cy]=Ndebele, De Name[da]=Ndebele, syd Name[de]=Ndebele (südliches) Name[el]=Ndebele, South Name[en_GB]=Ndebele, South Name[eo]=Ndebela, suda Name[es]=Ndebele del sur Name[et]=Lõuna-ndebele Name[eu]=Ndebelera (hegoaldekoa) Name[fa]=اندبل جنوبی Name[fi]=Etelä-ndebele Name[fr]=Ndébélé du Sud Name[fy]=Ndebele, Súd Name[ga]=Ndebele Theas Name[gl]=Ndebele do sur Name[gu]=ડેબેલે, દક્ષિણી Name[he]=נדבלה דרומית Name[hi]=नेदेबेले,दक्षिण Name[hne]=नेदेबेले,दक्छिन Name[hr]=Ndebele, Južni Name[hsb]=Ndebele, Južne Name[hu]=Ndebele (déli) Name[ia]=Ndebele Meridional Name[id]=Ndebele, Utara Name[is]=Ndebele, suður Name[it]=Ndebele meridionale Name[ja]=南ンデベレ語 Name[kk]=Оңтүстік ндебеле Name[km]=អ៊ែនដិបិលិ ត្បូង Name[kn]=ನೆಬೆಲೇ, ದಕ್ಷಿಣ Name[ko]=남부 은데벨레어 Name[ku]=Ndebele, Başûr Name[lb]=Ndebele (südlecht) Name[lt]=Ndebele, Pietų Name[lv]=Dienvidndebelu Name[mai]=न्डेबेले, दक्षिण Name[mk]=Ндебеле, јужен Name[ml]=തെക്കന്‍ ഡെബെലി Name[mr]=एनडेबेले, दक्षिण Name[ms]=Ndebele, South Name[nb]=Ndebele, Sør Name[nds]=Ndebele, Sööd Name[ne]=डेबेले, दक्षिण Name[nl]=Ndebele, Zuid Name[nn]=Ndebele, sør Name[or]=Ndebele, South Name[pa]=ਨਡੀਬੀਲੀ, ਦੱਖਣੀ Name[pl]=Ndebele, Południe Name[pt]=Ndebele do Sul Name[pt_BR]=Ndebele do Sul Name[ro]=Ndebelă sudică Name[ru]=Южный ндебеле Name[se]=Ndebelegiella, lulli Name[si]=එන්බෙලෙ, දකුණු Name[sk]=Ndebelčina, južná Name[sl]=ndebele, južno Name[sq]=Ndebele, Jugore Name[sr]=ндебеле, јужни Name[sr@ijekavian]=ндебеле, јужни Name[sr@ijekavianlatin]=ndebele, južni Name[sr@latin]=ndebele, južni Name[sv]=Sydndebele Name[ta]=தென் டெபெலே Name[te]=నెబేలె, దక్షిణ Name[tg]=Ндебелии Ҷанубӣ Name[th]=ภาษาอึนเดเบเล ตอนใต้ Name[tr]=Ndebele, South Name[ug]=ندېبېلې، جەنۇبى Name[uk]=Ндебелє, Південна Name[uz]=Ndebele, Janub Name[uz@cyrillic]=Ндебеле, Жануб -Name[vi]=N-đe-be-lê (Nam) +Name[vi]=Ndebele, Nam Name[wa]=Ndebele (nonne) -Name[x-test]=xxNdebele, Southxx Name[xh]=Isindebele, Emazantsi +Name[x-test]=xxNdebele, Southxx Name[zh_CN]=恩德贝莱语(南部) Name[zh_HK]=Ndebele語,南部 Name[zh_TW]=Ndebele語,南部 [nso] Name=Northern Sotho Name[af]=Noord Sotho Name[ar]=سوتو شمالية Name[as]=নৰ্দাৰ্ণ ছ'থ' Name[ast]=Sotho del Norte Name[be]=Паўночнае Сота Name[be@latin]=Paŭnočnaje Sota Name[bg]=Северен Сото Name[bn]=উত্তর সোথো Name[bn_IN]=উত্তর সোথো Name[br]=Soto, Norzh Name[bs]=Soto(sjeverni) Name[ca]=Sotho nord Name[ca@valencia]=Sotho nord Name[cs]=Severní Sotho Name[csb]=Nordowé Sotho Name[cy]=Sotho'r Gogledd Name[da]=Nord Sotho Name[de]=Nord-Sotho Name[el]=Northern Sotho Name[en_GB]=Northern Sotho Name[eo]=Sota, norda Name[es]=Sotho del norte Name[et]=Põhja-sotho Name[eu]=Sothoera (iparraldekoa) Name[fa]=سوتوی شمالی Name[fi]=Pohjoissotho Name[fr]=Sotho du Nord Name[fy]=Noard Sotho Name[ga]=Seipidis Name[gl]=Sotho do norte Name[gu]=ઉત્તરી સોથો Name[he]=סותו צפונית Name[hi]=उत्तरी सोथो Name[hne]=उत्तरी सोथो Name[hr]=Sjeverni Sotho Name[hsb]=Sewjerne Sotho Name[hu]=Északi sotho Name[ia]=Sotho Septentrional Name[id]=Sotho Bagian Utara Name[is]=Norður Sotho Name[it]=Sesotho del nord Name[ja]=北ソト語 Name[kk]=Солтүстік сото Name[km]=សូធូ​ខាង​ជើង Name[kn]=ಉತ್ತರ ಸೋಥೋ Name[ko]=북부 소토어 Name[ku]=Sothoya Bakûrî Name[lb]=Nördlecht Sotho Name[lt]=Šiaurės Sotho Name[lv]=Ziemeļsotu Name[mai]=उत्तरी सोथो Name[mk]=Северен Сото Name[ml]=വടക്കന്‍ സോതോ Name[mr]=उत्तरी सोथो Name[ms]=Sotho Utara Name[nb]=Nord-Sotho Name[nds]=Noord-Sotho Name[ne]=उत्तरी सोथो Name[nl]=Noord-Sotho Name[nn]=Nord-Sotho Name[oc]=Sotho del Nòrd Name[or]=Northern Sotho Name[pa]=ਉੱਤਰੀ ਸੋਥੋ Name[pl]=Północne Sotho Name[ps]=شمالي سوټو Name[pt]=Sotho do Norte Name[pt_BR]=Sotho Setentrional Name[ro]=Soto nordică Name[ru]=Северный сото Name[se]=Davvi-sothogiella Name[si]=උතුරු සෝලෝ Name[sk]=Severná sothčina Name[sl]=severni sotho Name[sq]=Sotho Veriore Name[sr]=сото, северни Name[sr@ijekavian]=сото, сјеверни Name[sr@ijekavianlatin]=soto, sjeverni Name[sr@latin]=soto, severni Name[sv]=Nordsotho Name[ta]=நார்தன் சோத்தோ Name[te]=ఉత్తర సొతొ Name[tg]=Сотоии Шимолӣ Name[th]=ภาษาโซโธ ตอนเหนือ Name[tr]=Northern Sotho Name[ug]=شىمالىي سوتوچە Name[uk]=Північне Сото Name[uz]=Shimoliy Sotocha Name[uz@cyrillic]=Шимолий Соточа -Name[vi]=Xô-tô (Bắc) Name[wa]=Soto (bijhe) Name[x-test]=xxNorthern Sothoxx Name[zh_CN]=北索托语 Name[zh_TW]=Northern Sotho [nv] Name=Navajo Name[af]=Navajo Name[ar]=ناباهو Name[as]=নাভাজো Name[ast]=Navaxu Name[be]=Наваё Name[be@latin]=Navajo Name[bg]=Навахо Name[bn]=নাভায়ো Name[bn_IN]=নাভাজো Name[br]=Navajo Name[bs]=Navaho Name[ca]=Navaho Name[ca@valencia]=Navaho Name[cs]=Navajo Name[csb]=Navajo Name[cy]=Navajo Name[da]=Navajo Name[de]=Navajo Name[el]=Νάβαχο Name[en_GB]=Navajo Name[eo]=Navaha Name[es]=Navajo Name[et]=Navaho Name[eu]=Navajo Name[fa]=ناواجو Name[fi]=Navajo Name[fr]=Navaho Name[fy]=Navajo Name[ga]=Navachóis Name[gl]=Navaxo Name[gu]=નાવાજો Name[he]=נבאחו Name[hi]=नवाजो Name[hne]=नवाजो Name[hr]=Navaho Name[hsb]=Navajo Name[hu]=Navajo Name[ia]=Navajo Name[id]=Navajo Name[is]=Navajo Name[it]=Navajo Name[ja]=ナバホ語 Name[kk]=Навахо Name[km]=ណាវាហ្សូ Name[kn]=ನಾವಾಜೋ Name[ko]=나바호어 Name[ku]=Navajo Name[lb]=Navajo Name[lt]=Navajo Name[lv]=Navahu Name[mai]=नवाजो Name[mk]=Навахо Name[ml]=നവാജോ Name[mr]=नवाजो Name[ms]=Navajo Name[nb]=Navajo Name[nds]=Navajo Name[ne]=नेभाजो Name[nl]=Navajo Name[nn]=Navaho Name[or]=Navajo Name[pa]=ਨਾਵਾਜੋ Name[pl]=Navajo Name[ps]=نواجو Name[pt]=Navajo Name[pt_BR]=Navajo Name[ro]=Navajo Name[ru]=Навахо Name[se]=Naváhogiella Name[si]=නවාජෝ Name[sk]=Navajo Name[sl]=navajo Name[sq]=Navajo Name[sr]=навахо Name[sr@ijekavian]=навахо Name[sr@ijekavianlatin]=navaho Name[sr@latin]=navaho Name[sv]=Navaho Name[ta]=நவாஜோ Name[te]=నవాజొ Name[tg]=Наваҷо Name[th]=ภาษานาวาโฮ Name[tr]=Navajo Name[ug]=ناۋاجوچە Name[uk]=Навахо Name[uz]=Navajo Name[uz@cyrillic]=Наважо -Name[vi]=Na-va-cộ +Name[vi]=Navajo Name[wa]=Navaxho -Name[x-test]=xxNavajoxx Name[xh]=Navajo +Name[x-test]=xxNavajoxx Name[zh_CN]=纳瓦霍语 Name[zh_HK]=納瓦伙語 Name[zh_TW]=納瓦伙語 [ny] Name=Chichewa Name[af]=Chichewa Name[ar]=تشيشيوا Name[as]=ছিছেৱা Name[ast]=Chichewa Name[be]=Чычэва Name[be@latin]=Čyčeva Name[bg]=Чеуа Name[bn]=চিচেওয়া Name[bn_IN]=চিচেওয়া Name[br]=Chichewa Name[bs]=Čičeva Name[ca]=Chewa Name[ca@valencia]=Chewa Name[cs]=Chichewa Name[csb]=Chichewa Name[cy]=Chichewa Name[da]=Chichewa Name[de]=Nyanja Name[el]=Chichewa Name[en_GB]=Chichewa Name[eo]=Njanĝa Name[es]=Chichewa Name[et]=Chichewa Name[eu]=Chichewa Name[fa]=چیچوا Name[fi]=Njandža Name[fr]=Chichewa Name[fy]=Chichewa Name[ga]=Siseivis Name[gl]=Chichewa Name[gu]=ચિકેવા Name[he]=צ'יצ'ווה Name[hi]=चिचेवा Name[hne]=चिचेवा Name[hr]=Chichewa Name[hsb]=Chichewa Name[hu]=Csicseva Name[ia]=Chichewa Name[id]=Chichewa Name[is]=Chichewa Name[it]=Chichewa Name[ja]=チェワ語 Name[kk]=Чичева Name[km]=ឈិចិវា Name[kn]=ಚಿಚೇಛೇವಾ Name[ko]=치체와어 Name[ku]=Çîçewa Name[lb]=Nyanja Name[lt]=Chichewa Name[lv]=Čičeva Name[mai]=चिचेवा Name[mk]=Чичева Name[ml]=ചിച്ചാവെ Name[mr]=चिचेवा Name[ms]=Chichewa Name[nb]=Chichewa Name[nds]=Chichewa Name[ne]=चिचेवा Name[nl]=Chichewa Name[nn]=Chichewa Name[or]=Chichewa Name[pa]=ਚਿਚੀਵਾ Name[pl]=Chichewa Name[ps]=چېچيوا Name[pt]=Chichewa Name[pt_BR]=Cinianja Name[ro]=Ciceuă Name[ru]=Чичева Name[se]=Chichevagiella Name[si]=චිචෙවා Name[sk]=Čičewa Name[sl]=chichewa Name[sq]=Chichewa Name[sr]=чичева Name[sr@ijekavian]=чичева Name[sr@ijekavianlatin]=čičeva Name[sr@latin]=čičeva Name[sv]=Chewa Name[ta]=சிச்செவா Name[te]=చిచెవా Name[tg]=Чичевагӣ Name[th]=ภาษาชิเชวา Name[tr]=Chichewa Name[ug]=چىچېۋاچە Name[uk]=Чічеванська Name[uz]=Chicheva Name[uz@cyrillic]=Чичева -Name[vi]=Chi-che-ouă +Name[vi]=Chichewa Name[wa]=Tchitchewa -Name[x-test]=xxChichewaxx Name[xh]=Chichewa +Name[x-test]=xxChichewaxx Name[zh_CN]=齐佩瓦语 Name[zh_HK]=Chichewa語 Name[zh_TW]=Chichewa語 [oc] Name=Occitan Name[af]=Okkitaan Name[ar]=أكستانية Name[as]=অকিটান Name[ast]=Occitanu Name[be]=Акітанская Name[be@latin]=Akitanskaja Name[bg]=Окситански Name[bn]=ওক্সিটান Name[bn_IN]=অকসিটান Name[br]=Oksitaneg Name[bs]=Okcitanski Name[ca]=Occità Name[ca@valencia]=Occità Name[cs]=Okcitánský Name[csb]=Òkcitańsczi Name[cy]=Occitaneg Name[da]=Occitan Name[de]=Okzitanisch Name[el]=Occitan Name[en_GB]=Occitan Name[eo]=Okcitana Name[es]=Occitano Name[et]=Oktsitaani Name[eu]=Okzitaniera Name[fa]=اُکیتان Name[fi]=Oksitaani Name[fr]=Occitan Name[fy]=Oksitaansk Name[ga]=Ocatáinis Name[gl]=Occitano Name[gu]=ઓશિન Name[he]=אוקסיטנית Name[hi]=ओकितन Name[hne]=ओकितन Name[hr]=Occitan Name[hsb]=Okcitansce Name[hu]=Okcitán Name[ia]=Occitano Name[id]=Occitan Name[is]=Occitan Name[it]=Occitano Name[ja]=オック語 Name[kk]=Осситанша Name[km]=អុកស៊ីតង់ Name[kn]=ಒಸಿಟಾನ್ Name[ko]=오크어 Name[ku]=Oksîtan Name[lb]=Okzitanesch Name[lt]=Occitan Name[lv]=Oksitāņu Name[mai]=ओकितन Name[mk]=Очитан Name[ml]=ഒക്സിറ്റന്‍ Name[mr]=ओकितन Name[ms]=Occitan Name[nb]=Oksitansk Name[nds]=Okzitaansch Name[ne]=ओक्सिटान Name[nl]=Occitan Name[nn]=Oksitansk Name[oc]=Occitan Name[or]=Occitan Name[pa]=ਓਸੀਟਾਨ Name[pl]=Okcytański Name[ps]=اوسيټي Name[pt]=Occitano Name[pt_BR]=Occitano Name[ro]=Occitană Name[ru]=Окситанский Name[se]=Oksitánagiella Name[si]=ඔක්සිටන් Name[sk]=Okcitánčina Name[sl]=očitansko Name[sq]=Oçitane Name[sr]=окситански Name[sr@ijekavian]=окситански Name[sr@ijekavianlatin]=oksitanski Name[sr@latin]=oksitanski Name[sv]=Occitanska Name[ta]=ஒக்சிட்டான் Name[te]=ఒస్సిటాన్ Name[tg]=Окитанӣ Name[th]=ภาษาออคซิทัน Name[tr]=Oksitan dili Name[ug]=ئوكسىتانچە Name[uk]=Оксітанська Name[uz]=Fransuzcha (Ossitan shevasi) Name[uz@cyrillic]=Французча (Осситан шеваси) -Name[vi]=Óc-ci-tan +Name[vi]=Occitan Name[wa]=Occitan -Name[x-test]=xxOccitanxx Name[xh]=Occitan +Name[x-test]=xxOccitanxx Name[zh_CN]=欧西坦语 Name[zh_HK]=Occitan語 Name[zh_TW]=Occitan語 [om] Name=Oromo Name[af]=Oromo Name[ar]=أورومو Name[as]=অ'ৰ'মো' Name[ast]=Oromo Name[be]=Арома Name[be@latin]=Oromo Name[bg]=Афан Оромо Name[bn]=ওরোমো Name[bn_IN]=ওরোমো Name[br]=Oromo Name[bs]=Oromo Name[ca]=Oromo Name[ca@valencia]=Oromo Name[cs]=Oromo Name[csb]=Oromo Name[cy]=Oromo Name[da]=Oromo Name[de]=Oromo Name[el]=Oromo Name[en_GB]=Oromo Name[eo]=Oroma Name[es]=Oromo Name[et]=Oromo Name[eu]=Oromo Name[fa]=اورومو Name[fi]=Oromo Name[fr]=Oromo Name[fy]=Oromo Name[ga]=Oraimis Name[gl]=Oromo Name[gu]=ઓરોમો Name[he]=אורומו Name[hi]=ओरोमो Name[hne]=ओरोमो Name[hr]=Oromski Name[hsb]=Oromo Name[hu]=Oromo Name[ia]=Oromo Name[id]=Oromo Name[is]=Oromo Name[it]=Oromo Name[ja]=オロモ語 Name[kk]=Оромо Name[km]=អូរ៉ូម៉ូ​ Name[kn]=ಓರೋಮೋ Name[ko]=오로모어 Name[ku]=Oromo Name[lb]=Oromo Name[lt]=Oromo Name[lv]=Oromu Name[mai]=ओरोमो Name[mk]=Оромо Name[ml]=ഒരോമോ Name[mr]=ओरोमो Name[ms]=Oromo Name[nb]=Oromo Name[nds]=Oromo Name[ne]=ओरोमो Name[nl]=Oromo Name[nn]=Oromo Name[or]=Oromo Name[pa]=ਓਰੋਮੋ Name[pl]=Oromo Name[ps]=اورومو Name[pt]=Oromo Name[pt_BR]=Oromo Name[ro]=Oromă Name[ru]=Оромо Name[se]=Oromogiella Name[si]=ඔරොමො Name[sk]=Oromčina Name[sl]=oromo Name[sq]=Oromo Name[sr]=оромо Name[sr@ijekavian]=оромо Name[sr@ijekavianlatin]=oromo Name[sr@latin]=oromo Name[sv]=Oromo Name[ta]=ஒரோமோ Name[te]=ఒరొమొ Name[tg]=Оромо Name[th]=ภาษาโอโรโม Name[tr]=Oromo Name[ug]=ئوروموچە Name[uk]=Оромо Name[uz]=Oromo Name[uz@cyrillic]=Оромо -Name[vi]=O-ro-mô +Name[vi]=Oromo Name[wa]=Oromo -Name[x-test]=xxOromoxx Name[xh]=Oromo +Name[x-test]=xxOromoxx Name[zh_CN]=奥罗莫语 Name[zh_HK]=Oromo語 Name[zh_TW]=Oromo語 [or] Name=Oriya Name[af]=Oriya Name[ar]=أوريا Name[as]=ৱৰীয় Name[ast]=Oriya Name[be]=Орыя Name[be@latin]=Oriya Name[bg]=Ория Name[bn]=ওড়িয়া Name[bn_IN]=ওরিয়া Name[br]=Oriya Name[bs]=Oriya Name[ca]=Oriya Name[ca@valencia]=Oriya Name[cs]=Oriya Name[csb]=Oriya Name[cy]=Oriya Name[da]=Oriya Name[de]=Oriya Name[el]=Oriya Name[en_GB]=Oriya Name[eo]=Orijo Name[es]=Oriya Name[et]=Orija Name[eu]=Oriya Name[fa]=اوریا Name[fi]=Orija Name[fr]=Oriya Name[fy]=Oriya Name[ga]=Oirísis Name[gl]=Orisa Name[gu]=ઓરીયા Name[he]=אורייה Name[hi]=उड़िया Name[hne]=उड़िया Name[hr]=Oriya Name[hsb]=Oriya Name[hu]=Orija Name[ia]=Oriya Name[id]=Oriya Name[is]=Oriya Name[it]=Oriya Name[ja]=オリヤー語 Name[kk]=Ория Name[km]=អូរីយ៉ា Name[kn]=ಒರಿಯಾ Name[ko]=오리야어 Name[ku]=Oriya Name[lb]=Orija Name[lt]=Oriya Name[lv]=Oriju Name[mai]=उड़िया Name[mk]=Орија Name[ml]=ഒറിയന്‍ Name[mr]=ओरिया Name[ms]=Oriya Name[nb]=Oriya Name[nds]=Oriya Name[ne]=ओरिया Name[nl]=Oriya Name[nn]=Oriya Name[oc]=Oriyà Name[or]=Oriya Name[pa]=ਉੜੀਆ Name[pl]=Oriya Name[ps]=وريا Name[pt]=Oriya Name[pt_BR]=Oriá Name[ro]=Oriană Name[ru]=Ория Name[se]=Orijagiella Name[si]=ඔරියා Name[sk]=Uríjčina Name[sl]=oriya Name[sq]=Oriya Name[sr]=оријски Name[sr@ijekavian]=оријски Name[sr@ijekavianlatin]=orijski Name[sr@latin]=orijski Name[sv]=Oriya Name[ta]=ஒரியா Name[te]=ఒరియా Name[tg]=Ориёӣ Name[th]=ภาษาโอริยา Name[tr]=Oriya Name[ug]=ئورىياچە Name[uk]=Орія Name[uz]=Oriya Name[uz@cyrillic]=Ория -Name[vi]=Ô-ri-yạ +Name[vi]=Oriya Name[wa]=Oriya -Name[x-test]=xxOriyaxx Name[xh]=Oriya +Name[x-test]=xxOriyaxx Name[zh_CN]=奥利亚语 Name[zh_HK]=Oriya語 Name[zh_TW]=Oriya語 [os] Name=Ossetian Name[af]=Ossetian Name[ar]=أوسيتية Name[as]=অচেটিয়ান Name[ast]=Osetianu Name[be]=Асетынская Name[be@latin]=Asetynskaja Name[bg]=Осетински Name[bn]=ওসেটিয়ান Name[bn_IN]=ওসেনশিয়ান Name[br]=Ossetieg Name[bs]=Osetski Name[ca]=Osset Name[ca@valencia]=Osset Name[cs]=Osetský Name[csb]=Òsetańsczi Name[cy]=Oseteg Name[da]=Ossetian Name[de]=Ossetisch Name[el]=Ossetian Name[en_GB]=Ossetian Name[eo]=Oseta Name[es]=Osetio Name[et]=Osseedi Name[eu]=Osetiera Name[fa]=اوستی قفقاز Name[fi]=Osseetti Name[fr]=Ossète Name[fy]=Ossetysk Name[ga]=Óiséitis Name[gl]=Oseto Name[gu]=ઓસેશિયન Name[he]=אוסטית Name[hi]=ओसेशियन Name[hne]=ओसेसियन Name[hr]=Osetski Name[hsb]=Osetisce Name[hu]=Oszét Name[ia]=Ossetiano Name[id]=Ossetian Name[is]=Ossetian Name[it]=Osseto Name[ja]=オセット語 Name[kk]=Осетинше Name[km]=អូសសិត្យង់ Name[kn]=ಓಸೆಟ್ಟಿಯಾನ್ Name[ko]=오세티안어 Name[ku]=Osetî Name[lb]=Ossetesch Name[lt]=Osetinų Name[lv]=Osetīnu Name[mai]=ओसेशियन Name[mk]=Осетиски Name[ml]=ഒസ്സെഷിയന്‍ Name[mr]=ओसेशियन Name[ms]=Ossetian Name[nb]=Ossetisk Name[nds]=Osseetsch Name[ne]=ओसेसियन Name[nl]=Ossetisch Name[nn]=Ossetisk Name[or]=Ossetian Name[pa]=ਓਸੀਟੀਅਨ Name[pl]=Osetański Name[ps]=اوسيټي Name[pt]=Osseta Name[pt_BR]=Osseto Name[ro]=Osetiană Name[ru]=Осетинский Name[se]=Ossetiagiella Name[si]=ඔසෙටියන් Name[sk]=Osetčina Name[sl]=osetijsko Name[sq]=Ossetiane Name[sr]=осетски Name[sr@ijekavian]=осетски Name[sr@ijekavianlatin]=osetski Name[sr@latin]=osetski Name[sv]=Ossetsiska Name[ta]=ஒசெட்டியன் Name[te]=ఒస్సెషియన్ Name[tg]=Осетинӣ Name[th]=ภาษาโอซิเชียน Name[tr]=Ossetian Name[ug]=ئوسسېتىكچە Name[uk]=Осетинська Name[uz]=Ossetincha Name[uz@cyrillic]=Оссетинча -Name[vi]=Óc-xe-ti-an +Name[vi]=Ossetian Name[wa]=Ossete -Name[x-test]=xxOssetianxx Name[xh]=Ossetian +Name[x-test]=xxOssetianxx Name[zh_CN]=奥塞梯语 Name[zh_HK]=Ossetian語 Name[zh_TW]=Ossetian語 [pa] Name=Punjabi/Panjabi Name[ar]=بنجابية Name[as]=পাঞ্জাবী/পঞ্জাবী Name[ast]=Punjabi/Panjabi Name[be]=Панджабі Name[be@latin]=Pandžabi Name[bg]=Пенджаб Name[bn]=পাঞ্জাবী Name[bn_IN]=পাঞ্জাবি Name[br]=Pendjabieg Name[bs]=Pandžabi/Pandžabi Name[ca]=Panjabi Name[ca@valencia]=Panjabi Name[cs]=Pandžábský Name[csb]=Punjabi/Panjabi Name[da]=Punjabi/Panjabi Name[de]=Pandschabi Name[el]=Punjabi/Panjabi Name[en_GB]=Punjabi/Panjabi Name[eo]=Panĝaba Name[es]=Punjabi Name[et]=Pandžabi Name[eu]=Punjabi/Panjabi Name[fa]=پنجابی/پنجابی Name[fi]=Pandžabi Name[fr]=Panjabi / Punjabi Name[fy]=Panjabi/Panjabi Name[ga]=Painseáibis Name[gl]=Punxabí/Panxabí Name[gu]=પંજાબી/પંજાબી Name[he]=פנג'אבית Name[hi]=पंजाबी Name[hne]=पंजाबी Name[hr]=Punjabi/Panjabi Name[hsb]=Punjabi/Panjabi Name[hu]=Pandzsabi Name[ia]=Punjabi Name[id]=Punjabi/Panjabi Name[is]=Punjabi/Panjabi Name[it]=Panjabi Name[ja]=パンジャーブ語 Name[kk]=Пунджаби/Панждаби Name[km]=ពូនយ៉ាប៊ី Name[kn]=ಪಂಜಾಬಿ Name[ko]=펀자브어 Name[ku]=Pêncabî Name[lt]=Punjabi/Panjabi Name[lv]=Pandžabu Name[mai]=पंजाबी Name[mk]=Пунџаби/Панџаби Name[ml]=പഞ്ചാബി Name[mr]=पंजाबी/पँजाबी Name[ms]=Punjabi/Panjabi Name[nb]=Punjabi/Panjabi Name[nds]=Pandschaabsch Name[ne]=पन्जाबी/पन्जाबी Name[nl]=Panjabi Name[nn]=Panjabi Name[or]=Punjabi/Panjabi Name[pa]=ਪੰਜਾਬੀ Name[pl]=Pendżabski Name[ps]=پنجابي Name[pt]=Panjabi/Punjabi Name[pt_BR]=Panjabi Name[ro]=Punjabi Name[ru]=Панджаби Name[se]=Punjabi/Panjabi Name[si]=පුන්ජාබි/පන්ජාබි Name[sk]=Pandžábčina Name[sl]=pandžabsko Name[sq]=Punjabi/Panjabi Name[sr]=панџаби/панџаби Name[sr@ijekavian]=панџаби/панџаби Name[sr@ijekavianlatin]=pandžabi/pandžabi Name[sr@latin]=pandžabi/pandžabi Name[sv]=Punjabi/Panjabi Name[ta]=பஞ்சாபி Name[te]=పంజాబి Name[tg]=Пунҷабӣ/Панҷабӣ Name[th]=ภาษาปัญจาบี/ปัญจาบ Name[tr]=Punjabi/Panjabi Name[ug]=پەنجابچە Name[uk]=Панджабська -Name[vi]=Pan-gia-bi +Name[vi]=Punjabi/Panjabi Name[wa]=Pundjabi Name[x-test]=xxPunjabi/Panjabixx Name[zh_CN]=旁遮普语 Name[zh_TW]=Punjabi/Panjabi [pi] Name=Pali Name[af]=Pali Name[ar]=بالية Name[as]=পালি Name[ast]=Pali Name[be]=Палі Name[be@latin]=Pali Name[bg]=Пали Name[bn]=পালি Name[bn_IN]=পালি Name[br]=Palieg Name[bs]=Pali Name[ca]=Pali Name[ca@valencia]=Pali Name[cs]=Pali Name[csb]=Pali Name[cy]=Pali Name[da]=Pali Name[de]=Pali Name[el]=Pali Name[en_GB]=Pali Name[eo]=Palia Name[es]=Palí Name[et]=Paali Name[eu]=Pali Name[fa]=پالی Name[fi]=Paali Name[fr]=Pali Name[fy]=Pali Name[ga]=Páilis Name[gl]=Pali Name[gu]=પાલી Name[he]=פאלי Name[hi]=पाली Name[hne]=पाली Name[hr]=Pali Name[hsb]=Pali Name[hu]=Pali Name[ia]=Pali Name[id]=Pali Name[is]=Pali Name[it]=Pali Name[ja]=パーリ語 Name[kk]=Пали Name[km]=ប៉ាលី Name[kn]=ಪಾಲಿ Name[ko]=팔리어 Name[ku]=Palî Name[lb]=Pali Name[lt]=Pali Name[lv]=Pāli Name[mai]=पाली Name[mk]=Пали Name[ml]=പാലി Name[mr]=पाली Name[ms]=Pali Name[nb]=Pali Name[nds]=Pali Name[ne]=पाली Name[nl]=Pali Name[nn]=Pali Name[oc]=Pòlònès Name[or]=Pali Name[pa]=ਪਾਲੀ Name[pl]=Pali Name[ps]=پالي Name[pt]=Pali Name[pt_BR]=Pali Name[ro]=Pali Name[ru]=Пали Name[se]=Páligiella Name[si]=පාලි Name[sk]=Pálí Name[sl]=pali Name[sq]=Pali Name[sr]=пали Name[sr@ijekavian]=пали Name[sr@ijekavianlatin]=pali Name[sr@latin]=pali Name[sv]=Pali Name[ta]=பாலி Name[te]=పాళి Name[tg]=Палӣ Name[th]=ภาษาบาลี Name[tr]=Pali Name[ug]=پالىچە Name[uk]=Палі Name[uz]=Pali Name[uz@cyrillic]=Пали Name[vi]=Pa-li Name[wa]=Pâli -Name[x-test]=xxPalixx Name[xh]=Pali +Name[x-test]=xxPalixx Name[zh_CN]=巴利语 Name[zh_HK]=巴利語 Name[zh_TW]=巴利語 [pl] Name=Polish Name[af]=Poolse Name[ar]=بولندية Name[as]=প'লিশ্ব Name[ast]=Polacu Name[be]=Польская Name[be@latin]=Polskaja Name[bg]=Полски Name[bn]=পোলিশ Name[bn_IN]=পোলিশ Name[br]=Poloneg Name[bs]=Poljski Name[ca]=Polonès Name[ca@valencia]=Polonés Name[cs]=Polský Name[csb]=Pòlsczi Name[cy]=Pwyleg Name[da]=Polsk Name[de]=Polnisch Name[el]=Πολωνικά Name[en_GB]=Polish Name[eo]=Pola Name[es]=Polaco Name[et]=Poola Name[eu]=Poloniera Name[fa]=لهستانی Name[fi]=Puola Name[fr]=Polonais Name[fy]=Poalsk Name[ga]=Polainnis Name[gl]=Polaco Name[gu]=પોલિશ Name[he]=פולנית Name[hi]=पोलिश Name[hne]=पोलिस Name[hr]=Poljski Name[hsb]=Pólsce Name[hu]=Lengyel Name[ia]=Polonese Name[id]=Polandia Name[is]=Pólska Name[it]=Polacco Name[ja]=ポーランド語 Name[kk]=Полякша Name[km]=ប៉ូឡូញ Name[kn]=ಪೋಲಿಷ್ Name[ko]=폴란드어 Name[ku]=Polish Name[lb]=Polnesch Name[lt]=Lenkų Name[lv]=Poļu Name[mai]=पोलिश Name[mk]=Полски Name[ml]=പോളിഷ് Name[mr]=पोलिश Name[ms]=Polish Name[nb]=Polsk Name[nds]=Poolsch Name[ne]=पोलीस Name[nl]=Pools Name[nn]=Polsk Name[oc]=Polonés Name[or]=Polish Name[pa]=ਪੋਲੈਂਡੀ Name[pl]=Polski Name[ps]=پولېش Name[pt]=Polaco Name[pt_BR]=Polonês Name[ro]=Poloneză Name[ru]=Польский Name[se]=Polskkagiella Name[si]=පෝලන්ත Name[sk]=Poľština Name[sl]=poljsko Name[sq]=Polake Name[sr]=пољски Name[sr@ijekavian]=пољски Name[sr@ijekavianlatin]=poljski Name[sr@latin]=poljski Name[sv]=Polska Name[ta]=போலிஷ் Name[te]=పోలిష్ Name[tg]=Полякӣ Name[th]=ภาษาโปแลนด์ Name[tr]=Lehçe Name[ug]=پولەكچە Name[uk]=Польська Name[uz]=Polyakcha Name[uz@cyrillic]=Полякча -Name[vi]=Ba-lan +Name[vi]=Ba Lan Name[wa]=Polonès -Name[x-test]=xxPolishxx Name[xh]=Polish +Name[x-test]=xxPolishxx Name[zh_CN]=波兰语 Name[zh_HK]=波蘭語 Name[zh_TW]=波蘭語 [ps] Name=Pushto Name[af]=Pushto Name[ar]=باشتو Name[as]=পুষ্টো Name[ast]=Pushto Name[be]=Пушту Name[be@latin]=Puštu Name[bg]=Пущу Name[bn]=পুস্ত Name[bn_IN]=পুস্তু Name[br]=Pushto Name[bs]=Paštu Name[ca]=Paixtu Name[ca@valencia]=Paixtu Name[cs]=Pushto Name[csb]=Pushto Name[cy]=Pushto Name[da]=Pushto Name[de]=Paschtu Name[el]=Pushto Name[en_GB]=Pushto Name[eo]=Paŝtua Name[es]=Pastún Name[et]=Puštu Name[eu]=Paxtuera Name[fa]=پشتو Name[fi]=Paštu Name[fr]=Pushto Name[fy]=Pushto Name[ga]=Paistis Name[gl]=Pushto Name[gu]=પુશ્ટો Name[he]=פאשטו Name[hi]=पश्तो Name[hne]=पस्तो Name[hr]=Pushto Name[hsb]=Pušto Name[hu]=Pusto Name[ia]=Pushto Name[id]=Pushto Name[is]=Pushto Name[it]=Paštu Name[ja]=パシュトー語 Name[kk]=Пушту Name[km]=ពុហ្សតូ Name[kn]=ಪುಷ್ತೋ Name[ko]=파슈토어 Name[ku]=Paşto Name[lb]=Paschtu Name[lt]=Puštūnų Name[lv]=Puštu Name[mai]=पश्तो Name[mk]=Пушто Name[ml]=പുഷ്ട്ടോ Name[mr]=पश्तो Name[ms]=Pushto Name[nb]=Pushto Name[nds]=Paschtuunsch Name[ne]=पुस्तो Name[nl]=Pushto Name[nn]=Pashto Name[or]=Pushto Name[pa]=ਪੁਸ਼ਤੋ Name[pl]=Pushto Name[ps]=پښتو Name[pt]=Pushto Name[pt_BR]=Afegão Name[ro]=Puștă Name[ru]=Пушту Name[se]=Puštugiella Name[si]=පුෂ්ටො Name[sk]=Paštčina Name[sl]=pushto Name[sq]=Pushto Name[sr]=паштунски Name[sr@ijekavian]=паштунски Name[sr@ijekavianlatin]=paštunski Name[sr@latin]=paštunski Name[sv]=Pashto Name[ta]=பாஷ்டுன் Name[te]=పుష్తొ Name[tg]=Пушту Name[th]=ภาษาพาชโต Name[tr]=Pushto Name[ug]=پوشتۇچە Name[uk]=Пуштунська Name[uz]=Pushtuncha Name[uz@cyrillic]=Пуштунча -Name[vi]=Pu-x-tô +Name[vi]=Pushto Name[wa]=Pashto -Name[x-test]=xxPushtoxx Name[xh]=Pushto +Name[x-test]=xxPushtoxx Name[zh_CN]=普什图语 Name[zh_HK]=普什圖語 Name[zh_TW]=普什圖語 [pt] Name=Portuguese Name[af]=Portugese Name[ar]=برتغالية Name[as]=প'ৰ্টুগিছ Name[ast]=Portugués Name[be]=Партугальская Name[be@latin]=Partuhalskaja Name[bg]=Португалски Name[bn]=পর্তুগীজ Name[bn_IN]=পোর্তুগিস Name[br]=Portugaleg Name[bs]=Portugalski Name[ca]=Portuguès Name[ca@valencia]=Portugués Name[cs]=Portugalský Name[csb]=Pòrtugalsczi Name[cy]=Portiwgaleg Name[da]=Portugisisk Name[de]=Portugiesisch Name[el]=Πορτογαλικά Name[en_GB]=Portuguese Name[eo]=Portugala Name[es]=Portugués Name[et]=Portugali Name[eu]=Portugesa Name[fa]=پرتغالی Name[fi]=Portugali Name[fr]=Portugais Name[fy]=Portugeesk Name[ga]=Portaingéilis Name[gl]=Portugués Name[gu]=પોર્ટુગીઝ Name[he]=פורטוגזית Name[hi]=पुर्तगाली Name[hne]=पुर्तगाली Name[hr]=Portugalski Name[hsb]=Portugalsce Name[hu]=Portugál Name[ia]=Portugese Name[id]=Portugis Name[is]=Portúgalska Name[it]=Portoghese Name[ja]=ポルトガル語 Name[kk]=Португалша Name[km]=ព័រទុយហ្គាល់ Name[kn]=ಪೋರ್ಚುಗೀಸ್ Name[ko]=포르투갈어 Name[ku]=Portûgalî Name[lb]=Portugisesch Name[lt]=Portugalų Name[lv]=Portugāļu Name[mai]=पुर्तगाली Name[mk]=Португалски Name[ml]=പോര്‍ച്ചുഗീസ് Name[mr]=पुर्तगाली Name[ms]=Portugis Name[nb]=Portugisisk Name[nds]=Portugeesch Name[ne]=पोर्चुगाली Name[nl]=Portugees Name[nn]=Portugisisk Name[oc]=Portugués Name[or]=Portuguese Name[pa]=ਪੁਰਤਗਾਲੀ Name[pl]=Portugalski Name[ps]=پورټګيز Name[pt]=Português Name[pt_BR]=Português Name[ro]=Portugheză Name[ru]=Португальский Name[se]=Portugálagiella Name[si]=පෘතුගීසි Name[sk]=Portugalčina Name[sl]=portugalsko Name[sq]=Portugeze Name[sr]=португалски Name[sr@ijekavian]=португалски Name[sr@ijekavianlatin]=portugalski Name[sr@latin]=portugalski Name[sv]=Portugisiska Name[ta]=போர்த்துக்கீசிய Name[te]=పోర్ట్యుగీస్ Name[tg]=Португалӣ Name[th]=ภาษาโปรตุเกส Name[tr]=Portekizce Name[ug]=پورتۇگالچە Name[uk]=Португальська Name[uz]=Portugalcha Name[uz@cyrillic]=Португалча -Name[vi]=Bồ-đào-nha +Name[vi]=Bồ Đào Nha Name[wa]=Portuguès -Name[x-test]=xxPortuguesexx Name[xh]=Portuguese +Name[x-test]=xxPortuguesexx Name[zh_CN]=葡萄牙语 Name[zh_HK]=葡萄牙語 Name[zh_TW]=葡萄牙語 [pt_BR] Name=Brazilian Portuguese Name[af]=Brazilian Portuguese Name[ar]=برتغالية البرازيل Name[as]=ব্ৰাজিলীয় প'ৰ্টুগিছ Name[ast]=Portugués de Brasil Name[be]=Партугальская бразільская Name[be@latin]=Brazylskaja partuhalskaja Name[bg]=Бразилски португалски Name[bn]=ব্রাজিলীয় পর্তুগীজ Name[bn_IN]=ব্রাজিলিয়ান পোর্তুগিজ Name[br]=Portugaleg Brazil Name[bs]=Brazilski portugalski Name[ca]=Portuguès Brasiler Name[ca@valencia]=Portugués Brasiler Name[cs]=Portugalský (Brazílie) Name[csb]=Brazylsczi pòrtugalsczi Name[cy]=Portiwgaleg Brasil Name[da]=Brasiliansk portugisisk Name[de]=Brasilianisches Portugiesisch Name[el]=Πορτογαλικά Βραζιλίας Name[en_GB]=Brazilian Portuguese Name[eo]=Portugala (Brazilo) Name[es]=Portugués brasileño Name[et]=Brasiilia portugali Name[eu]=Portugesa (Brasilgoa) Name[fa]=پرتغالی برزیلی Name[fi]=Brasilianportugali Name[fr]=Portugais Brésilien Name[fy]=Braziliaansk Portugeesk Name[ga]=Portaingéilis na Brasaíle Name[gl]=Portugués do Brasil Name[gu]=બ્રાઝીલીયન પોર્ટુગીઝ Name[he]=פורטוגזית ברזילאית Name[hi]=पुर्तगाली (ब्राजीलीयाई) Name[hne]=पुर्तगाली (ब्राजीलीयाई) Name[hr]=Brazilski portugalski Name[hsb]=Portugalsce (Brazilska) Name[hu]=Portugál (brazil) Name[ia]=Portugese Brasiliano Name[id]=Portugis Brazil Name[is]=Brasílísk Portúgalska Name[it]=Portoghese brasiliano Name[ja]=ブラジル ポルトガル語 Name[kk]=Бразилиялық португалша Name[km]=ប្រេស៊ីល ព័រទុយហ្គាល់ Name[kn]=ಬ್ರೆಜಿಲಿಯನ್ ಪೋರ್ಚುಗೀಸ್ Name[ko]=브라질식 포르투갈어 Name[ku]=Portûgaliya Brezîl Name[lb]=Brazilianescht Portugisesch Name[lt]=Brazilijos portugalų Name[lv]=Brazīlijas portugāļu Name[mai]=पुर्तगाली (ब्राजीलीयाई) Name[mk]=Бразилски португалски Name[ml]=ബ്രസീലിലെപോര്‍ച്ചുഗീസ് Name[mr]=ब्राजील पुर्तगाली Name[ms]=Portugis Brazil Name[nb]=Brasil-portugisisk Name[nds]=Brasiliaansch Portugeesch Name[ne]=ब्राजिली पोर्चुगाली Name[nl]=Braziliaans Portugees Name[nn]=Brasil-portugisisk Name[oc]=Portugués de Brasil Name[or]=Brazilian Portuguese Name[pa]=ਬਰਾਜ਼ੀਲ ਪੁਰਤਗਾਲੀ Name[pl]=Portugalski (brazylijski) Name[ps]=برازيلي پرټګيز Name[pt]=Português do Brasil Name[pt_BR]=Português do Brasil Name[ro]=Portugheză braziliană Name[ru]=Португальский (Бразилия) Name[se]=Brasilialaš portugálagiella Name[si]=බ්‍රසීල පෘතුගීසි Name[sk]=Portugalčina (Brazília) Name[sl]=brazilska portugalščina Name[sq]=Portugeze Braziliane Name[sr]=бразилски португалски Name[sr@ijekavian]=бразилски португалски Name[sr@ijekavianlatin]=brazilski portugalski Name[sr@latin]=brazilski portugalski Name[sv]=Brasiliansk portugisiska Name[ta]=பிரேஸிலிய போர்த்துக்கீசிய Name[te]=బ్రాజిలియన్ పోర్ట్యుగీస్ Name[tg]=Бразилиявии Португалӣ Name[th]=ภาษาโปรตุเกสบราซิล Name[tr]=Brezilya Portekizcesi Name[ug]=بىرازىلىيە پورتۇگالچىسى Name[uk]=Бразильська португальська Name[uz]=Portugalcha (Braziliya) Name[uz@cyrillic]=Португалча (Бразилия) -Name[vi]=Bồ-đào-nha (Bra-xin) +Name[vi]=Bồ Đào Nha - Braxin Name[wa]=Portuguès do Braezi Name[x-test]=xxBrazilian Portuguesexx Name[zh_CN]=巴西葡萄牙语 Name[zh_HK]=巴西葡萄牙語 Name[zh_TW]=巴西葡萄牙語 [qu] Name=Quechua Name[af]=Quechua Name[ar]=كويتشيوا Name[as]=কেছুৱা Name[ast]=Quechua Name[be]=Кэчуа Name[be@latin]=Čečua Name[bg]=Кечуа Name[bn]=কেচুয়া Name[bn_IN]=কেচুওয়া Name[br]=Kechuaeg Name[bs]=Kečuanski Name[ca]=Quítxua Name[ca@valencia]=Quítxua Name[cs]=Quechua Name[csb]=Quechua Name[cy]=Quechua Name[da]=Quechua Name[de]=Quechua Name[el]=Quechua Name[en_GB]=Quechua Name[eo]=Keĉua Name[es]=Quechua Name[et]=Ketšua Name[eu]=Kitxua Name[fa]=کوچوا Name[fi]=Ketšua Name[fr]=Quechua Name[fy]=Quechua Name[ga]=Ceatsuais Name[gl]=Quechua Name[gu]=ક્વેચા Name[he]=קצ'ואה Name[hi]=क्वेचुआ Name[hne]=क्वेचुआ Name[hr]=Quechua Name[hsb]=Quechua Name[hu]=Kecsua Name[ia]=Quechua Name[id]=Quechua Name[is]=Quechua Name[it]=Quechua Name[ja]=ケチュア語 Name[kk]=Кечуа Name[km]=កេច្វា Name[kn]=ಕ್ವೆಚುವಾ Name[ko]=케추아어 Name[ku]=Kweçua Name[lb]=Quechua-Sprooch Name[lt]=Quechua Name[lv]=Keāvu Name[mai]=क्वेचुआ Name[mk]=Кечуа Name[ml]=ക്യുച്ചുവ Name[mr]=क्वेचुआ Name[ms]=Quechua Name[nb]=Quechua Name[nds]=Ketschua Name[ne]=क्वेचउ Name[nl]=Quechua Name[nn]=Quechua Name[oc]=Quechua Name[or]=Quechua Name[pa]=ਕਿਉਚੁਆ Name[pl]=Quechua Name[ps]=کوېچوا Name[pt]=Quechua Name[pt_BR]=Quíchua Name[ro]=Quechua Name[ru]=Кечуа Name[se]=Keččuagiella Name[si]=ක්වෙචුවා Name[sk]=Kečuánčina Name[sl]=quechua Name[sq]=Keçua Name[sr]=квечва Name[sr@ijekavian]=квечва Name[sr@ijekavianlatin]=kvečva Name[sr@latin]=kvečva Name[sv]=Quechua Name[ta]=குவெச்சா Name[te]=క్వెచువా Name[tg]=Квечуа Name[th]=ภาษาเคชัว Name[tr]=Quechua Name[ug]=كۇچۇاچە Name[uk]=Кечуа Name[uz]=Kvechua Name[uz@cyrillic]=Квечуа -Name[vi]=Quê-chua +Name[vi]=Quechua Name[wa]=Kitchwa -Name[x-test]=xxQuechuaxx Name[xh]=Quechua +Name[x-test]=xxQuechuaxx Name[zh_CN]=盖丘亚语 Name[zh_HK]=蓋楚瓦語 Name[zh_TW]=蓋楚瓦語 [rn] Name=Rundi Name[af]=Rundi Name[ar]=روندية Name[as]=ৰান্ডী Name[ast]=Rundí Name[be]=Рундзі Name[be@latin]=Rundzi Name[bg]=Руанда Name[bn]=রুণ্ডি Name[bn_IN]=রুন্ডি Name[br]=Rundi Name[bs]=Rundi Name[ca]=Rundi Name[ca@valencia]=Rundi Name[cs]=Rundi Name[csb]=Rundi Name[cy]=Rwndi Name[da]=Rundi Name[de]=Rundi Name[el]=Rundi Name[en_GB]=Rundi Name[eo]=Burunda Name[es]=Rundi Name[et]=Rundi Name[eu]=Rundi Name[fa]=روندی Name[fi]=Rundi Name[fr]=Rundi Name[fy]=Rûandeesk Name[ga]=Rundais Name[gl]=Rundi Name[gu]=રુન્ડી Name[he]=רונדי Name[hi]=रून्डी Name[hne]=रून्डी Name[hr]=Rundi Name[hsb]=Rundi Name[hu]=Rundi Name[ia]=Rundi Name[id]=Rundi Name[is]=Rundi Name[it]=Kirundi Name[ja]=ルンディ語 Name[kk]=Рунди Name[km]=រុន្ឌី Name[kn]=ರುಂಡಿ Name[ko]=룬디어 Name[ku]=Rundî Name[lb]=Rundi-Sprooch Name[lt]=Rundi Name[lv]=Rundu Name[mai]=रून्डी Name[mk]=Рунди Name[ml]=റന്‍ഡി Name[mr]=रून्डी Name[ms]=Rundi Name[nb]=Rundi Name[nds]=Rundi Name[ne]=रुन्डी Name[nl]=Rundi Name[nn]=Rundi Name[or]=Rundi Name[pa]=ਰੂਡੀ Name[pl]=Rundi Name[ps]=رونډي Name[pt]=Rundi Name[pt_BR]=Rundi Name[ro]=Rundi Name[ru]=Рунди Name[se]=Rundigiella Name[si]=රුන්දි Name[sk]=Rundčina Name[sl]=rundi Name[sq]=Rundi Name[sr]=рунди Name[sr@ijekavian]=рунди Name[sr@ijekavianlatin]=rundi Name[sr@latin]=rundi Name[sv]=Rundi Name[ta]=ருண்டி Name[te]=రుండి Name[tg]=Рундӣ Name[th]=ภาษารุนดิ Name[tr]=Rundi Name[ug]=روندىچە Name[uk]=Рунді Name[uz]=Rundi Name[uz@cyrillic]=Рунди -Name[vi]=Run-đi +Name[vi]=Rundi Name[wa]=Kirundi -Name[x-test]=xxRundixx Name[xh]=Rundi +Name[x-test]=xxRundixx Name[zh_CN]=隆迪语 Name[zh_HK]=Rundi語 Name[zh_TW]=Rundi語 [ro] Name=Romanian Name[af]=Romeens Name[ar]=رومانية Name[as]=ৰোমানিয় Name[ast]=Rumanu Name[be]=Румынская Name[be@latin]=Rumynskaja Name[bg]=Румънски Name[bn]=রোমানীয় Name[bn_IN]=রোমেনিয়ান Name[br]=Roumaneg Name[bs]=Rumunski Name[ca]=Romanès Name[ca@valencia]=Romanés Name[cs]=Rumunský Name[csb]=Rumùńsczi Name[cy]=Romaneg Name[da]=Rumænsk Name[de]=Rumänisch Name[el]=Ρουμανικά Name[en_GB]=Romanian Name[eo]=Rumana Name[es]=Rumano Name[et]=Rumeenia Name[eu]=Errumaniera Name[fa]=رومانیایی Name[fi]=Romania Name[fr]=Roumain Name[fy]=Roemeensk Name[ga]=Rómáinis Name[gl]=Romanés Name[gu]=રોમેનિયન Name[he]=רומנית Name[hi]=रोमानियाई Name[hne]=रोमानियाई Name[hr]=Rumunjski Name[hsb]=Rumunsce Name[hu]=Román Name[ia]=Romaniano Name[id]=Rumania Name[is]=Rúmenska Name[it]=Rumeno Name[ja]=ルーマニア語 Name[kk]=Румынша Name[km]=រូម៉ានី Name[kn]=ರೊಮೇನಿಯನ್ Name[ko]=루마니아어 Name[ku]=Romanî Name[lb]=Rumänesch Name[lt]=Rumunų Name[lv]=Rumāņu Name[mai]=रोमानियाइ Name[mk]=Романски Name[ml]=റൊമേനിയന്‍ Name[mr]=रोमानियन Name[ms]=Romania Name[nb]=Rumensk Name[nds]=Rumäänsch Name[ne]=रोमनियाली Name[nl]=Roemeens Name[nn]=Rumensk Name[oc]=Romanian Name[or]=Romanian Name[pa]=ਰੋਮਾਨੀਆਈ Name[pl]=Rumuński Name[ps]=رومانيايي Name[pt]=Romeno Name[pt_BR]=Romeno Name[ro]=Română Name[ru]=Румынский Name[se]=Romániagiella Name[si]=රුමේනියානු Name[sk]=Rumunčina Name[sl]=romunsko Name[sq]=Rumune Name[sr]=румунски Name[sr@ijekavian]=румунски Name[sr@ijekavianlatin]=rumunski Name[sr@latin]=rumunski Name[sv]=Rumänska Name[ta]=உருமேனியன் Name[te]=రొమేనియన్ Name[tg]=Романӣ Name[th]=ภาษาโรมาเนีย Name[tr]=Romence Name[ug]=رۇمىنىيەچە Name[uk]=Румунська Name[uz]=Rumincha Name[uz@cyrillic]=Руминча -Name[vi]=Rô-ma-ni-a +Name[vi]=Romania Name[wa]=Roumin -Name[x-test]=xxRomanianxx Name[xh]=Romanian +Name[x-test]=xxRomanianxx Name[zh_CN]=罗马尼亚语 Name[zh_HK]=羅馬尼亞語 Name[zh_TW]=羅馬尼亞語 [rom] Name=Romany Name[ar]=رومانيا Name[as]=ৰোমানি Name[ast]=Romaní Name[be]=Раманская Name[be@latin]=Cyhanskaja Name[bg]=Ромски Name[bn]=রোমানী Name[bn_IN]=রোমেনি Name[br]=Jipsianek Name[bs]=Romski Name[ca]=Caló Name[ca@valencia]=Caló Name[cs]=Romský Name[csb]=Rumùńsczi Name[da]=Romany Name[de]=Romani Name[el]=Ρομάνι Name[en_GB]=Romany Name[eo]=Romaa Name[es]=Rumaní Name[et]=Mustlaskeel Name[eu]=Errumaniera Name[fa]=رومانی Name[fi]=Romani Name[fr]=Rromani Name[fy]=Romany Name[ga]=Romainis Name[gl]=Romaní Name[gu]=રોમાનિ Name[he]=צוענית Name[hi]=रोमन Name[hne]=रोमन Name[hr]=Romanski Name[hsb]=Romany Name[hu]=Lovári cigány Name[ia]=Romany Name[id]=Romany Name[is]=Rúmenía Name[it]=Romaní Name[ja]=ロマ語 Name[kk]=Цыганша Name[km]=រូម៉ានី Name[kn]=ರೋಮನೀ Name[ko]=로마니어 Name[ku]=Romî Name[lb]=Romani Name[lt]=Romany Name[lv]=Čigānu Name[mai]=रोमन Name[mk]=Ромски Name[ml]=റൊമാനി Name[mr]=रोमन Name[ms]=Romania Name[nb]=Romani Name[nds]=Romaneesch Name[ne]=रोमानी Name[nl]=Roma Name[nn]=Romani Name[oc]=Romanian Name[or]=Romany Name[pa]=ਰੋਮੇ Name[pl]=Romski Name[ps]=روماني Name[pt]=Romani Name[pt_BR]=Romani Name[ro]=Țigănească Name[ru]=Цыганский Name[se]=Románigiella Name[si]=රොමනි Name[sk]=Rómčina Name[sl]=romsko Name[sq]=Romani Name[sr]=ромски Name[sr@ijekavian]=ромски Name[sr@ijekavianlatin]=romski Name[sr@latin]=romski Name[sv]=Romanés Name[ta]=உருமேனியன் Name[te]=రొమని Name[tg]=Романӣ Name[th]=ภาษาโรมานี Name[tr]=Çingene Dili Name[ug]=سىگانچە Name[uk]=Циганська -Name[vi]=Rô-ma-ny +Name[vi]=Romany Name[wa]=Romani Name[x-test]=xxRomanyxx Name[zh_CN]=吉普赛语 Name[zh_TW]=吉普賽語 [ru] Name=Russian Name[af]=Russies Name[ar]=روسية Name[as]=ৰুচীয় Name[ast]=Rusu Name[be]=Расійская Name[be@latin]=Rasiejskaja Name[bg]=Руски Name[bn]=রুশ Name[bn_IN]=রুশি Name[br]=Rusianeg Name[bs]=Ruski Name[ca]=Rus Name[ca@valencia]=Rus Name[cs]=Ruský Name[csb]=Rusczi Name[cy]=Rwsieg Name[da]=Russisk Name[de]=Russisch Name[el]=Ρωσικά Name[en_GB]=Russian Name[eo]=Rusa Name[es]=Ruso Name[et]=Vene Name[eu]=Errusiera Name[fa]=روسی Name[fi]=Venäjä Name[fr]=Russe Name[fy]=Russysk Name[ga]=Rúisis Name[gl]=Ruso Name[gu]=રશિયન Name[he]=רוסית Name[hi]=रूसी Name[hne]=रूसी Name[hr]=Ruski Name[hsb]=Rusce Name[hu]=Orosz Name[hy]=Ռուսերեն Name[ia]=Russo Name[id]=Rusia Name[is]=Rússneska Name[it]=Russo Name[ja]=ロシア語 Name[kk]=Орысша Name[km]=រុស្ស៊ី Name[kn]=ರಷಿಯನ್ Name[ko]=러시아어 Name[ku]=Rûsî Name[lb]=Russesch Name[lt]=Rusų Name[lv]=Krievu Name[mai]=रूसी Name[mk]=Руски Name[ml]=റഷ്യന്‍ Name[mr]=रूसी Name[ms]=Russia Name[nb]=Russisk Name[nds]=Russ'sch Name[ne]=रसियाली Name[nl]=Russisch Name[nn]=Russisk Name[oc]=Rus Name[or]=Russian Name[pa]=ਰੂਸੀ Name[pl]=Rosyjski Name[ps]=روسي Name[pt]=Russo Name[pt_BR]=Russo Name[ro]=Rusă Name[ru]=Русский Name[se]=Ruoššagiella Name[si]=රුසියානු Name[sk]=Ruština Name[sl]=rusko Name[sq]=Ruse Name[sr]=руски Name[sr@ijekavian]=руски Name[sr@ijekavianlatin]=ruski Name[sr@latin]=ruski Name[sv]=Ryska Name[ta]=இரஷியன் Name[te]=రషియన్ Name[tg]=Русӣ Name[th]=ภาษารัสเซีย Name[tr]=Rusça Name[ug]=رۇسچە Name[uk]=Російська Name[uz]=Ruscha Name[uz@cyrillic]=Русча Name[vi]=Nga Name[wa]=Rûsse -Name[x-test]=xxRussianxx Name[xh]=Isirashiya +Name[x-test]=xxRussianxx Name[zh_CN]=俄语 Name[zh_HK]=俄語 Name[zh_TW]=俄語 [rw] Name=Kinyarwanda Name[af]=Kinyarwanda Name[ar]=كينيارواندا Name[as]=কিন্যাৰ্বান্ডা Name[ast]=Kinyarwanda Name[be]=Кіньярванда Name[be@latin]=Kinyarwanda Name[bg]=Кинияруанда Name[bn]=কিন্যারওয়াণ্ডা Name[bn_IN]=কিনয়ারুয়ান্ডা Name[br]=Kinyarwanda Name[bs]=Kinjaruanda Name[ca]=Ruanda Name[ca@valencia]=Ruanda Name[cs]=Kinyarwanda Name[csb]=Kinyarwanda Name[cy]=Kinyarwanda Name[da]=Kinyarwanda Name[de]=Kinyarwanda Name[el]=Kinyarwanda Name[en_GB]=Kinyarwanda Name[eo]=Ruanda Name[es]=Kinyarwanda Name[et]=Ruanda Name[eu]=Kinyaruanda Name[fa]=کینیارواندایی Name[fi]=Ruanda Name[fr]=Kinyarwanda Name[fy]=Kinyarwanda Name[ga]=Cinearuáindis Name[gl]=Quiñaruanda Name[gu]=કિન્યારવાન્ડા Name[he]=קיניירואנדה Name[hi]=किन्यारवान्डा Name[hne]=किन्यारवान्डा Name[hr]=Kinidžaruandski Name[hsb]=Kinyarwanda Name[hu]=Kinjarvanda Name[ia]=Kinyarwanda Name[id]=Kinyarwanda Name[is]=Kinyarwanda Name[it]=Kinyarwanda Name[ja]=ルワンダ語 Name[kk]=Киньяруанда Name[km]=គីនយ៉ាវ៉ាន់ដា Name[kn]=ಕಿನ್ಯರ್ವಾಂಡ Name[ko]=키냐르완다어 Name[ku]=Kînyarwanda Name[lb]=Ruanda-Sprooch Name[lt]=Kinyarwanda Name[lv]=Kiņaruanda Name[mai]=किनयरवंडा Name[mk]=Кинјарванда Name[ml]=കിന്യാര്‍വാന്‍ഡാ Name[mr]=किन्यारवान्डा Name[ms]=Kinyarwanda Name[nb]=Kinyarwanda Name[nds]=Kinyarwanda Name[ne]=किन्यरवान्डा Name[nl]=Kinyarwanda Name[nn]=Kinyarwanda Name[oc]=Kinyarwandà Name[or]=Kinyarwanda Name[pa]=ਕਿਨਯਾਰਵਾਡਾਂ Name[pl]=Kinyarwanda Name[ps]=کينيارونډا Name[pt]=Kinyarwanda Name[pt_BR]=Kinyarwanda Name[ro]=Chiniaruandeză Name[ru]=Киньяруанда Name[se]=Kinyarwandagiella Name[si]=කින්යාවන්ඩා Name[sk]=Rwandčina Name[sl]=kinyarwanda Name[sq]=Kinyarwanda Name[sr]=кинијарванда Name[sr@ijekavian]=кинијарванда Name[sr@ijekavianlatin]=kinijarvanda Name[sr@latin]=kinijarvanda Name[sv]=Rwanda Name[ta]=கின்யார்வாண்டா Name[te]=కిన్న్యార్వాండా Name[tg]=Кинуарвандӣ Name[th]=ภาษาคินยาร์วันดา Name[tr]=Kinyarwanda Name[ug]=كىنيارۋانداچە Name[uk]=Кіньяруанда Name[uz]=Kinyarvanda Name[uz@cyrillic]=Кинярванда -Name[vi]=Ki-nyă-ouanh-đa +Name[vi]=Kinyarwanda Name[wa]=Kiniarwanda -Name[x-test]=xxKinyarwandaxx Name[xh]=Kinyarwanda +Name[x-test]=xxKinyarwandaxx Name[zh_CN]=基尼亚卢旺达语 Name[zh_HK]=Kinyarwanda語 Name[zh_TW]=Kinyarwanda語 [sa] Name=Sanskrit Name[af]=Sanskrit Name[ar]=سنسكريتية Name[as]=সংস্কৃত Name[ast]=Sánscritu Name[be]=Санскрыт Name[be@latin]=Sanskryt Name[bg]=Санскрит Name[bn]=সংস্কৃত Name[bn_IN]=সংস্কৃত Name[br]=Sanskrit Name[bs]=Sanskrt Name[ca]=Sànscrit Name[ca@valencia]=Sànscrit Name[cs]=Sanskrit Name[csb]=Sanskrit Name[cy]=Sansgrit Name[da]=Sanskrit Name[de]=Sanskrit Name[el]=Σανσκριτικά Name[en_GB]=Sanskrit Name[eo]=Sanskrito Name[es]=Sánscrito Name[et]=Sanskriti Name[eu]=Sanskritoa Name[fa]=سانسکریت Name[fi]=Sanskrit Name[fr]=Sanskrit Name[fy]=Sanskryt Name[ga]=Sanscrait Name[gl]=Sánscrito Name[gu]=સંસ્કૃત Name[he]=סנסקריט Name[hi]=संस्कृत Name[hne]=संस्कृत Name[hr]=Sanskrit Name[hsb]=Sanskrit Name[hu]=Szanszkrit Name[ia]=Sanscrito Name[id]=Sanskerta Name[is]=Sanskrít Name[it]=Sanscrito Name[ja]=サンスクリット語 Name[kk]=Санскрит Name[km]=សំស្ក្រឹត Name[kn]=ಸಂಸ್ಕೃತ Name[ko]=산스크리트어 Name[ku]=Sanskrît Name[lb]=Sanskrit Name[lt]=Sanskritas Name[lv]=Sanskrits Name[mai]=संस्कृत Name[mk]=Санскрит Name[ml]=സംസ്കൃതം Name[mr]=संस्कृत Name[ms]=Sanskrit Name[nb]=Sanskrit Name[nds]=Sanskrit Name[ne]=संस्कृत Name[nl]=Sanskrit Name[nn]=Sanskrit Name[oc]=Sanscrit Name[or]=Sanskrit Name[pa]=ਸੰਸਕ੍ਰਿਤ Name[pl]=Sanskryt Name[ps]=سانسکرېټ Name[pt]=Sanscrito Name[pt_BR]=Sânscrito Name[ro]=Sanscrită Name[ru]=Санскрит Name[se]=Sanskrihtagiella Name[si]=සංස්කෘත Name[sk]=Sanskrit Name[sl]=sanskrt Name[sq]=Sanskrite Name[sr]=санскрт Name[sr@ijekavian]=санскрт Name[sr@ijekavianlatin]=sanskrt Name[sr@latin]=sanskrt Name[sv]=Sanskrit Name[ta]=சமஸ்கிருதம் Name[te]=సంస్క్రుతం Name[tg]=Санскрит Name[th]=ภาษาสันสกฤต Name[tr]=Sanskrit Name[ug]=سانسكرىتچە Name[uk]=Санскрит Name[uz]=Sanskrit Name[uz@cyrillic]=Санскрит -Name[vi]=Xan-s-cợ-ríth +Name[vi]=Sanskrit Name[wa]=Sanskrit -Name[x-test]=xxSanskritxx Name[xh]=Sanskrit +Name[x-test]=xxSanskritxx Name[zh_CN]=梵文 Name[zh_HK]=梵語 Name[zh_TW]=梵語 [sc] Name=Sardinian Name[af]=Sardinian Name[ar]=ساردينية Name[as]=চাৰ্ডিনিয়ান Name[ast]=Sardu Name[be]=Сардынская Name[be@latin]=Sardynskaja Name[bg]=Сардински Name[bn]=সার্ডিনিয়ান Name[bn_IN]=সার্ডিনিয়ান Name[br]=Sardinieg Name[bs]=Sardinijski Name[ca]=Sard Name[ca@valencia]=Sard Name[cs]=Sardinský Name[csb]=Sardińsczi Name[cy]=Sardinieg Name[da]=Sardinsk Name[de]=Sardisch Name[el]=Σαρδηνιακά Name[en_GB]=Sardinian Name[eo]=Sarda Name[es]=Sardo Name[et]=Sardiinia Name[eu]=Sardiera Name[fa]=ساردینی Name[fi]=Sardi Name[fr]=Sarde Name[fy]=Sardinysk Name[ga]=Sairdínis Name[gl]=Sardo Name[gu]=સાર્ડિનિયન Name[he]=סרדינית Name[hi]=सारदिनी Name[hne]=सारदिनी Name[hr]=Sardinijski Name[hsb]=Sardisce Name[hu]=Szardíniai Name[ia]=Sardo Name[id]=Sardinian Name[is]=Sardíníska Name[it]=Sardo Name[ja]=サルデーニャ語 Name[kk]=Сардинше Name[km]=សារឌីណង់ Name[kn]=ಸಾರ್ಡೀನಿಯನ್ Name[ko]=사르디니아어 Name[ku]=Sardunî Name[lb]=Sardinesch Name[lt]=Sardinijos Name[lv]=Sardīniešu Name[mai]=सारडिनी Name[mk]=Сардиниски Name[ml]=സര്‍ഡീനിയന്‍ Name[mr]=सारदिनी Name[ms]=Sardinian Name[nb]=Sardisk Name[nds]=Sardiensch Name[ne]=सर्दिनियन Name[nl]=Sardinisch Name[nn]=Sardisk Name[oc]=Sard Name[or]=Sardinian Name[pa]=ਸਾਰਡੀਨੀਆਈ Name[pl]=Sardyński Name[ps]=سارډينيايي Name[pt]=Sardenho Name[pt_BR]=Sardo Name[ro]=Sardiniană Name[ru]=Сардинский Name[se]=Sardiniagiella Name[si]=සාර්ඩිනියන් Name[sk]=Sardínčina Name[sl]=sardinsko Name[sq]=Sardiniane Name[sr]=сардинијски Name[sr@ijekavian]=сардинијски Name[sr@ijekavianlatin]=sardinijski Name[sr@latin]=sardinijski Name[sv]=Sardinska Name[ta]=சார்டீனியன் Name[te]=సార్డినియన్ Name[tg]=Сардиниягӣ Name[th]=ภาษาซาร์ดิเนียน Name[tr]=Sardinian Name[ug]=ساردىنىيەچە Name[uk]=Сардинська Name[uz]=Sardincha Name[uz@cyrillic]=Сардинча -Name[vi]=Xa-đi-ni-a +Name[vi]=Sardinia Name[wa]=Sardinyin -Name[x-test]=xxSardinianxx Name[xh]=Sardinian +Name[x-test]=xxSardinianxx Name[zh_CN]=撒丁语 Name[zh_HK]=薩丁尼亞語 Name[zh_TW]=薩丁尼亞語 [sd] Name=Sindhi Name[af]=Sindhi Name[ar]=سندية Name[as]=ছিন্ধি Name[ast]=Sindhi Name[be]=Сіндхі Name[be@latin]=Sindhi Name[bg]=Синдхи Name[bn]=সিন্ধি Name[bn_IN]=সিন্ধি Name[br]=Sindhieg Name[bs]=Sindi Name[ca]=Sindhi Name[ca@valencia]=Sindhi Name[cs]=Sindhi Name[csb]=Sindhi Name[cy]=Sindhi Name[da]=Sindhi Name[de]=Sindhi Name[el]=Sindhi Name[en_GB]=Sindhi Name[eo]=Sinda Name[es]=Sindhi Name[et]=Sindhi Name[eu]=Sindhi Name[fa]=سیندهی Name[fi]=Sindhi Name[fr]=Sindhi Name[fy]=Sindhi Name[ga]=Sindis Name[gl]=Sindhi Name[gu]=સિંધી Name[he]=סינדהי Name[hi]=सिंधी Name[hne]=सिंधी Name[hr]=Sindhi Name[hsb]=Sindhi Name[hu]=Szindi Name[ia]=Sindi Name[id]=Sindhi Name[is]=Shindi Name[it]=Sindhi Name[ja]=シンド語 Name[kk]=Синдхи Name[km]=ស៊ីនឌី Name[kn]=ಸಿಂಧಿ Name[ko]=신디어 Name[ku]=Sîndhî Name[lb]=Sindhi-Sprooch Name[lt]=Sindhi Name[lv]=Sindhu Name[mai]=सिन्धी Name[mk]=Синди Name[ml]=സിന്ധി Name[mr]=सिंधी Name[ms]=Sindhi Name[nb]=Sindhi Name[nds]=Sindhi Name[ne]=सिन्धी Name[nl]=Sindhi Name[nn]=Sindhi Name[or]=Sindhi Name[pa]=ਸਿੰਧੀ Name[pl]=Sindhi Name[ps]=سندهي Name[pt]=Sindhi Name[pt_BR]=Sindi Name[ro]=Sindi Name[ru]=Синдхи Name[se]=Sindhigiella Name[si]=සින්දි Name[sk]=Sindhčina Name[sl]=sindijsko Name[sq]=Sindhi Name[sr]=синди Name[sr@ijekavian]=синди Name[sr@ijekavianlatin]=sindi Name[sr@latin]=sindi Name[sv]=Sindhi Name[ta]=சிந்தி Name[te]=సింధి Name[tg]=Синдхӣ Name[th]=ภาษาสินธุ Name[tr]=Sindhi Name[ug]=سىندىچە Name[uk]=Синдхі Name[uz]=Sindxi Name[uz@cyrillic]=Синдхи -Name[vi]=Xin-đi +Name[vi]=Sindhi Name[wa]=Sindi -Name[x-test]=xxSindhixx Name[xh]=Sindhi +Name[x-test]=xxSindhixx Name[zh_CN]=信德语 Name[zh_HK]=Sindhi語 Name[zh_TW]=Sindhi語 [se] Name=Northern Sami Name[af]=Noordelike Sami Name[ar]=صامية شمالية Name[as]=ন'ৰ্দাৰ্ণ ছামি Name[ast]=Sami del Norte Name[be]=Самі (поўнач) Name[be@latin]=Paŭnočnaje Sami Name[bg]=Северен Сами Name[bn]=উত্তর সামি Name[bn_IN]=উত্তর সামি Name[br]=Sami, Norzh Name[bs]=Sjeverni sami Name[ca]=Sami nord Name[ca@valencia]=Sami nord Name[cs]=Severní Sami Name[csb]=Nordowi Sami Name[cy]=Sami'r Gogledd Name[da]=Nordsamisk Name[de]=Nördliches Sami Name[el]=Northern Sami Name[en_GB]=Northern Sami Name[eo]=Norda Samea Name[es]=Samí del norte Name[et]=Põhjasaami Name[eu]=Samia (iparrekoa) Name[fa]=سامی شمالی Name[fi]=Pohjoissaame Name[fr]=Sami du Nord Name[fy]=Noard-Koreaansk Name[ga]=Sáimis Thuaidh Name[gl]=Sami do norte Name[gu]=ઉત્તરી સામી Name[he]=סאמית צפונית Name[hi]=उत्तरी सामी Name[hne]=उत्तरी सामी Name[hr]=Sjeverni Sami Name[hsb]=Sewjernosamisce Name[hu]=Északi szami Name[ia]=Sami Septentrional Name[id]=Sami Bagian Utara Name[is]=Norður Sami Name[it]=Sami settentrionale Name[ja]=北サーミ語 Name[kk]=Солтүстік саами Name[km]=សាមី​ខាងជើង Name[kn]=ಉತ್ತರ ಸಾಮೀ Name[ko]=북부 사미어 Name[ku]=Samiya Bakûrî Name[lb]=Nördlecht Sami Name[lt]=Šiaurės Sami Name[lv]=Ziemeļsāmu Name[mai]=उत्तरी सामी Name[mk]=Северен Сами Name[ml]=വടക്കന്‍ സാമി Name[mr]=उत्तरी सामी Name[ms]=Sami Utara Name[nb]=Nordsamisk Name[nds]=Noord-Saamsch Name[ne]=उत्तरी सामी Name[nl]=Noord Sami Name[nn]=Nordsamisk Name[or]=Northern Sami Name[pa]=ਉੱਤਰੀ ਸਾਮੀ Name[pl]=Północny Sami Name[ps]=شمالي سامي Name[pt]=Sami do Norte Name[pt_BR]=Sami setentrional Name[ro]=Sami nordică Name[ru]=Северносаамский Name[se]=Davvisámegiella Name[si]=උතුරු සැමි Name[sk]=Lapončina (severná) Name[sl]=severno sami Name[sq]=Sami Veriore Name[sr]=северни сами Name[sr@ijekavian]=сјеверни сами Name[sr@ijekavianlatin]=sjeverni sami Name[sr@latin]=severni sami Name[sv]=Samiska Name[ta]=வடக்கு சாமி Name[te]=ఉత్తర సమి Name[tg]=Саамаи Шимолӣ Name[th]=ภาษาซามี ตอนเหนือ Name[tr]=Northern Sami Name[ug]=شىمالىي سامىچە Name[uk]=Північна Саамі Name[uz]=Shimoliy Sami Name[uz@cyrillic]=Шимолий Сами -Name[vi]=Xa-mi (Bắc) +Name[vi]=Bắc Sami Name[wa]=Bijhe såmi -Name[x-test]=xxNorthern Samixx Name[xh]=Sami Yasemntla +Name[x-test]=xxNorthern Samixx Name[zh_CN]=北萨米语 Name[zh_HK]=北薩米語 Name[zh_TW]=北薩米語 [sg] Name=Sango Name[af]=Sango Name[ar]=سانغو Name[as]=ছাঙ্গো Name[ast]=Sango Name[be]=Санга Name[be@latin]=Sango Name[bg]=Сангро Name[bn]=সাংগো Name[bn_IN]=সাঙ্গো Name[br]=Sango Name[bs]=Sango Name[ca]=Sango Name[ca@valencia]=Sango Name[cs]=Sango Name[csb]=Sango Name[cy]=Sango Name[da]=Sango Name[de]=Sango Name[el]=Sango Name[en_GB]=Sango Name[eo]=Sangoa Name[es]=Sango Name[et]=Sango Name[eu]=Sango Name[fa]=سانگو Name[fi]=Sango Name[fr]=Sango Name[fy]=Sango Name[ga]=Sangóis Name[gl]=Sango Name[gu]=સાન્ગો Name[he]=סאנגו Name[hi]=सैन्गो Name[hne]=सैन्गो Name[hr]=Sango Name[hsb]=Sango Name[hu]=Szangó Name[ia]=Sango Name[id]=Sango Name[is]=Sango Name[it]=Sango Name[ja]=サンゴ語 Name[kk]=Санго Name[km]=សង់ហ្គោ Name[kn]=ಸಾಂಗೋ Name[ko]=상고어 Name[ku]=Sango Name[lb]=Sango-Sprooch Name[lt]=Sango Name[lv]=Sangu Name[mai]=सैंगो Name[mk]=Санго Name[ml]=സാന്‍ഗോ Name[mr]=सैन्गो Name[ms]=Sango Name[nb]=Sango Name[nds]=Sango Name[ne]=साङ्गो Name[nl]=Sango Name[nn]=Sango Name[or]=Sango Name[pa]=ਸਾਂਗੋ Name[pl]=Sango Name[ps]=سانګو Name[pt]=Sango Name[pt_BR]=Sango Name[ro]=Sangă Name[ru]=Санго Name[se]=Sangogiella Name[si]=සැන්ගෝ Name[sk]=Sango Name[sl]=sango Name[sq]=Sango Name[sr]=санго Name[sr@ijekavian]=санго Name[sr@ijekavianlatin]=sango Name[sr@latin]=sango Name[sv]=Sango Name[ta]=சாங்கோ Name[te]=సాంగొ Name[tg]=Санго Name[th]=ภาษาแซงโก Name[tr]=Sango Name[ug]=سانگوچە Name[uk]=Санго Name[uz]=Sango Name[uz@cyrillic]=Санго -Name[vi]=Xan-gô +Name[vi]=Sango Name[wa]=Sango -Name[x-test]=xxSangoxx Name[xh]=Sango +Name[x-test]=xxSangoxx Name[zh_CN]=桑戈语 Name[zh_HK]=Sango語 Name[zh_TW]=Sango語 [si] Name=Sinhala Name[ar]=صنهالية Name[ast]=Sinhala Name[be@latin]=Sinhaleskaja Name[bg]=Сингалски Name[bn]=সিংহল Name[bs]=Sinhalski Name[ca]=Singalès Name[ca@valencia]=Singalés Name[cs]=Sinhalský Name[csb]=Sinhala Name[da]=Sinhala Name[de]=Singhalesisch Name[el]=Σινχάλα Name[en_GB]=Sinhala Name[es]=Cingalés Name[et]=Singali Name[eu]=Sinhala Name[fa]=Sinhala Name[fi]=Sinhala Name[fr]=Cingalais Name[fy]=Singhale Name[ga]=Siolóinis Name[gl]=Sinhala Name[gu]=સિંહાલા Name[he]=סינהלזית Name[hi]=सिंहला Name[hr]=Sinhalski Name[hu]=Szingaléz Name[ia]=Sinhala Name[id]=Sinhala Name[is]=Sinhalíska Name[it]=Singalese Name[ja]=シンハラ語 Name[kk]=Сингалша Name[km]=ស៊ីនហាឡា Name[kn]=ಸಿಂಹಳ Name[ko]=신할라어 Name[ku]=Sinhala Name[lt]=Sinhala Name[lv]=Singāļu Name[ml]=സിംഹള Name[ms]=Sinhala Name[nb]=Singalesisk Name[nds]=Singaleesch Name[nl]=Singalees Name[nn]=Sinhala Name[pa]=ਸਿੰਹਾਲਾ Name[pl]=Sinhala Name[pt]=Sinhala Name[pt_BR]=Cingalês Name[ro]=Sinhala Name[ru]=Сингальский Name[se]=Sinhalagiella Name[si]=සිංහල Name[sk]=Sinhalčina Name[sl]=sinhalsko Name[sq]=Sinhala Name[sr]=синхалески Name[sr@ijekavian]=синхалески Name[sr@ijekavianlatin]=sinhaleski Name[sr@latin]=sinhaleski Name[sv]=Singalesiska Name[ta]=சிங்களம் Name[tg]=Синхала Name[th]=ภาษาสิงหล Name[tr]=Sinhala Name[ug]=سىنگالچە Name[uk]=Сингала +Name[vi]=Sinhala Name[wa]=Sinhala Name[x-test]=xxSinhalaxx Name[zh_CN]=僧伽罗语 Name[zh_TW]=Sinhala [sk] Name=Slovak Name[af]=Slovakies Name[ar]=سلوفاكية Name[as]=স্লোভাক Name[ast]=Eslovacu Name[be]=Славацкая Name[be@latin]=Słavackaja Name[bg]=Словашки Name[bn]=স্লোভাক Name[bn_IN]=স্লোভাক Name[br]=Sloveg Name[bs]=Slovački Name[ca]=Eslovac Name[ca@valencia]=Eslovac Name[cs]=Slovenský Name[csb]=Słowacczi Name[cy]=Sloveg Name[da]=Slovakisk Name[de]=Slowakisch Name[el]=Σλοβακικά Name[en_GB]=Slovak Name[eo]=Slovaka Name[es]=Eslovaco Name[et]=Slovaki Name[eu]=Eslovakiera Name[fa]=اسلواکی Name[fi]=Slovakki Name[fr]=Slovaque Name[fy]=Slovaaks Name[ga]=Slóvaicis Name[gl]=Eslovaco Name[gu]=સ્લોવેક Name[he]=סלובקית Name[hi]=स्लोवाक Name[hne]=स्लोवाक Name[hr]=Slovački Name[hsb]=Słowaksce Name[hu]=Szlovák Name[ia]=Slovaco Name[id]=Slovak Name[is]=Slóvenska Name[it]=Slovacco Name[ja]=スロバキア語 Name[kk]=Словакша Name[km]=ស្លូវ៉ាគី Name[kn]=ಸ್ಲೋವಾಕ್ Name[ko]=슬로바키아어 Name[ku]=Slowakî Name[lb]=Slowakesch Name[lt]=Slovakų Name[lv]=Slovāku Name[mai]=स्लोवाक Name[mk]=Словачки Name[ml]=സ്ലൊവാക്യന്‍ Name[mr]=स्लोवाक Name[ms]=Slovak Name[nb]=Slovakisk Name[nds]=Slowaaksch Name[ne]=स्लोभाकी Name[nl]=Slowaaks Name[nn]=Slovakisk Name[oc]=Eslovac Name[or]=Slovak Name[pa]=ਸਲੋਵਾਕ Name[pl]=Słowacki Name[ps]=سلواک Name[pt]=Eslovaco Name[pt_BR]=Eslovaco Name[ro]=Slovacă Name[ru]=Словацкий Name[se]=Slovákagiella Name[si]=ස්ලෝවැක් Name[sk]=Slovenčina Name[sl]=slovaško Name[sq]=Sllovake Name[sr]=словачки Name[sr@ijekavian]=словачки Name[sr@ijekavianlatin]=slovački Name[sr@latin]=slovački Name[sv]=Slovakiska Name[ta]=சுலோவாக் Name[te]=స్లొవాక్ Name[tg]=Словакӣ Name[th]=ภาษาสโลวัค Name[tr]=Slovakça -Name[ug]=سىلوۋاكچە +Name[ug]=سلوۋاكچە Name[uk]=Словацька Name[uz]=Slovakcha Name[uz@cyrillic]=Словакча -Name[vi]=Xlô-vák +Name[vi]=Slovak Name[wa]=Eslovake -Name[x-test]=xxSlovakxx Name[xh]=isiSlovak +Name[x-test]=xxSlovakxx Name[zh_CN]=斯洛伐克语 Name[zh_HK]=斯洛伐克語 Name[zh_TW]=斯洛伐克語 [sl] Name=Slovenian Name[af]=Sloveniese Name[ar]=سلوفينية Name[as]=স্লোভেনিয়ান Name[ast]=Eslovenu Name[be]=Славенская Name[be@latin]=Słavienskaja Name[bg]=Словенски Name[bn]=স্লোভেনীয় Name[bn_IN]=স্লোভেনিয়ান Name[br]=Slovenieg Name[bs]=Slovenački Name[ca]=Eslovè Name[ca@valencia]=Eslovè Name[cs]=Slovinský Name[csb]=Slowensczi Name[cy]=Sloveneg Name[da]=Slovensk Name[de]=Slowenisch Name[el]=Σλοβενικά Name[en_GB]=Slovenian Name[eo]=Slovena Name[es]=Esloveno Name[et]=Sloveeni Name[eu]=Esloveniera Name[fa]=اسلونیایی Name[fi]=Sloveeni Name[fr]=Slovène Name[fy]=Sloveensk Name[ga]=Slóivéinis Name[gl]=Esloveno Name[gu]=સ્લોવેનિયન Name[he]=סלובנית Name[hi]=स्लोवेनियाई Name[hne]=स्लोवेनियाई Name[hr]=Slovenski Name[hsb]=Słowjensce Name[hu]=Szlovén Name[ia]=Sloveno Name[id]=Slovenia Name[is]=Slóvenska Name[it]=Sloveno Name[ja]=スロベニア語 Name[kk]=Словенше Name[km]=ស្លូវ៉ានី Name[kn]=ಸ್ಲೋವೇನಿಯನ್ Name[ko]=슬로베니아어 Name[ku]=Slovênî Name[lb]=Slowenesch Name[lt]=Slovėnų Name[lv]=Slovēņu Name[mai]=स्लोवानियाइ Name[mk]=Словенечки Name[ml]=സ്ലൊവേനിയന്‍ Name[mr]=स्लोवेनियन Name[ms]=Slovenia Name[nb]=Slovensk Name[nds]=Sloweensch Name[ne]=स्लोभेनियन Name[nl]=Sloweens Name[nn]=Slovensk Name[oc]=Eslovèn Name[or]=Slovenian Name[pa]=ਸਲੋਵੀਨੀਆਈ Name[pl]=Słoweński Name[ps]=سلووېنين Name[pt]=Esloveno Name[pt_BR]=Esloveno Name[ro]=Slovenă Name[ru]=Словенский Name[se]=Slovenagiella Name[si]=ස්ලෝවීනියානු Name[sk]=Slovinčina Name[sl]=slovensko Name[sq]=Sllovene Name[sr]=словеначки Name[sr@ijekavian]=словеначки Name[sr@ijekavianlatin]=slovenački Name[sr@latin]=slovenački Name[sv]=Slovenska Name[ta]=சுலோவீனியன் Name[te]=స్లొవేనియన్ Name[tg]=Словенӣ Name[th]=ภาษาสโลเวเนีย Name[tr]=Slovence Name[ug]=سىلوۋېنىيەچە Name[uk]=Словенська Name[uz]=Sloveniancha Name[uz@cyrillic]=Словенианча -Name[vi]=Xlô-ven +Name[vi]=Slovenia Name[wa]=Eslovenyin -Name[x-test]=xxSlovenianxx Name[xh]=Slovenian +Name[x-test]=xxSlovenianxx Name[zh_CN]=斯洛文尼亚语 Name[zh_HK]=斯洛維尼亞語 Name[zh_TW]=斯洛維尼亞語 [sm] Name=Samoan Name[af]=Samoan Name[ar]=ساموية Name[as]=চামোৱান Name[ast]=Samoanu Name[be]=Самоа Name[be@latin]=Samoa Name[bg]=Самоански Name[bn]=সামোয়ান Name[bn_IN]=সামোয়ান Name[br]=Samoan Name[bs]=Samoanski Name[ca]=Samoà Name[ca@valencia]=Samoà Name[cs]=Samojský Name[csb]=Samoańsczi Name[cy]=Samoeg Name[da]=Samoansk Name[de]=Samoanisch Name[el]=Σαμοανικά Name[en_GB]=Samoan Name[eo]=Samoa Name[es]=Samoano Name[et]=Samoa Name[eu]=Samoera Name[fa]=ساموان Name[fi]=Samoa Name[fr]=Samoan Name[fy]=Samoaansk Name[ga]=Samóis Name[gl]=Samoano Name[gu]=સામોન Name[he]=סמואית Name[hi]=सामोन Name[hne]=सामोन Name[hr]=Samoanski Name[hsb]=Samoasce Name[hu]=Szamoai Name[ia]=Samoano Name[id]=Samoa Name[is]=Samoan Name[it]=Samoano Name[ja]=サモア語 Name[kk]=Самоа Name[km]=សាមូអា Name[kn]=ಸಮೋವನ್ Name[ko]=사모아어 Name[ku]=Samoyî Name[lb]=Samoanesch Name[lt]=Samoa Name[lv]=Samoāņu Name[mai]=सामोन Name[mk]=Самоански Name[ml]=സമോവന്‍ Name[mr]=सामोन Name[ms]=Samoan Name[nb]=Samoansk Name[nds]=Samoaansch Name[ne]=सामोआन Name[nl]=Samoaans Name[nn]=Samoansk Name[or]=Samoan Name[pa]=ਸਾਮੋਆਨ Name[pl]=Samoański Name[ps]=سموان Name[pt]=Samoano Name[pt_BR]=Samoano Name[ro]=Samoană Name[ru]=Самоанский Name[se]=Samoagiella Name[si]=සැමෝවන් Name[sk]=Samojčina Name[sl]=samojsko Name[sq]=Samoane Name[sr]=самоански Name[sr@ijekavian]=самоански Name[sr@ijekavianlatin]=samoanski Name[sr@latin]=samoanski Name[sv]=Samoanska Name[ta]=சமோவன் Name[te]=సమొవన్ Name[tg]=Самоанӣ Name[th]=ภาษาซาโมน Name[tr]=Samoan -Name[ug]=ساموئاچە +Name[ug]=ساموئانچە Name[uk]=Самоанська Name[uz]=Samoacha Name[uz@cyrillic]=Самоача -Name[vi]=Xa-mô-a +Name[vi]=Samoan Name[wa]=Samowan -Name[x-test]=xxSamoanxx Name[xh]=Samoan +Name[x-test]=xxSamoanxx Name[zh_CN]=萨摩亚语 Name[zh_HK]=薩摩牙語 Name[zh_TW]=薩摩亞語 [sn] Name=Shona Name[af]=Shona Name[ar]=شونا Name[as]=ছোনা Name[ast]=Shona Name[be]=Шона Name[be@latin]=Šona Name[bg]=Шона Name[bn]=শোনা Name[bn_IN]=শোনা Name[br]=Shona Name[bs]=Šona Name[ca]=Shona Name[ca@valencia]=Shona Name[cs]=Shona Name[csb]=Shona Name[cy]=Shona Name[da]=Shona Name[de]=Shona Name[el]=Shona Name[en_GB]=Shona Name[eo]=Ŝona Name[es]=Shona Name[et]=Shona Name[eu]=Shona Name[fa]=شوها Name[fi]=Šona Name[fr]=Shona Name[fy]=Shona Name[ga]=Seoinis Name[gl]=Shona Name[gu]=શોના Name[he]=שונה Name[hi]=शोना Name[hne]=सोना Name[hr]=Shona Name[hsb]=Shona Name[hu]=Sona Name[ia]=Shona Name[id]=Shona Name[is]=Shona Name[it]=Shona Name[ja]=ショナ語 Name[kk]=Схона Name[km]=សូណា Name[kn]=ಶೋನಾ Name[ko]=쇼나어 Name[ku]=Şona Name[lb]=Shona Name[lt]=Shona Name[lv]=Šonu Name[mai]=शोना Name[mk]=Шона Name[ml]=ഷോണാ Name[mr]=शोना Name[ms]=Shona Name[nb]=Shona Name[nds]=Schona Name[ne]=शोना Name[nl]=Shona Name[nn]=Shona Name[oc]=XChat Name[or]=Shona Name[pa]=ਸ਼ੋਨਾ Name[pl]=Shona Name[ps]=شونا Name[pt]=Shona Name[pt_BR]=Chona Name[ro]=Șonă Name[ru]=Шона Name[se]=Šonagiella Name[si]=ෂොනා Name[sk]=Šona Name[sl]=shona Name[sq]=Shona Name[sr]=шона Name[sr@ijekavian]=шона Name[sr@ijekavianlatin]=šona Name[sr@latin]=šona Name[sv]=Shona Name[ta]=ஷோனா Name[te]=షొనా Name[tg]=Шонӣ Name[th]=ภาษาโชนา Name[tr]=Shona Name[ug]=شوناچە Name[uk]=Шона Name[uz]=Shona Name[uz@cyrillic]=Шона -Name[vi]=Sô-na +Name[vi]=Shona Name[wa]=Shona -Name[x-test]=xxShonaxx Name[xh]=Isishona +Name[x-test]=xxShonaxx Name[zh_CN]=修纳语 Name[zh_HK]=Shona語 Name[zh_TW]=Shona語 [so] Name=Somali Name[af]=Somali Name[ar]=صومالية Name[as]=চোমালি Name[ast]=Somalí Name[be]=Самалійская Name[be@latin]=Samalijskaja Name[bg]=Сомали Name[bn]=সোমালীয় Name[bn_IN]=সোমালি Name[br]=Somalieg Name[bs]=Somalijski Name[ca]=Somalí Name[ca@valencia]=Somalí Name[cs]=Somálský Name[csb]=Somalijsczi Name[cy]=Somali Name[da]=Somalisk Name[de]=Somali Name[el]=Σομαλικά Name[en_GB]=Somali Name[eo]=Somala Name[es]=Somalí Name[et]=Somaali Name[eu]=Somaliera Name[fa]=سومالی Name[fi]=Somali Name[fr]=Somali Name[fy]=Somalysk Name[ga]=Somáilis Name[gl]=Somalí Name[gu]=સોમાલી Name[he]=סומלית Name[hi]=सोमाली Name[hne]=सोमाली Name[hr]=Somalijski Name[hsb]=Somalisce Name[hu]=Szomáli Name[ia]=Somali Name[id]=Somali Name[is]=Sómalska Name[it]=Somalo Name[ja]=ソマリ語 Name[kk]=Сомали Name[km]=សូម៉ាលី Name[kn]=ಸೋಮಾಲಿ Name[ko]=소말리아어 Name[ku]=Somalî Name[lb]=Somalesch Name[lt]=Somaliečių Name[lv]=Somāļu Name[mai]=सोमाली Name[mk]=Сомалиски Name[ml]=സോമാലി Name[mr]=सोमाली Name[ms]=Somali Name[nb]=Somali Name[nds]=Somali Name[ne]=सोमाली Name[nl]=Somalisch Name[nn]=Somali Name[oc]=Somali Name[or]=Somali Name[pa]=ਸੋਮਾਲੀ Name[pl]=Somalijski Name[ps]=سومالي Name[pt]=Somálio Name[pt_BR]=Somali Name[ro]=Somaleză Name[ru]=Сомалийский Name[se]=Somálagiella Name[si]=සෝමාලි Name[sk]=Somálčina Name[sl]=somalsko Name[sq]=Somali Name[sr]=сомалијски Name[sr@ijekavian]=сомалијски Name[sr@ijekavianlatin]=somalijski Name[sr@latin]=somalijski Name[sv]=Somali Name[ta]=சோமாலி Name[te]=సొమాలి Name[tg]=Сомалӣ Name[th]=ภาษาโซมาลี Name[tr]=Somalice Name[ug]=سومالىچە Name[uk]=Сомалійська Name[uz]=Somalicha Name[uz@cyrillic]=Сомалича -Name[vi]=Xô-ma-li +Name[vi]=Somali Name[wa]=Somalyin -Name[x-test]=xxSomalixx Name[xh]=Somali +Name[x-test]=xxSomalixx Name[zh_CN]=索马里语 Name[zh_HK]=索馬利語 Name[zh_TW]=索馬利語 [sq] Name=Albanian Name[af]=Albanees Name[ar]=ألبانية Name[as]=আল্বানিয়ান Name[ast]=Albanés Name[be]=Албанская Name[be@latin]=Albanskaja Name[bg]=Албански Name[bn]=আলবেনীয় Name[bn_IN]=আলবেনিয়ান Name[br]=Albanieg Name[bs]=Albanski Name[ca]=Albanès Name[ca@valencia]=Albanés Name[cs]=Albánský Name[csb]=Albańsczi Name[cy]=Albaneg Name[da]=Albansk Name[de]=Albanisch Name[el]=Αλβανικά Name[en_GB]=Albanian Name[eo]=Albana Name[es]=Albanés Name[et]=Albaania Name[eu]=Albaniera Name[fa]=آلبانی Name[fi]=Albania Name[fr]=Albanais Name[fy]=Albaansk Name[ga]=Albáinis Name[gl]=Albanés Name[gu]=અલ્બેનિયન Name[he]=אלבנית Name[hi]=अल्बानियाई Name[hne]=अल्बानियाई Name[hr]=Albanski Name[hsb]=Albansce Name[hu]=Albán Name[ia]=Albanese Name[id]=Albania Name[is]=Albanskur Name[it]=Albanese Name[ja]=アルバニア語 Name[kk]=Албанша Name[km]=អាល់បានី Name[kn]=ಅಲ್ಬೇನಿಯನ್ Name[ko]=알바니아어 Name[ku]=Albanî Name[lb]=Albanesch Name[lt]=Albanų Name[lv]=Albāņu Name[mai]=अल्बानियाइ Name[mk]=Албански Name[ml]=അല്ബേനിയന്‍ Name[mr]=अल्बानियाई Name[ms]=Albania Name[nb]=Albansk Name[nds]=Albaansch Name[ne]=अल्बानियाली Name[nl]=Albanisch Name[nn]=Albansk Name[oc]=Albanés Name[or]=Albanian Name[pa]=ਅਲਬਾਨੀਆਈ Name[pl]=Albański Name[ps]=الباني Name[pt]=Albanês Name[pt_BR]=Albanês Name[ro]=Albaneză Name[ru]=Албанский Name[se]=Albániagiella Name[si]=ඇල්බේනියානු Name[sk]=Albánčina Name[sl]=albansko Name[sq]=Shqipe Name[sr]=албански Name[sr@ijekavian]=албански Name[sr@ijekavianlatin]=albanski Name[sr@latin]=albanski Name[sv]=Albanska Name[ta]=அல்பேனியன் Name[te]=అల్బేనియన్ Name[tg]=Албанӣ Name[th]=ภาษาอัลเบเนีย Name[tr]=Albanian Name[ug]=ئالبانچە Name[uk]=Албанська Name[uz]=Albancha Name[uz@cyrillic]=Албанча -Name[vi]=An-ba-ni +Name[vi]=Albania Name[wa]=Albanyin -Name[x-test]=xxAlbanianxx Name[xh]=Albanian +Name[x-test]=xxAlbanianxx Name[zh_CN]=阿尔巴尼亚语 Name[zh_HK]=阿爾巴尼亞語 Name[zh_TW]=阿爾巴尼亞語 [sr] Name=Serbian Name[af]=Serbiese Name[ar]=صربية Name[as]=ছাৰ্বিয়ান Name[ast]=Serbiu Name[be]=Сербская Name[be@latin]=Serbskaja Name[bg]=Сръбски Name[bn]=সার্বীয় Name[bn_IN]=সার্বিয়ান Name[br]=Serbeg Name[bs]=Srpski Name[ca]=Serbi Name[ca@valencia]=Serbi Name[cs]=Srbský Name[csb]=Serbsczi Name[cy]=Serbieg Name[da]=Serbisk Name[de]=Serbisch Name[el]=Σερβικά Name[en_GB]=Serbian Name[eo]=Serba Name[es]=Serbio Name[et]=Serbia Name[eu]=Serbiera Name[fa]=صربستانی Name[fi]=Serbia Name[fr]=Serbe Name[fy]=Servysk Name[ga]=Seirbis Name[gl]=Serbio Name[gu]=સર્બિયન Name[he]=סרבית Name[hi]=सर्बियाई Name[hne]=सर्बियाई Name[hr]=Srpski Name[hsb]=Serbisce Name[hu]=Szerb Name[ia]=Serbo Name[id]=Serbia Name[is]=Serbneska Name[it]=Serbo Name[ja]=セルビア語 Name[kk]=Сербше Name[km]=សែប៊ី Name[kn]=ಸರ್ಬಿಯನ್ Name[ko]=세르비아어 Name[ku]=Sirbî Name[lb]=Serbesch Name[lt]=Serbų Name[lv]=Serbu Name[mai]=सर्बियन Name[mk]=Српски Name[ml]=സെര്‍ബിയന്‍ Name[mr]=सर्बियाई Name[ms]=Serbia Name[nb]=Serbisk Name[nds]=Serbsch Name[ne]=सर्बियाली Name[nl]=Servisch Name[nn]=Serbisk Name[oc]=Serbian Name[or]=Serbian Name[pa]=ਸਰਬੀਆਈ Name[pl]=Serbski Name[ps]=سربين Name[pt]=Sérvio Name[pt_BR]=Sérvio Name[ro]=Sîrbă Name[ru]=Сербский Name[se]=Serbiagiella Name[si]=සරිබියානු Name[sk]=Srbčina Name[sl]=srbsko Name[sq]=Serbe Name[sr]=српски Name[sr@ijekavian]=српски Name[sr@ijekavianlatin]=srpski Name[sr@latin]=srpski Name[sv]=Serbiska Name[ta]=செர்பியன் Name[te]=సెర్బియన్ Name[tg]=Сербӣ Name[th]=ภาษาเซอร์เบีย Name[tr]=Sırpça Name[ug]=سېربچە Name[uk]=Сербська Name[uz]=Serbcha Name[uz@cyrillic]=Сербча -Name[vi]=Xéc-bi +Name[vi]=Serbia Name[wa]=Siebe -Name[x-test]=xxSerbianxx Name[xh]=Serbian +Name[x-test]=xxSerbianxx Name[zh_CN]=塞尔维亚语 Name[zh_HK]=塞爾維亞語 Name[zh_TW]=塞爾維亞語 [sr@ijekavian] Name=Serbian Ijekavian Name[bg]=Сръбски йекавски Name[bn]=সার্বীয় ইজেকাভিয়ান Name[bs]=Srpski(ijekavski) Name[ca]=Serbi ijekavski Name[ca@valencia]=Serbi ijekavski Name[cs]=Srbský Ijekavský Name[da]=Serbisk Ijekaviansk Name[de]=Štokavisch Name[el]=Σερβικά Ijekavian Name[en_GB]=Serbian Ijekavian Name[es]=Serbio ijekaviano Name[et]=Serbia ijekavi Name[eu]=Serbiera ijekaviera +Name[fa]=صربی Ijekavian Name[fi]=Serbia Ijekavian Name[fr]=Serbe Ijékavien Name[ga]=Seirbis Ijekavach Name[gl]=Serbio ixtocavio Name[hr]=Srpska ijekavica Name[hu]=Szerb (ijekavica) Name[ia]=Serbo Ljekavian Name[id]=Ijekavian Serbia Name[is]=Serbneska Ijekavian Name[it]=Serbo ijekavo Name[ja]=セルビア語イェ方言 Name[kk]=Иекав сербше Name[km]=សែប៊ីយេកាវៀន Name[ko]=세르비아어 (이예카비아) Name[ku]=Sirbiya Ijekavian Name[ms]=Serbian Ijekavian Name[nb]=Serbisk ljekavisk Name[nds]=Štokavisch Name[nl]=Servisch Ijekavian Name[nn]=Serbisk (ijekavisk) Name[pa]=ਸਰਬੀਆਈ ਲਜੀਕਾਵਿਅਨ Name[pl]=Serbski ijekawski Name[pt]=Sérvio Ijekavian Name[pt_BR]=Sérvio ijekavian Name[ro]=Sîrbă jekaviană Name[ru]=Сербский (иекавский) Name[se]=Serbialaš ljekávagiella Name[si]=සරිබියානු ල්ජෙකවියන් Name[sk]=Srbčina (ijekavština) Name[sr]=српски ијекавски Name[sr@ijekavian]=српски ијекавски Name[sr@ijekavianlatin]=srpski ijekavski Name[sr@latin]=srpski ijekavski Name[sv]=Ijekavisk serbiska Name[ta]=செர்பியன் ஜெகாவியன் Name[tg]=Сербиявӣ Name[th]=ภาษาเซอร์เบียอิเจ็คคาเวีย Name[tr]=Sırpça Ijekavian Name[ug]=سېربچە ئىجېكاۋىيان Name[uk]=Сербська (ієкавиця) +Name[vi]=Serbian Ijekavian Name[wa]=Siebe Ijekavyin Name[x-test]=xxSerbian Ijekavianxx Name[zh_CN]=塞尔维亚 Ijekavian 口音语言 Name[zh_TW]=賽爾維亞耶卡語 [sr@ijekavianlatin] Name=Serbian Ijekavian Latin Name[bg]=Сръбски йекавски (латиница) Name[bn]=সার্বীয় ইজেকাভিয়ান লাতিন Name[bs]=Srpski(ijekavski latinica) Name[ca]=Serbi ijekavski llatí Name[ca@valencia]=Serbi ijekavski llatí Name[cs]=Srbský (Ijekavská latinka) Name[da]=Serbisk Ijekaviansk latin Name[de]=Štokavisch (lat. Alphabet) Name[el]=Σερβικά Ijekavian (Λατινικά) Name[en_GB]=Serbian Ijekavian Latin Name[es]=Serbio latino ijekaviano Name[et]=Serbia ijekavi (ladina) Name[eu]=Serbiera ijekaviera latindarra +Name[fa]=صربی Ijekavian لاتین Name[fi]=Serbia Ijekavian latinalainen Name[fr]=Serbe Ijékavien Latin Name[ga]=Seirbis Ijekavach (aibítir Laidineach) Name[gl]=Serbio ishtocavio Latino Name[hr]=Srpska ijekavica, latinica Name[hu]=Szerb (ijekavica, latin betűs) Name[ia]=Serbo Latino Ljekavian Name[id]=Latin Ijekavian Serbia Name[is]=Serbneska Ijekavian latneskt Name[it]=Serbo ijekavo latino Name[ja]=セルビア語イェ方言 (ラテン文字) Name[kk]=Иекав сербше (Латын) Name[km]=សែប៊ី​យេកាវៀន (ឡាតាំង) Name[ko]=세르비아어 (이예카비아, 라틴 문자) Name[ku]=Sirbiya Ijekavian ya Latînî Name[ms]=Serbian Ijekavian Latin Name[nb]=Serbisk ljekavisk latinsk Name[nds]=Štokavisch (latiensch Schrift) Name[nl]=Servisch Ijekavian Latijn Name[nn]=Serbisk (ijekavisk – romanisert) Name[pa]=ਸਰਬੀਆਈ ਲਜੀਕਾਵਿਅਨ ਲੈਟਿਨ Name[pl]=Serbski ijekawski łaciński Name[pt]=Sérvio Latino Ijekavian Name[pt_BR]=Sérvio latino ijekavian Name[ro]=Sîrbă jekaviană latină Name[ru]=Сербский (иекавский, латиница) Name[se]=Serbialaš ljekávagiella (Latiinnalaš čállinvuohki) Name[si]=සරිබියානු ල්ජෙකවියන් ලතින් Name[sk]=Srbčina (ijekavština - latinka) Name[sr]=српски ијекавски (латиница) Name[sr@ijekavian]=српски ијекавски (латиница) Name[sr@ijekavianlatin]=srpski ijekavski (latinica) Name[sr@latin]=srpski ijekavski (latinica) Name[sv]=Latinsk ijekavisk serbiska Name[ta]=செர்பியன் ஜெகாவியன் இலத்தீன் Name[tg]=Лотинии Сербиявӣ Name[th]=ภาษาละตินเซอร์เบียอิเจ็คคาเวีย Name[tr]=Sırpça Ijekavian Latin Name[ug]=سېربچە ئىجېكاۋىيان لاتىن Name[uk]=Сербська (ієкавиця, латинь) +Name[vi]=Serbian Ijekavian Latin Name[wa]=Siebe Ijekavyin èn alfabet latén Name[x-test]=xxSerbian Ijekavian Latinxx Name[zh_CN]=塞尔维亚 Ijekavian 口音拉丁语 Name[zh_TW]=賽爾維亞耶卡拉丁語 [sr@latin] Name=Serbian Latin Name[ar]=صربية لاتينية Name[as]=ছাৰ্বিয়ান লেটিন Name[ast]=Serbiu Llatinu Name[be]=Сербская (лацініца) Name[be@latin]=Serbskaja łacinka Name[bg]=Сръбски (латиница) Name[bn]=সার্বীয় লাতিন Name[bn_IN]=সার্বিয়ান লাতিন Name[br]=Serbeg latin Name[bs]=Srpski(latinica) Name[ca]=Serbi llatí Name[ca@valencia]=Serbi llatí Name[cs]=Srbský (latinka) Name[csb]=Serbsczi (łacëńsczi) Name[cy]=Serbieg Lladin Name[da]=Serbisk latin Name[de]=Serbisch (lat. Alphabet) Name[el]=Σερβικά (Λατινικά) Name[en_GB]=Serbian Latin Name[eo]=Serba-Latina Name[es]=Serbio latino Name[et]=Serbia (ladina) Name[eu]=Serbiera latindarra Name[fa]=صربستانی Name[fi]=Serbia latinanalainen Name[fr]=Serbe Latin Name[fy]=Servysk Latijnsk Name[ga]=Seirbis (aibítir Laidineach) Name[gl]=Serbio latino Name[gu]=સર્બિયન લેટિન Name[he]=סרבית לטינית Name[hi]=सर्बियाई लातिनी Name[hne]=सर्बियाई लातिनी Name[hr]=Srpski latinica Name[hsb]=Serbisce (z łaćonskim pismom) Name[hu]=Szerb (latin betűs) Name[ia]=Serbo Latino Name[id]=Latin Serbia Name[is]=Serbnesk latína Name[it]=Serbo latino Name[ja]=セルビア語 (ラテン文字) Name[kk]=Сербше (Латын) Name[km]=សែប៊ី (ឡាតាំង) Name[kn]=ಸರ್ಬಿಯನ್ ಲಾಟಿನ್ Name[ko]=세르비아어 (라틴 문자) Name[ku]=Sirbî bi tîpên latînî Name[lb]=Latäinescht Serbesch Name[lt]=Serbų lotynų Name[lv]=Serbu latīņu Name[mai]=सर्बियाई लातिनी Name[mk]=Српски (латиница) Name[ml]=സെര്‍ബിയന്‍ ലത്തീന്‍ Name[mr]=सर्बीयन लॅटिन Name[ms]=Latin Serbia Name[nb]=Serbisk (latinsk) Name[nds]=Serbsch (latiensch Schrift) Name[ne]=सर्बियाली ल्याटिन Name[nl]=Servisch Latijn Name[nn]=Serbisk (romanisert) Name[or]=Serbian Latin Name[pa]=ਸਰਬੀਆਈ ਲੈਟਿਨ Name[pl]=Serbski łaciński Name[ps]=سربيايي لاټيني Name[pt]=Sérvio Latino Name[pt_BR]=Sérvio latino Name[ro]=Sîrbă latină Name[ru]=Сербский (латиница) Name[se]=Serbialaš latiidnagiella Name[si]=සරිබියානු ලතින් Name[sk]=Srbčina (latinka) Name[sl]=srbsko latinsko Name[sq]=Serbe Latine Name[sr]=српски (латиница) Name[sr@ijekavian]=српски (латиница) Name[sr@ijekavianlatin]=srpski (latinica) Name[sr@latin]=srpski (latinica) Name[sv]=Latinsk serbiska Name[ta]=செர்பியன் இலத்தீன் Name[te]=సెర్బియన్ లాటిన్ Name[tg]=Лотинии Сербиявӣ Name[th]=ภาษาละตินเซอร์เบีย Name[tr]=Sırpça Latin Name[ug]=سېربچە لاتىن Name[uk]=Сербська (латинь) Name[uz]=Serbcha (Lotin) Name[uz@cyrillic]=Сербча (Лотин) Name[vi]=Xéc-bi (La-tinh) Name[wa]=Siebe en alfabet latén Name[x-test]=xxSerbian Latinxx Name[zh_CN]=塞尔维亚拉丁语 Name[zh_TW]=賽爾維亞拉丁語 [ss] Name=Swati Name[af]=Swati Name[ar]=سواتي Name[as]=ছ্বাটি Name[ast]=Swatí Name[be]=Сваці Name[be@latin]=Swati Name[bg]=Суази Name[bn]=সোয়াতি Name[bn_IN]=সোয়াতি Name[br]=Swati Name[bs]=Svati Name[ca]=Swati Name[ca@valencia]=Swati Name[cs]=Swati Name[csb]=Swati Name[cy]=Swati Name[da]=Swati Name[de]=Swati Name[el]=Swati Name[en_GB]=Swati Name[eo]=Svazia Name[es]=Swati Name[et]=Svaasi Name[eu]=Swati Name[fa]=سواتی Name[fi]=Swazi Name[fr]=Swati Name[fy]=Swati Name[ga]=Suaisis Name[gl]=Swati Name[gu]=સ્વાતિ Name[he]=סוואטי Name[hi]=स्वाती Name[hne]=स्वाती Name[hr]=Swati Name[hsb]=Swati Name[hu]=Szvati Name[ia]=Swati Name[id]=Swati Name[is]=Swati Name[it]=Swati Name[ja]=スワティ語 Name[kk]=Свати Name[km]=ស្វាទី Name[kn]=ಸ್ವಾಟಿ Name[ko]=스와티어 Name[ku]=Swatî Name[lb]=Swazi Name[lt]=Swati Name[lv]=Svatu Name[mai]=स्वाती Name[mk]=Свати Name[ml]=സ്വാതി Name[mr]=स्वाती Name[ms]=Swati Name[nb]=Swati Name[nds]=Swati Name[ne]=स्वाती Name[nl]=Swati Name[nn]=Swati Name[oc]=Swati Name[or]=Swati Name[pa]=ਸਵਾਟੀ Name[pl]=Swati Name[ps]=سواټي Name[pt]=Swati Name[pt_BR]=Suázi Name[ro]=Suată Name[ru]=Свати Name[se]=Svatigiella Name[si]=ස්වැටි Name[sk]=Swati Name[sl]=swati Name[sq]=Swati Name[sr]=свати Name[sr@ijekavian]=свати Name[sr@ijekavianlatin]=svati Name[sr@latin]=svati Name[sv]=Swazi Name[ta]=சுவாடி Name[te]=స్వాతి Name[tg]=Сватӣ Name[th]=ภาษาสวาตี Name[tr]=Swati Name[ug]=سىۋاتىچە Name[uk]=Свазі Name[uz]=Svati Name[uz@cyrillic]=Свати -Name[vi]=Xouă-ti +Name[vi]=Swati Name[wa]=Suwati -Name[x-test]=xxSwatixx Name[xh]=Isiswati +Name[x-test]=xxSwatixx Name[zh_CN]=斯瓦蒂语 Name[zh_HK]=Swati語 Name[zh_TW]=Swati語 [st] Name=Sotho, Southern Name[af]=Sotho, Suid Name[ar]=سوتو شمالية Name[as]=ছো'থো', ছাউদাৰ্ণ Name[ast]=Sotho del Sur Name[be]=Сота (поўдзень) Name[be@latin]=Sota (poŭdzień) Name[bg]=Южен Сото Name[bn]=সোথো, দক্ষিণ Name[bn_IN]=সোথো, দক্ষিণ Name[br]=Soto, Su Name[bs]=Soto, južni Name[ca]=Sotho sud Name[ca@valencia]=Sotho sud Name[cs]=Sotho, Jižní Name[csb]=Sotho, Pôłniowi Name[cy]=Sotho, De Name[da]=Sotho, syd Name[de]=Südliches Sotho Name[el]=Sotho, Southern Name[en_GB]=Sotho, Southern Name[eo]=Sota, suda Name[es]=Sotho del sur Name[et]=Lõuna-sotho Name[eu]=Sothoera (egoaldekoa) Name[fa]=سوتوی جنوبی Name[fi]=Eteläsotho Name[fr]=Sotho du Sud Name[fy]=Sotho, Súd Name[ga]=Sótó Theas Name[gl]=Sotho do sur Name[gu]=સોથા, દક્ષિણી Name[he]=סותו דרומית Name[hi]=सोथो, दक्षिणी Name[hne]=सोथो, दक्छिनी Name[hr]=Sotho, Južni Name[hsb]=Sotho (juh) Name[hu]=Sotho (déli) Name[ia]=Sotho Meridional Name[id]=Sotho, Bagian Selatan Name[is]=Sotho, suður Name[it]=Sesotho meridionale Name[ja]=南ソト語 Name[kk]=Оңтүстік сото Name[km]=សូធូ​ ​ត្បូង Name[kn]=ಸೋಥೋ, ದಕ್ಷಿಣ Name[ko]=남부 소토어 Name[ku]=Sotho, Başûrî Name[lb]=Südlecht Sotho Name[lt]=Sotho, Pietų Name[lv]=Dienvidsotu Name[mai]=सोथो, दक्षिणी Name[mk]=Сото, јужен Name[ml]=തെക്കന്‍ സോതോ Name[mr]=सोथो, दक्षिणी Name[ms]=Sotho, Selatan Name[nb]=Sotho, Sørlig Name[nds]=Sotho, Sööd Name[ne]=सोथो, दक्षिणी Name[nl]=Sotho, Zuid Name[nn]=Sør-Sotho Name[or]=Sotho, Southern Name[pa]=ਸੋਥੋ, ਦੱਖਣੀ Name[pl]=Sotho, Południowy Name[ps]=سوټو، سهېلي Name[pt]=Sotho do Sul Name[pt_BR]=Sotho meridional Name[ro]=Soto sudică Name[ru]=Южный сото Name[se]=Sothogiella, lulli Name[si]=සෝතෝ, දකුණු Name[sk]=Sothčina, južná Name[sl]=sotho, južni Name[sq]=Sotho, Jugore Name[sr]=сото, јужни Name[sr@ijekavian]=сото, јужни Name[sr@ijekavianlatin]=soto, južni Name[sr@latin]=soto, južni Name[sv]=Sydsotho Name[ta]=தென்சோத்தோ Name[te]=సోతొ, దక్షిణ Name[tg]=Соттоии Ҷанубӣ Name[th]=ภาษาโซโธ ตอนใต้ Name[tr]=Sotho, Southern Name[ug]=سوتوچە، شىمالىي Name[uk]=Сото, Південна Name[uz]=Sotxo, Janubiy Name[uz@cyrillic]=Сотхо, Жанубий -Name[vi]=Xô-tô (nam) +Name[vi]=Sotho, Nam Name[wa]=Soto (nonne) -Name[x-test]=xxSotho, Southernxx Name[xh]=Isisuthu, Sasemzantsi +Name[x-test]=xxSotho, Southernxx Name[zh_CN]=索托语(南部) Name[zh_HK]=梭托語,南部 Name[zh_TW]=梭托語,南部 [su] Name=Sundanese Name[af]=Sundanese Name[ar]=سندانية Name[as]=ছান্দানিছ Name[ast]=Sundanés Name[be]=Сунданская Name[be@latin]=Sundaneskaja Name[bg]=Сундански Name[bn]=সুন্দানিজ Name[bn_IN]=সুদানিজ Name[br]=Soudaneg Name[bs]=Sundski Name[ca]=Sundanès Name[ca@valencia]=Sundanés Name[cs]=Sundanský Name[csb]=Sudańsczi Name[cy]=Sundaneg Name[da]=Sundansk Name[de]=Sundanesisch Name[el]=Sundanese Name[en_GB]=Sundanese Name[eo]=Sunda Name[es]=Sudanés Name[et]=Sunda Name[eu]=Sundanera Name[fa]=ساندانیز Name[fi]=Sunda Name[fr]=Soudanais Name[fy]=Soendaneesk Name[ga]=Sundais Name[gl]=Sudanés Name[gu]=સુદાનિઝ Name[he]=סודנית Name[hi]=सूडानी Name[hne]=सूडानी Name[hr]=Sundanese Name[hsb]=Sundanesce Name[hu]=Szundanéz Name[ia]=Sundanese Name[id]=Sunda Name[is]=Sundanese Name[it]=Sondanese Name[ja]=スンダ語 Name[kk]=Суданша Name[km]=ស៊ូដង់ Name[kn]=ಸುಡಾನೀಸ್ Name[ko]=수단어 Name[ku]=Sundî Name[lb]=Sudanesesch Name[lt]=Sudaniečių Name[lv]=Zundu Name[mai]=सूडानी Name[mk]=Сундански Name[ml]=സുഡാനീസ് Name[mr]=सूडानी Name[ms]=Sundanese Name[nb]=Sundanesisk Name[nds]=Sundaneesch Name[ne]=सुडानी Name[nl]=Sundanees Name[nn]=Sundanesisk Name[or]=Sundanese Name[pa]=ਸੂਡਾਨੀਅਸ Name[pl]=Sudański Name[ps]=سوډاني Name[pt]=Sudanês Name[pt_BR]=Sudanês Name[ro]=Sudaneză Name[ru]=Сунданский Name[se]=Sundanesagiella Name[si]=සුන්දනීස් Name[sk]=Sundčina Name[sl]=sudansko Name[sq]=Sundaneze Name[sr]=сундански Name[sr@ijekavian]=сундански Name[sr@ijekavianlatin]=sundanski Name[sr@latin]=sundanski Name[sv]=Sundanesiska Name[ta]=சூடானீயம் Name[te]=సన్దనీస్ Name[tg]=Санданизӣ Name[th]=ภาษาซูดาน Name[tr]=Sundanese -Name[ug]=سۇنداچە +Name[ug]=ساندانىسچە Name[uk]=Сунданська Name[uz]=Sundancha Name[uz@cyrillic]=Сунданча -Name[vi]=Xun-đa-ni +Name[vi]=Sundan Name[wa]=Soudanès -Name[x-test]=xxSundanesexx Name[xh]=Sundanese +Name[x-test]=xxSundanesexx Name[zh_CN]=巽他语 Name[zh_HK]=Sundanese語 Name[zh_TW]=Sundanese語 [sv] Name=Swedish Name[af]=Sweeds Name[ar]=سويدية Name[as]=ছুইদিশ্ব Name[ast]=Suecu Name[be]=Шведская Name[be@latin]=Švedzkaja Name[bg]=Шведски Name[bn]=সুইডিশ Name[bn_IN]=সুইডিশ Name[br]=Svedeg Name[bs]=Švedski Name[ca]=Suec Name[ca@valencia]=Suec Name[cs]=Švédský Name[csb]=Szwedzczi Name[cy]=Swedeg Name[da]=Svensk Name[de]=Schwedisch Name[el]=Σουηδικά Name[en_GB]=Swedish Name[eo]=Sveda Name[es]=Sueco Name[et]=Rootsi Name[eu]=Suediera Name[fa]=سوئدی Name[fi]=Ruotsi Name[fr]=Suédois Name[fy]=Sweedsk Name[ga]=Sualainnis Name[gl]=Sueco Name[gu]=સ્વિડિશ Name[he]=שבדית Name[hi]=स्वीडिश Name[hne]=स्वीडिस Name[hr]=Švedski Name[hsb]=Šwedsce Name[hu]=Svéd Name[ia]=Svedo Name[id]=Swedia Name[is]=Sænska Name[it]=Svedese Name[ja]=スウェーデン語 Name[kk]=Шведше Name[km]=ស៊ុយអែដ Name[kn]=ಸ್ವೀಡಿಷ್ Name[ko]=스웨덴어 Name[ku]=Swêdî Name[lb]=Schwedesch Name[lt]=Švedų Name[lv]=Zviedru Name[mai]=स्वीडिश Name[mk]=Шведски Name[ml]=സ്വീഡിഷ് Name[mr]=स्वीडिश Name[ms]=Swedish Name[nb]=Svensk Name[nds]=Sweedsch Name[ne]=स्विडेनी Name[nl]=Zweeds Name[nn]=Svensk Name[oc]=Suedés Name[or]=Swedish Name[pa]=ਸਵੀਡਿਸ਼ Name[pl]=Szwedzki Name[ps]=سوېډېش Name[pt]=Sueco Name[pt_BR]=Sueco Name[ro]=Suedeză Name[ru]=Шведский Name[se]=Ruoŧagiella Name[si]=ස්වීඩන් Name[sk]=Švédčina Name[sl]=švedsko Name[sq]=Suedeze Name[sr]=шведски Name[sr@ijekavian]=шведски Name[sr@ijekavianlatin]=švedski Name[sr@latin]=švedski Name[sv]=Svenska Name[ta]=சுவீடிஷ் Name[te]=స్వీడిష్ Name[tg]=Шведӣ Name[th]=ภาษาสวีเดน Name[tr]=İsveççe Name[ug]=شۋېدچە Name[uk]=Шведська Name[uz]=Shvedcha Name[uz@cyrillic]=Шведча -Name[vi]=Thuỵ-điển +Name[vi]=Thụy Điển Name[wa]=Suwedwès -Name[x-test]=xxSwedishxx Name[xh]=Swedish +Name[x-test]=xxSwedishxx Name[zh_CN]=瑞典语 Name[zh_HK]=瑞典語 Name[zh_TW]=瑞典語 [sw] Name=Swahili Name[af]=Swahili Name[ar]=سواحيلية Name[as]=ছ্বাহিলি Name[ast]=Suaḥili Name[be]=Суахілі Name[be@latin]=Suahili Name[bg]=Суахили Name[bn]=সোয়াহিলি Name[bn_IN]=সোয়াহিলি Name[br]=Swahili Name[bs]=Svahili Name[ca]=Suahili Name[ca@valencia]=Suahili Name[cs]=Svahilský Name[csb]=Swahili Name[cy]=Swahili Name[da]=Swahili Name[de]=Swahili Name[el]=Σουαχίλι Name[en_GB]=Swahili Name[eo]=Svahila Name[es]=Suahili Name[et]=Suahiili Name[eu]=Swahiliera Name[fa]=سواهیلی Name[fi]=Swahili Name[fr]=Swahili Name[fy]=Swahili Name[ga]=Svahaílis Name[gl]=Swahili Name[gu]=સ્વાહિલિ Name[he]=סוואהילי Name[hi]=स्वाहिली Name[hne]=स्वाहिली Name[hr]=Svahili Name[hsb]=Swahili Name[hu]=Szvahili Name[ia]=Swahili Name[id]=Swahili Name[is]=Swahili Name[it]=Swahili Name[ja]=スワヒリ語 Name[kk]=Суахили Name[km]=ស្វាហ៊ីលី Name[kn]=ಸ್ವಾಹಿಲಿ Name[ko]=스와힐리어 Name[ku]=Swahîlî Name[lb]=Swahili Name[lt]=Suahili Name[lv]=Svahili Name[mai]=स्वाहिली Name[mk]=Свахили Name[ml]=സ്വാഹിലി Name[mr]=स्वाहिली Name[ms]=Swahili Name[nb]=Swahili Name[nds]=Swahili Name[ne]=स्वाहिली Name[nl]=Swahili Name[nn]=Swahili Name[oc]=Swahili Name[or]=Swahili Name[pa]=ਸਵਾਹਿਲੀ Name[pl]=Swahili Name[ps]=سواهيلي Name[pt]=Swahili Name[pt_BR]=Suaíli Name[ro]=Suahileză Name[ru]=Суахили Name[se]=Svahilagiella Name[si]=ස්වාහිලි Name[sk]=Svahilčina Name[sl]=svahili Name[sq]=Swahili Name[sr]=свахили Name[sr@ijekavian]=свахили Name[sr@ijekavianlatin]=svahili Name[sr@latin]=svahili Name[sv]=Swahili Name[ta]=ஸ்வாஹிலி Name[te]=స్వాహిలి Name[tg]=Свахилӣ Name[th]=ภาษาสวาฮิลี Name[tr]=Swahili Name[ug]=سۋاھىلىچە Name[uk]=Суахілі Name[uz]=Svaxili Name[uz@cyrillic]=Свахили -Name[vi]=Xouă-hi-li +Name[vi]=Swahili Name[wa]=Suwahili -Name[x-test]=xxSwahilixx Name[xh]=Swahili +Name[x-test]=xxSwahilixx Name[zh_CN]=斯瓦希里语 Name[zh_HK]=斯華西里語 Name[zh_TW]=斯華西里語 [ta] Name=Tamil Name[af]=Tamilies Name[ar]=تاميلية Name[as]=তামিল Name[ast]=Tamil Name[be]=Тамільская Name[be@latin]=Tamilskaja Name[bg]=Тамилски Name[bn]=তামিল Name[bn_IN]=তামিল Name[br]=Tamouleg Name[bs]=Tamilski Name[ca]=Tàmil Name[ca@valencia]=Tàmil Name[cs]=Tamilský Name[csb]=Tamilsczi Name[cy]=Tamil Name[da]=Tamil Name[de]=Tamil Name[el]=Tamil Name[en_GB]=Tamil Name[eo]=Tamila Name[es]=Tamil Name[et]=Tamili Name[eu]=Tamilera Name[fa]=تامیل Name[fi]=Tamil Name[fr]=Tamoul Name[fy]=Tamil Name[ga]=Tamailis Name[gl]=Tamil Name[gu]=તમિલ Name[he]=טמילית Name[hi]=तमिल Name[hne]=तमिल Name[hr]=Tamilski Name[hsb]=Tamilsce Name[hu]=Tamil Name[ia]=Tamil Name[id]=Tamil Name[is]=Tamílska Name[it]=Tamil Name[ja]=タミル語 Name[kk]=Тамилша Name[km]=តាមីល Name[kn]=ತಮಿಳು Name[ko]=타밀어 Name[ku]=Tamîl Name[lb]=Tamil Name[lt]=Tamilų Name[lv]=Tamilu Name[mai]=तमिल Name[mk]=Тамилски Name[ml]=തമിഴ് Name[mr]=तामिळ Name[ms]=Tamil Name[nb]=Tamil Name[nds]=Tamielsch Name[ne]=तामिल Name[nl]=Tamil Name[nn]=Tamil Name[oc]=Tamil Name[or]=Tamil Name[pa]=ਤਾਮਿਲ Name[pl]=Tamiljski Name[ps]=ټامېل Name[pt]=Tamil Name[pt_BR]=Tâmil Name[ro]=Tamilă Name[ru]=Тамильский Name[se]=Tamilgiella Name[si]=දෙමළ Name[sk]=Tamilčina Name[sl]=tamilsko Name[sq]=Tamileze Name[sr]=тамилски Name[sr@ijekavian]=тамилски Name[sr@ijekavianlatin]=tamilski Name[sr@latin]=tamilski Name[sv]=Tamil Name[ta]=தமிழ் Name[te]=తమిళం Name[tg]=Тамилӣ Name[th]=ภาษาทมิฬ Name[tr]=Tamil Dili Name[ug]=تامىلچە Name[uk]=Тамільська Name[uz]=Tamilcha Name[uz@cyrillic]=Тамилча -Name[vi]=Ta-min +Name[vi]=Tamil Name[wa]=Tamoul -Name[x-test]=xxTamilxx Name[xh]=Tamil +Name[x-test]=xxTamilxx Name[zh_CN]=泰米尔语 Name[zh_HK]=坦米爾語 Name[zh_TW]=坦米爾語 [te] Name=Telugu Name[af]=Telugu Name[ar]=تلوغو Name[as]=তেলুগু Name[ast]=Telugu Name[be]=Тэлугу Name[be@latin]=Telugu Name[bg]=Телугу Name[bn]=তেলেগু Name[bn_IN]=তেলুগু Name[br]=Telegu Name[bs]=Telugu Name[ca]=Telugu Name[ca@valencia]=Telugu Name[cs]=Telugu Name[csb]=Telugu Name[cy]=Telugu Name[da]=Telugu Name[de]=Telugu Name[el]=Telugu Name[en_GB]=Telugu Name[eo]=Telugua Name[es]=Telugu Name[et]=Telugu Name[eu]=Telugu Name[fa]=تلوگو Name[fi]=Telugu Name[fr]=Télougou Name[fy]=Telûgû Name[ga]=Teileagúis Name[gl]=Telugu Name[gu]=તેલુગુ Name[he]=טלוגו Name[hi]=तेलुगु Name[hne]=तेलुगु Name[hr]=Telugu Name[hsb]=Telugu Name[hu]=Telugu Name[ia]=Telugu Name[id]=Telugu Name[is]=Telugu Name[it]=Telugu Name[ja]=テルグ語 Name[kk]=Телугу Name[km]=តេលូហ្គូ Name[kn]=ತೆಲುಗು Name[ko]=텔루구어 Name[ku]=Telugu Name[lb]=Telugu Name[lt]=Telugu Name[lv]=Telugu Name[mai]=तेलुगु Name[mk]=Телугу Name[ml]=തെലുങ്ക് Name[mr]=तेलुगु Name[ms]=Telugu Name[nb]=Telugu Name[nds]=Telugu Name[ne]=तेलुगु Name[nl]=Telugu Name[nn]=Telugu Name[oc]=Telugu Name[or]=Telugu Name[pa]=ਤੇਲਗੂ Name[pl]=Telugu Name[ps]=ټېلوګو Name[pt]=Telugu Name[pt_BR]=Telugu Name[ro]=Telugă Name[ru]=Телугу Name[se]=Telugugiella Name[si]=තෙළිඟු Name[sk]=Telugčina Name[sl]=telugu Name[sq]=Telugu Name[sr]=телугу Name[sr@ijekavian]=телугу Name[sr@ijekavianlatin]=telugu Name[sr@latin]=telugu Name[sv]=Telugu Name[ta]=தெலுங்கு Name[te]=తెలుగు Name[tg]=Телугуягӣ Name[th]=ภาษาเตลูกู Name[tr]=Telugu Name[ug]=تېلۇگۇچە Name[uk]=Телугу Name[uz]=Telugu Name[uz@cyrillic]=Телугу -Name[vi]=Te-lu-gu +Name[vi]=Telugu Name[wa]=Telougou -Name[x-test]=xxTeluguxx Name[xh]=Telugu +Name[x-test]=xxTeluguxx Name[zh_CN]=泰卢固语 Name[zh_HK]=特拉古語 Name[zh_TW]=特拉古語 [tg] Name=Tajik Name[af]=Tajikees Name[ar]=طاجيكية Name[as]=টাজিক Name[ast]=Tayicu Name[be]=Таджыцкая Name[be@latin]=Tadžyckaja Name[bg]=Таджикски Name[bn]=তাজিক Name[bn_IN]=তাজিক Name[br]=Tajiek Name[bs]=Tadžički Name[ca]=Tadjik Name[ca@valencia]=Tadjik Name[cs]=Tádžikský Name[csb]=Tadżëcczi Name[cy]=Tajik Name[da]=Tajik Name[de]=Tadschikisch Name[el]=Τατζικικά Name[en_GB]=Tajik Name[eo]=Taĝika Name[es]=Tayiko Name[et]=Tadžiki Name[eu]=Tadjikera Name[fa]=تاجیک Name[fi]=Tadžikki Name[fr]=Tadjik Name[fy]=Tadzjyksk Name[ga]=Táidsícis Name[gl]=Taxico Name[gu]=તાજીક Name[he]=טג'יקית Name[hi]=ताजिक Name[hne]=ताजिक Name[hr]=Tadžik Name[hsb]=Tadźikisce Name[hu]=Tádzsik Name[ia]=Tadzhiko Name[id]=Tajik Name[is]=Tajik Name[it]=Tagico Name[ja]=タジク語 Name[kk]=Тәжікше Name[km]=តាដហ្ស៊ីគីស្តង់ Name[kn]=ಟಾಜಿಕ್ Name[ko]=타지크어 Name[ku]=Tacîkî Name[lb]=Tadschikesch Name[lt]=Tadžikų Name[lv]=Tadžiku Name[mai]=ताजिक Name[mk]=Таџикистански Name[ml]=താജിക്ക് Name[mr]=ताजिक Name[ms]=Tajik Name[nb]=Tadsjikisk Name[nds]=Tadschiiksch Name[ne]=ताजिक Name[nl]=Tajiks Name[nn]=Tadsjikisk Name[oc]=Tajik Name[or]=Tajik Name[pa]=ਤਾਜਿਕ Name[pl]=Tadżycki Name[ps]=تاجکي Name[pt]=Tajique Name[pt_BR]=Tajique Name[ro]=Tadjică Name[ru]=Таджикский Name[se]=Tažihkagiella Name[si]=ටජික් Name[sk]=Tadžičtina Name[sl]=tadžiško Name[sq]=Taxhike Name[sr]=таџички Name[sr@ijekavian]=таџички Name[sr@ijekavianlatin]=tadžički Name[sr@latin]=tadžički Name[sv]=Tadzjikiska Name[ta]=தஜிக் Name[te]=తాజిక్ Name[tg]=Тоҷикӣ Name[th]=ภาษาทาจิกิสถาน Name[tr]=Tajik Name[ug]=تاجىكچە Name[uk]=Таджицька Name[uz]=Tojikcha Name[uz@cyrillic]=Тожикча -Name[vi]=Ta-gíc +Name[vi]=Tajik Name[wa]=Tadjik -Name[x-test]=xxTajikxx Name[xh]=Tajik +Name[x-test]=xxTajikxx Name[zh_CN]=塔吉克语 Name[zh_HK]=塔吉克語 Name[zh_TW]=塔吉克語 [th] Name=Thai Name[af]=Thaïs Name[ar]=تيلندية Name[as]=থাই Name[ast]=Tailandés Name[be]=Тайская Name[be@latin]=Tajskaja Name[bg]=Тайски Name[bn]=থাই Name[bn_IN]=থাই Name[br]=Tailh Name[bs]=Tajlandski Name[ca]=Tai Name[ca@valencia]=Tai Name[cs]=Thajský Name[csb]=Tajsczi Name[cy]=Thai Name[da]=Thailandsk Name[de]=Thailändisch Name[el]=Ταϊλανδικά Name[en_GB]=Thai Name[eo]=Taja Name[es]=Tailandés Name[et]=Tai Name[eu]=Thailandiera Name[fa]=تایلندی Name[fi]=Thai Name[fr]=Thaïlandais Name[fy]=Taaisk Name[ga]=Téalainnis Name[gl]=Tailandés Name[gu]=થાઈ Name[he]=תאילנדית Name[hi]=थाई Name[hne]=थाई Name[hr]=Tajlandski Name[hsb]=Thai Name[hu]=Thai Name[ia]=Thai Name[id]=Thai Name[is]=Tælenska Name[it]=Thailandese Name[ja]=タイ語 Name[kk]=Тайша Name[km]=ថៃ Name[kn]=ಥಾಯ್ Name[ko]=타이어 Name[ku]=Tayî Name[lb]=Thai Name[lt]=Tailandiečių Name[lv]=Taju Name[mai]=थाइ Name[mk]=Тајландски Name[ml]=തായ് Name[mr]=थाई Name[ms]=Thai Name[nb]=Thai Name[nds]=Thai Name[ne]=थाई Name[nl]=Thais Name[nn]=Thai Name[oc]=Tailandés Name[or]=Thai Name[pa]=ਥਾਈ Name[pl]=Tajski Name[ps]=ټهايي Name[pt]=Tailandês Name[pt_BR]=Tailandês Name[ro]=Tailandeză Name[ru]=Тайский Name[se]=Thaigiella Name[si]=තායි Name[sk]=Thajčina Name[sl]=tajsko Name[sq]=Tailandeze Name[sr]=тајландски Name[sr@ijekavian]=тајландски Name[sr@ijekavianlatin]=tajlandski Name[sr@latin]=tajlandski Name[sv]=Thailändska Name[ta]=தாய் Name[te]=థాయి Name[tg]=Тайландӣ Name[th]=ภาษาไทย Name[tr]=Thai Name[ug]=تايلاندچە Name[uk]=Тайська Name[uz]=Taycha Name[uz@cyrillic]=Тайча Name[vi]=Thái Name[wa]=Taylandès -Name[x-test]=xxThaixx Name[xh]=Thai +Name[x-test]=xxThaixx Name[zh_CN]=泰语 Name[zh_HK]=泰國語 Name[zh_TW]=泰國語 [ti] Name=Tigrinya Name[af]=Tigrinya Name[ar]=تيغرينيا Name[as]=টিগ্ৰিন্যা Name[ast]=Tigrinya Name[be]=Тыгрынья Name[be@latin]=Tigrinya Name[bg]=Тигриня Name[bn]=টিগ্রিন্যা Name[bn_IN]=টিগ্রিনিয়া Name[br]=Tigrinya Name[bs]=Tigrinija Name[ca]=Tigrinya Name[ca@valencia]=Tigrinya Name[cs]=Tigrinya Name[csb]=Tigrinya Name[cy]=Tigrinya Name[da]=Tigrinya Name[de]=Tigrinja Name[el]=Tigrinya Name[en_GB]=Tigrinya Name[eo]=Tigraja Name[es]=Tigrinya Name[et]=Tigrinja Name[eu]=Tigrinya Name[fa]=تیگرینیا Name[fi]=Tigrinja Name[fr]=Tigrigna Name[fy]=Tigrysk Name[ga]=Tigrínis Name[gl]=Tigrignan Name[gu]=તીજ્રીન્યા Name[he]=טיגרינית Name[hi]=टिग्रिन्या Name[hne]=टिग्रिन्या Name[hr]=Tigrinya Name[hsb]=Tigrinya Name[hu]=Tigrinja Name[ia]=Tigrinya Name[id]=Tigrinya Name[is]=Tigrinya Name[it]=Tigrino Name[ja]=ティグリニア語 Name[kk]=Тигринья Name[km]=ទីគ្រីនយ៉ា Name[kn]=ಟಿಗ್ರಿನ್ಯಾ Name[ko]=티그리냐어 Name[ku]=Tîngrînya Name[lb]=Tigrinja-Sprooch Name[lt]=Tigrinya Name[lv]=Tigrinja Name[mai]=टिग्रिंया Name[mk]=Тигринја Name[ml]=ടൈഗ്രിനിയ Name[mr]=टिग्रिन्या Name[ms]=Tigrinya Name[nb]=Tigrinya Name[nds]=Tigrinya Name[ne]=तिग्रिन्य Name[nl]=Tigrinya Name[nn]=Tigrinja Name[oc]=Tigrinya Name[or]=Tigrinya Name[pa]=ਤਿਗਰੀਅਨ Name[pl]=Tigrinya Name[ps]=ټېګرينيا Name[pt]=Tigrinya Name[pt_BR]=Tigrino Name[ro]=Tigrină Name[ru]=Тигринья Name[se]=Tigrinjágiella Name[si]=ටිග්‍රින්යා Name[sk]=Tigriňa Name[sl]=tigrinya Name[sq]=Tigrinya Name[sr]=тигрињи Name[sr@ijekavian]=тигрињи Name[sr@ijekavianlatin]=tigrinji Name[sr@latin]=tigrinji Name[sv]=Tigrinja Name[ta]=திகிரின்யா Name[te]=టిగ్రిన్యా Name[tg]=Тигринягӣ Name[th]=ภาษาทิกรินยา Name[tr]=Tigrinya Name[ug]=تىگرىنياچە Name[uk]=Тигринійська Name[uz]=Tigrinya Name[uz@cyrillic]=Тигриня -Name[vi]=Ti-gợ-ri-nia +Name[vi]=Tigrinya Name[wa]=Tigrinia -Name[x-test]=xxTigrinyaxx Name[xh]=Tigrinya +Name[x-test]=xxTigrinyaxx Name[zh_CN]=提格里尼亚语 Name[zh_HK]=提格利尼亞語 Name[zh_TW]=提格利尼亞語 [tk] Name=Turkmen Name[af]=Turkmen Name[ar]=تركمانية Name[as]=টুৰ্কমেন Name[ast]=Turkmenu Name[be]=Туркменская Name[be@latin]=Turkmenskaja Name[bg]=Туркменски Name[bn]=তুর্কমেন Name[bn_IN]=তুর্কমেন Name[br]=Turkmen Name[bs]=Turkmenski Name[ca]=Turcman Name[ca@valencia]=Turcman Name[cs]=Turkmenský Name[csb]=Turkmeńsczi Name[cy]=Twrcmeneg Name[da]=Turkmen Name[de]=Turkmenisch Name[el]=Τουρκμενικά Name[en_GB]=Turkmen Name[eo]=Turkmena Name[es]=Turkmenio Name[et]=Turkmeeni Name[eu]=Turkmeniera Name[fa]=ترکمنی Name[fi]=Turkmeeni Name[fr]=Turkmène Name[fy]=Turkmeensk Name[ga]=Tuircméinis Name[gl]=Turquemeno Name[gu]=તુર્કમેન Name[he]=טורקמנית Name[hi]=तुर्कमेन Name[hne]=तुर्कमेन Name[hr]=Turkmenski Name[hsb]=Turkmensce Name[hu]=Türkmén Name[ia]=Turkmeno Name[id]=Turkmen Name[is]=Turkmen Name[it]=Turkmeno Name[ja]=トルクメン語 Name[kk]=Түркменше Name[km]=ទួគមេនីស្តង់ Name[kn]=ಟುರ್ಕಮೆನ್ Name[ko]=투르크멘어 Name[ku]=Tirkmenî Name[lb]=Turkmenesch Name[lt]=Turkmėnų Name[lv]=Turkmēņu Name[mai]=तुर्कमेन Name[mk]=Туркменистански Name[ml]=തുര്‍ക്കുമെന്‍ Name[mr]=तुर्कमेन Name[ms]=Turkmen Name[nb]=Turkmensk Name[nds]=Turkmeensch Name[ne]=टर्कम्यान Name[nl]=Turkmeens Name[nn]=Turkmensk Name[or]=Turkmen Name[pa]=ਤੁਰਕਮੀਨ Name[pl]=Turkmeński Name[ps]=ترکمني Name[pt]=Turquemeno Name[pt_BR]=Turcomeno Name[ro]=Turcmenă Name[ru]=Туркменский Name[se]=Turkmenagiella Name[si]=ටර්ක්මෙන් Name[sk]=Turkménčina Name[sl]=turkmensko Name[sq]=Turkmene Name[sr]=туркменски Name[sr@ijekavian]=туркменски Name[sr@ijekavianlatin]=turkmenski Name[sr@latin]=turkmenski Name[sv]=Turkmenska Name[ta]=துருக்மென் Name[te]=తుర్క్మెన్ Name[tg]=Туркманӣ Name[th]=ภาษาเติร์กเมน Name[tr]=Türkmence Name[ug]=تۈركمەنچە Name[uk]=Туркменська Name[uz]=Turkmancha Name[uz@cyrillic]=Туркманча -Name[vi]=Tuổc-men +Name[vi]=Turkmen Name[wa]=Turkmene -Name[x-test]=xxTurkmenxx Name[xh]=Turkmen +Name[x-test]=xxTurkmenxx Name[zh_CN]=土库曼语 Name[zh_HK]=土庫曼語 Name[zh_TW]=土庫曼語 [tn] Name=Tswana Name[af]=Tswana Name[ar]=تسوانا Name[as]=ছ্বানা Name[ast]=Tswana Name[be]=Цвана Name[be@latin]=Tswana Name[bg]=Тсуана Name[bn]=তসওয়ানা Name[bn_IN]=সোওয়ানা Name[br]=Tswana Name[bs]=Cvana Name[ca]=Tswana Name[ca@valencia]=Tswana Name[cs]=Tswana Name[csb]=Tswana Name[cy]=Tswana Name[da]=Tswana Name[de]=Tswana Name[el]=Tswana Name[en_GB]=Tswana Name[eo]=Cvana Name[es]=Tswana Name[et]=Tsvana Name[eu]=Tswanera Name[fa]=تی سوانا Name[fi]=Tswana Name[fr]=Tswana Name[fy]=Tswanaansk Name[ga]=Suáinis Name[gl]=Tswana Name[gu]=ત્સવાના Name[he]=צוואנה Name[hi]=तस्वाना Name[hne]=तस्वाना Name[hr]=Tswana Name[hsb]=Tswana Name[hu]=Tszvana Name[ia]=Tswana Name[id]=Tswana Name[is]=Tswana Name[it]=Tswana Name[ja]=ツワナ語 Name[kk]=Тсвана Name[km]=ស្វាណា Name[kn]=ಟ್ಸ್ವಾನಾ Name[ko]=츠와나어 Name[ku]=Tswana Name[lb]=Tswana-Sprooch Name[lt]=Tswana Name[lv]=Cvanu Name[mai]=त्स्वाना Name[mk]=Цвана Name[ml]=സ്വാന Name[mr]=तस्वाना Name[ms]=Tswana Name[nb]=Tswana Name[nds]=Tswana Name[ne]=स्वाना Name[nl]=Tswana Name[nn]=Setswana Name[oc]=Tswana Name[or]=Tswana Name[pa]=ਤਸਵਾਨਾ Name[pl]=Tswana Name[ps]=ټسوانا Name[pt]=Tswana Name[pt_BR]=Tswana Name[ro]=Țuană Name[ru]=Тсвана Name[se]=Tswanagiella Name[si]=ට්ස්වානා Name[sk]=Tswančina Name[sl]=tswana Name[sq]=Tswana Name[sr]=цвана Name[sr@ijekavian]=цвана Name[sr@ijekavianlatin]=cvana Name[sr@latin]=cvana Name[sv]=Tswana Name[ta]=ஸ்வானா Name[te]=స్వానా Name[tg]=Сванавӣ Name[th]=ภาษาสวานา Name[tr]=Tswana Name[ug]=تىسۋاناچە Name[uk]=Тсвана Name[uz]=Tsvana Name[uz@cyrillic]=Тсвана -Name[vi]=T-xouă-nă +Name[vi]=Tswana Name[wa]=Tswana -Name[x-test]=xxTswanaxx Name[xh]=Isitswana +Name[x-test]=xxTswanaxx Name[zh_CN]=茨瓦纳语 Name[zh_HK]=班圖語 Name[zh_TW]=班圖語 [to] Name=Tonga Name[af]=Tonga Name[ar]=تونغا Name[as]=টঙ্গা Name[ast]=Tonga Name[be]=Тонга Name[be@latin]=Tonga Name[bg]=Тонга Name[bn]=টংগা Name[bn_IN]=টোঙ্গা Name[br]=Inizi Tonga Name[bs]=Tonga Name[ca]=Tonga Name[ca@valencia]=Tonga Name[cs]=Tonga Name[csb]=Tonga Name[cy]=Tonga Name[da]=Tonga Name[de]=Tonga Name[el]=Τόνγκα Name[en_GB]=Tonga Name[eo]=Tonga Name[es]=Tonga Name[et]=Tonga Name[eu]=Tongera Name[fa]=تونگا Name[fi]=Tonga Name[fr]=Tonga Name[fy]=Tongaansk Name[ga]=Tongais Name[gl]=Tonga Name[gu]=ટોન્ગા Name[he]=טונגה Name[hi]=टोन्गा Name[hne]=टोन्गा Name[hr]=Tonga Name[hsb]=Tonga Name[hu]=Tonga Name[ia]=Tonga Name[id]=Tonga Name[is]=Tonga Name[it]=Tonga Name[ja]=トンガ語 Name[kk]=Тонга Name[km]=តុងហ្គា Name[kn]=ಟೊಂಗಾ Name[ko]=통가어 Name[ku]=Tonga Name[lb]=Tonga Name[lt]=Tonga Name[lv]=Tongiešu Name[mai]=टोन्गा Name[mk]=Тонга Name[ml]=ട്വോങ്ങ Name[mr]=टोन्गा Name[ms]=Tonga Name[nb]=Tonga Name[nds]=Tonga Name[ne]=टोङ्गा Name[nl]=Tonga Name[nn]=Tongansk Name[oc]=Tònga Name[or]=Tonga Name[pa]=ਤੋਂਗਾ Name[pl]=Tonga Name[ps]=ټونګا Name[pt]=Tonga Name[pt_BR]=Tonganês Name[ro]=Tongă Name[ru]=Тонганский Name[se]=Tongagiella Name[si]=ටොන්ගා Name[sk]=Tongčina Name[sl]=tongaško Name[sq]=Tonga Name[sr]=тонга Name[sr@ijekavian]=тонга Name[sr@ijekavianlatin]=tonga Name[sr@latin]=tonga Name[sv]=Tonga Name[ta]=டோங்கா Name[te]=టొన్గా Name[tg]=Тонгавӣ Name[th]=ภาษาทองกา Name[tr]=Tonga Name[ug]=تونگا Name[uk]=Тонга Name[uz]=Tonga Name[uz@cyrillic]=Тонга -Name[vi]=Tông-ga +Name[vi]=Tonga Name[wa]=Tonga -Name[x-test]=xxTongaxx Name[xh]=Tonga +Name[x-test]=xxTongaxx Name[zh_CN]=汤加语 Name[zh_HK]=東加語 Name[zh_TW]=東加語 [tr] Name=Turkish Name[af]=Turks Name[ar]=تركية Name[as]=টুৰ্কিশ্ব Name[ast]=Turcu Name[be]=Турэцкая Name[be@latin]=Tureckaja Name[bg]=Турски Name[bn]=তুর্কী Name[bn_IN]=তুর্কি Name[br]=Turkeg Name[bs]=Turski Name[ca]=Turc Name[ca@valencia]=Turc Name[cs]=Turecký Name[csb]=Tërecczi Name[cy]=Twrceg Name[da]=Tyrkisk Name[de]=Türkisch Name[el]=Τουρκικά Name[en_GB]=Turkish Name[eo]=Turka Name[es]=Turco Name[et]=Türgi Name[eu]=Turkiera Name[fa]=ترکی Name[fi]=Turkki Name[fr]=Turc Name[fy]=Turks Name[ga]=Tuircis Name[gl]=Turco Name[gu]=તુર્કી Name[he]=טורקית Name[hi]=तुर्की Name[hne]=तुर्की Name[hr]=Turski Name[hsb]=Turkowsce Name[hu]=Török Name[hy]=Թուրքերեն Name[ia]=Turco Name[id]=Turki Name[is]=Tyrkneska Name[it]=Turco Name[ja]=トルコ語 Name[kk]=Түрікше Name[km]=ទួរគី Name[kn]=ತುರ್ಕಿಶ್ Name[ko]=터키어 Name[ku]=Tirkî Name[lb]=Türkesch Name[lt]=Turkų Name[lv]=Turku Name[mai]=तुर्की Name[mk]=Турски Name[ml]=തുര്‍ക്കി Name[mr]=तुर्किश Name[ms]=Turki Name[nb]=Tyrkisk Name[nds]=Törksch Name[ne]=टर्किश Name[nl]=Turks Name[nn]=Tyrkisk Name[oc]=Turc Name[or]=Turkish Name[pa]=ਤੁਰਕਿਸ਼ Name[pl]=Turecki Name[ps]=ترکي Name[pt]=Turco Name[pt_BR]=Turco Name[ro]=Turcă Name[ru]=Турецкий Name[se]=Turkiijagiella Name[si]=තුර්කි Name[sk]=Turečtina Name[sl]=turško Name[sq]=Turke Name[sr]=турски Name[sr@ijekavian]=турски Name[sr@ijekavianlatin]=turski Name[sr@latin]=turski Name[sv]=Turkiska Name[ta]=துருக்கிய Name[te]=టర్కిష్ Name[tg]=Туркӣ Name[th]=ภาษาตุรกี Name[tr]=Türkçe Name[ug]=تۈركچە Name[uk]=Турецька Name[uz]=Turkcha Name[uz@cyrillic]=Туркча -Name[vi]=Thổ-nhĩ-kỳ +Name[vi]=Thổ Nhĩ Kỳ Name[wa]=Turk -Name[x-test]=xxTurkishxx Name[xh]=Turkish +Name[x-test]=xxTurkishxx Name[zh_CN]=土耳其语 Name[zh_HK]=土耳其語 Name[zh_TW]=土耳其語 [ts] Name=Tsonga Name[af]=Tsonga Name[ar]=تسونغا Name[as]=ছ'ঙ্গা Name[ast]=Tsonga Name[be]=Цонга Name[be@latin]=Tsonga Name[bg]=Тсонга Name[bn]=তসংগা Name[bn_IN]=সোঙ্গা Name[br]=Tsonga Name[bs]=Conga Name[ca]=Tsonga Name[ca@valencia]=Tsonga Name[cs]=Tsonga Name[csb]=Tsonga Name[cy]=Tsonga Name[da]=Tsonga Name[de]=Tsonga Name[el]=Tsonga Name[en_GB]=Tsonga Name[eo]=Conga Name[es]=Tsonga Name[et]=Tsonga Name[eu]=Tsongera Name[fa]=تی سوانگا Name[fi]=Tsonga Name[fr]=Tsonga Name[fy]=Tsongaansk Name[ga]=Songais Name[gl]=Tsonga Name[gu]=સોંગા Name[he]=צונגה Name[hi]=त्सोन्गा Name[hne]=त्सोन्गा Name[hr]=Tsonga Name[hsb]=Tsonga Name[hu]=Tsonga Name[ia]=Tsonga Name[id]=Tsonga Name[is]=Tsonga Name[it]=Tsonga Name[ja]=ツォンガ語 Name[kk]=Тсонга Name[km]=សុងហ្កា Name[kn]=ಟ್ಸೋಂಗಾ Name[ko]=총가어 Name[ku]=Tsonga Name[lb]=Tsonga-Sprooch Name[lt]=Tsonga Name[lv]=Congu Name[mai]=त्सोंगा Name[mk]=Цонга Name[ml]=സോങ്ങ Name[mr]=त्सोन्गा Name[ms]=Tsonga Name[nb]=Tsonga Name[nds]=Tsonga Name[ne]=सोङ्गा Name[nl]=Tsonga Name[nn]=Tsonga Name[oc]=Tsonga Name[or]=Tsonga Name[pa]=ਤਸੋਂਗਾ Name[pl]=Tsonga Name[ps]=ټسونګا Name[pt]=Tsonga Name[pt_BR]=Tsonga Name[ro]=Tsongă Name[ru]=Тсонга Name[se]=Tsongagiella Name[si]=ට්සොන්ගා Name[sk]=Tsongčina Name[sl]=tsonga Name[sq]=Tsonga Name[sr]=цонга Name[sr@ijekavian]=цонга Name[sr@ijekavianlatin]=conga Name[sr@latin]=conga Name[sv]=Tsonga Name[ta]=டிசோங்கா Name[te]=సొంగా Name[tg]=Сонгавӣ Name[th]=ภาษาซองกา Name[tr]=Tsonga Name[ug]=سونگاچە Name[uk]=Цонґа Name[uz]=Songa Name[uz@cyrillic]=Цонга -Name[vi]=T-xông-ga +Name[vi]=Tsonga Name[wa]=Tsonga -Name[x-test]=xxTsongaxx Name[xh]=Tsonga +Name[x-test]=xxTsongaxx Name[zh_CN]=聪加语 Name[zh_HK]=Tsonga語 Name[zh_TW]=Tsonga語 [tt] Name=Tatar Name[af]=Tatar Name[ar]=تاترية Name[as]=টাটাৰ Name[ast]=Tatar Name[be]=Татарская Name[be@latin]=Tatarskaja Name[bg]=Татарски Name[bn]=তাতার Name[bn_IN]=তাতার Name[br]=Tatareg Name[bs]=Tatarski Name[ca]=Tàtar Name[ca@valencia]=Tàtar Name[cs]=Tatarský Name[csb]=Tatarsczi Name[cy]=Tatar Name[da]=Tatar Name[de]=Tatarisch Name[el]=Tatar Name[en_GB]=Tatar Name[eo]=Tatara Name[es]=Tatar Name[et]=Tatari Name[eu]=Tatariera Name[fa]=تاتاری Name[fi]=Tataari Name[fr]=Tatar Name[fy]=Tataarsk Name[ga]=Tatairis Name[gl]=Tártaro Name[gu]=તાતાર Name[he]=טאטרית Name[hi]=तातार Name[hne]=तातार Name[hr]=Tatarski Name[hsb]=Tatarsce Name[hu]=Tatár Name[ia]=Tataro Name[id]=Tatar Name[is]=Tatar Name[it]=Tataro Name[ja]=タタール語 Name[kk]=Татарша Name[km]=តាតារ Name[kn]=ಟಟಾರ್ Name[ko]=타타르어 Name[ku]=Tatarî Name[lb]=Tataresch Name[lt]=Totorių Name[lv]=Tatāru Name[mai]=ततार Name[mk]=Татарски Name[ml]=തത്തര്‍ Name[mr]=तातार Name[ms]=Tatar Name[nb]=Tatar Name[nds]=Tartaarsch Name[ne]=टाटर Name[nl]=Tatar Name[nn]=Tatarisk Name[oc]=Tatar Name[or]=Tatar Name[pa]=ਤਾਟਾਰ Name[pl]=Tatarski Name[ps]=ټاټار Name[pt]=Tatar Name[pt_BR]=Tártaro Name[ro]=Tătară Name[ru]=Татарский Name[se]=Tatáragiella Name[si]=ටටාර් Name[sk]=Tatárčina Name[sl]=tatarsko Name[sq]=Tatare Name[sr]=татарски Name[sr@ijekavian]=татарски Name[sr@ijekavianlatin]=tatarski Name[sr@latin]=tatarski Name[sv]=Tatariska Name[ta]=டாடார் Name[te]=తతర్ Name[tg]=Тоторӣ Name[th]=ภาษาทาทาร์ Name[tr]=Tatar Name[ug]=تاتارچە Name[uk]=Татарська Name[uz]=Totarcha Name[uz@cyrillic]=Тотарча -Name[vi]=Ta-tă +Name[vi]=Tatar Name[wa]=Tatår -Name[x-test]=xxTatarxx Name[xh]=Tatar +Name[x-test]=xxTatarxx Name[zh_CN]=鞑靼语 Name[zh_HK]=韃靼語 Name[zh_TW]=韃靼語 [tw] Name=Twi Name[af]=Twi Name[ar]=توي Name[as]=ট্বি Name[ast]=Twi Name[be]=Тві Name[be@latin]=Twi Name[bg]=Тви Name[bn]=টুয়ি Name[bn_IN]=টুই Name[br]=Twi Name[bs]=Tvi Name[ca]=Twi Name[ca@valencia]=Twi Name[cs]=Twi Name[csb]=Twi Name[cy]=Twi Name[da]=Twi Name[de]=Twi Name[el]=Twi Name[en_GB]=Twi Name[eo]=Tvia Name[es]=Twi Name[et]=Tvii Name[eu]=Twi Name[fa]=توی Name[fi]=Twi Name[fr]=Twi Name[fy]=Twi Name[ga]=Tiuíais Name[gl]=Twi Name[gu]=ત્વી Name[he]=צ'ווי Name[hi]=त्वी Name[hne]=त्वी Name[hr]=Twi Name[hsb]=Twi Name[hu]=Tvi Name[ia]=Twi Name[id]=Twi Name[is]=Twi Name[it]=Twi Name[ja]=チュイ語 Name[kk]=Тви Name[km]=ទ្វី Name[kn]=ಟ್ವಿ Name[ko]=트위어 Name[ku]=Twî Name[lb]=Akan-Sprooch Name[lt]=Twi Name[lv]=Tvī Name[mai]=त्वी Name[mk]=Тви Name[ml]=ട്വി Name[mr]=त्वी Name[ms]=Twi Name[nb]=Twi Name[nds]=Twi Name[ne]=तुइ Name[nl]=Twi Name[nn]=Twi Name[or]=Twi Name[pa]=ਤਵੀ Name[pl]=Twi Name[ps]=ټوي Name[pt]=Twi Name[pt_BR]=Twi Name[ro]=Twi Name[ru]=Тви Name[se]=Twigiella Name[si]=ටිවි Name[sk]=Twi Name[sl]=twi Name[sq]=Twi Name[sr]=тви Name[sr@ijekavian]=тви Name[sr@ijekavianlatin]=tvi Name[sr@latin]=tvi Name[sv]=Twi Name[ta]=த்வீ Name[te]=ట్వి Name[tg]=Твиягӣ Name[th]=ภาษาทรี Name[tr]=Twi Name[ug]=تۋىچە Name[uk]=Тві Name[uz]=Tvi Name[uz@cyrillic]=Тви -Name[vi]=Tui +Name[vi]=Twi Name[wa]=Twi -Name[x-test]=xxTwixx Name[xh]=Twi +Name[x-test]=xxTwixx Name[zh_CN]=特威语 Name[zh_HK]=契維語 Name[zh_TW]=契維語 [ty] Name=Tahitian Name[af]=Tahitian Name[ar]=تاهيتية Name[as]=টাহিটিয়ান Name[ast]=Tahitianu Name[be]=Таіцкая Name[be@latin]=Tahickaja Name[bg]=Таитски Name[bn]=তাহিশিয়ান Name[bn_IN]=তাহিশিয়ান Name[br]=Tahitieg Name[bs]=Tahićanski Name[ca]=Tahitià Name[ca@valencia]=Tahitià Name[cs]=Tahitský Name[csb]=Tahitańsczi Name[cy]=Tahitieg Name[da]=Tahitisk Name[de]=Tahitianisch Name[el]=Tahitian Name[en_GB]=Tahitian Name[eo]=Tahitia Name[es]=Tahitiano Name[et]=Tahiti Name[eu]=Tahitiera Name[fa]=تاهیتی Name[fi]=Tahiti Name[fr]=Tahitien Name[fy]=Tahitiaansk Name[ga]=Taihítis Name[gl]=Tahitiano Name[gu]=તાહિટિયન Name[he]=טהיטית Name[hi]=ताहितियन Name[hne]=ताहितियन Name[hr]=Tahićanski Name[hsb]=Tahitisce Name[hu]=Tahiti Name[ia]=Tahitiano Name[id]=Tahiti Name[is]=Tahitian Name[it]=Tahitiano Name[ja]=タヒチ語 Name[kk]=Таитише Name[km]=តាហ៊ិតង់ Name[kn]=ತಹೀಟಿಯನ್ Name[ko]=타히티어 Name[ku]=Tahîtî Name[lb]=Tahitesch Name[lt]=Tahiti Name[lv]=Taitiešu Name[mai]=ताहितियन Name[mk]=Тахитски Name[ml]=താഹിതിയന്‍ Name[mr]=ताहितियन Name[ms]=Tahiti Name[nb]=Tahitisk Name[nds]=Tahiitsch Name[ne]=ताहितियन Name[nl]=Tahitiaans Name[nn]=Tahitisk Name[oc]=Taician Name[or]=Tahitian Name[pa]=ਤਾਹੀਟੀਅਨ Name[pl]=Tahitański Name[pt]=Tahitiano Name[pt_BR]=Taitiano Name[ro]=Tahitiană Name[ru]=Таитянский Name[se]=Tahitigiella Name[si]=තහිටියානු Name[sk]=Tahitčina Name[sl]=tahitijsko Name[sq]=Tahitiane Name[sr]=тахићански Name[sr@ijekavian]=тахићански Name[sr@ijekavianlatin]=tahićanski Name[sr@latin]=tahićanski Name[sv]=Tahitiska Name[ta]=தஹிடியன் Name[te]=టహితియన్ Name[tg]=Таитиягӣ Name[th]=ภาษาตาฮิติ Name[tr]=Tahitian Name[ug]=تاخىتىيانچە Name[uk]=Таїтянська Name[uz]=Taxitian Name[uz@cyrillic]=Тахитиан -Name[vi]=Ta-hi-ti +Name[vi]=Tahitia Name[wa]=Tahityin -Name[x-test]=xxTahitianxx Name[xh]=Tahitian +Name[x-test]=xxTahitianxx Name[zh_CN]=塔希提语 Name[zh_HK]=大溪地語 Name[zh_TW]=大溪地語 [ug] Name=Uyghur Name[bg]=Уйгурски Name[bs]=Uyghur Name[ca]=Uigur Name[ca@valencia]=Uigur Name[cs]=Ujgurský Name[da]=Uyghur Name[de]=Uigurisch Name[el]=Uyghur Name[en_GB]=Uyghur Name[es]=Uigur Name[et]=Uiguuri Name[eu]=Uigurrera +Name[fa]=یوگر Name[fi]=Uiguuri Name[fr]=Ouïghour Name[gl]=Uigur Name[hr]=Ujgurski Name[hu]=Ujgur Name[ia]=Uighuro Name[is]=Uyghur Name[it]=Uiguro Name[ja]=ウイグル語 Name[kk]=Ұйғырша Name[km]=អ៊ុយ​ហ្គៀរ Name[ko]=위구르어 Name[lt]=Uigurų Name[lv]=Uiguru Name[ms]=Uighur Name[nb]=Uigursk Name[nds]=Uighuursch Name[nl]=Oeigoers Name[pa]=ਉਘੂਰ Name[pl]=Ujgurski Name[pt]=Uyghur Name[pt_BR]=Uigur Name[ro]=Uigură Name[ru]=Уйгурский Name[se]=Uiguragiella Name[si]=උයිගුර් Name[sk]=Ujgurčina Name[sr]=ујгурски Name[sr@ijekavian]=ујгурски Name[sr@ijekavianlatin]=ujgurski Name[sr@latin]=ujgurski Name[sv]=Uiguriska Name[th]=ภาษาอุยกูร์ Name[tr]=Uygurca Name[ug]=ئۇيغۇرچە Name[uk]=Уйгурська +Name[vi]=Uyghur Name[wa]=Ouygour Name[x-test]=xxUyghurxx Name[zh_CN]=维吾尔语 Name[zh_TW]=Uyghur [uk] Name=Ukrainian Name[af]=Ukraïnies Name[ar]=أوكرانية Name[as]=ইউক্ৰেনিয়ান Name[ast]=Ucranianu Name[be]=Украінская Name[be@latin]=Ukrainskaja Name[bg]=Украински Name[bn]=ইউক্রেনীয় Name[bn_IN]=ইউক্রেনিয়ান Name[br]=Ukrainiek Name[bs]=Ukrajinski Name[ca]=Ucraïnès Name[ca@valencia]=Ucraïnés Name[cs]=Ukrajinský Name[csb]=Ùkrajińsczi Name[cy]=Ukraineg Name[da]=Ukrainsk Name[de]=Ukrainisch Name[el]=Ουκρανικά Name[en_GB]=Ukrainian Name[eo]=Ukraina Name[es]=Ucraniano Name[et]=Ukraina Name[eu]=Ukrainiera Name[fa]=اکراینی Name[fi]=Ukraina Name[fr]=Ukrainien Name[fy]=Oekraïnsk Name[ga]=Úcráinis Name[gl]=Ucraíno Name[gu]=યુક્રેનિયન Name[he]=אוקראינית Name[hi]=उक्रेनियाई Name[hne]=उक्रेनियाई Name[hr]=Ukrajinski Name[hsb]=Ukrainsce Name[hu]=Ukrán Name[ia]=Ucrainiano Name[id]=Ukrainia Name[is]=Úkraínska Name[it]=Ucraino Name[ja]=ウクライナ語 Name[kk]=Украинша Name[km]=អ៊ុយក្រែន Name[kn]=ಯುಕ್ರೇನಿಯನ್ Name[ko]=우크라이나어 Name[ku]=Ûkraynayî Name[lb]=Ukrainesch Name[lt]=Ukrainiečių Name[lv]=Ukraiņu Name[mai]=युक्रेनियन Name[mk]=Украински Name[ml]=ഉക്രേനിയന്‍ Name[mr]=यूक्रेनियन Name[ms]=Ukrainia Name[nb]=Ukrainsk Name[nds]=Ukrainsch Name[ne]=युक्रेनी Name[nl]=Oekraïns Name[nn]=Ukrainsk Name[oc]=Ucraïnian Name[or]=Ukrainian Name[pa]=ਯੂਕਰੇਨ Name[pl]=Ukraiński Name[ps]=اکرېني Name[pt]=Ucraniano Name[pt_BR]=Ucraniano Name[ro]=Ucrainiană Name[ru]=Украинский Name[se]=Ukrainagiella Name[si]=යුක්රේනියානු Name[sk]=Ukrajinčina Name[sl]=ukrajinsko Name[sq]=Ukrainase Name[sr]=украјински Name[sr@ijekavian]=украјински Name[sr@ijekavianlatin]=ukrajinski Name[sr@latin]=ukrajinski Name[sv]=Ukrainska Name[ta]=உக்ரேனியன் Name[te]=ఉక్రేనియన్ Name[tg]=Украинӣ Name[th]=ภาษายูเครน Name[tr]=Ukrayna Dili Name[ug]=ئۇكرائىنچە Name[uk]=Українська Name[uz]=Ukraincha Name[uz@cyrillic]=Украинча -Name[vi]=U-cợ-rainh +Name[vi]=Ukraine Name[wa]=Oucrinnyin -Name[x-test]=xxUkrainianxx Name[xh]=Ukranian +Name[x-test]=xxUkrainianxx Name[zh_CN]=乌克兰语 Name[zh_HK]=烏克蘭語 Name[zh_TW]=烏克蘭語 [ur] Name=Urdu Name[af]=Urdu Name[ar]=أردو Name[as]=উৰ্দু Name[ast]=Urdu Name[be]=Урду Name[be@latin]=Urdu Name[bg]=Урду Name[bn]=উর্দু Name[bn_IN]=উর্দু Name[br]=Urdu Name[bs]=Urdu Name[ca]=Urdú Name[ca@valencia]=Urdú Name[cs]=Urdu Name[csb]=Urdu Name[cy]=Wrdw Name[da]=Urdu Name[de]=Urdu Name[el]=Urdu Name[en_GB]=Urdu Name[eo]=Urdua Name[es]=Urdu Name[et]=Urdu Name[eu]=Urdu Name[fa]=اردو Name[fi]=Urdu Name[fr]=Urdu Name[fy]=Urdû Name[ga]=Urdais Name[gl]=Urdú Name[gu]=ઉર્દુ Name[he]=אורדו Name[hi]=उर्दू Name[hne]=उर्दू Name[hr]=Urdu Name[hsb]=Urdu Name[hu]=Urdu Name[ia]=Hurdu Name[id]=Urdu Name[is]=Urdu Name[it]=Urdu Name[ja]=ウルドゥー語 Name[kk]=Урду Name[km]=អ៊ូរ្ឌូ Name[kn]=ಉರ್ದು Name[ko]=우르두어 Name[ku]=Ûrdû Name[lb]=Urdu Name[lt]=Urdu Name[lv]=Urdu Name[mai]=उर्दू Name[mk]=Урду Name[ml]=ഉര്‍ദ്ദു Name[mr]=उर्दू Name[ms]=Urdu Name[nb]=Urdu Name[nds]=Urdu Name[ne]=उर्दु Name[nl]=Urdu Name[nn]=Urdu Name[oc]=Ordo Name[or]=Urdu Name[pa]=ਉਰਦੂ Name[pl]=Urdu Name[ps]=اردو Name[pt]=Urdu Name[pt_BR]=Urdu Name[ro]=Urdu Name[ru]=Урду Name[se]=Urdugiella Name[si]=උර්දු Name[sk]=Urdčina Name[sl]=urdu Name[sq]=Urdu Name[sr]=урду Name[sr@ijekavian]=урду Name[sr@ijekavianlatin]=urdu Name[sr@latin]=urdu Name[sv]=Urdu Name[ta]=உருது Name[te]=ఉర్దు Name[tg]=Урду Name[th]=ภาษาอูร์ดู Name[tr]=Urdu Name[ug]=ئوردۇچە Name[uk]=Урду Name[uz]=Urdu Name[uz@cyrillic]=Урду -Name[vi]=Uổ-đu +Name[vi]=Urdu Name[wa]=Ourdou -Name[x-test]=xxUrduxx Name[xh]=Urdu +Name[x-test]=xxUrduxx Name[zh_CN]=乌尔都语 Name[zh_HK]=烏都語 Name[zh_TW]=烏都語 [uz] Name=Uzbek Name[af]=Uzbek Name[ar]=الأوزبكية Name[as]=উজ্‌বেক Name[ast]=Uzbecu Name[be]=Узбецкая Name[be@latin]=Uzbeckaja Name[bg]=Узбекски Name[bn]=উজবেক Name[bn_IN]=উজবেক Name[br]=Ouzbeg Name[bs]=Uzbečki Name[ca]=Usbec Name[ca@valencia]=Usbec Name[cs]=Uzbecký Name[csb]=Ùzbecczi Name[cy]=Wzbec Name[da]=Uzbek Name[de]=Usbekisch Name[el]=Ουζμπεκικά Name[en_GB]=Uzbek Name[eo]=Uzbeka Name[es]=Uzbeko Name[et]=Usbeki Name[eu]=Uzbekera Name[fa]=ازبکی Name[fi]=Uzbekki Name[fr]=Ouzbek Name[fy]=Oezbeeksk Name[ga]=Úisbéicis Name[gl]=Usbeco Name[gu]=ઉઝબેક Name[he]=אוזבקית Name[hi]=उज्बेक Name[hne]=उज्बेक Name[hr]=Uzbečki Name[hsb]=Uzbekisce Name[hu]=Üzbég Name[ia]=Uzbeko Name[id]=Uzbek Name[is]=Úsbekíska Name[it]=Usbeco Name[ja]=ウズベク語 Name[kk]=Өзбекше Name[km]=អ៊ូហ្សបេគីស្តង់ Name[kn]=ಉಝ್ಬೆಕ್ Name[ko]=우즈베크어 Name[ku]=Ozbekî Name[lb]=Usbekesch Name[lt]=Uzbekų Name[lv]=Uzbeku Name[mai]=उज्बेक Name[mk]=Узбекистански Name[ml]=ഉസ്ബെക് Name[mr]=उज्बेक Name[ms]=Uzbek Name[nb]=Usbekisk Name[nds]=Usbeeksch Name[ne]=उज्बेक Name[nl]=Oezbeeks Name[nn]=Usbekisk Name[oc]=Ozbèc Name[or]=Uzbek Name[pa]=ਊਜੇਬਕ Name[pl]=Uzbecki Name[ps]=ازبکي Name[pt]=Usbequistanês Name[pt_BR]=Uzbeque Name[ro]=Uzbecă Name[ru]=Узбекский Name[se]=Uzbehkagiella Name[si]=උස්බෙක් Name[sk]=Uzbečtina Name[sl]=uzbeško Name[sq]=Uzbeke Name[sr]=узбечки Name[sr@ijekavian]=узбечки Name[sr@ijekavianlatin]=uzbečki Name[sr@latin]=uzbečki Name[sv]=Uzbekiska Name[ta]=உஸ்பெக் Name[te]=ఉజ్బెక్ Name[tg]=Ӯзбакӣ Name[th]=ภาษาอุซเบกิสถาน Name[tr]=Özbek Name[ug]=ئۆزبېكچە Name[uk]=Узбецька Name[uz]=Oʻzbekcha Name[uz@cyrillic]=Ўзбекча -Name[vi]=U-x-béc +Name[vi]=Uzbek Name[wa]=Ouzbeke -Name[x-test]=xxUzbekxx Name[xh]=Uzbek +Name[x-test]=xxUzbekxx Name[zh_CN]=乌兹别克语 Name[zh_HK]=烏茲別克語 Name[zh_TW]=烏茲別克語 [uz@cyrillic] Name=Uzbek (Cyrillic) Name[ar]=الأوزبكية (سريالية) Name[as]=উজ্‌বেক (ছিৰিলিক) Name[ast]=Uzbecu (Cirílicu) Name[be@latin]=Uzbeckaja kirylica Name[bg]=Узбекски (кирилица) Name[bn]=উজবেক (কিরিলিক) Name[bn_IN]=উজবেক (সিরিলিক) Name[bs]=Uzbečki (ćirilica) Name[ca]=Usbec (ciríl·lic) Name[ca@valencia]=Usbec (ciríl·lic) Name[cs]=Uzbecký (azbuka) Name[csb]=Ùzbecczi (cërëlica) Name[da]=Uzbek (Kyrillisk) Name[de]=Usbekisch (Kyrillisch) Name[el]=Ουζμπεκικά (Κυριλλικά) Name[en_GB]=Uzbek (Cyrillic) Name[eo]=Uzbeka (Cirila) Name[es]=Uzbeko (Cirílico) Name[et]=Usbeki (kirillitsa) Name[eu]=Uzbekera (Zirilikoa) Name[fi]=Uzbekki (kyrillinen) Name[fr]=Ouzbek (Cyrillique) Name[fy]=Uzbeesk (Cyrillysk) Name[ga]=Úisbéicis (Coireallach) Name[gl]=Usbeco (cirílico) Name[gu]=ઉઝબેક (સિરીલિક) Name[he]=אוזבקית (קירילית) Name[hi]=उज़बैक (सिरिलिक) Name[hne]=उजबैक (सिरिलिक) Name[hr]=Uzbečki (ćirilica) Name[hsb]=Uzbekisce (z kyriliskim pismom) Name[hu]=Üzbég (cirill) Name[ia]=Uzbeko (Cirillico) Name[id]=Uzbek (Cyrillic) Name[is]=Úsbekíska (Kyrilísk) Name[it]=Usbeco (cirillico) Name[ja]=ウズベク語 (キリル文字) Name[kk]=Өзбекше (Кирилл жазуы) Name[km]=អ៊ូហ្សបេគីស្តង់ (ស៊ីលីរីក) Name[kn]=ಉಝ್ಬೆಕ್ (ಸಿರಿಲಿಕ್) Name[ko]=우즈베크어 (키릴 문자) Name[ku]=Ozbekî (Kîrîl) Name[lt]=Uzbekų (Kirilica) Name[lv]=Uzbeku (Kirilica) Name[mai]=उस्बेक (सिरिलिक) Name[mk]=Узбекистански (кириличен) Name[ml]=ഉസ്ബെക്ക് (സിറിലിക്ക്) Name[mr]=उज्बेक (सिरीलिक) Name[ms]=Uzbek (Cyrillic) Name[nb]=Usbekisk (Kyrillisk) Name[nds]=Usbeeksch (kyrillsch) Name[nl]=Oezbeeks (Cyrilisch) Name[nn]=Usbekisk (kyrillisk) Name[oc]=Ozbèc (cirillic) Name[or]=Uzbek (Cyrillic) Name[pa]=ਯੂਜ਼ਬਿਕ (ਸਿਰਲਿਕ) Name[pl]=Uzbecki (cyrlica) Name[ps]=ازبکي (سېرېلېک) Name[pt]=Uzbeque (Cirílico) Name[pt_BR]=Uzbeque (Cirílico) Name[ro]=Uzbekă (Chirilic) Name[ru]=Узбекский (кириллица) Name[se]=Usbekalaš (Kyrillalaš) Name[si]=උස්බෙක් (සිරිලික්) Name[sk]=Uzbečtina (cyrilika) Name[sl]=Uzbeško (cirilica) Name[sq]=Uzbeke (Cirilike) Name[sr]=узбечки (ћирилица) Name[sr@ijekavian]=узбечки (ћирилица) Name[sr@ijekavianlatin]=uzbečki (ćirilica) Name[sr@latin]=uzbečki (ćirilica) Name[sv]=Kyrillisk Uzbekiska Name[ta]=உஸ்பெக் (சைரிலிக்) Name[tg]=Ӯзбакӣ (Кирилликӣ) Name[th]=ภาษาอุซเบกิสถาน (ไซริลลิค) Name[tr]=Özbekçe (Kiril) Name[ug]=ئۆزبېكچە(سلاۋيان) Name[uk]=Узбецька (Кирилиця) +Name[vi]=Uzbek (Cyrillic) Name[wa]=Ouzbeke (cirilike) Name[x-test]=xxUzbek (Cyrillic)xx Name[zh_CN]=乌兹别克语(西里尔语系) Name[zh_TW]=烏茲別克(斯拉夫) [ven] Name=Venda Name[af]=Venda Name[ar]=فندا Name[as]=ভেন্ডা Name[ast]=Venda Name[be]=Венда Name[be@latin]=Venda Name[bg]=Венда Name[bn]=ভেণ্ডা Name[bn_IN]=ভেন্ডা Name[br]=Venda Name[bs]=Venda Name[ca]=Venda Name[ca@valencia]=Venda Name[cs]=Venda Name[csb]=Venda Name[cy]=Venda Name[da]=Venda Name[de]=Tshivenda Name[el]=Venda Name[en_GB]=Venda Name[eo]=Vendaa Name[es]=Venda Name[et]=Venda Name[eu]=Venda Name[fa]=وندا Name[fi]=Venda Name[fr]=Venda Name[fy]=Venda Name[ga]=Veindis Name[gl]=Venda Name[gu]=વેન્ડા Name[he]=ונדה Name[hi]=वेंदा Name[hne]=वेंदा Name[hr]=Venda Name[hsb]=Venda Name[hu]=Venda Name[ia]=Venda Name[id]=Venda Name[is]=Venda Name[it]=Venda Name[ja]=ベンダ語 Name[kk]=Венда Name[km]=វង់ដា Name[kn]=ವಂಡಾ Name[ko]=벤다어 Name[ku]=Venda Name[lb]=Venda Name[lt]=Venda Name[lv]=Vendu Name[mai]=वेंडा Name[mk]=Венда Name[ml]=വെന്‍ഡാ Name[mr]=वेंदा Name[ms]=Venda Name[nb]=Venda Name[nds]=Venda Name[ne]=भेन्डा Name[nl]=Venda Name[nn]=Venda Name[oc]=Vendà Name[or]=Venda Name[pa]=ਵਾਂਡਾ Name[pl]=Venda Name[ps]=وېنډا Name[pt]=Venda Name[pt_BR]=Venda Name[ro]=Venda Name[ru]=Венда Name[se]=Vendagiella Name[si]=වෙන්ඩා Name[sk]=Venda Name[sl]=venda Name[sq]=Venda Name[sr]=венда Name[sr@ijekavian]=венда Name[sr@ijekavianlatin]=venda Name[sr@latin]=venda Name[sv]=Venda Name[ta]=வெண்டா Name[te]=వెండా Name[tg]=Вендагӣ Name[th]=ภาษาเวนดา Name[tr]=Venda Name[ug]=ۋېنداچە Name[uk]=Венда Name[uz]=Venda Name[uz@cyrillic]=Венда -Name[vi]=Ven-đa +Name[vi]=Venda Name[wa]=Venda -Name[x-test]=xxVendaxx Name[xh]=Venda +Name[x-test]=xxVendaxx Name[zh_CN]=文达语 Name[zh_TW]=Venda [vi] Name=Vietnamese Name[af]=Viëtnamees Name[ar]=فيتنامية Name[as]=ভিয়েট্নামি Name[ast]=Vietnamita Name[be]=В'етнамская Name[be@latin]=Vietnamskaja Name[bg]=Виетнамски Name[bn]=ভিয়েতনামী Name[bn_IN]=ভিয়েতনামিস Name[br]=Viet-Nameg Name[bs]=Vijetnamski Name[ca]=Vietnamita Name[ca@valencia]=Vietnamita Name[cs]=Vietnamský Name[csb]=Wietnamsczi Name[cy]=Vietnameg Name[da]=Vietnamesisk Name[de]=Vietnamesisch Name[el]=Βιετναμέζικα Name[en_GB]=Vietnamese Name[eo]=Vjetnama Name[es]=Vietnamita Name[et]=Vietnami Name[eu]=Vietnamera Name[fa]=ویتنامی Name[fi]=Vietnam Name[fr]=Vietnamien Name[fy]=Vietnameesk Name[ga]=Vítneamais Name[gl]=Vietnamita Name[gu]=વિયેટનામીઝ Name[he]=וייטנאמית Name[hi]=विएतनामी Name[hne]=विएतनामी Name[hr]=Vijetnamski Name[hsb]=Vietnamsce Name[hu]=Vietnami Name[ia]=Vietnamese Name[id]=Vietnam Name[is]=Víetnamska Name[it]=Vietnamita Name[ja]=ベトナム語 Name[kk]=Вьетнамша Name[km]=វៀតណាម Name[kn]=ವಿಯೆಟ್ನಾಮೀಸ್ Name[ko]=베트남어 Name[ku]=Viyetnamî Name[lb]=Vietnamesesch Name[lt]=Vietnamiečių Name[lv]=Vjetnamiešu Name[mai]=विएतनामी Name[mk]=Виетнамски Name[ml]=വിയറ്റ്നാമീസ് Name[mr]=वियेतनामी Name[ms]=Vietnam Name[nb]=Vietnamesisk Name[nds]=Vietnameesch Name[ne]=भियतनामी Name[nl]=Vietnamees Name[nn]=Vietnamesisk Name[oc]=Vietnamés Name[or]=Vietnamese Name[pa]=ਵੀਅਤਨਾਮੀ Name[pl]=Wietnamski Name[ps]=وېټنامي Name[pt]=Vietnamita Name[pt_BR]=Vietnamita Name[ro]=Vietnameză Name[ru]=Вьетнамский Name[se]=Vietnamagiella Name[si]=වියට්නාම Name[sk]=Vietnamčina Name[sl]=vietnamsko Name[sq]=Vietnameze Name[sr]=вијетнамски Name[sr@ijekavian]=вијетнамски Name[sr@ijekavianlatin]=vijetnamski Name[sr@latin]=vijetnamski Name[sv]=Vietnamesiska Name[ta]=வியட்னாமிய Name[te]=వియత్నామీస్ Name[tg]=Ветнамӣ Name[th]=ภาษาเวียดนาม Name[tr]=Vietnamca Name[ug]=ۋىيېتنامچە Name[uk]=В'єтнамська Name[uz]=Vetnamcha Name[uz@cyrillic]=Ветнамча -Name[vi]=Việt +Name[vi]=Việt Nam Name[wa]=Vietnamyin -Name[x-test]=xxVietnamesexx Name[xh]=Vietnamese +Name[x-test]=xxVietnamesexx Name[zh_CN]=越南语 Name[zh_HK]=越南語 Name[zh_TW]=越南語 [vo] Name=Volapük Name[af]=Volapük Name[ar]=فولابوك Name[as]=ভ'লাপুক Name[ast]=Volapük Name[be]=Валапук Name[be@latin]=Volapük Name[bg]=Волапюк Name[bn]=ভোলাপুক Name[bn_IN]=ভোলাপুক Name[br]=Volapuk Name[bs]=Volapik Name[ca]=Volapük Name[ca@valencia]=Volapük Name[cs]=Volapük Name[csb]=Volapük Name[cy]=Volapuk Name[da]=Volapyk Name[de]=Volapük Name[el]=Volapük Name[en_GB]=Volapük Name[eo]=Volapuko Name[es]=Volapük Name[et]=Volapük Name[eu]=Volapük Name[fa]=ولاپوک Name[fi]=Volapük Name[fr]=Volapük Name[fy]=Volapük Name[ga]=Volapük Name[gl]=Volapük Name[gu]=વોલ્પુક Name[he]=וולאפיק Name[hi]=वोलापक Name[hne]=वोलापक Name[hr]=Volapük Name[hsb]=Volapük Name[hu]=Volapük Name[ia]=Volapuk Name[id]=Volapük Name[is]=Volapük Name[it]=Volapük Name[ja]=ボラピューク語 Name[kk]=Волапюк Name[km]=វ៉ូឡាភូក Name[kn]=ವೋಲಾಪ್ಕ್ Name[ko]=볼라퓌크 Name[ku]=Volapük Name[lb]=Volapük Name[lt]=Volapük Name[lv]=Volapiks Name[mai]=वोलापक Name[mk]=Волапук Name[ml]=വോളാപുക് Name[mr]=वोलापक Name[ms]=Volapük Name[nb]=Volapük Name[nds]=Volapük Name[ne]=भोलापुक Name[nl]=Volapúk Name[nn]=Volapyk Name[or]=Volapük Name[pa]=ਵੂਲਾਉਕ Name[pl]=Volapük Name[pt]=Volapük Name[pt_BR]=Volapuque Name[ro]=Volapucă Name[ru]=Волапюк Name[se]=Volapükgiella Name[si]=වොලුපුක් Name[sk]=Volapük Name[sl]=volapük Name[sq]=Volapük Name[sr]=волапик Name[sr@ijekavian]=волапик Name[sr@ijekavianlatin]=volapik Name[sr@latin]=volapik Name[sv]=Volapük Name[ta]=வொல்புக் Name[te]=వొలపుక్ Name[tg]=Волапёкӣ Name[th]=ภาษาวอลาพุค Name[tr]=Volapük Name[ug]=ۋولاپۇكچە Name[uk]=Волапюк Name[uz]=Volapuk Name[uz@cyrillic]=Волапук -Name[vi]=Vo-la-puc +Name[vi]=Volapük Name[wa]=Volapük -Name[x-test]=xxVolapükxx Name[xh]=Volapük +Name[x-test]=xxVolapükxx Name[zh_CN]=沃拉普克语 Name[zh_TW]=Volapük [wa] Name=Walloon Name[af]=Walloon Name[ar]=والونية Name[as]=ৱেলুন Name[ast]=Valón Name[be]=Валонская Name[be@latin]=Valonskaja Name[bg]=Валонски Name[bn]=ওয়ালুন Name[bn_IN]=ওয়ালুন Name[br]=Walloneg Name[bs]=Valonski Name[ca]=Való Name[ca@valencia]=Való Name[cs]=Wallonský Name[csb]=Walońsczi Name[cy]=Walloon Name[da]=Vallonsk Name[de]=Wallonisch Name[el]=Walloon Name[en_GB]=Walloon Name[eo]=Valona Name[es]=Walloon Name[et]=Vallooni Name[eu]=Waloiera Name[fa]=والونی Name[fi]=Valloni Name[fr]=Wallon Name[fy]=Waalsk Name[ga]=Vallúnais Name[gl]=Valón Name[gu]=વોલુન Name[he]=וולונית Name[hi]=वालून Name[hne]=वालून Name[hr]=Valonski Name[hsb]=Walloon Name[hu]=Vallon Name[ia]=Valloniano Name[id]=Walloon Name[is]=Vallónska Name[it]=Vallone Name[ja]=ワロン語 Name[kk]=Валонша Name[km]=វ៉ាឡុង Name[kn]=ವಾಲ್ಲೂನ್ Name[ko]=왈론어 Name[ku]=Walûn Name[lb]=Wallounesch Name[lt]=Valonų Name[lv]=Valoņu Name[mai]=वालून Name[mk]=Валонски Name[ml]=വലൂണ്‍ Name[mr]=वालून Name[ms]=Walloon Name[nb]=Vallonsk Name[nds]=Walloonsch Name[ne]=वालोन Name[nl]=Waals Name[nn]=Vallonsk Name[oc]=Valon Name[or]=Walloon Name[pa]=ਵਾਲੂਨ Name[pl]=Waloński Name[ps]=والون Name[pt]=Valão Name[pt_BR]=Valão Name[ro]=Valonă Name[ru]=Валлонский Name[se]=Vallonagiella Name[si]=වැලූන් Name[sk]=Valónčina Name[sl]=walloonsko Name[sq]=Valone Name[sr]=валонски Name[sr@ijekavian]=валонски Name[sr@ijekavianlatin]=valonski Name[sr@latin]=valonski Name[sv]=Vallonska Name[ta]=வாலூன் Name[te]=వాలూన్ Name[tg]=Валунӣ Name[th]=ภาษาวัลลูน Name[tr]=Valonca -Name[ug]=ۋاللۇنچە +Name[ug]=ۋاللونچە Name[uk]=Валлонська Name[uz]=Valloncha Name[uz@cyrillic]=Валлонча -Name[vi]=Oua-lunh +Name[vi]=Walloon Name[wa]=Walon -Name[x-test]=xxWalloonxx Name[xh]=Walloon +Name[x-test]=xxWalloonxx Name[zh_CN]=瓦龙语 Name[zh_HK]=華隆語 Name[zh_TW]=華隆語 [wo] Name=Wolof Name[af]=Wolof Name[ar]=وولوف Name[as]=ৱ'ল'ফ Name[ast]=Wolof Name[be]=Волаф Name[be@latin]=Wolof Name[bg]=Уолоф Name[bn]=ওয়োলফ Name[bn_IN]=ওলুফ Name[br]=Wolof Name[bs]=Volof Name[ca]=Wolof Name[ca@valencia]=Wolof Name[cs]=Wolof Name[csb]=Wolof Name[cy]=Woloff Name[da]=Wolof Name[de]=Wolof Name[el]=Wolof Name[en_GB]=Wolof Name[eo]=Volofa Name[es]=Wolof Name[et]=Volofi Name[eu]=Wolofera Name[fa]=ولوف Name[fi]=Wolof Name[fr]=Wolof Name[fy]=Wolof Name[ga]=Volaifis Name[gl]=Wolof Name[gu]=વોલોફ Name[he]=וולוף Name[hi]=वालाफ़ Name[hne]=वालाफ Name[hr]=Volofski Name[hsb]=Wolof Name[hu]=Volof Name[ia]=Wolof Name[id]=Wolof Name[is]=Wolof Name[it]=Wolof Name[ja]=ウォロフ語 Name[kk]=Волофша Name[km]=វូឡុហ្វ Name[kn]=ವೋಲೋಫ್ Name[ko]=월로프어 Name[ku]=Wolof Name[lb]=Wolof-Sprooch Name[lt]=Wolof Name[lv]=Volofu Name[mai]=वालाफ़ Name[mk]=Волоф Name[ml]=വൊലോ Name[mr]=वालाफ़ Name[ms]=Wolof Name[nb]=Wolof Name[nds]=Wolof Name[ne]=वलोफ Name[nl]=Wolof Name[nn]=Wolof Name[oc]=Wolof Name[or]=Wolof Name[pa]=ਵੂਲੂਫ Name[pl]=Wolof Name[ps]=ولوف Name[pt]=Wolof Name[pt_BR]=Jalofo Name[ro]=Volofă Name[ru]=Волоф Name[se]=Volofagiella Name[si]=වොලොෆ් Name[sk]=Wolof Name[sl]=wolof Name[sq]=Wolof Name[sr]=волоф Name[sr@ijekavian]=волоф Name[sr@ijekavianlatin]=volof Name[sr@latin]=volof Name[sv]=Wolof Name[ta]=வொலொப் Name[te]=వొలొఫ్ Name[tg]=Волофӣ Name[th]=ภาษาวอลอฟ Name[tr]=Wolof Name[ug]=ۋولوفچە Name[uk]=Волоф Name[uz]=Volof Name[uz@cyrillic]=Волоф -Name[vi]=Ouo-lo-ph +Name[vi]=Wolof Name[wa]=Wolof -Name[x-test]=xxWolofxx Name[xh]=Wolof +Name[x-test]=xxWolofxx Name[zh_CN]=沃洛夫语 Name[zh_HK]=Wolof語 Name[zh_TW]=Wolof語 [xh] Name=Xhosa Name[af]=Xhosa Name[ar]=بهوسا Name[as]=জ'ছা Name[ast]=Xhosa Name[be]=Кшоса Name[be@latin]=Xhosa Name[bg]=Ксоса Name[bn]=জোসা Name[bn_IN]=জোসা Name[br]=Xhosa Name[bs]=Ksosa Name[ca]=Xosa Name[ca@valencia]=Xosa Name[cs]=Xhosa Name[csb]=Xhosa Name[cy]=Xhosa Name[da]=Xhosa Name[de]=Xhosa Name[el]=Xhosa Name[en_GB]=Xhosa Name[eo]=Kosa Name[es]=Xhosa Name[et]=Xhosa Name[eu]=Xhosera Name[fa]=زسایی Name[fi]=Xhosa Name[fr]=Xhosa Name[fy]=Xhosa Name[ga]=Cóisis Name[gl]=Xhosa Name[gu]=હોસા Name[he]=קוזה Name[hi]=झ़ोसा Name[hne]=झ़ोसा Name[hr]=Xhosa Name[hsb]=Xhosa Name[hu]=Xhosza Name[ia]=Xhosa Name[id]=Xhosa Name[is]=Xhosa Name[it]=Xhosa Name[ja]=コサ語 Name[kk]=Кхоса Name[km]=ឃូសា Name[kn]=ಗ್ಝೋಸಾ Name[ko]=코사어 Name[ku]=hosa Name[lb]=Xhosa Name[lt]=Xhosa Name[lv]=Khosu Name[mai]=झ़ोसा Name[mk]=Ксоса Name[ml]=ഖോസ Name[mr]=झ़ोसा Name[ms]=Xhosa Name[nb]=Xhosa Name[nds]=Xhosa Name[ne]=होसा Name[nl]=Xhosa Name[nn]=Xhosa Name[oc]=Xhosa Name[or]=Xhosa Name[pa]=ਝੋਸਾ Name[pl]=Xhosa Name[ps]=کوسا Name[pt]=Xhosa Name[pt_BR]=Xhosa Name[ro]=Xhosa Name[ru]=Коса Name[se]=Xhosagiella Name[si]=ෂොසා Name[sk]=Xhoština Name[sl]=xhosa Name[sq]=Xhosa Name[sr]=кхоса Name[sr@ijekavian]=кхоса Name[sr@ijekavianlatin]=khosa Name[sr@latin]=khosa Name[sv]=Xhosa Name[ta]=சோசா Name[te]=క్జొసా Name[tg]=Хоса Name[th]=ภาษาโคซา Name[tr]=Xhosa Name[ug]=كوساچە Name[uk]=Хоза Name[uz]=Xhosa Name[uz@cyrillic]=Хҳоса -Name[vi]=Xô-xa +Name[vi]=Xhosa Name[wa]=Xhossa -Name[x-test]=xxXhosaxx Name[xh]=isixhosa +Name[x-test]=xxXhosaxx Name[zh_CN]=科萨语 Name[zh_HK]=科薩語 Name[zh_TW]=科薩語 [x-test] Name=KDE Test Language Name[bg]=Пробен език за KDE Name[bs]=KDE Test jezik Name[ca]=Idioma de proves del KDE Name[ca@valencia]=Idioma de proves del KDE Name[cs]=Testovací jazyk KDE Name[da]=KDE-testsprog Name[de]=KDE-Testsprache Name[el]=Δοκιμαστική γλώσσα του KDE Name[en_GB]=KDE Test Language Name[es]=Idioma de pruebas de KDE Name[et]=KDE testkeel Name[eu]=KDE-ren proba hizkuntza Name[fa]=آزمون زبان KDE Name[fi]=KDE:n testikieli Name[fr]=Langue de test de KDE Name[gl]=Lingua de probas de KDE Name[hr]=KDE-ov pokusni jezik Name[hu]=KDE tesztnyelv Name[ia]=Linguage de essayo de KDE Name[is]=KDE prófunartungumál Name[it]=Lingua di prova KDE Name[ja]=KDE テスト言語 Name[kk]=KDE сынақ тілі Name[km]=ភាសា​សាកល្បង​របស់ KDE Name[ko]=KDE 테스트 언어 Name[lt]=KDE bandomoji kalba Name[lv]=KDE testēšanas valoda Name[nb]=KDE test-språk Name[nds]=KDE-Utprobeerspraak Name[nl]=KDE-testtaal Name[pa]=KDE ਟੈਸਟ ਭਾਸ਼ਾ Name[pl]=Język testowy KDE Name[pt]=Língua de Testes do KDE Name[pt_BR]=Idioma de teste do KDE Name[ro]=Limbă de test KDE Name[ru]=Тестовый язык KDE Name[se]=KDE-geahččalangiella Name[sk]=Testovací jazyk KDE Name[sr]=пробни језик Name[sr@ijekavian]=пробни језик Name[sr@ijekavianlatin]=probni jezik Name[sr@latin]=probni jezik Name[sv]=KDE testspråk Name[th]=ภาษาทดสอบ KDE Name[tr]=KDE Test Dili Name[ug]=KDE سىناق تىل Name[uk]=Тестова мова KDE +Name[vi]=Ngôn ngữ kiểm tra KDE Name[wa]=Saye di lingaedje KDE Name[x-test]=xxKDE Test Languagexx Name[zh_CN]=KDE 测试语言 Name[zh_TW]=KDE 測試語言 [yi] Name=Yiddish Name[af]=Yiddish Name[ar]=يديش Name[as]=যিদ্দিশ্ব Name[ast]=Yidis Name[be]=Ідыш Name[be@latin]=Idyš Name[bg]=Идиш Name[bn]=য়িড্ডিশ Name[bn_IN]=ইড্ডিশ Name[br]=Yiddish Name[bs]=Jidiš Name[ca]=Jiddisch Name[ca@valencia]=Jiddisch Name[cs]=Jidiš Name[csb]=Jidisz Name[cy]=Yideg Name[da]=Jiddisch Name[de]=Jiddish Name[el]=Yiddish Name[en_GB]=Yiddish Name[eo]=Jida Name[es]=Yiddish Name[et]=Jidiš Name[eu]=Jiddish Name[fa]=عبری Name[fi]=Jiddiš Name[fr]=Yiddish Name[fy]=Jiddysk Name[ga]=Giúdais Name[gl]=Iídiche Name[gu]=યિદ્દિશ Name[he]=יידיש Name[hi]=यिड्डिष Name[hne]=यिड्डिस Name[hr]=Jidiš Name[hsb]=Jidisce Name[hu]=Jiddis Name[ia]=Yiddish Name[id]=Yiddish Name[is]=Jiddíska Name[it]=Yiddish Name[ja]=イディッシュ語 Name[kk]=Идиш Name[km]=យីឌីហ្ស Name[kn]=ಯಿದ್ದಿಷ್ Name[ko]=이디시어 Name[ku]=Yidî Name[lb]=Jiddesch Name[lt]=Jidiš Name[lv]=Jidišs Name[mai]=यिड्डिश Name[mk]=Еврејски Name[ml]=യിദ്ദിഷ് Name[mr]=यिड्डिष Name[ms]=Yiddish Name[nb]=Jiddisk Name[nds]=Jiddsch Name[ne]=यीडिस Name[nl]=Yiddish Name[nn]=Jiddisch Name[oc]=Yiddish Name[or]=Yiddish Name[pa]=ਯੀਡਿਸ਼ Name[pl]=Jidysz Name[ps]=يډېش Name[pt]=Yiddish Name[pt_BR]=Iídiche Name[ro]=Idiș Name[ru]=Идиш Name[se]=Jiddišgiella Name[si]=යිඩිෂ් Name[sk]=Jidiš Name[sl]=yiddish Name[sq]=Jidish Name[sr]=јидиш Name[sr@ijekavian]=јидиш Name[sr@ijekavianlatin]=jidiš Name[sr@latin]=jidiš Name[sv]=Yiddish Name[ta]=யிட்டிஷ் Name[te]=యిడ్డిష్ Name[tg]=Юйдишӣ Name[th]=ภาษายิดดิช Name[tr]=Yiddish Name[ug]=يىددىشچە Name[uk]=Ідиш Name[uz]=Yiddish Name[uz@cyrillic]=Йиддиш -Name[vi]=Y-đít +Name[vi]=Yiddish Name[wa]=Yidish -Name[x-test]=xxYiddishxx Name[xh]=Yiddish +Name[x-test]=xxYiddishxx Name[zh_CN]=依地语 Name[zh_HK]=意第緒語 Name[zh_TW]=意第緒語 [yo] Name=Yoruba Name[af]=Yoruba Name[ar]=يوروبا Name[as]=য'ৰুবা Name[ast]=Yoruba Name[be]=Яруба Name[be@latin]=Yoruba Name[bg]=Йоруба Name[bn]=য়োরুবা Name[bn_IN]=ইওরুবা Name[br]=Yoruba Name[bs]=Joruba Name[ca]=Ioruba Name[ca@valencia]=Ioruba Name[cs]=Yoruba Name[csb]=Yoruba Name[cy]=Yoruba Name[da]=Yoruba Name[de]=Yoruba Name[el]=Yoruba Name[en_GB]=Yoruba Name[eo]=Joruba Name[es]=Yoruba Name[et]=Joruba Name[eu]=Jorubera Name[fa]=یوروبا Name[fi]=Joruba Name[fr]=Yoruba Name[fy]=Yoruba Name[ga]=Iarúibis Name[gl]=Yorubá Name[gu]=યોરુબા Name[he]=יורובה Name[hi]=योरुबा Name[hne]=योरुबा Name[hr]=Yoruba Name[hsb]=Yoruba Name[hu]=Joruba Name[ia]=Yoruba Name[id]=Yoruba Name[is]=Yoruba Name[it]=Yoruba Name[ja]=ヨルバ語 Name[kk]=Йоруба Name[km]=យរូបា Name[kn]=ಯೋರುಬಾ Name[ko]=요루바어 Name[ku]=Yoruba Name[lb]=Yoruba-Sprooch Name[lt]=Yoruba Name[lv]=Jorubu Name[mai]=योरुबा Name[mk]=Јоруба Name[ml]=യോറൂബ Name[mr]=योरुबा Name[ms]=Yoruba Name[nb]=Yoruba Name[nds]=Yoruba Name[ne]=योरुबा Name[nl]=Yoruba Name[nn]=Joruba Name[or]=Yoruba Name[pa]=ਯੂਰੋਬਾ Name[pl]=Yoruba Name[ps]=يوروبا Name[pt]=Yoruba Name[pt_BR]=Iorubá Name[ro]=Iorubă Name[ru]=Йоруба Name[se]=Jorubagiella Name[si]=යොරුබා Name[sk]=Jorubčina Name[sl]=yoruba Name[sq]=Joruba Name[sr]=јоруба Name[sr@ijekavian]=јоруба Name[sr@ijekavianlatin]=joruba Name[sr@latin]=joruba Name[sv]=Yoruba Name[ta]=யொரூபா Name[te]=యొరుబా Name[tg]=Ёрубавӣ Name[th]=ภาษาโยรูบา Name[tr]=Yoruba Name[ug]=يورۇباچە Name[uk]=Йоруба Name[uz]=Yoruba Name[uz@cyrillic]=Ёруба -Name[vi]=Yô-ru-ba +Name[vi]=Yoruba Name[wa]=Yorouba -Name[x-test]=xxYorubaxx Name[xh]=Yoruba +Name[x-test]=xxYorubaxx Name[zh_CN]=约鲁巴语 Name[zh_HK]=優魯巴語 Name[zh_TW]=優魯巴語 [za] Name=Zhuang Name[af]=Zhuang Name[ar]=جوانغ Name[as]=ঝুৱাঙ Name[ast]=Zhuang Name[be]=Цванг Name[be@latin]=Zhuang Name[bg]=Жуанг Name[bn]=ঝুয়াং Name[bn_IN]=জুয়াং Name[br]=Zhuang Name[bs]=Žuang Name[ca]=Zhuang Name[ca@valencia]=Zhuang Name[cs]=Zhuang Name[csb]=Zhuang Name[cy]=Zhuang Name[da]=Zhuang Name[de]=Zhuang Name[el]=Zhuang Name[en_GB]=Zhuang Name[eo]=Ĝuanga Name[es]=Zhuang Name[et]=Zhuangi Name[eu]=Zhuang Name[fa]=هونگ Name[fi]=Zhuang Name[fr]=Zhuang Name[fy]=Zhuang Name[ga]=Siuáingis Name[gl]=Chuan Name[gu]=હુઆંગ Name[he]=ג'ואנג Name[hi]=झुआंग Name[hne]=झुआंग Name[hr]=Zhuang Name[hsb]=Zhuang Name[hu]=Zhuang Name[ia]=Zhuang Name[id]=Zhuang Name[is]=Zhuang Name[it]=Zhuang Name[ja]=チュワン語 Name[kk]=Зуангша Name[km]=ចួង Name[kn]=ಝುವಾಂಗ್ Name[ko]=좡어 Name[ku]=Zhuang Name[lb]=Zhuang Name[lt]=Zhuang Name[lv]=Džuanu Name[mai]=झुआंग Name[mk]=Жуанг Name[ml]=ഹുവാങ് Name[mr]=झुआंग Name[ms]=Zhuang Name[nb]=Zhuang Name[nds]=Zhuang Name[ne]=झिआङ Name[nl]=Zhuang Name[nn]=Zhuang Name[or]=Zhuang Name[pa]=ਜ਼ੂੰਗ Name[pl]=Zhuang Name[pt]=Zhuang Name[pt_BR]=Zhuang Name[ro]=Zhuang Name[ru]=Чжуанский Name[se]=Zhuangagiella Name[si]=ෂුවෑං Name[sk]=Čuangčina Name[sl]=zhuang Name[sq]=Zhuang Name[sr]=жуанг Name[sr@ijekavian]=жуанг Name[sr@ijekavianlatin]=žuang Name[sr@latin]=žuang Name[sv]=Zhuang Name[ta]=சுவாங் Name[te]=జువాంగ్ Name[tg]=Ҷуангӣ Name[th]=ภาษาจ้วง Name[tr]=Zhuang Name[ug]=جۇاڭچە Name[uk]=Чжуань Name[uz]=Zxuang Name[uz@cyrillic]=Зхуанг -Name[vi]=Xuang +Name[vi]=Zhuang Name[wa]=Zhuang -Name[x-test]=xxZhuangxx Name[xh]=Zhuang +Name[x-test]=xxZhuangxx Name[zh_CN]=壮语 Name[zh_HK]=Zhuang語 Name[zh_TW]=Zhuang語 [zh] Name=Chinese Name[af]=Sjinees Name[ar]=صينية Name[as]=চীনা Name[ast]=Chinu Name[be]=Кітайская Name[be@latin]=Kitajskaja Name[bg]=Китайски Name[bn]=চৈনিক Name[bn_IN]=চিনা Name[br]=Sinaeg Name[bs]=Kineski Name[ca]=Xinès Name[ca@valencia]=Xinés Name[cs]=Čínský Name[csb]=Chińsczi Name[cy]=Tseineeg Name[da]=Kinesisk Name[de]=Chinesisch Name[el]=Κινέζικα Name[en_GB]=Chinese Name[eo]=Ĉina Name[es]=Chino Name[et]=Hiina Name[eu]=Txinera Name[fa]=چینی Name[fi]=Kiina Name[fr]=Chinois Name[fy]=Sjineesk Name[ga]=Sínis Name[gl]=Chinés Name[gu]=ચાઇનિઝ Name[he]=סינית Name[hi]=चीनी Name[hne]=चीनी Name[hr]=Kineski Name[hsb]=Chinsce Name[hu]=Kínai Name[ia]=Chinese Name[id]=China Name[is]=Kínverska Name[it]=Cinese Name[ja]=中国語 Name[kk]=Қытайша Name[km]=ចិន Name[kn]=ಚೀನೀ Name[ko]=중국어 Name[ku]= Çînî Name[lb]=Chinesesch Name[lt]=Kiniečių Name[lv]=Ķīniešu Name[mai]=चीनी Name[mk]=Кинески Name[ml]=ചൈനീസ് Name[mr]=चायनिज Name[ms]=China Name[nb]=Kinesisk Name[nds]=Chineesch Name[ne]=चिनियाँ Name[nl]=Chinees Name[nn]=Kinesisk Name[oc]=Chinés Name[or]=Chinese Name[pa]=ਚੀਨੀ Name[pl]=Chiński Name[ps]=چينايي Name[pt]=Chinês Name[pt_BR]=Chinês Name[ro]=Chineză Name[ru]=Китайский Name[se]=Kiinnágiella Name[si]=චීන Name[sk]=Čínština Name[sl]=kitajsko Name[sq]=Kineze Name[sr]=кинески Name[sr@ijekavian]=кинески Name[sr@ijekavianlatin]=kineski Name[sr@latin]=kineski Name[sv]=Kinesiska Name[ta]=சீனம் Name[te]=చైనీస్ Name[tg]=Хитоӣ Name[th]=ภาษาจีน Name[tr]=Çince Name[ug]=خەنزۇچە Name[uk]=Китайська Name[uz]=Xitoycha Name[uz@cyrillic]=Хитойча -Name[vi]=Hoa +Name[vi]=Trung Quốc Name[wa]=Chinwès -Name[x-test]=xxChinesexx Name[xh]=Isitshayina +Name[x-test]=xxChinesexx Name[zh_CN]=中文 Name[zh_HK]=中文 Name[zh_TW]=中文 [zh_CN] Name=Chinese Simplified Name[af]=Sjinees vereenvoudig Name[ar]=صينية مبسطة Name[as]=চীনা সৰল কৰা Name[ast]=Chinu simplificáu Name[be]=Кітайская спрошчаная Name[be@latin]=Kitajskaja sproščanaja Name[bg]=Китайски опростен Name[bn]=সরলীকৃত চৈনিক Name[bn_IN]=চিনা (সরলীকৃত) Name[br]=Sineg eeun Name[bs]=Kineski pojednostavljeni Name[ca]=Xinès simplificat Name[ca@valencia]=Xinés simplificat Name[cs]=Čínský (zjednodušená) Name[csb]=Chińsczi Prosti Name[cy]=Tseineeg Syml Name[da]=Kinesisk simplificeret Name[de]=Chinesisch (Kurzzeichen) Name[el]=Κινέζικα απλά Name[en_GB]=Chinese Simplified Name[eo]=Ĉina, simpligita Name[es]=Chino simplificado Name[et]=Hiina (lihtsustatud) Name[eu]=Txinatar soildua Name[fa]=زبان چینی ساده‌شده Name[fi]=Yksinkertaistettu kiina Name[fr]=Chinois simplifié Name[fy]=Sjineesk (ynfaldich) Name[ga]=Sínis Simplithe Name[gl]=Chinés simplificado Name[gu]=સરળ ચાઇનિઝ Name[he]=סינית מפושטת Name[hi]=चीनी सरल Name[hne]=चीनी सरल Name[hr]=Kineski pojednostavljen Name[hsb]=Chinsce (zjednorjene) Name[hu]=Kínai (egyszerűsített) Name[ia]=Chinese Simplificate Name[id]=China Disederhanakan Name[is]=Einfölduð kínverska Name[it]=Cinese semplificato Name[ja]=中国語 簡体字 Name[kk]=Жеңілдеткен қытайша Name[km]=ចិនសាមញ្ញ Name[kn]=ಸರಳ ಚಿನೀ Name[ko]=중국어 간체 Name[ku]=Çîniya Hêsankirî Name[lb]=Einfacht Chinesesch Name[lt]=Kinų supaprastinta Name[lv]=Ķīniešu vienkāršotā Name[mai]=चीनी (सरल) Name[mk]=Кинески поедноставен Name[ml]=ലളിതമായ ചൈനീസ് Name[mr]=विश्लेषीत चिनी Name[ms]=Chinese Simplified Name[nb]=Forenklet kinesisk Name[nds]=Vereenfacht Chineesch Name[ne]=सरलीकृत चिनियाँ Name[nl]=Chinees (Vereenvoudigd) Name[nn]=Kinesisk (forenkla) Name[oc]=Chinés simplificat Name[or]=Chinese Simplified Name[pa]=ਚੀਨੀ ਸਧਾਰਨ Name[pl]=Chiński uproszczony Name[ps]=چينايي ساده Name[pt]=Chinês Simplificado Name[pt_BR]=Chinês simplificado Name[ro]=Chineză simplificată Name[ru]=Китайский (Китай) Name[se]=Álkiduvvon kiinnágiella Name[si]=චීන සරළ Name[sk]=Čínština (zjednodušená) Name[sl]=poenostavljeno kitajsko Name[sq]=Kineze e Thjeshtëzuar Name[sr]=кинески, поједностављени Name[sr@ijekavian]=кинески, поједностављени Name[sr@ijekavianlatin]=kineski, pojednostavljeni Name[sr@latin]=kineski, pojednostavljeni Name[sv]=Förenklad kinesiska Name[ta]=எளியமையான சீனம் Name[te]=సరళికరించిన చైనీస్ Name[tg]=Хитоии Оддӣ Name[th]=ภาษาจีนประยุกต์ Name[tr]=Basitleştirilmiş Çince Name[ug]=ئاددىي خەنزۇچە Name[uk]=Китайська (спрощена) Name[uz]=Soddalashtirilgan Xitoycha Name[uz@cyrillic]=Соддалаштирилган Хитойча -Name[vi]=Hoa (phổ thông) +Name[vi]=Trung Quốc giản thể Name[wa]=Chinwès simplifyî Name[x-test]=xxChinese Simplifiedxx Name[zh_CN]=简体中文 Name[zh_HK]=簡體中文 Name[zh_TW]=簡體中文 [zh_HK] Name=Chinese (Hong Kong) Name[af]=Sjinees (Hong Kong) Name[ar]=صينية (هونغ كونغ) Name[as]=চীনা (হং কং) Name[ast]=Chinu (Hong Kong) Name[be]=Кітайская (Гонг-Конг) Name[be@latin]=Kitajskaja (Hong Kong) Name[bg]=Китайски (Хонг Конг) Name[bn]=চৈনিক (হংকং) Name[bn_IN]=চিনা (হং কং) Name[br]=Sinaeg (Hong Kong) Name[bs]=Kineski(Hong Kong) Name[ca]=Xinès (Hong Kong) Name[ca@valencia]=Xinés (Hong Kong) Name[cs]=Čínský (Hong Kong) Name[csb]=Chińsczi (Hong Kong) Name[da]=Kinesisk (Hong Kong) Name[de]=Chinesisch (Hongkong) Name[el]=Κινέζικα (Χονγκ Κονγκ) Name[en_GB]=Chinese (Hong Kong) Name[eo]=Ĉina (Honkongo) Name[es]=Chino (Hong Kong) Name[et]=Hiina (Hong Kong) Name[eu]=Txinera (Hong Kong) Name[fa]=چینی)هنگ کنگ( Name[fi]=Kiina (Hongkong) Name[fr]=Chinois (Hong Kong) Name[fy]=Sjineesk (Hong Kong) Name[ga]=Sínis (Hong Cong) Name[gl]=Chinés (Hong Kong) Name[gu]=ચાઇનિઝ (હોંગ કોંગ) Name[he]=סינית (הונג קונג) Name[hi]=चीनी (हांग कांग) Name[hne]=चीनी (हांग कांग) Name[hr]=Kineski (Hong Kong) Name[hsb]=Chinsce (Hong Kong) Name[hu]=Kínai (hongkongi) Name[ia]=Chinese (Hong Kong) Name[id]=China (Hong Kong) Name[is]=Kínverska (Hong Kong) Name[it]=Cinese (Hong Kong) Name[ja]=中国語 (香港) Name[kk]=Қытайша (Сянган) Name[km]=ចិន (ហុងកុង) Name[kn]=ಹಾಂಗ್ ಕಾಂಗ್ ಚೀನೀ Name[ko]=중국어 (홍콩) Name[ku]=Çînî (Hong Kong) Name[lb]=Chinesesch (Hong Kong) Name[lt]=Kiniečių (Honkongo) Name[lv]=Ķīniešu (Honkongas) Name[mai]=चीनी (हाँगकाँग) Name[mk]=Кинески (Хонг Конг) Name[ml]=ചൈനീസ് (ഹോങ് കോങ്) Name[mr]=चायनिज (हॉन्ग कॉन्ग) Name[ms]=China (Hong Kong) Name[nb]=Kinesisk (Hong kong) Name[nds]=Chineesch (Hong Kong) Name[ne]=चिनियाँ (हङकङ) Name[nl]=Chinees (Hong Kong) Name[nn]=Kinesisk (Hong Kong) Name[oc]=Chinés (Hong Kong) Name[or]=Chinese (Hong Kong) Name[pa]=ਚੀਨੀ (ਹਾਂਗਕਾਂਗ) Name[pl]=Chiński (Hong Kong) Name[ps]=چينايي (هانګ کانګ) Name[pt]=Chinês (Hong Kong) Name[pt_BR]=Chinês (Hong Kong) Name[ro]=Chineză (Hong Kong) Name[ru]=Китайский (Гонконг) Name[se]=Kiinnágiella (Hong Kong) Name[si]=චීන (හොං කොං) Name[sk]=Čínština (Hongkong) Name[sl]=kitajsko (Hong Kong) Name[sq]=Kineze (Hong Kong) Name[sr]=кинески (хонконшки) Name[sr@ijekavian]=кинески (хонконшки) Name[sr@ijekavianlatin]=kineski (honkonški) Name[sr@latin]=kineski (honkonški) Name[sv]=Kinesiska (Hong Kong) Name[ta]=சீனம் (ஹாங் காங்) Name[te]=చైనీస్ (హాంగ్ కాంగ్) Name[tg]=Хитоии Гон Конгӣ Name[th]=ภาษาจีน (ฮ่องกง) Name[tr]=Çince (Hong Kong) Name[ug]=خەنزۇچە (شياڭگاڭ) Name[uk]=Китайська (Гонконг) Name[uz]=Xitoycha (Gongkong) Name[uz@cyrillic]=Хитойча (Гонгконг) -Name[vi]=Hoa (Hồng Kông) +Name[vi]=Tiếng Trung (Hồng Kông) Name[wa]=Chinwès (Hong Kong) Name[x-test]=xxChinese (Hong Kong)xx Name[zh_CN]=繁体中文(香港) Name[zh_TW]=正體中文(香港) [zh_TW] Name=Chinese Traditional Name[af]=Sjinees tradisioneel Name[ar]=صينية تقليدية Name[as]=চীনা পাৰম্পৰিক Name[ast]=Chinu tradicional Name[be]=Кітайская традыцыйная Name[be@latin]=Kitajskaja tradycyjnaja Name[bg]=Китайски традиционен Name[bn]=পারম্পরিক চৈনিক Name[bn_IN]=চিনা(পারম্পরিক) Name[br]=Sinaeg da gustum Name[bs]=Kineski(tradicionalni) Name[ca]=Xinès tradicional Name[ca@valencia]=Xinés tradicional Name[cs]=Čínský (tradiční) Name[csb]=Chińsczi Tradicëjny Name[cy]=Tsieineeg Traddodiadol Name[da]=Kinesisk traditionel Name[de]=Chinesisch (Langzeichen) Name[el]=Κινέζικα παραδοσιακά Name[en_GB]=Chinese Traditional Name[eo]=Ĉina, tradicia Name[es]=Chino tradicional Name[et]=Hiina (traditsiooniline) Name[eu]=Txinatar tradizionala Name[fa]=چینی سنتی Name[fi]=Perinteinen kiina Name[fr]=Chinois traditionnel Name[fy]=Sjineesk (tradisjoniel) Name[ga]=Sínis Thraidisiúnta Name[gl]=Chinés tradicional Name[gu]=પરંપરાગત ચાઇનિઝ Name[he]=סינית מסורתית Name[hi]=चीनी परम्परिक Name[hne]=चीनी परम्परिक Name[hr]=Kineski tradicionalan Name[hsb]=Chinsce (tradicionalnje) Name[hu]=Kínai (hagyományos) Name[ia]=Chinese Traditional Name[id]=China Tradisional Name[is]=Hefðbundin kínverska Name[it]=Cinese tradizionale Name[ja]=中国語 繁体字 Name[kk]=Дәстүрлі қытайша Name[km]=ចិន​បុរាណ Name[kn]=ಸಾಂಪ್ರದಾಯಿಕ ಚಿನೀ Name[ko]=중국어 번체 Name[ku]=Çîniya Kevneşopî Name[lb]=Traditionellt Chinesesch Name[lt]=Kinų tradicinė Name[lv]=Ķīniešu tradicionālā Name[mai]=चीनी पारम्परिक Name[mk]=Кинески традиционален Name[ml]=പുരാതന ചൈനീസ് Name[mr]=पारंपारिक चिनी Name[ms]=Chinese Traditional Name[nb]=Tradisjonell kinesisk Name[nds]=Traditschonell Chineesch Name[ne]=चिनियाँ परम्परागत Name[nl]=Chinees (Traditioneel) Name[nn]=Kinesisk (tradisjonell) Name[oc]=Chinés tradicional Name[or]=Chinese Traditional Name[pa]=ਚੀਨੀ ਮੂਲ Name[pl]=Chiński tradycyjny Name[ps]=چينايي هڅوبي Name[pt]=Chinês Tradicional Name[pt_BR]=Chinês tradicional Name[ro]=Chineză tradițională Name[ru]=Китайский (Тайвань) Name[se]=Árbevirolaš kiinnágiella Name[si]=චීන සාම්ප්‍රදායික Name[sk]=Čínština (tradičná) Name[sl]=tradicionalno kitajsko Name[sq]=Kineze Tradicionale Name[sr]=кинески, традиционални Name[sr@ijekavian]=кинески, традиционални Name[sr@ijekavianlatin]=kineski, tradicionalni Name[sr@latin]=kineski, tradicionalni Name[sv]=Traditionell kinesiska Name[ta]=பழஞ்சீனம் Name[te]=సాంప్రదాయక చైనీస్ Name[tg]=Хитоии Анъанавӣ Name[th]=ภาษาจีนดั้งเดิม Name[tr]=Geleneksel Çince Name[ug]=مۇرەككەپ خەنزۇچە Name[uk]=Китайська (традиційна) Name[uz]=Anʼanaviy Xitoycha Name[uz@cyrillic]=Анъанавий Хитойча -Name[vi]=Hoa (truyền thống) +Name[vi]=Trung Quốc phồn thể Name[wa]=Chinwès tradicionel Name[x-test]=xxChinese Traditionalxx Name[zh_CN]=繁体中文 Name[zh_HK]=繁體中文 Name[zh_TW]=正體中文 [zu] Name=Zulu Name[af]=Zoeloe Name[ar]=زولو Name[as]=জুলু Name[ast]=Zulú Name[be]=Зулуская Name[be@latin]=Zuluskaja Name[bg]=Зулу Name[bn]=জুলু Name[bn_IN]=জুলু Name[br]=Zouloued Name[bs]=Zulu Name[ca]=Zulu Name[ca@valencia]=Zulu Name[cs]=Zulu Name[csb]=Zulusczi Name[cy]=Zulu Name[da]=Zulu Name[de]=Zulu Name[el]=Zulu Name[en_GB]=Zulu Name[eo]=Zulua Name[es]=Zulú Name[et]=Suulu Name[eu]=Zuluera Name[fa]=ناتالی Name[fi]=Zulu Name[fr]=Zoulou Name[fy]=Zulu Name[ga]=Súlúis Name[gl]=Zulú Name[gu]=ઝુલુ Name[he]=זולו Name[hi]=ज़ुलु Name[hne]=जुलु Name[hr]=Zulu Name[hsb]=Zulu Name[hu]=Zulu Name[ia]=Zulu Name[id]=Zulu Name[is]=Zúlú Name[it]=Zulu Name[ja]=ズールー語 Name[kk]=Зулу Name[km]=ហ្ស៊ូលូ Name[kn]=ಜುಲು Name[ko]=줄루어 Name[ku]=Zûlû Name[lb]=Zulu Name[lt]=Zulu Name[lv]=Zulu Name[mai]=जूलु Name[mk]=Зулу Name[ml]=സുലു Name[mr]=ज़ुलु Name[ms]=Zulu Name[nb]=Zulu Name[nds]=Zulu Name[ne]=जुलु Name[nl]=Zulu Name[nn]=Zulu Name[oc]=Zolo Name[or]=ଜୁଲୁ Name[pa]=ਜ਼ੂਲੂ Name[pl]=Zuluski Name[ps]=زولو Name[pt]=Zulu Name[pt_BR]=Zulu Name[ro]=Zulu Name[ru]=Зулусский Name[se]=Zulugiella Name[si]=සූලු Name[sk]=Zuluština Name[sl]=zulu Name[sq]=Zulu Name[sr]=зулу Name[sr@ijekavian]=зулу Name[sr@ijekavianlatin]=zulu Name[sr@latin]=zulu Name[sv]=Zulu Name[ta]=சுலு Name[te]=జూలు Name[tg]=Зулу Name[th]=ภาษาซูลู Name[tr]=Zulu Name[ug]=زۇلۇچە Name[uk]=Зулуська Name[uz]=Zulucha Name[uz@cyrillic]=Зулуча -Name[vi]=Xu-lu +Name[vi]=Zulu Name[wa]=Zoulou -Name[x-test]=xxZuluxx Name[xh]=Isizulu +Name[x-test]=xxZuluxx Name[zh_CN]=祖鲁语 Name[zh_HK]=袓魯語 Name[zh_TW]=袓魯語 diff --git a/kdecore/localization/entry.desktop b/kdecore/localization/entry.desktop index 5cedf795da..d1b143d0f5 100644 --- a/kdecore/localization/entry.desktop +++ b/kdecore/localization/entry.desktop @@ -1,54 +1,55 @@ [KCM Locale] Name=US English Name[bg]=Американски английски Name[bs]=Američki engleski Name[ca]=Anglès US Name[ca@valencia]=Anglés US Name[cs]=Anglický (US) Name[da]=Engelsk (US) Name[de]=US-Englisch Name[el]=Αγγλική ΗΠΑ Name[en_GB]=US English Name[es]=Inglés de EE. UU. Name[et]=USA inglise Name[eu]=AEBetako Ingelesa Name[fa]=انگلیسی امریکایی Name[fi]=Amerikanenglanti Name[fr]=Anglais américain Name[gl]=Inglés americano Name[hr]=Američki engleski Name[hu]=Angol (amerikai) Name[ia]=Anglese de SU Name[is]=Bandarísk enska (en-us Name[it]=Inglese americano Name[ja]=米語 Name[kk]=Ағылшынша (АҚШ) Name[km]=អង់គ្លេស សហរដ្ឋអាមេរិក Name[ko]=미국 영어 Name[lt]=JAV anglų Name[lv]=ASV angļu Name[nb]=Engelsk (USA) Name[nds]=Engelsch (US) Name[nl]=VS Engels Name[pa]=ਅਮਰੀਕੀ ਅੰਗਰੇਜ਼ੀ Name[pl]=Angielski amerykański Name[pt]=Inglês (EUA) Name[pt_BR]=Inglês dos EUA Name[ro]=Engleză SUA Name[ru]=Английский (США) Name[se]=Amerihkálaš eŋgelasgiella Name[si]=එ.ජ. ඉංග්‍රීසි Name[sk]=Americká angličtina Name[sr]=амерички енглески Name[sr@ijekavian]=амерички енглески Name[sr@ijekavianlatin]=američki engleski Name[sr@latin]=američki engleski Name[sv]=Amerikansk engelska Name[th]=ภาษาอังกฤษ อเมริกัน Name[tr]=Amerikan İngilizcesi Name[ug]=ئامېرىكا ئىنگلىزچە Name[uk]=Англійська (США) +Name[vi]=Tiếng Anh (Mỹ) Name[wa]=Inglès des Estats-Unis Name[x-test]=xxUS Englishxx Name[zh_CN]=美国英语 Name[zh_TW]=美式英語 diff --git a/kdecore/network/kssld/kssld.desktop b/kdecore/network/kssld/kssld.desktop index 05890ee522..c3fa3fff01 100644 --- a/kdecore/network/kssld/kssld.desktop +++ b/kdecore/network/kssld/kssld.desktop @@ -1,123 +1,125 @@ [Desktop Entry] Type=Service X-KDE-ServiceTypes=KDEDModule X-KDE-Library=kssld X-KDE-DBus-ModuleName=kssld X-KDE-Kded-autoload=false X-KDE-Kded-load-on-demand=true Name=SSL Certificate Policy Name[bg]=Политика за SSL-сертификати Name[bs]=SSL certifikat o privatnosti Name[ca]=Política de certificats SSL Name[ca@valencia]=Política de certificats SSL Name[cs]=Chování SSL certifikátů Name[da]=Politik for SSL-certifikat Name[de]=SSL-Zertifikat-Regel Name[el]=Πολιτική πιστοποιητικών SSL Name[en_GB]=SSL Certificate Policy Name[es]=Política de certificados SSL Name[et]=SSL sertifikadi reegel Name[eu]=SSL ziurtagiri politika Name[fi]=SSL-varmennekäytäntö Name[fr]=Politique de certificats SSL Name[ga]=Polasaí Teastas SSL Name[gl]=Política de certificados de SSL Name[hr]=SSL certificirana pravila Name[hu]=SSL tanúsítvány-házirend Name[ia]=Politica del certificato SSL Name[id]=Kebijakan Sertifikat SSL Name[is]=SSL skilríkjastefna Name[it]=Regole certificati SSL Name[ja]=SSL 証明書のポリシー Name[kk]=SSL күәлік ережесі Name[km]=គោលនយោបាយ​វិញ្ញាបនបត្រ SSL Name[kn]=SSL ಪ್ರಮಾಣಪತ್ರ ನೀತಿ Name[ko]=SSL 인증서 정책 Name[ku]=Polîçeya Bawernameya SSL Name[lt]=SSL liudijimų politika Name[lv]=SSL sertifikātu politika Name[ms]=Polisi Sijil SSL Name[nb]=SSL-sertifikatpraksis Name[nds]=SSL-Zertifikatregel Name[nl]=SSL-certificaat-beleid Name[pa]=SSL ਸਰਟੀਫਿਕੇਟ ਪਾਲਸੀ Name[pl]=Polityka certyfikatów SSL Name[pt]=Política de Certificados SSL Name[pt_BR]=Política de certificados SSL Name[ro]=Politică de certificate SSL Name[ru]=Политика сертификатов SSL Name[se]=SSL-sertifikáhttanjuolggadusat Name[si]=SSL සහතික ප්‍රතිපත්තිය Name[sk]=Politika SSL certifikátov Name[sl]=Pravila za potrdila SSL Name[sr]=Смернице ССЛ сертификата Name[sr@ijekavian]=Смјернице ССЛ сертификата Name[sr@ijekavianlatin]=Smjernice SSL sertifikata Name[sr@latin]=Smernice SSL sertifikata Name[sv]=SSL-certifikatpolicy Name[ta]=SSL சான்று கொள்கை Name[tg]=Сиёсати иҷозатномаи SSL Name[th]=นโยบายสำหรับใบรับรอง SSL Name[tr]=SSL Sertifika Politikası Name[ug]=SSL گۇۋاھنامە تەدبىرى Name[uk]=Правила для сертифікатів SSL +Name[vi]=Chế độ chứng chỉ SSL Name[wa]=Politike d' acertinaedje SSL Name[x-test]=xxSSL Certificate Policyxx Name[zh_CN]=SSL 证书策略 Name[zh_TW]=SSL 憑證政策 Comment=Provides SSL certificate policy to applications Comment[bg]=Осигурява управление на SSL-сертификати за приложения Comment[bs]=Pruža programima smjernice za SSL sertifikate Comment[ca]=Proporciona la política de certificats SSL a les aplicacions Comment[ca@valencia]=Proporciona la política de certificats SSL a les aplicacions Comment[cs]=Poskytuje politiky SSL certifikátů pro aplikace Comment[da]=Leverer politik for SSL-certifikat til programmer Comment[de]=SSL-Zertifikat-Regel den Anwendungen zur Verfügung stellen Comment[el]=Παρέχει την πολιτική πιστοποιητικών SSL στις εφαρμογές Comment[en_GB]=Provides SSL certificate policy to applications Comment[es]=Proporciona a las aplicaciones una política de certificados SSL Comment[et]=SSL sertifikaadi reegli edastamine rakendustele Comment[eu]=Aplikazioei SSL ziurtagiri politika hornitzen die Comment[fi]=Tarjoaa SSL-varmennekäytännön sovelluksille Comment[fr]=Fournit une politique de certificats SSL aux applications Comment[ga]=Soláthraíonn sé polasaí teastas SSL d'fheidhmchláir Comment[gl]=Fornece a política de certificados de SSL para os programas Comment[hr]=Pruža SSL certificirana pravila aplikacijama Comment[hu]=SSL tanúsítvány-házirend biztosítása alkalmazásokhoz Comment[ia]=Il forni le politica de certification SSL pro le applicationes Comment[id]=Menyediakan kebijakan sertifikat SSL bagi aplikasi Comment[is]=Gefur út stefnu fyrir SSL-skilríki til forrita Comment[it]=Fornisce alle applicazioni regole per i certificati SSL Comment[ja]=アプリケーションに SSL 証明書のポリシーを提供 Comment[kk]=Қолданбалар үшін SSL күәлік ережелерін орнату Comment[km]=ផ្ដល់​គោលនយោបាយ​វិញ្ញាបនបត្រ​ SSL ដល់​កម្មវិធី Comment[ko]=프로그램에 SSL 인증서 정책을 알려 줍니다 Comment[ku]=Ji bo sepanan plîçeya bawernameya SSL peyde dike Comment[lv]=Nodrošina programmas ar SSL politiku Comment[nb]=Forsyner programmer med praksis for SSL-sertifikater Comment[nds]=Stellt SSL-Zertifikaatregeln för Programmen praat. Comment[nl]=Levert het SSL-certificaat-beleid aan applicaties Comment[pa]=ਐਪਲੀਕੇਸ਼ਨਾਂ ਲਈ SSL ਸਰਟੀਫਿਕੇਟ ਪਾਲਸੀ ਦਿੰਦਾ ਹੈ Comment[pl]=Udostępnia politykę certyfikatów SSL programom Comment[pt]=Fornece uma política de certificados SSL às aplicações Comment[pt_BR]=Fornece uma política de certificados SSL aos aplicativos Comment[ro]=Oferă applicațiilor politică de certificate SSL Comment[ru]=Политика сертификатов SSL для приложений Comment[se]=Addá sertifikáhttanjuolggadusaid prográmmaide Comment[sk]=Poskytuje politiku SSL certifikátov pre aplikácie Comment[sl]=Programom ponuja dostop do pravil za potrdila SSL Comment[sr]=Пружа програмима смернице за ССЛ сертификате Comment[sr@ijekavian]=Пружа програмима смјернице за ССЛ сертификате Comment[sr@ijekavianlatin]=Pruža programima smjernice za SSL sertifikate Comment[sr@latin]=Pruža programima smernice za SSL sertifikate Comment[sv]=Tillhandahåller SSL-certifikatpolicyn till program Comment[ta]=பயன்பாடுகளுக்கு SSL சான்று கொள்கை வழங்குகிறது Comment[tg]=Сиёсати иҷозатномаи SSL-ро ба барномаҳо дастрас мекунад -Comment[th]=กำหนดนโยบายการใช้ใบรับรอง SSL ให้กับโปรแกรมต่างๆ +Comment[th]=กำหนดนโยบายการใช้ใบรับรอง SSL ให้กับโปรแกรมต่าง ๆ Comment[tr]=Uygulamalar için SSL sertifika politikası sağlar Comment[ug]=پروگراممىغا SSL گۇۋاھنامە تەدبىرى تەمىنلەيدۇ Comment[uk]=Правила роботи з сертифікатами SSL для програм +Comment[vi]=Cung cấp các chế độ chứng chỉ SSL cho ứng dụng Comment[wa]=Dene li politike d' acertinaedje SSL ås programes Comment[x-test]=xxProvides SSL certificate policy to applicationsxx Comment[zh_CN]=向应用程序提供 SSL 证书策略 Comment[zh_TW]=提供 SSL 憑證政策給應用程式 diff --git a/kdecore/services/kplugininfo.desktop b/kdecore/services/kplugininfo.desktop index 4cb787e601..b3f1db9563 100644 --- a/kdecore/services/kplugininfo.desktop +++ b/kdecore/services/kplugininfo.desktop @@ -1,130 +1,130 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KPluginInfo Name=KDE Plugin Information Name[af]=KDE inpropmodule Informasie Name[ar]=معلومات ملحقات كيدي Name[as]=KDE প্লাগ-ইনৰ তথ্য Name[ast]=Información del complementu de KDE Name[be]=Звесткі пра ўтулкі KDE Name[be@latin]=Źviestki pra plugin dla KDE Name[bg]=Информация за приставките в KDE Name[bn]=কে.ডি.ই. প্লাগ-ইন তথ্য Name[bn_IN]=KDE প্লাগ-ইন সংক্রান্ত তথ্য Name[br]=Titouroù al lugent KDE Name[bs]=Podaci o KDE priključku Name[ca]=Connector informatiu de KDE Name[ca@valencia]=Connector informatiu de KDE Name[cs]=Informace o modulech KDE Name[csb]=Wëdowiédzô ò pluginsach KDE Name[cy]=Gwybodaeth Ategynnau KDE Name[da]=KDE's plugin-information Name[de]=KDE-Modul-Information Name[el]=Πληροφορίες πρόσθετου KDE Name[en_GB]=KDE Plugin Information Name[eo]=KDE-kromprogramaj informoj Name[es]=Información de los complementos de KDE Name[et]=KDE plugina info Name[eu]=KDEren plugin-en informazioa Name[fa]=اطلاعات وصله KDE Name[fi]=KDE:n lisäosatiedot Name[fr]=Information sur le module KDE Name[fy]=KDE Plugin ynformaasje Name[ga]=Eolas Bhreiseán KDE Name[gl]=Información sobre os engadidos de KDE Name[gu]=KDE પ્લગઈન જાણકારી Name[he]=מידע על תוסף של KDE Name[hi]=केडीई प्लगइन जानकारी Name[hne]=केडीई प्लगइन जानकारी Name[hr]=Podaci o KDE priključku Name[hsb]=KDE Informacija wo zašćěpkach Name[hu]=A KDE bővítőmodulok áttekintése Name[ia]=Information de Plugin de KDE Name[id]=Informasi Plugin KDE Name[is]=KDE íforritsupplýsingar Name[it]=Informazioni plugin KDE Name[ja]=KDE プラグイン情報 Name[kk]=KDE плагин мәліметі Name[km]=ព័ត៌មាន​កម្មវិធី​ជំនួយ​របស់ KDE Name[kn]=KDE ಮಿಲಿತಾನ್ವಯ (plugin) ಮಾಹಿತಿ Name[ko]=KDE 플러그인 정보 Name[ku]=Agahiyên Pêveka KDE Name[lb]=KDE-Plugininformatioun Name[lt]=KDE priedų informacija Name[lv]=KDE spraudņa informācija Name[mai]=केडीई प्लगइन जानकारी Name[mk]=KDE Информација за приклучок Name[ml]=കെഡിഇയിലെ സംയോജകത്തെപ്പറ്റിയുള്ള വിവരങ്ങള്‍ Name[mr]=KDE प्लगइन माहिती Name[ms]=Maklumat Plugmasuk KDE Name[nb]=Informasjon om KDE-programtillegg Name[nds]=Plugin-Informatschoon Name[ne]=केडीई प्लगइन सूचना Name[nl]=KDE-plugininformatie Name[nn]=Informasjon om KDE-programtillegg Name[or]=KDE Plugin ସୂଚନା Name[pa]=KDE ਪਲੱਗਇਨ ਜਾਣਕਾਰੀ Name[pl]=Informacja o wtyczkach KDE Name[ps]=کډي لګون خبرتياوې Name[pt]=Informação do 'Plugin' do KDE Name[pt_BR]=Informações sobre os plug-ins do KDE Name[ro]=Informații modul KDE Name[ru]=Сведения о расширении KDE Name[se]=Dieđut KDE-moduvlla birra Name[si]=KDE ප්ලගීන තොරතුරු Name[sk]=Informácia o module KDE Name[sl]=Informacija o vstavkih v KDE Name[sq]=Informacion Plugini KDE Name[sr]=Подаци о КДЕ прикључку Name[sr@ijekavian]=Подаци о КДЕ прикључку Name[sr@ijekavianlatin]=Podaci o KDE priključku Name[sr@latin]=Podaci o KDE priključku Name[sv]=KDE-insticksinformation Name[ta]=KDE செருகி தகவல் Name[te]=కెడిఈ ప్లగిన్ సమాచారం Name[tg]=Иттилооти васлкунаки KDE Name[th]=ข้อมูลโปรแกรมเสริมของ KDE Name[tr]=KDE Eklenti Bilgisi Name[ug]=KDE قىستۇرما ئۇچۇرى Name[uk]=Інформація про додаток до KDE Name[uz]=KDE plagin haqida maʼlumot Name[uz@cyrillic]=KDE плагин ҳақида маълумот -Name[vi]=Thông tin bổ sung KDE +Name[vi]=Thông tin phần bổ sung KDE Name[wa]=Infôrmåcion sol tchôke-divins di KDE Name[x-test]=xxKDE Plugin Informationxx Name[zh_CN]=KDE 插件信息 Name[zh_HK]=KDE 外掛資訊 Name[zh_TW]=KDE 外掛資訊 [PropertyDef::X-KDE-PluginInfo-Author] Type=QString [PropertyDef::X-KDE-PluginInfo-Email] Type=QString [PropertyDef::X-KDE-PluginInfo-Name] Type=QString [PropertyDef::X-KDE-PluginInfo-Version] Type=QString [PropertyDef::X-KDE-PluginInfo-Website] Type=QString [PropertyDef::X-KDE-PluginInfo-Category] Type=QString [PropertyDef::X-KDE-PluginInfo-Depends] Type=QStringList [PropertyDef::X-KDE-PluginInfo-License] Type=QString [PropertyDef::X-KDE-PluginInfo-EnabledByDefault] Type=bool [PropertyDef::X-KDE-PluginInfo-Immutable] Type=bool [PropertyDef::X-KDE-PluginInfo-AllowEmptySettings] Type=bool diff --git a/kdecore/tests/kurltest.cpp b/kdecore/tests/kurltest.cpp index 6a592a910d..b659512854 100644 --- a/kdecore/tests/kurltest.cpp +++ b/kdecore/tests/kurltest.cpp @@ -1,2112 +1,2115 @@ // krazy:excludeall=qclasses /* This file is part of the KDE libraries Copyright (c) 1999-2005 Waldo Bastian Copyright (c) 2000-2005 David Faure This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ // -*- mode: c++; c-basic-offset: 2 -*- #include "kurltest.h" #include "qtest_kde.h" #include "kurltest.moc" QTEST_KDEMAIN_CORE( KUrlTest ) #include #include #include "kurl.h" #include #include #include #include #include #include #include #include #include //QCOMPARE cannot be used to strictly check for empty or null QString as it treats QString("") == QString() #define QSTREMPTY(_str) QVERIFY(!_str.isNull() && _str.isEmpty()) void KUrlTest::testEmptyURL() { KUrl emptyURL; QVERIFY( !emptyURL.isValid() ); QVERIFY( emptyURL.isEmpty() ); QVERIFY( emptyURL.prettyUrl().isEmpty() ); QCOMPARE( emptyURL.url(), QString() ); QVERIFY( emptyURL.url().isEmpty() ); QVERIFY( !emptyURL.url().isNull() ); // well, a null string would be correct too... QVERIFY(!emptyURL.isLocalFile()); KUrl emptyStringURL(""); QVERIFY( !emptyStringURL.isValid() ); QVERIFY( emptyStringURL.isEmpty() ); QVERIFY( emptyStringURL.url().isEmpty() ); QVERIFY( !emptyStringURL.url().isNull() ); QCOMPARE( emptyURL, emptyStringURL ); // Roundtrip via .url() KUrl emptyCopy( emptyURL.url() ); QCOMPARE( emptyURL, emptyCopy ); KUrl emptyStringCopy = KUrl( emptyStringURL.url() ); QCOMPARE( emptyStringURL, emptyCopy ); KUrl fileURL( "file:/" ); QVERIFY( !fileURL.isEmpty() ); fileURL = "file:///"; QVERIFY( !fileURL.isEmpty() ); KUrl udir; QCOMPARE( udir.url(), QString() ); QVERIFY( udir.isEmpty() ); QVERIFY( !udir.isValid() ); udir = udir.upUrl(); QVERIFY( udir.upUrl().isEmpty() ); } void KUrlTest::testIsValid() { KUrl url1( "gg:www.kde.org" ); QVERIFY( url1.isValid() ); url1 = "KDE"; QVERIFY( url1.isValid() ); // KDE3 difference: was FALSE url1 = "$HOME/.kde/share/config"; QVERIFY( url1.isValid() ); // KDE3 difference: was FALSE } void KUrlTest::testSetQuery() { KUrl url1 = KUrl( QByteArray( "http://www.kde.org/foo.cgi?foo=bar" ) ); QCOMPARE( url1.query(), QString("?foo=bar") ); url1.setQuery( "toto=titi&kde=rocks" ); QCOMPARE( url1.query(), QString("?toto=titi&kde=rocks") ); url1.setQuery( "?kde%20rocks&a=b" ); // must be encoded already, as documented QCOMPARE( url1.query(), QString("?kde%20rocks&a=b") ); // encoded, as documented url1.setQuery( "?" ); QCOMPARE( url1.query(), QString("?") ); url1.setQuery( "" ); QCOMPARE( url1.query(), QString("?") ); url1.setQuery( QString() ); QCOMPARE( url1.query(), QString() ); } void KUrlTest::testEmptyNullReference() { KUrl url1 = KUrl("http://www.kde.org"); QVERIFY( !url1.hasRef() ); QVERIFY( !url1.hasHTMLRef() ); QVERIFY( url1.ref().isNull() ); QVERIFY( url1.htmlRef().isNull() ); QVERIFY( url1.encodedHtmlRef().isNull() ); url1 = "http://www.kde.org#"; QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QSTREMPTY( url1.ref() ); QSTREMPTY( url1.htmlRef() ); QSTREMPTY( url1.encodedHtmlRef() ); } void KUrlTest::testSetRef() { KUrl url1 = KUrl( QByteArray( "http://www.kde.org/foo.cgi#foo=bar" ) ); QCOMPARE( url1.ref(), QString("foo%3Dbar" ) ); // KDE3 difference: was foo=bar #if 0// ditto (TODO) url1.setRef( "toto=titi&kde=rocks" ); QCOMPARE( url1.ref(), QString("toto=titi&kde=rocks" ) ); url1.setRef( "kde=rocks&a=b" ); QCOMPARE( url1.ref(), QString("kde=rocks&a=b" ) ); url1.setRef( "#" ); QCOMPARE( url1.ref(), QString("#" ) ); #endif url1.setRef( "" ); QSTREMPTY( url1.ref() ); QCOMPARE( url1.url(), QString("http://www.kde.org/foo.cgi#") ); url1.setRef( QString() ); QVERIFY( url1.ref().isNull() ); QCOMPARE( url1.url(), QString("http://www.kde.org/foo.cgi") ); } void KUrlTest::testSetHTMLRef() { KUrl url1 = KUrl( QByteArray( "http://www.kde.org/foo.cgi#foo=bar" ) ); QCOMPARE( url1.htmlRef(), QString("foo=bar") ); url1.setHTMLRef( "toto=titi&kde=rocks" ); QCOMPARE( url1.htmlRef(), QString("toto=titi&kde=rocks") ); url1.setHTMLRef( "kde=rocks&a=b" ); QCOMPARE( url1.htmlRef(), QString("kde=rocks&a=b") ); url1.setHTMLRef( "#" ); QCOMPARE( url1.htmlRef(), QString("#") ); QCOMPARE( url1.ref(), QString("%23") ); // it's encoded url1.setHTMLRef( "" ); QSTREMPTY( url1.htmlRef() ); QCOMPARE( url1.url(), QString("http://www.kde.org/foo.cgi#") ); url1.setHTMLRef( QString() ); QVERIFY( url1.htmlRef().isNull() ); QCOMPARE( url1.url(), QString("http://www.kde.org/foo.cgi") ); } void KUrlTest::testQUrl() { QUrl url1( "file:///home/dfaure/my#%2f" ); QCOMPARE( url1.toString(), QString( "file:///home/dfaure/my#%2f" ) ); #ifdef Q_WS_WIN QUrl url2( "file:///c:/home/dfaure/my#%2f" ); QCOMPARE( url2.toString(), QString( "file:///c:/home/dfaure/my#%2f" ) ); #endif // Show how toString() is confusing QUrl url3 = QUrl::fromLocalFile( "/home/dfaure/hash#file" ); QCOMPARE( url3.toString(), QString( "file:///home/dfaure/hash#file" ) ); // ouch QString url3Str = url3.toString(); QUrl url4(url3Str); QCOMPARE( url4.toString(), url3Str ); QVERIFY( url3 != url4 ); // unexpected, huh? //QCOMPARE( QString::fromLatin1(url4.toEncoded()), QString::fromLatin1(url3.toEncoded()) ); // fails } void KUrlTest::testIsLocalFile() { + KUrl trash("trash:/"); + QVERIFY(!trash.isLocalFile()); + KUrl local_file_1("file://localhost/my/file"); QVERIFY( local_file_1.isLocalFile() ); KUrl local_file_2("file://www.kde.org/my/file"); QVERIFY( !local_file_2.isLocalFile() ); KUrl local_file_3; local_file_3.setHost(getenv("HOSTNAME")); local_file_3.setPath("/my/file"); //qDebug("URL=%s\n", qPrintable( local_file_3.url() )); QVERIFY( local_file_3.isLocalFile() ); KUrl local_file_4("file:///my/file"); QVERIFY( local_file_4.isLocalFile() ); #ifdef Q_WS_WIN KUrl local_file_4a("file:///c:/my/file"); QVERIFY( local_file_4a.isLocalFile() ); #endif KUrl local_file_5; local_file_5.setPath("/foo?bar"); QCOMPARE( local_file_5.url(), QString("file:///foo%3Fbar") ); #ifdef Q_WS_WIN KUrl local_file_5a; local_file_5a.setPath("c:/foo?bar"); QCOMPARE( local_file_5a.url(), QString("file:///c:/foo%3Fbar") ); #endif } void KUrlTest::testSimpleMethods() // to test parsing, mostly { KUrl kde( "http://www.kde.org" ); QVERIFY( kde.isValid() ); QCOMPARE( kde.port(), -1 ); // KDE3 DIFFERENCE: was 0. KUrl mlc( "http://mlc:80/" ); QVERIFY( mlc.isValid() ); QCOMPARE( mlc.port(), 80 ); QCOMPARE( mlc.path(), QString("/") ); KUrl ulong("https://swww.gad.de:443/servlet/CookieAccepted?MAIL=s@gad.de&VER=25901"); QCOMPARE(ulong.host(),QString("swww.gad.de") ); QCOMPARE(ulong.path(),QString("/servlet/CookieAccepted") ); KUrl fileURL( "file:///home/dfaure/myfile" ); QCOMPARE( fileURL.url(), QString("file:///home/dfaure/myfile") ); QCOMPARE( fileURL.path(), QString("/home/dfaure/myfile") ); QVERIFY( !fileURL.hasRef() ); QString u1 = "file:/home/dfaure/my#myref"; KUrl url1(u1); // KDE3 difference: QUrl doesn't resolve file:/ into file:/// QCOMPARE( url1.url(), QString("file:///home/dfaure/my#myref") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.htmlRef(), QString("myref") ); QCOMPARE( url1.upUrl().url(), QString("file:///home/dfaure/") ); #if 0 QUrl qurl = QUrl::fromEncoded( "file:///home/dfaure/my#%23" ); printf( "toString = %s\n", qurl.toString().toLatin1().constData() ); printf( "toEncoded = %s\n", qurl.toEncoded().data() ); qurl = QUrl::fromEncoded( "file:///home/dfaure/my#%2f" ); printf( "toString = %s\n", qurl.toString().toLatin1().constData() ); printf( "toEncoded = %s\n", qurl.toEncoded().data() ); qurl = QUrl::fromEncoded( "file:///home/dfaure/my#/" ); printf( "toString = %s\n", qurl.toString().toLatin1().constData() ); printf( "toEncoded = %s\n", qurl.toEncoded().data() ); #endif u1 = "file:///home/dfaure/my#%2f"; url1 = u1; // KDE3: was %2f, Qt-4.0 to 4.4: #/, bad. 4.5: %2f again, good #if QT_VERSION < 0x040500 QCOMPARE( url1.url(), QString("file:///home/dfaure/my#/") ); #else QCOMPARE( url1.url(), QString("file:///home/dfaure/my#%2f") ); #endif QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.ref().toLower(), QString("%2f") ); QCOMPARE( url1.encodedHtmlRef().toLower(), QString("%2f") ); QCOMPARE( url1.htmlRef(), QString("/") ); u1 = "file:///home/dfaure/my#%23"; url1 = u1; QCOMPARE( url1.url(), QString("file:///home/dfaure/my#%23") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.ref(), QString("%23") ); QCOMPARE( url1.encodedHtmlRef(), QString("%23") ); QCOMPARE( url1.htmlRef(), QString("#") ); #if 0 // TODO url1 = KUrl(url1, "#%6a"); QCOMPARE( url1.url(), QString("file:///home/dfaure/my#%6a") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.ref(), QString("j") ); QCOMPARE( url1.encodedHtmlRef().toLower(), QString("%6a") ); QCOMPARE( url1.htmlRef(), QString("j") ); #endif u1 = "file:///home/dfaure/my#myref"; url1 = u1; QCOMPARE( url1.url(), QString("file:///home/dfaure/my#myref") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.htmlRef(), QString("myref") ); QCOMPARE( url1.upUrl().url(), QString("file:///home/dfaure/") ); u1 = "file:/opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject::connect"; url1 = u1; QCOMPARE( url1.url(), QString("file:///opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject::connect") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.ref(), QString("QObject%3A%3Aconnect") ); QCOMPARE( url1.htmlRef(), QString("QObject::connect") ); QCOMPARE( url1.upUrl().url(), QString("file:///opt/kde2/qt2/doc/html/") ); u1 = "file:///opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject::connect"; url1 = u1; QCOMPARE( url1.url(), QString("file:///opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject::connect") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.ref(), QString("QObject%3A%3Aconnect") ); QCOMPARE( url1.htmlRef(), QString("QObject::connect") ); QCOMPARE( url1.upUrl().url(), QString("file:///opt/kde2/qt2/doc/html/") ); u1 = "file:/opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject:connect"; url1 = u1; QCOMPARE( url1.url(), QString("file:///opt/kde2/qt2/doc/html/showimg-main-cpp.html#QObject:connect") ); QVERIFY( url1.hasRef() ); QVERIFY( url1.hasHTMLRef() ); QVERIFY( !url1.hasSubUrl() ); QCOMPARE( url1.ref(), QString("QObject%3Aconnect") ); QCOMPARE( url1.htmlRef(), QString("QObject:connect") ); QCOMPARE( url1.upUrl().url(), QString("file:///opt/kde2/qt2/doc/html/") ); KUrl carsten; carsten.setPath("/home/gis/src/kde/kdelibs/kfile/.#kfiledetailview.cpp.1.18"); QCOMPARE( carsten.path(), QString("/home/gis/src/kde/kdelibs/kfile/.#kfiledetailview.cpp.1.18") ); KUrl longUserName("http://thisisaverylongusername@foobar.com/"); QCOMPARE(longUserName.prettyUrl(), QString("http://thisisaverylongusername@foobar.com/")); QCOMPARE(KUrl(longUserName.prettyUrl()).url(), QString("http://thisisaverylongusername@foobar.com/")); KUrl whitespaceInUser("http://www.google.com%20%20%20%20%20@foobar.com/"); QCOMPARE(whitespaceInUser.prettyUrl(), QString("http://www.google.com%20%20%20%20%20@foobar.com/")); KUrl whitespaceInPath("http://www.google.com/foo%20bar/"); QCOMPARE(whitespaceInPath.prettyUrl(), QString("http://www.google.com/foo bar/")); KUrl whitespaceInPath2("http://www.google.com/foo%20%20%20%20%20%20%20bar/"); QCOMPARE(whitespaceInPath2.prettyUrl(), QString("http://www.google.com/foo%20%20%20%20%20%20 bar/")); KUrl charles; charles.setPath( "/home/charles/foo%20moo" ); QCOMPARE( charles.path(), QString("/home/charles/foo%20moo") ); KUrl charles2("file:/home/charles/foo%20moo"); QCOMPARE( charles2.path(), QString("/home/charles/foo moo") ); //NOTE this test should be ran in UTF8 locale KUrl percentEncodedQuery( "http://mail.yandex.ru/message_part/%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8%20%D0%BE%D1%86%D0%B5%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BE%D1%80%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9.rar?hid=1.1&mid=391.56424458.99241672611486679803334485488&name=%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8%20%D0%BE%D1%86%D0%B5%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BE%D1%80%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9.rar" ); QCOMPARE( percentEncodedQuery.prettyUrl(), QString::fromUtf8("http://mail.yandex.ru/message_part/Критерии оценивания орловой.rar?hid=1.1&mid=391.56424458.99241672611486679803334485488&name=%D0%9A%D1%80%D0%B8%D1%82%D0%B5%D1%80%D0%B8%D0%B8%20%D0%BE%D1%86%D0%B5%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BE%D1%80%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9.rar")); #ifdef Q_WS_WIN #ifdef Q_CC_MSVC #pragma message ("port KUser") #else #warning port KUser #endif #else KUrl tilde; KUser currentUser; const QString userName = currentUser.loginName(); QVERIFY( !userName.isEmpty() ); tilde.setPath( QString::fromUtf8( "~%1/Matériel" ).arg( userName ) ); QString homeDir = currentUser.homeDir(); QCOMPARE( tilde.url(), QString("file://%1/Mat%C3%A9riel").arg(homeDir)); tilde = KUrl("http://foo.bar/index.html"); tilde.setPath( "~slajsjdlsjd/test.html" ); QCOMPARE( tilde.url(), QString("http://foo.bar/~slajsjdlsjd/test.html")); #endif } void KUrlTest::testHostName() { KUrl u1("http://www.Abc.de/FR"); QCOMPARE(u1.host(), QString("www.abc.de")); // lowercase QCOMPARE(u1.path(), QString("/FR")); // lowercase QCOMPARE(u1.url(), QString("http://www.abc.de/FR")); // hostname is lowercase QCOMPARE(u1.prettyUrl(), QString("http://www.abc.de/FR")); // hostname is lowercase KUrl u2; u2.setProtocol("http"); u2.setHost("www.Abc.de"); QCOMPARE(u2.host(), QString("www.abc.de")); // lowercase QCOMPARE(u2.url(), QString("http://www.abc.de")); // lowercase KUrl u3("donkey://Abc/DE"); QCOMPARE(u3.host(), QString("abc")); // lowercase QCOMPARE(u3.url(), QString("donkey://abc/DE")); // lowercase } void KUrlTest::testEmptyQueryOrRef() { QUrl url = QUrl::fromEncoded( "http://www.kde.org" ); QCOMPARE( url.toEncoded(), QByteArray( "http://www.kde.org" ) ); QCOMPARE( url.encodedQuery(), QByteArray() ); url = QUrl::fromEncoded( "http://www.kde.org?" ); QCOMPARE( url.toEncoded(), QByteArray( "http://www.kde.org?" ) ); QCOMPARE( url.encodedQuery(), QByteArray() ); // note that QByteArray() == QByteArray("") url = QUrl::fromEncoded( "http://www.kde.org" ); QVERIFY( url.encodedQuery().isEmpty() ); QVERIFY( !url.hasQuery() ); url = QUrl::fromEncoded( "http://www.kde.org?" ); QVERIFY( !url.encodedQuery().isNull() ); QVERIFY( url.encodedQuery().isEmpty() ); QVERIFY( url.hasQuery() ); KUrl noQuery( "http://www.kde.org"); QCOMPARE( noQuery.query(), QString() ); // query at all QVERIFY( !noQuery.hasQuery() ); QVERIFY( !noQuery.hasRef()); QVERIFY( noQuery.ref().isNull() ); // Empty queries should be preserved! QUrl qurl = QUrl::fromEncoded("http://www.kde.org/cgi/test.cgi?", QUrl::TolerantMode); QCOMPARE( qurl.toEncoded(), QByteArray("http://www.kde.org/cgi/test.cgi?")); KUrl waba1( "http://www.kde.org/cgi/test.cgi?"); QCOMPARE( waba1.url(), QString( "http://www.kde.org/cgi/test.cgi?" ) ); QCOMPARE( waba1.query(), QString( "?" ) ); // empty query QVERIFY( waba1.hasQuery() ); // Empty references should be preserved waba1 = "http://www.kde.org/cgi/test.cgi#"; QCOMPARE( waba1.url(), QString("http://www.kde.org/cgi/test.cgi#") ); QVERIFY( waba1.hasRef() ); QVERIFY( waba1.hasFragment() ); QVERIFY( waba1.hasHTMLRef() ); QSTREMPTY( waba1.encodedHtmlRef() ); //qurl = QUrl::fromEncoded("http://www.kde.org/cgi/test.cgi#", QUrl::TolerantMode); //QCOMPARE( qurl.toEncoded(), QByteArray("http://www.kde.org/cgi/test.cgi#") ); KUrl tobi1( "http://host.net/path/?#http://broken-adsfk-poij31-029mu-2890zupyc-*!*'O-+-0i" ); QCOMPARE(tobi1.query(), QString("?")); // query is empty QVERIFY( tobi1.hasQuery() ); tobi1 = "http://host.net/path/#no-query"; QCOMPARE(tobi1.query(), QString("")); // no query QVERIFY( !tobi1.hasQuery() ); } void KUrlTest::testParsingTolerance() { // URLs who forgot to encode spaces in the query - the QUrl version first QUrl incorrectEncoded = QUrl::fromEncoded( "http://www.kde.org/cgi/qurl.cgi?hello=My Value" ); QVERIFY( incorrectEncoded.isValid() ); QVERIFY( !incorrectEncoded.toEncoded().isEmpty() ); //qDebug( "%s", incorrectEncoded.toEncoded().data() ); QCOMPARE( incorrectEncoded.toEncoded(), QByteArray("http://www.kde.org/cgi/qurl.cgi?hello=My%20Value") ); // URLs who forgot to encode spaces in the query. KUrl waba1( "http://www.kde.org/cgi/test.cgi?hello=My Value" ); //QVERIFY( waba1.isValid() ); QCOMPARE( waba1.url(), QString("http://www.kde.org/cgi/test.cgi?hello=My%20Value") ); // URL with ':' in query (':' should NOT be encoded!) waba1 = "http://www.kde.org/cgi/test.cgi?hello:My Value"; QCOMPARE( waba1.url(), QString("http://www.kde.org/cgi/test.cgi?hello:My%20Value") ); QCOMPARE( waba1.upUrl().url(), QString("http://www.kde.org/cgi/test.cgi") ); // URLs who forgot to encode spaces in the query. waba1 = "http://www.kde.org/cgi/test.cgi?hello=My Value+20"; QCOMPARE( waba1.url(), QString("http://www.kde.org/cgi/test.cgi?hello=My%20Value+20") ); } void KUrlTest::testNewLine() { QUrl qurl_newline_1 = QUrl::fromEncoded( "http://www.foo.bar/foo/bar\ngnork", QUrl::TolerantMode ); QVERIFY( qurl_newline_1.isValid() ); QCOMPARE( qurl_newline_1.toEncoded(), QByteArray("http://www.foo.bar/foo/bar%0Agnork") ); KUrl url_newline_1("http://www.foo.bar/foo/bar\ngnork"); QCOMPARE( url_newline_1.url(), QLatin1String("http://www.foo.bar/foo/bar%0Agnork") ); KUrl url_newline_2("http://www.foo.bar/foo?bar\ngnork"); QCOMPARE( url_newline_2.url(), QLatin1String("http://www.foo.bar/foo?bar%0Agnork") ); } void KUrlTest::testQueryParsing() { KUrl ldap( "ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)" ); QCOMPARE( ldap.host(), QString("host.com") ); QCOMPARE( ldap.port(), 6666 ); QCOMPARE( ldap.path(), QString("/o=University of Michigan,c=US") ); QCOMPARE( ldap.query(), QString("??sub?(cn=Babs%20Jensen)") ); QCOMPARE( ldap.url(), QString("ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)") ); ldap.setQuery("??sub?(cn=Karl%20Marx)"); QCOMPARE( ldap.query(), QString("??sub?(cn=Karl%20Marx)") ); QCOMPARE( ldap.url(), QString("ldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Karl%20Marx)") ); } void KUrlTest::testURLsWithoutPath() { // Urls without path (BR21387) KUrl waba1( "http://meine.db24.de?link=home_c_login_login" ); // has query QCOMPARE( waba1.url(), QString("http://meine.db24.de?link=home_c_login_login") ); QCOMPARE( waba1.path(), QString("") ); QCOMPARE( waba1.query(), QString("?link=home_c_login_login") ); waba1 = "http://a:389?b=c"; // has port and query QCOMPARE( waba1.url(), QString( "http://a:389?b=c" ) ); QCOMPARE( waba1.host(), QString( "a" ) ); QCOMPARE( waba1.port(), 389 ); QCOMPARE( waba1.path(), QString( "" ) ); QCOMPARE( waba1.query(), QString( "?b=c" ) ); // Urls without path (BR21387) waba1 = "http://meine.db24.de#link=home_c_login_login"; // has fragment QCOMPARE( waba1.url(), QString("http://meine.db24.de#link=home_c_login_login") ); QCOMPARE( waba1.path(), QString("")); waba1 = "http://a:389#b=c"; // has port and fragment //qDebug( "%s", qPrintable( waba1.url() ) ); QCOMPARE( waba1.scheme(), QString( "http" ) ); QCOMPARE( waba1.url(), QString( "http://a:389#b=c" ) ); QCOMPARE( waba1.host(), QString( "a" ) ); QCOMPARE( waba1.port(), 389 ); QCOMPARE( waba1.path(), QString( "" ) ); QCOMPARE( waba1.ref(), QString( "b%3Dc" ) ); // was b=c with KDE3, but the docu says encoded, so encoding the = is ok QCOMPARE( waba1.htmlRef(), QString( "b=c" ) ); QCOMPARE( waba1.query(), QString() ); QUrl schemeOnly( "ftp:" ); QVERIFY( schemeOnly.isValid() ); QCOMPARE( schemeOnly.scheme(), QString( "ftp" ) ); } void KUrlTest::testPathAndQuery() { #if 0 // this KDE3 test fails, but Tobias Anton didn't say where it came from, and Andreas Hanssen (TT) says: // "I can't see any reason to support this; it looks like a junk artifact from older days. // Everything after # is the fragment. Parsing what comes after # is broken; tolerant or not." KUrl tobi0("http://some.host.net/path/to/file#fragmentPrecedes?theQuery"); QCOMPARE( tobi0.ref(), QString("fragmentPrecedes") ); QCOMPARE( tobi0.query(), QString("?theQuery") ); #else // So we treat it as part of the fragment KUrl tobi0("http://some.host.net/path/to/file#foo?bar"); QCOMPARE( tobi0.ref(), QString("foo%3Fbar") ); QCOMPARE( tobi0.query(), QString() ); QCOMPARE( tobi0.prettyUrl(), QString("http://some.host.net/path/to/file#foo?bar") ); #endif KUrl tobi1( "http://host.net/path?myfirstquery#andsomeReference" ); tobi1.setEncodedPathAndQuery("another/path/?another&query"); QCOMPARE( tobi1.query(), QString("?another&query") ); QCOMPARE( tobi1.path(), QString("another/path/") ); // with trailing slash QCOMPARE( tobi1.encodedPathAndQuery(), QString( "another/path/?another&query" ) ); tobi1.setEncodedPathAndQuery("another/path?another&query"); QCOMPARE( tobi1.query(), QString("?another&query") ); QCOMPARE( tobi1.path(), QString("another/path") ); // without trailing slash QCOMPARE( tobi1.encodedPathAndQuery(), QString( "another/path?another&query" ) ); tobi1.setEncodedPathAndQuery("and%20another%2Bpath%2E?bug=%2B258301&query%2Bword"); QCOMPARE( tobi1.query(), QString("?bug=%2B258301&query%2Bword") ); // encoded QCOMPARE( tobi1.queryItem("bug"), QString("+258301") ); // decoded QCOMPARE( tobi1.path(), QString("and another+path.") ); // decoded QCOMPARE( tobi1.encodedPath().constData(), "and%20another+path." ); // from QUrl. It only encodes the space. QCOMPARE( tobi1.encodedPathAndQuery(), QString( "and%20another+path.?bug=%2B258301&query%2Bword" ) ); tobi1 = "http://host.net/path/#no-query"; QCOMPARE( tobi1.encodedPathAndQuery(), QString( "/path/" ) ); KUrl kde( "http://www.kde.org" ); QCOMPARE( kde.encodedPathAndQuery(), QString( "" ) ); QCOMPARE( kde.encodedPathAndQuery( KUrl::LeaveTrailingSlash, KUrl::AvoidEmptyPath ), QString( "/" ) ); KUrl theKow( "http://www.google.de/search?q=frerich&hlx=xx&hl=de&empty=&lr=lang+de&test=%2B%20%3A%25" ); QCOMPARE( theKow.encodedPathAndQuery(), QString( "/search?q=frerich&hlx=xx&hl=de&empty=&lr=lang+de&test=%2B%20%3A%25" ) ); KUrl uloc( "file:///home/dfaure/konqtests/Mat%C3%A9riel" ); QCOMPARE( uloc.encodedPathAndQuery(), QString( "/home/dfaure/konqtests/Mat%C3%A9riel" ) ); KUrl urlWithAccent( "file:///home/dfaure/konqtests/Matériel" ); QCOMPARE(urlWithAccent.encodedPathAndQuery(), QString("/home/dfaure/konqtests/Mat%C3%A9riel")); KUrl urlWithUnicodeChar(QString::fromUtf8("file:///home/dfaure/konqtests/Matériel")); QCOMPARE(urlWithUnicodeChar.encodedPathAndQuery(), QString("/home/dfaure/konqtests/Mat%C3%A9riel")); KUrl maelcum(QString::fromUtf8("http://a.b.c/äöu")); QCOMPARE(maelcum.encodedPathAndQuery(), QString("/%C3%A4%C3%B6u")); KUrl gof("file:%2Ftmp%2Fkde-ogoffart%2Fkmail"); // weird URL, but well ;) QCOMPARE(gof.path(), QString("/tmp/kde-ogoffart/kmail")); } void KUrlTest::testUpUrl() { KUrl url1( "ftp://user%40host.com@ftp.host.com/var/www/" ); QCOMPARE( url1.user(), QString("user@host.com" ) ); QCOMPARE( url1.host(), QString("ftp.host.com" ) ); KUrl up = url1.upUrl(); QCOMPARE( up.url(), QString("ftp://user%40host.com@ftp.host.com/var/") ); up = up.upUrl(); QCOMPARE( up.url(), QString("ftp://user%40host.com@ftp.host.com/") ); up = up.upUrl(); QCOMPARE( up.url(), QString("ftp://user%40host.com@ftp.host.com/") ); // unchanged // Going up from a relative url is not supported (#170695) KUrl invalid("tmp"); QVERIFY(invalid.isValid()); up = invalid.upUrl(); QVERIFY(!up.isValid()); } void KUrlTest::testSetFileName() // and addPath { KUrl u2( "file:/home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/README" ); //qDebug( "* URL is %s", qPrintable( u2.url() ) ); u2.setFileName( "myfile.txt" ); QCOMPARE( u2.url(), QString("file:///home/dfaure/myfile.txt") ); u2.setFileName( "myotherfile.txt" ); QCOMPARE( u2.url(), QString("file:///home/dfaure/myotherfile.txt") ); // more tricky, renaming a directory (kpropertiesdialog.cc) QString tmpurl = "file:/home/dfaure/myolddir/"; if ( tmpurl.at(tmpurl.length() - 1) == '/') // It's a directory, so strip the trailing slash first tmpurl.truncate( tmpurl.length() - 1); KUrl newUrl(tmpurl); newUrl.setFileName( "mynewdir" ); QCOMPARE( newUrl.url(), QString("file:///home/dfaure/mynewdir") ); // addPath tests newUrl.addPath( "subdir" ); QCOMPARE( newUrl.url(), QString("file:///home/dfaure/mynewdir/subdir") ); newUrl.addPath( "/foo/" ); QCOMPARE( newUrl.url(), QString("file:///home/dfaure/mynewdir/subdir/foo/") ); u2 = "http://www.kde.org"; // no path u2.addPath( "subdir" ); QCOMPARE( u2.url(), QString("http://www.kde.org/subdir") ); u2.addPath( "" ); QCOMPARE( u2.url(), QString("http://www.kde.org/subdir") ); // unchanged QUrl qurl2 = QUrl::fromEncoded( "print:/specials/Print%20To%20File%20(PDF%252FAcrobat)", QUrl::TolerantMode ); QCOMPARE( qurl2.path(), QString::fromLatin1("/specials/Print To File (PDF%2FAcrobat)") ); QCOMPARE( qurl2.toEncoded(), QByteArray("print:/specials/Print%20To%20File%20(PDF%252FAcrobat)") ); // even more tricky u2 = "print:/specials/Print%20To%20File%20(PDF%252FAcrobat)"; QCOMPARE( u2.path(), QString("/specials/Print To File (PDF%2FAcrobat)") ); QCOMPARE( u2.fileName(), QString("Print To File (PDF%2FAcrobat)") ); u2.setFileName( "" ); QCOMPARE( u2.url(), QString("print:/specials/") ); u2 = "file:/specials/Print"; QCOMPARE( u2.path(), QString("/specials/Print") ); QCOMPARE( u2.fileName(), QString("Print") ); u2.setFileName( "" ); QCOMPARE( u2.url(), QString("file:///specials/") ); const char * u3 = "ftp://host/dir1/dir2/myfile.txt"; QVERIFY( !KUrl(u3).hasSubUrl() ); KUrl::List lst = KUrl::split( KUrl(u3) ); QCOMPARE( lst.count(), 1 ); QCOMPARE( lst.first().url(), QString("ftp://host/dir1/dir2/myfile.txt") ); // cdUp code KUrl lastUrl = lst.last(); QString dir = lastUrl.directory(); QCOMPARE( dir, QString("/dir1/dir2") ); // files without directories KUrl singleFile( "foo.txt" ); QCOMPARE( singleFile.path(), QString("foo.txt") ); QCOMPARE( singleFile.pathOrUrl(), QString("foo.txt") ); QString pre; #ifdef Q_OS_WIN // On Windows we explicitly prepend a slash, see KUrl::setPath pre = '/'; #endif singleFile.setFileName( "bar.bin" ); QCOMPARE( singleFile.path(), QString(pre + "bar.bin") ); QCOMPARE( singleFile.pathOrUrl(), QString(pre + "bar.bin") ); } void KUrlTest::testDirectory() { KUrl udir; udir.setPath("/home/dfaure/file.txt"); //qDebug( "URL is %s", qPrintable( udir.url() ) ); QCOMPARE( udir.path(), QString("/home/dfaure/file.txt") ); QCOMPARE( udir.url(), QString("file:///home/dfaure/file.txt") ); QCOMPARE( udir.directory(KUrl::AppendTrailingSlash|KUrl::ObeyTrailingSlash), QString("/home/dfaure/") ); QCOMPARE( udir.directory(KUrl::ObeyTrailingSlash), QString("/home/dfaure") ); KUrl u2( QByteArray("file:///home/dfaure/") ); // not ignoring trailing slash QCOMPARE( u2.directory(KUrl::AppendTrailingSlash|KUrl::ObeyTrailingSlash), QString("/home/dfaure/") ); QCOMPARE( u2.directory(KUrl::ObeyTrailingSlash), QString("/home/dfaure") ); // ignoring trailing slash QCOMPARE( u2.directory(KUrl::AppendTrailingSlash), QString("/home/") ); QCOMPARE( u2.directory(), QString("/home") ); // cleanPath() tests (before cd() since cd uses that) u2.cleanPath(); QCOMPARE( u2.url(), QString("file:///home/dfaure/") ); u2.addPath( "/..//foo" ); QCOMPARE( u2.url(), QString("file:///home/dfaure/..//foo") ); u2.cleanPath(KUrl::KeepDirSeparators); QCOMPARE( u2.url(), QString("file:///home//foo") ); u2.cleanPath(KUrl::SimplifyDirSeparators); QCOMPARE( u2.url(), QString("file:///home/foo") ); // cd() tests u2.cd(".."); QCOMPARE( u2.url(), QString("file:///home") ); u2.cd("thomas"); QCOMPARE( u2.url(), QString("file:///home/thomas") ); u2.cd("../"); QCOMPARE( u2.url(), QString("file:///home/") ); u2.cd("/opt/kde/bin/"); QCOMPARE( u2.url(), QString("file:///opt/kde/bin/") ); u2 = "ftp://ftp.kde.org/"; u2.cd("pub"); QCOMPARE( u2.url(), QString("ftp://ftp.kde.org/pub") ); u2 = u2.upUrl(); QCOMPARE( u2.url(), QString("ftp://ftp.kde.org/") ); } void KUrlTest::testPrettyURL() { KUrl tildeInPath("http://ferret.lmh.ox.ac.uk/%7Ekdecvs/"); QCOMPARE(tildeInPath.prettyUrl(), QString("http://ferret.lmh.ox.ac.uk/~kdecvs/")); // Tilde should not be re-encoded, see end of 2.3 in rfc3986 QCOMPARE(KUrl(tildeInPath.prettyUrl()).url(), QString("http://ferret.lmh.ox.ac.uk/~kdecvs/")); KUrl spaceInPath("file:/home/test/directory%20with%20spaces"); QCOMPARE(spaceInPath.prettyUrl(), QString("file:///home/test/directory with spaces")); QCOMPARE(KUrl(spaceInPath.prettyUrl()).url(), QString("file:///home/test/directory%20with%20spaces")); KUrl plusInPath("http://slashdot.org/~RAMMS%2BEIN/"); // #232008 QCOMPARE(plusInPath.prettyUrl(), QString::fromLatin1("http://slashdot.org/~RAMMS+EIN/")); QCOMPARE(KUrl(plusInPath.prettyUrl()).url(), QString::fromLatin1("http://slashdot.org/~RAMMS+EIN/")); KUrl notPretty3("fish://foo/%23README%23"); QCOMPARE( notPretty3.prettyUrl(), QString("fish://foo/%23README%23") ); KUrl url15581("http://alain.knaff.linux.lu/bug-reports/kde/spaces in url.html"); QCOMPARE( url15581.prettyUrl(), QString("http://alain.knaff.linux.lu/bug-reports/kde/spaces in url.html") ); QCOMPARE( url15581.url(), QString("http://alain.knaff.linux.lu/bug-reports/kde/spaces%20in%20url.html") ); KUrl newLineInQuery("http://localhost/?a=foo%0A%0Abar%20baz&b=foo%0Abar%21%3F"); QCOMPARE( newLineInQuery.prettyUrl(), QString("http://localhost/?a=foo%0A%0Abar%20baz&b=foo%0Abar%21%3F") ); KUrl nonUtf8Query("http://kde.org/?a=test%C2%A0foo%A0%A0%A0%A0bar"); QCOMPARE( nonUtf8Query.prettyUrl(), QString("http://kde.org/?a=test%C2%A0foo%A0%A0%A0%A0bar") ); // KDE3 test was for parsing "percentage%in%url.html", but this is not supported; too broken. KUrl url15581bis("http://alain.knaff.linux.lu/bug-reports/kde/percentage%25in%25url.html"); QCOMPARE( url15581bis.prettyUrl(), QString("http://alain.knaff.linux.lu/bug-reports/kde/percentage%25in%25url.html") ); QCOMPARE( url15581bis.url(), QString("http://alain.knaff.linux.lu/bug-reports/kde/percentage%25in%25url.html") ); KUrl urlWithPass("ftp://user:password@ftp.kde.org/path"); QCOMPARE( urlWithPass.pass(), QString::fromLatin1( "password" ) ); QCOMPARE( urlWithPass.prettyUrl(), QString::fromLatin1( "ftp://user@ftp.kde.org/path" ) ); KUrl urlWithPassAndNoUser("ftp://:password@ftp.kde.org/path"); QCOMPARE( urlWithPassAndNoUser.pass(), QString::fromLatin1( "password" ) ); QCOMPARE( urlWithPassAndNoUser.prettyUrl(), QString::fromLatin1( "ftp://ftp.kde.org/path" ) ); KUrl xmppUri("xmpp:ogoffart@kde.org"); QCOMPARE( xmppUri.prettyUrl(), QString::fromLatin1( "xmpp:ogoffart@kde.org" ) ); QUrl offEagleqUrl; offEagleqUrl.setEncodedUrl("http://www.sejlsport.dk/Pr%F8v%20noget%20nyt%20dokumenter.pdf", QUrl::TolerantMode); const QString offEaglePath = offEagleqUrl.path(); QCOMPARE((int)offEaglePath.at(2).unicode(), (int)'r'); #if 0 // CURRENTLY BROKEN, PENDING PRETTYURL REWRITE AND QT-4.5 (in thiago's hands) QCOMPARE((int)offEaglePath.at(3).unicode(), (int)0xf8); KUrl offEagle("http://www.sejlsport.dk/graphics/ds/DSUngdom/PDF/Pr%F8v%20noget%20nyt%20dokumenter/Invitation_Kerteminde_11.07.08.pdf"); QCOMPARE(offEagle.path(), QString::fromLatin1("/graphics/ds/DSUngdom/PDF/Pr%F8v noget nyt dokumenter/Invitation_Kerteminde_11.07.08.pdf")); QCOMPARE(offEagle.url(), QString::fromLatin1("http://www.sejlsport.dk/graphics/ds/DSUngdom/PDF/Pr%F8v%20noget%20nyt%20dokumenter/Invitation_Kerteminde_11.07.08.pdf")); QCOMPARE(offEagle.prettyUrl(), QString::fromLatin1("http://www.sejlsport.dk/graphics/ds/DSUngdom/PDF/Pr%F8v noget nyt dokumenter/Invitation_Kerteminde_11.07.08.pdf")); #endif KUrl openWithUrl("kate --use %25U"); QCOMPARE(openWithUrl.url(), QString::fromLatin1("kate%20--use%20%25U")); QCOMPARE(openWithUrl.prettyUrl(), QString::fromLatin1("kate --use %25U")); QCOMPARE(openWithUrl.path(), QString::fromLatin1("kate --use %U")); QCOMPARE(openWithUrl.pathOrUrl(), QString::fromLatin1("kate --use %25U")); // caused #153894; better not use KUrl for this. KUrl ipv6Address( "http://[::ffff:129.144.52.38]:81/index.html" ); QCOMPARE( ipv6Address.prettyUrl(), QString::fromLatin1( "http://[::ffff:129.144.52.38]:81/index.html" ) ); } void KUrlTest::testIsRelative() { QVERIFY( !KUrl::isRelativeUrl("man:mmap") ); QVERIFY( !KUrl::isRelativeUrl("javascript:doSomething()") ); QVERIFY( !KUrl::isRelativeUrl("file:///blah") ); // arguable, but necessary for KUrl( baseURL, "//www1.foo.bar" ); QVERIFY( KUrl::isRelativeUrl("/path") ); QVERIFY( KUrl::isRelativeUrl("something") ); KUrl something("something"); QCOMPARE(something.url(), QString("something")); QCOMPARE(something.protocol(), QString()); QVERIFY(!something.isLocalFile()); // Now let's test QUrl::isRelative. QVERIFY(!KUrl("file:///blah").isRelative()); QVERIFY(!KUrl("/blah").isRelative()); QVERIFY(KUrl("blah").isRelative()); QVERIFY(!KUrl("http://www.kde.org").isRelative()); QVERIFY(KUrl("foo/bar").isRelative()); } void KUrlTest::testRelativePath() { QString basePath = "/home/bastian"; QCOMPARE( KUrl::relativePath(basePath, "/home/bastian"), QString("./") ); bool b; QCOMPARE( KUrl::relativePath(basePath, "/home/bastian/src/plugins", &b), QString("./src/plugins")); QVERIFY( b ); QCOMPARE( KUrl::relativePath(basePath, "./src/plugins"), QString("./src/plugins") ); QCOMPARE( KUrl::relativePath(basePath, "/home/waba/src/plugins", &b), QString("../waba/src/plugins") ); QVERIFY( !b ); QCOMPARE( KUrl::relativePath(basePath, "/"), QString("../../")); QCOMPARE( KUrl::relativePath("/", "/"), QString("./") ); QCOMPARE( KUrl::relativePath("/", "/home/bastian"), QString("./home/bastian") ); QCOMPARE( KUrl::relativePath("", "/home/bastian"), QString("/home/bastian") ); } void KUrlTest::testRelativeURL() { KUrl baseURL( "http://www.kde.org/index.html" ); QCOMPARE( KUrl::relativeUrl(baseURL, KUrl("http://www.kde.org/index.html#help") ), QString("#help") ); QCOMPARE( KUrl::relativeUrl(baseURL, KUrl("http://www.kde.org/index.html?help=true") ), QString("index.html?help=true") ); QCOMPARE( KUrl::relativeUrl(baseURL, KUrl("http://www.kde.org/contact.html") ), QString("contact.html") ); QCOMPARE( KUrl::relativeUrl(baseURL, KUrl("ftp://ftp.kde.org/pub/kde") ), QString("ftp://ftp.kde.org/pub/kde") ); QCOMPARE( KUrl::relativeUrl(baseURL, KUrl("http://www.kde.org/index.html") ), QString("./") ); baseURL = "http://www.kde.org/info/index.html"; QCOMPARE( KUrl::relativeUrl(baseURL, KUrl("http://www.kde.org/bugs/contact.html") ), QString( "../bugs/contact.html") ); } void KUrlTest::testAdjustPath() { KUrl url0("file:///"); QCOMPARE( url0.url( KUrl::RemoveTrailingSlash ), QString("file:///") ); url0.adjustPath( KUrl::RemoveTrailingSlash ); QCOMPARE( url0.url(), QString("file:///") ); KUrl url1("file:///home/kde/"); url1.adjustPath( KUrl::LeaveTrailingSlash ); QCOMPARE( url1.path(), QString("/home/kde/" ) ); url1.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( url1.path(), QString("/home/kde" ) ); url1.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( url1.path(), QString("/home/kde" ) ); url1.adjustPath(KUrl::AddTrailingSlash); QCOMPARE( url1.path(), QString("/home/kde/" ) ); KUrl url2("file:///home/kde//"); url2.adjustPath(KUrl::LeaveTrailingSlash); QCOMPARE( url2.path(), QString("/home/kde//" ) ); url2.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( url2.path(), QString("/home/kde" ) ); url2.adjustPath(KUrl::AddTrailingSlash); QCOMPARE( url2.path(), QString("/home/kde/" ) ); KUrl ftpurl1("ftp://ftp.kde.org/"); ftpurl1.adjustPath(KUrl::LeaveTrailingSlash); QCOMPARE( ftpurl1.path(), QString("/" ) ); ftpurl1.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( ftpurl1.path(), QString("/" ) ); KUrl ftpurl2("ftp://ftp.kde.org///"); ftpurl2.adjustPath(KUrl::LeaveTrailingSlash); QCOMPARE( ftpurl2.path(), QString("///" ) ); ftpurl2.adjustPath(KUrl::RemoveTrailingSlash); // should remove all but trailing slash QCOMPARE( ftpurl2.path(), QString("/" ) ); ftpurl2.adjustPath(KUrl::AddTrailingSlash); QCOMPARE( ftpurl2.path(), QString("/" ) ); // Equivalent tests written by the KDirLister maintainer :) KUrl u3( QByteArray("ftp://brade@ftp.kde.org///") ); u3.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( u3.url(), QString("ftp://brade@ftp.kde.org/") ); KUrl u4( QByteArray("ftp://brade@ftp.kde.org/kde///") ); u4.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( u4.url(), QString("ftp://brade@ftp.kde.org/kde") ); // applying adjustPath(KUrl::RemoveTrailingSlash) twice should not yield two different urls // (follows from the above test) KUrl u5 = u4; u5.adjustPath(KUrl::RemoveTrailingSlash); QCOMPARE( u5.url(), u4.url() ); { KUrl remote("remote:/"); QCOMPARE( remote.url(KUrl::RemoveTrailingSlash ), QString("remote:/") ); remote.adjustPath( KUrl::RemoveTrailingSlash ); QCOMPARE( remote.url(), QString("remote:/") ); remote.adjustPath( KUrl::RemoveTrailingSlash ); QCOMPARE( remote.url(), QString("remote:/") ); } { KUrl remote2("remote://"); QCOMPARE( remote2.url(), QString("remote:") ); QCOMPARE( remote2.url(KUrl::RemoveTrailingSlash ), QString("remote:") ); } } void KUrlTest::testIPV6() { // IPV6 KUrl waba1( "http://[::FFFF:129.144.52.38]:81/index.html" ); QCOMPARE( waba1.host(), QString("::ffff:129.144.52.38") ); QCOMPARE( waba1.port(), 81 ); // IPV6 waba1 = "http://waba:pass@[::FFFF:129.144.52.38]:81/index.html"; QCOMPARE( waba1.host(), QString("::ffff:129.144.52.38") ); QCOMPARE( waba1.user(), QString("waba") ); QCOMPARE( waba1.pass(), QString("pass") ); QCOMPARE( waba1.port(), 81 ); // IPV6 waba1 = "http://www.kde.org/cgi/test.cgi"; waba1.setHost("::ffff:129.144.52.38"); QCOMPARE( waba1.url(), QString("http://[::ffff:129.144.52.38]/cgi/test.cgi") ); waba1 = "http://[::ffff:129.144.52.38]/cgi/test.cgi"; QVERIFY( waba1.isValid() ); // IPV6 without path waba1 = "http://[::ffff:129.144.52.38]?query"; QVERIFY( waba1.isValid() ); QCOMPARE( waba1.url(), QString("http://[::ffff:129.144.52.38]?query") ); QCOMPARE( waba1.query(), QString("?query") ); waba1 = "http://[::ffff:129.144.52.38]#ref"; QVERIFY( waba1.isValid() ); QCOMPARE( waba1.url(), QString("http://[::ffff:129.144.52.38]#ref") ); QCOMPARE( waba1.ref(), QString("ref") ); // IPV6 without path but with a port waba1 = "http://[::ffff:129.144.52.38]:81?query"; QVERIFY( waba1.isValid() ); QCOMPARE( waba1.url(), QString("http://[::ffff:129.144.52.38]:81?query") ); QCOMPARE( waba1.port(), 81 ); QCOMPARE( waba1.query(), QString("?query") ); waba1 = "http://[::ffff:129.144.52.38]:81#ref"; QVERIFY( waba1.isValid() ); QCOMPARE( waba1.url(), QString("http://[::ffff:129.144.52.38]:81#ref") ); QCOMPARE( waba1.port(), 81 ); QCOMPARE( waba1.ref(), QString("ref") ); KUrl weird( "http://[::fff:1:23]/" ); QVERIFY( weird.isValid() ); QCOMPARE( weird.host(), QString("::fff:1:23") ); } void KUrlTest::testBaseURL() // those are tests for the KUrl(base,relative) constructor { KUrl com1(KUrl("http://server.com/dir/"), "."); QCOMPARE( com1.url(), QString("http://server.com/dir/") ); KUrl com2(KUrl("http://server.com/dir/blubb/") , "blah/"); QCOMPARE( com2.url(), QString("http://server.com/dir/blubb/blah/") ); KUrl baseURL("http://www.foo.bar:80" ); QVERIFY( baseURL.isValid() ); QCOMPARE( baseURL.protocol(), QString( "http" ) ); // lowercase QCOMPARE( baseURL.port(), 80 ); QString relativeUrl = "//www1.foo.bar"; QVERIFY( KUrl::isRelativeUrl( relativeUrl ) ); // Mimick what KUrl(2 urls) does: QUrl qurl; qurl = "http://www.foo.bar:80"; QCOMPARE( qurl.toEncoded(), QByteArray("http://www.foo.bar:80") ); qurl.setHost( QString() ); qurl.setPath( QString() ); QCOMPARE( qurl.toEncoded(), QByteArray("http://:80") ); qurl.setPort( -1 ); QCOMPARE( qurl.toEncoded(), QByteArray("http:") ); // hmm we have no '//' anymore KUrl url1 ( baseURL, relativeUrl ); QCOMPARE( url1.url(), QString("http://www1.foo.bar")); QCOMPARE( url1.host(), QString("www1.foo.bar")); baseURL = "http://www.foo.bar"; KUrl rel_url( baseURL, "/top//test/../test1/file.html" ); QCOMPARE( rel_url.url(), QString("http://www.foo.bar/top//test1/file.html" )); baseURL = "http://www.foo.bar/top//test2/file2.html"; QCOMPARE( baseURL.url(), QString("http://www.foo.bar/top//test2/file2.html" )); baseURL = "file:/usr/local/src/kde2/////kdelibs/kio"; QCOMPARE( baseURL.url(), QString("file:///usr/local/src/kde2/////kdelibs/kio" )); baseURL = "http://www.foo.bar"; KUrl rel_url2( baseURL, "mailto:bastian@kde.org" ); QCOMPARE( rel_url2.url(), QString("mailto:bastian@kde.org" )); baseURL = "file:/usr/local/src/kde2/kdelibs/kio/"; KUrl url2( baseURL, "../../////kdebase/konqueror" ); QCOMPARE( url2.url(), QString("file:///usr/local/src/kde2/////kdebase/konqueror" )); // WABA: The following tests are to test the handling of relative URLs as // found on web-pages. KUrl waba1( "http://www.website.com/directory/?hello#ref" ); { KUrl waba2( waba1, "relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html") ); } { KUrl waba2( waba1, "../relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/relative.html") ); } { KUrl waba2( waba1, "down/relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/down/relative.html") ); } { KUrl waba2( waba1, "/down/relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/down/relative.html") ); } { KUrl waba2( waba1, "//www.kde.org/relative.html"); QCOMPARE( waba2.url(), QString("http://www.kde.org/relative.html") ); } { KUrl waba2( waba1, "relative.html?query=test&name=harry"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html?query=test&name=harry") ); waba2.removeQueryItem("query"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html?name=harry") ); waba2.addQueryItem("age", "18"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html?name=harry&age=18") ); waba2.addQueryItem("age", "21"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html?name=harry&age=18&age=21") ); waba2.addQueryItem("fullname", "Harry Potter"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html?name=harry&age=18&age=21&fullname=Harry%20Potter") ); } { KUrl waba2( waba1, "?query=test&name=harry"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/?query=test&name=harry") ); } { KUrl waba2( waba1, "relative.html#with_reference"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html#with_reference") ); } { KUrl waba2( waba1, "#"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/?hello#") ); } { KUrl waba2( waba1, ""); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/?hello#ref") ); } { KUrl waba2( waba1, "#%72%22method"); // #243217 QCOMPARE( waba2.url(), QString("http://www.website.com/directory/?hello#%72%22method") ); } { KUrl base( "http://faure@www.kde.org" ); // no path KUrl waba2( base, "filename.html"); QCOMPARE( waba2.url(), QString("http://faure@www.kde.org/filename.html") ); } { KUrl base( "http://faure:pass@www.kde.org:81?query" ); KUrl rel1( base, "http://www.kde.org/bleh/"); // same host QCOMPARE( rel1.url(), QString("http://faure:pass@www.kde.org/bleh/") ); KUrl rel2( base, "http://www.yahoo.org"); // different host QCOMPARE( rel2.url(), QString("http://www.yahoo.org") ); } waba1 = "http://www.website.com/directory/filename?bla#blub"; { KUrl waba2( waba1, "relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html") ); } { KUrl waba2( waba1, "./relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html") ); } { KUrl waba2( waba1, "../relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/relative.html") ); } { KUrl waba2( waba1, "down/relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/down/relative.html") ); } { KUrl waba2( waba1, "down/./relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/down/relative.html") ); } { KUrl waba2( waba1, "/down/relative.html"); QCOMPARE( waba2.url(), QString("http://www.website.com/down/relative.html") ); } { KUrl waba2( waba1, "relative.html?query=test&name=harry"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html?query=test&name=harry") ); } { KUrl waba2( waba1, "?query=test&name=harry"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/filename?query=test&name=harry") ); } { KUrl waba2( waba1, "relative.html#with_reference"); QCOMPARE( waba2.url(), QString("http://www.website.com/directory/relative.html#with_reference") ); } { KUrl waba2( waba1, "http:/relative.html"); // "rfc 1606 loophole" QCOMPARE( waba2.url(), QString("http://www.website.com/relative.html") ); } waba1.setUser("waldo"); QCOMPARE( waba1.url(), QString("http://waldo@www.website.com/directory/filename?bla#blub") ); waba1.setUser("waldo/bastian"); QCOMPARE( waba1.url(), QString("http://waldo%2Fbastian@www.website.com/directory/filename?bla#blub") ); waba1.setRef( QString() ); waba1.setPass( "pass" ); waba1.setDirectory( "/foo" ); waba1.setProtocol( "https" ); waba1.setHost( "web.com" ); waba1.setPort( 881 ); QCOMPARE( waba1.url(), QString("https://waldo%2Fbastian:pass@web.com:881/foo/?bla") ); waba1.setDirectory( "/foo/" ); QCOMPARE( waba1.url(), QString("https://waldo%2Fbastian:pass@web.com:881/foo/?bla") ); QUrl sadEagleTest; sadEagleTest.setEncodedUrl( "http://www.calorieking.com/foo.php?P0=[2006-3-8]", QUrl::TolerantMode ); QVERIFY( sadEagleTest.isValid() ); KUrl sadEagleExpectedResult( "http://www.calorieking.com/personal/diary/rpc.php?C=jsrs1&F=getDiaryDay&P0=[2006-3-8]&U=1141858921458" ); QVERIFY( sadEagleExpectedResult.isValid() ); KUrl sadEagleBase( "http://www.calorieking.com/personal/diary/" ); QVERIFY( sadEagleBase.isValid() ); KUrl sadEagleCombined( sadEagleBase, "/personal/diary/rpc.php?C=jsrs1&F=getDiaryDay&P0=[2006-3-8]&U=1141858921458" ); QCOMPARE( sadEagleCombined.url(), sadEagleExpectedResult.url() ); KUrl dxOffEagle( KUrl("http://something/other.html"), "newpage.html?[{\"foo: bar\"}]" ); //QEXPECT_FAIL("","Issue N183630, task ID 183874", Continue); // Fixed by _setEncodedUrl QVERIFY(dxOffEagle.isValid()); //QEXPECT_FAIL("","Issue N183630, task ID 183874", Continue); // Fixed by _setEncodedUrl QCOMPARE(dxOffEagle.url(), QString("http://something/newpage.html?%5B%7B%22foo:%20bar%22%7D%5D") ); QCOMPARE(dxOffEagle.prettyUrl(), QString("http://something/newpage.html?%5B%7B%22foo:%20bar%22%7D%5D") ); // QtSw issue 243557 QByteArray tsdgeos("http://google.com/c?c=Translation+%C2%BB+trunk|"); QUrl tsdgeosQUrl; tsdgeosQUrl.setEncodedUrl(tsdgeos, QUrl::TolerantMode); QVERIFY(tsdgeosQUrl.isValid()); // failed in Qt-4.4, works in Qt-4.5 QByteArray tsdgeosExpected("http://google.com/c?c=Translation+%C2%BB+trunk%7C"); //QCOMPARE(tsdgeosQUrl.toEncoded(), tsdgeosExpected); // unusable output from qtestlib... QCOMPARE(QString(tsdgeosQUrl.toEncoded()), QString(tsdgeosExpected)); KUrl tsdgeosUrl(tsdgeos); QCOMPARE(tsdgeosUrl.url(), QString(tsdgeosExpected)); QByteArray pipesAgain("http://translate.google.com/translate_t#en|uk|demo"); QUrl pipesUrl; pipesUrl.setEncodedUrl(pipesAgain, QUrl::TolerantMode); QVERIFY(pipesUrl.isValid()); QCOMPARE(QString(pipesUrl.toEncoded()), QString("http://translate.google.com/translate_t#en%7Cuk%7Cdemo")); // Shows up in nspluginviewer/flash QString flashRel = "javascript:window.location+\"__flashplugin_unique__\""; KUrl flashUrl(flashRel); QVERIFY(flashUrl.isValid()); KUrl flashBase("http://www.youtube.com/?v=JvOSnRD5aNk"); KUrl flashComposed(flashBase, flashRel); QCOMPARE(flashComposed.url(), QString("javascript:window.location+%22__flashplugin_unique__%22")); } void KUrlTest::testSetEncodedFragment_data() { QTest::addColumn("base"); QTest::addColumn("fragment"); QTest::addColumn("expected"); typedef QByteArray BA; QTest::newRow("basic test") << BA("http://www.kde.org") << BA("abc") << BA("http://www.kde.org#abc"); QTest::newRow("initial url has fragment") << BA("http://www.kde.org#old") << BA("new") << BA("http://www.kde.org#new"); QTest::newRow("encoded fragment") << BA("http://www.kde.org") << BA("a%20c") << BA("http://www.kde.org#a%20c"); QTest::newRow("with #") << BA("http://www.kde.org") << BA("a#b") << BA("http://www.kde.org#a#b"); QTest::newRow("empty") << BA("http://www.kde.org") << BA("") << BA("http://www.kde.org#"); } void KUrlTest::testSetEncodedFragment() { // Bug fixed in 4.5.1 by Thiago #if QT_VERSION < 0x040501 QSKIP("Bug in Qt-4.4/4.5-rc1: setEncodedFragment doesn't work if the initial url has no fragment", SkipAll); #endif QFETCH(QByteArray, base); QFETCH(QByteArray, fragment); QFETCH(QByteArray, expected); QUrl u; u.setEncodedUrl(base, QUrl::TolerantMode); QVERIFY(u.isValid()); u.setEncodedFragment(fragment); QVERIFY(u.isValid()); QCOMPARE(QString::fromLatin1(u.toEncoded()), QString::fromLatin1(expected)); } void KUrlTest::testSubURL() { QString u1 = "file:/home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/#myref"; KUrl url1(u1); // KDE3: was #,#,#, Qt-4.0 to 4.4: #,%23,%23 . 4.5: #,#,#, good #if QT_VERSION < 0x040500 QCOMPARE( url1.url(), QString("file:///home/dfaure/my%20tar%20file.tgz#gzip:/%23tar:/%23myref") ); #else QCOMPARE( url1.url(), QString("file:///home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/#myref") ); #endif QVERIFY( url1.hasRef() ); QVERIFY( !url1.isLocalFile() ); // Not strictly local! QVERIFY( url1.hasSubUrl() ); //QCOMPARE( url1.htmlRef(), QString("myref") ); QCOMPARE( url1.upUrl().url(), QString("file:///home/dfaure/") ); const KUrl::List splitList = KUrl::split( url1 ); QCOMPARE( splitList.count(), 3 ); //kDebug() << splitList.toStringList(); QCOMPARE( splitList[0].url(), QString("file:///home/dfaure/my%20tar%20file.tgz#myref") ); QCOMPARE( splitList[1].url(), QString("gzip:/#myref") ); QCOMPARE( splitList[2].url(), QString("tar:/#myref") ); #if QT_VERSION < 0x040500 QSKIP( "Multiple sub urls not supported with Qt < 4.5", SkipSingle ); #endif KUrl rejoined = KUrl::join(splitList); QCOMPARE(rejoined.url(), url1.url()); u1 = "error:/?error=14&errText=Unknown%20host%20asdfu.adgi.sdfgoi#http://asdfu.adgi.sdfgoi"; url1 = u1; QCOMPARE( url1.url(), QString("error:/?error=14&errText=Unknown%20host%20asdfu.adgi.sdfgoi#http://asdfu.adgi.sdfgoi") ); QVERIFY( url1.hasSubUrl() ); QVERIFY( url1.hasRef() ); QVERIFY( !url1.isLocalFile() ); QVERIFY( !url1.hasHTMLRef() ); u1 = "file:/home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/"; url1 = u1; QCOMPARE( url1.url(), QString("file:///home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/") ); QVERIFY( url1.hasRef() ); QVERIFY( !url1.hasHTMLRef() ); QVERIFY( url1.hasSubUrl() ); QVERIFY( url1.htmlRef().isNull() ); QCOMPARE( url1.upUrl().url(), QString("file:///home/dfaure/") ); u1 = "file:///home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/"; url1 = u1; QCOMPARE( url1.url(), QString("file:///home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/") ); QVERIFY( url1.hasRef() ); QVERIFY( !url1.hasHTMLRef() ); QVERIFY( url1.hasSubUrl() ); QVERIFY( url1.htmlRef().isNull() ); QCOMPARE( url1.upUrl().url(), QString("file:///home/dfaure/") ); #if 0 // This URL is broken, '#' should be escaped. u1 = "file:/home/dfaure/cdrdao-1.1.5/dao/#CdrDriver.cc#"; url1 = u1; QCOMPARE( url1.url(), QString("file:///home/dfaure/cdrdao-1.1.5/dao/#CdrDriver.cc#") ); QVERIFY( !url1.hasRef() ); QVERIFY( !url1.hasHTMLRef() ); QVERIFY( url1.hasSubUrl() ); QVERIFY( url1.htmlRef().isNull() ); QCOMPARE( url1.upUrl().url(), QString("file:///home/dfaure/cdrdao-1.1.5/dao/#CdrDriver.cc#") ); #endif u1 = "file:/home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/README"; url1 = u1; QCOMPARE( url1.url(), QString("file:///home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/README") ); QVERIFY( url1.hasRef() ); QVERIFY( !url1.hasHTMLRef() ); QVERIFY( url1.hasSubUrl() ); QVERIFY( url1.htmlRef().isNull() ); const KUrl::List url1Splitted = KUrl::split( url1 ); QCOMPARE( url1Splitted.count(), 3 ); //kDebug() << url1Splitted.toStringList(); QCOMPARE(url1Splitted[0].url(), QString("file:///home/dfaure/my%20tar%20file.tgz")); QCOMPARE(url1Splitted[1].url(), QString("gzip:/")); QCOMPARE(url1Splitted[2].url(), QString("tar:/README")); const KUrl url1Rejoined = KUrl::join(url1Splitted); // Bug fixed in 4.5.1 by Thiago #if QT_VERSION < 0x040501 QSKIP("Bug in Qt-4.4/4.5-rc1: setEncodedFragment doesn't work if the initial url has no fragment", SkipAll); #endif QCOMPARE(url1Rejoined.url(), url1.url()); QCOMPARE(url1.upUrl().url(), QString("file:///home/dfaure/my%20tar%20file.tgz#gzip:/#tar:/")); } void KUrlTest::testSetUser() { // The KUrl equality test below works because in Qt4 null == empty. QString str1; QString str2 = ""; QVERIFY( str1 == str2 ); KUrl emptyUserTest1( "http://www.foobar.com/"); QVERIFY( emptyUserTest1.user().isEmpty() ); QVERIFY( emptyUserTest1.user().isNull() ); // Expected result. This was fixed in Qt-4.4 KUrl emptyUserTest2( "http://www.foobar.com/"); emptyUserTest2.setUser( "" ); //QVERIFY( emptyUserTest2.user().isNull() ); QCOMPARE( emptyUserTest1==emptyUserTest2?"TRUE":"FALSE","TRUE" ); emptyUserTest2.setPass( "" ); QCOMPARE( emptyUserTest1==emptyUserTest2?"TRUE":"FALSE","TRUE" ); emptyUserTest2.setUser( "foo" ); QCOMPARE( emptyUserTest2.user(), QString::fromLatin1( "foo" ) ); emptyUserTest2.setUser( QString() ); QCOMPARE( emptyUserTest1==emptyUserTest2, true ); KUrl uga("ftp://ftp.kde.org"); uga.setUser("foo@bar"); QCOMPARE(uga.user(), QString::fromLatin1("foo@bar")); QCOMPARE(uga.url(), QString::fromLatin1("ftp://foo%40bar@ftp.kde.org")); } void KUrlTest::testComparisons() { /* QUrl version of urlcmp */ QUrl u1( "ftp://ftp.de.kde.org/dir" ); QUrl u2( "ftp://ftp.de.kde.org/dir/" ); QUrl::FormattingOptions options = QUrl::None; options |= QUrl::StripTrailingSlash; QString str1 = u1.toString(options); QString str2 = u2.toString(options); QCOMPARE( str1, u1.toString() ); QCOMPARE( str2, u1.toString() ); bool same = str1 == str2; QVERIFY( same ); QString ucmp1 = "ftp://ftp.de.kde.org/dir"; QString ucmp2 = "ftp://ftp.de.kde.org/dir/"; #ifndef KDE_NO_DEPRECATED QVERIFY(!urlcmp(ucmp1, ucmp2)); QVERIFY(urlcmp(ucmp1, ucmp2, KUrl::CompareWithoutTrailingSlash)); //only slash difference, ignore_trailing #endif { KUrl u1(ucmp1); KUrl u2(ucmp2); QVERIFY(!u1.equals(u2)); QVERIFY(u1.equals(u2, KUrl::CompareWithoutTrailingSlash)); QVERIFY(u1.equals(u2, KUrl::CompareWithoutTrailingSlash|KUrl::AllowEmptyPath)); } // Special case: no path vs '/'. { QString str1 = QString::fromLatin1( "ftp://ftp.de.kde.org" ); QString str2 = QString::fromLatin1( "ftp://ftp.de.kde.org/" ); #ifndef KDE_NO_DEPRECATED QVERIFY(!urlcmp(str1, str2)); QVERIFY(!urlcmp(str1, str2, KUrl::CompareWithoutTrailingSlash)); // empty path != '/' QVERIFY(urlcmp(str1, str2, KUrl::CompareWithoutTrailingSlash|KUrl::AllowEmptyPath)); #endif KUrl u1(str1); KUrl u2(str2); QVERIFY(!u1.equals(u2)); QVERIFY(!u1.equals(u2, KUrl::CompareWithoutTrailingSlash)); QVERIFY(u1.equals(u2, KUrl::CompareWithoutTrailingSlash|KUrl::AllowEmptyPath)); } QString ucmp3 = "ftp://ftp.de.kde.org/dir/#"; #ifndef KDE_NO_DEPRECATED QVERIFY( !urlcmp(ucmp2,ucmp3) ); // (only hash difference) QVERIFY( urlcmp(ucmp2,ucmp3,KUrl::CompareWithoutFragment) ); // (only hash difference, ignore_ref) QVERIFY( urlcmp(ucmp2,ucmp3,KUrl::CompareWithoutTrailingSlash | KUrl::CompareWithoutFragment) ); // (slash and hash difference, ignore_trailing, ignore_ref) QVERIFY( urlcmp("","",KUrl::CompareWithoutFragment) ); // (empty, empty) QVERIFY( urlcmp("","") ); // (empty, empty) QVERIFY( !urlcmp("",ucmp1) ); // (empty, not empty) QVERIFY( !urlcmp("",ucmp1,KUrl::CompareWithoutFragment) ); // (empty, not empty) QVERIFY( !urlcmp("file",ucmp1) ); // (malformed, not empty) QVERIFY( !urlcmp("file",ucmp1,KUrl::CompareWithoutFragment) ); // (malformed, not empty) #endif KUrl ftpUrl( "ftp://ftp.de.kde.org" ); QCOMPARE( ftpUrl.path(), QString()); ftpUrl = "ftp://ftp.de.kde.org/"; QVERIFY( ftpUrl.isParentOf( KUrl("ftp://ftp.de.kde.org/host/subdir/") ) ); ftpUrl = "ftp://ftp/host/subdir/"; QVERIFY( ftpUrl.isParentOf( KUrl("ftp://ftp/host/subdir/") ) ); QVERIFY( ftpUrl.isParentOf( KUrl("ftp://ftp/host/subdir") ) ); QVERIFY( !ftpUrl.isParentOf( KUrl("ftp://ftp/host/subdi") ) ); QVERIFY( ftpUrl.isParentOf( KUrl("ftp://ftp/host/subdir/blah/") ) ); QVERIFY( !ftpUrl.isParentOf( KUrl("ftp://ftp/blah/subdir") ) ); QVERIFY( !ftpUrl.isParentOf( KUrl("file:////ftp/host/subdir/") ) ); QVERIFY( ftpUrl.isParentOf( KUrl("ftp://ftp/host/subdir/subsub") ) ); } void KUrlTest::testStreaming() { // Streaming operators KUrl origURL( "http://www.website.com/directory/?#ref" ); KUrl urlWithPassAndNoUser("ftp://:password@ftp.kde.org/path"); KUrl accentuated(QString::fromUtf8("trash:/été")); KUrl empty( "" ); KUrl invalid( "ptal://mlc:usb" ); QVERIFY( !invalid.isValid() ); KUrl waba1( "http://[::ffff:129.144.52.38]:81?query" ); QByteArray buffer; { QDataStream stream( &buffer, QIODevice::WriteOnly ); stream << origURL << urlWithPassAndNoUser << accentuated << empty << invalid << waba1; // the IPv6 one } { QDataStream stream( buffer ); KUrl restoredURL; stream >> restoredURL; // streaming valid url QCOMPARE( restoredURL.url(), origURL.url() ); stream >> restoredURL; // streaming url with pass an no user QCOMPARE( restoredURL.url(), urlWithPassAndNoUser.url() ); stream >> restoredURL; // streaming valid url with accents QCOMPARE( restoredURL.url(), accentuated.url() ); stream >> restoredURL; // streaming empty url QVERIFY( !restoredURL.isValid() ); QVERIFY( restoredURL.isEmpty() ); QCOMPARE( restoredURL.url(), QString("") ); stream >> restoredURL; // streaming invalid url QVERIFY( !restoredURL.isValid() ); // note that this doesn't say what url() returns, that's for testBrokenStuff QCOMPARE( restoredURL.url(), invalid.url() ); stream >> restoredURL; // streaming ipv6 url with query QCOMPARE( restoredURL.url(), waba1.url() ); } } void KUrlTest::testBrokenStuff() { // Broken stuff KUrl waba1( "file:a" ); QCOMPARE( waba1.path(), QString("a") ); QCOMPARE( waba1.fileName(KUrl::ObeyTrailingSlash), QString("a") ); QCOMPARE( waba1.fileName(), QString("a") ); QCOMPARE( waba1.directory(KUrl::AppendTrailingSlash|KUrl::ObeyTrailingSlash), QString("") ); QCOMPARE( waba1.directory(KUrl::ObeyTrailingSlash), QString("") ); QCOMPARE( waba1.directory(), QString("") ); waba1 = "file:a/"; QCOMPARE( waba1.path(), QString("a/") ); QCOMPARE( waba1.fileName(KUrl::ObeyTrailingSlash), QString("") ); QCOMPARE( waba1.fileName(), QString("a") ); QCOMPARE( waba1.directory(KUrl::ObeyTrailingSlash | KUrl::AppendTrailingSlash), QString("a/") ); QCOMPARE( waba1.directory(KUrl::ObeyTrailingSlash), QString("a") ); QCOMPARE( waba1.directory(), QString("") ); waba1 = "file:"; QVERIFY( !waba1.isEmpty() ); QVERIFY( waba1.isValid() ); // KDE3: was invalid. Now it's qurl with scheme="file". QCOMPARE( waba1.path(), QString("") ); QCOMPARE( waba1.fileName(KUrl::ObeyTrailingSlash), QString("") ); QCOMPARE( waba1.fileName(), QString("") ); QCOMPARE( waba1.directory(KUrl::ObeyTrailingSlash | KUrl::AppendTrailingSlash), QString("") ); QCOMPARE( waba1.directory(KUrl::AppendTrailingSlash), QString("") ); QCOMPARE( waba1.directory(), QString("") ); KUrl broken; broken.setPath( QString() ); QVERIFY( !broken.isEmpty() ); // It's valid: because isValid refers to parsing, not to what happens afterwards. QVERIFY( broken.isValid() ); QCOMPARE( broken.path(), QString("") ); broken = "file://"; // just because coolo wondered QVERIFY( !broken.isEmpty() ); QVERIFY( broken.isValid() ); // KDE3: was invalid; same as above QCOMPARE( broken.path(), QString("") ); broken = "file"; QVERIFY( broken.isValid() ); // KDE3: was invalid; now it's path="file" #if 0 // KUrl has a Q_ASSERT on this now, so we can't test it. broken = "/"; QVERIFY( broken.isValid() ); QCOMPARE( broken.path(), QString("/") ); QCOMPARE( broken.url(), QString("/") ); // KDE3: was resolved to "file:///". QUrl supports urls without a protocol. QCOMPARE( broken.protocol(), QString("") ); // KDE3: was "file" #endif { QUrl url; url.setEncodedUrl("LABEL=USB_STICK", QUrl::TolerantMode); QVERIFY( url.isValid() ); QCOMPARE( url.path(), QString("LABEL=USB_STICK") ); QVERIFY( !url.isEmpty() ); } { QUrl url; url.setEncodedUrl("LABEL=USB_STICK", QUrl::TolerantMode); QVERIFY( url.isValid() ); QVERIFY( !url.isEmpty() ); // Qt-4.4-snapshot20080213 bug, reported to TT QCOMPARE( url.path(), QString("LABEL=USB_STICK") ); } broken = "LABEL=USB_STICK"; // 71430, can we use KUrl for this? QVERIFY( broken.isValid() ); // KDE3 difference: QUrl likes this one too QVERIFY( !broken.isEmpty() ); QCOMPARE( broken.path(), QString("LABEL=USB_STICK") ); // was "" in KDE3 } void KUrlTest::testMoreBrokenStuff() { #if 0 // BROKEN? // UNC like names KUrl unc1("FILE://localhost/home/root"); QCOMPARE( unc1.path(), QString("/home/root") ); QCOMPARE( unc1.url(), QString("file:///home/root") ); #endif KUrl unc2("file:///home/root"); // with empty host QCOMPARE( unc2.path(), QString("/home/root") ); QCOMPARE( unc2.url(), QString("file:///home/root") ); { KUrl unc3("FILE://remotehost/home/root"); #if 0 // BROKEN? QCOMPARE( unc3.path(), QString("//remotehost/home/root") ); #endif QCOMPARE( unc3.url(), QString("FILE://remotehost/home/root") ); // KDE3: file:// (lowercase) KUrl url2("file://atlas/dfaure"); QCOMPARE( url2.host(), QString("atlas") ); QCOMPARE( url2.path(), QString("/dfaure") ); //QCOMPARE( url3.path(), QString("//atlas/dfaure")); // says Waba //KUrl url3("file:////atlas/dfaure"); //QCOMPARE( url3.path(), QString("//atlas/dfaure")); // says Waba KUrl url4(url2, "//remotehost/home/root"); QCOMPARE( url4.host(), QString("remotehost") ); QCOMPARE( url4.path(), QString("/home/root") ); } KUrl weird; weird = "http://strange/"; QVERIFY( !weird.isValid() ); weird = "http://strange@strange/"; QVERIFY( !weird.isValid() ); { QUrl url; url.setUrl("http://strange@hostname/", QUrl::TolerantMode); QVERIFY(url.isValid()); } weird = "http://strange@hostname/"; QVERIFY( weird.isValid() ); // KDE3: was valid. Fixed by _setEncodedUrl. QCOMPARE( weird.host(), QString("hostname") ); weird = "http://strange;hostname/"; QVERIFY( !weird.isValid() ); weird = "http://strange;username@strange;hostname/"; QVERIFY( !weird.isValid() ); weird = "http://strange;username@hostname/"; QVERIFY( weird.isValid() ); QCOMPARE( weird.host(), QString("hostname") ); weird = "http://strange;username:password@strange;hostname/"; QVERIFY( !weird.isValid() ); weird = "http://strange;username:password@hostname/"; QVERIFY( weird.isValid() ); QCOMPARE( weird.host(), QString("hostname") ); weird = "http://[strange;hostname]/"; QVERIFY( !weird.isValid() ); weird = "ssh://user@machine?cmd='echo $HOSTNAME'"; QVERIFY( weird.isValid() ); QCOMPARE( weird.host(), QString("machine") ); //qDebug("%s",qPrintable( weird.query() ) ); QCOMPARE( weird.queryItem("cmd"), QString("'echo $HOSTNAME'") ); weird = ":pictures"; // for KFileDialog's startDir QVERIFY( weird.isValid() ); QVERIFY( weird.protocol().isEmpty() ); QVERIFY( weird.host().isEmpty() ); QCOMPARE( weird.path(), QString( "pictures" ) ); QCOMPARE( weird.url(), QString( "pictures" ) ); // # BUG: the : is missing weird = "::keyword"; // for KFileDialog's startDir QVERIFY( weird.isValid() ); QVERIFY( weird.protocol().isEmpty() ); QVERIFY( weird.host().isEmpty() ); QCOMPARE( weird.path(), QString( ":keyword" ) ); QCOMPARE( weird.url(), QString( ":keyword" ) ); // # BUG: the : is missing KUrl broken; broken = "ptal://mlc:usb:PC_970"; QVERIFY( !broken.isValid() ); QVERIFY (!broken.errorString().isEmpty()); //QCOMPARE( broken.url(), QString("ptal://mlc:usb:PC_970") ); // QUrl doesn't provide the initial string if it's an invalid url QUrl brokenUrl( "ptal://mlc:usb:PC_970" ); QVERIFY( !brokenUrl.isValid() ); QUrl dxOffEagle( "http://something/newpage.html?[{\"foo: bar\"}]", QUrl::TolerantMode); QVERIFY(dxOffEagle.isValid()); QCOMPARE(QString(dxOffEagle.toEncoded()), QString("http://something/newpage.html?%5B%7B%22foo:%20bar%22%7D%5D")); QUrl dxOffEagle2; dxOffEagle2.setUrl( "http://something/newpage.html?[{\"foo: bar\"}]", QUrl::TolerantMode); QVERIFY(dxOffEagle2.isValid()); QCOMPARE(dxOffEagle.toEncoded(), dxOffEagle2.toEncoded()); QUrl dxOffEagle3; dxOffEagle3.setEncodedUrl( "http://something/newpage.html?[{\"foo: bar\"}]", QUrl::TolerantMode); #if QT_VERSION < 0x040500 QEXPECT_FAIL("","Issue N183630, task ID 183874; works with setUrl so we do that in _setEncodedUrl now", Continue); #endif QVERIFY(dxOffEagle3.isValid()); QCOMPARE(dxOffEagle.toEncoded(), dxOffEagle3.toEncoded()); QUrl javascript; javascript.setUrl("javascript:window.location+\"__flashplugin_unique__\"", QUrl::TolerantMode); QVERIFY(javascript.isValid()); javascript.setEncodedUrl("javascript:window.location+\"__flashplugin_unique__\"", QUrl::TolerantMode); #if QT_VERSION < 0x040500 QEXPECT_FAIL("","Issue N183630, task ID 183874", Continue); #endif QVERIFY(javascript.isValid()); } void KUrlTest::testMailto() { const QString faure = "faure@kde.org"; const QString mailtoFaure = "mailto:" + faure; KUrl umail1 ( mailtoFaure ); QCOMPARE( umail1.protocol(), QString("mailto") ); QCOMPARE( umail1.path(), QString(faure) ); QVERIFY( !KUrl::isRelativeUrl(mailtoFaure) ); // Make sure populateMimeData() works correct: // 1. the text/plain part of the mimedata should not contain the mailto: part // 2. the uri-list part of the mimedata should contain the mailto: part QMimeData md; umail1.populateMimeData(&md); QCOMPARE(md.text(), faure); KUrl::List uriList = KUrl::List::fromMimeData(&md); QCOMPARE(uriList.size(), 1); KUrl first = uriList.first(); QCOMPARE(first.protocol(), QString("mailto")); QCOMPARE(first.path(), faure); KUrl mailtoOnly( "mailto:" ); QVERIFY( mailtoOnly.isValid() ); // KDE3 said invalid, QUrl is more tolerant KUrl url1( "mailto:user@host.com" ); QCOMPARE( url1.url(), QString("mailto:user@host.com") ); QCOMPARE( url1.url(KUrl::LeaveTrailingSlash), QString("mailto:user@host.com") ); KUrl mailtoUrl("mailto:null@kde.org?subject=hello"); QCOMPARE( mailtoUrl.url(), QString("mailto:null@kde.org?subject=hello" )); QUrl qurl("mailto:null@kde.org?subject=hello#world"); // #80165: is #world part of fragment or query? RFC-3986 says: fragment. QCOMPARE(QString::fromLatin1(qurl.encodedQuery()), QString("subject=hello")); { KUrl mailtoUrl; mailtoUrl.setProtocol("mailto"); mailtoUrl.setPath("a%b"); QCOMPARE(mailtoUrl.path(), QString("a%b")); QCOMPARE(mailtoUrl.url(), QString("mailto:a%25b")); } #if 0 // I wrote this test in the very first kurltest, but there's no proof that it's actually valid. // Andreas says this is broken, i.e. against rfc2368. // Let's see if the need ever comes up. KUrl umail2 ( "mailto:Faure David " ); QCOMPARE( umail2.protocol(), QString("mailto") ); QCOMPARE( umail2.path(), QString("Faure David ") ); QVERIFY( !KUrl::isRelativeUrl("mailto:faure@kde.org") ); #endif KUrl url183433("mailto:test[at]gmail[dot]com"); QCOMPARE(url183433.prettyUrl(), QString("mailto:test[at]gmail[dot]com")); QCOMPARE(url183433.url(), QString("mailto:test[at]gmail[dot]com")); } void KUrlTest::testSmb() { KUrl smb("smb://domain;username:password@server/share"); QVERIFY( smb.isValid() ); QCOMPARE( smb.user(), QString("domain;username") ); smb = "smb:/"; QVERIFY( smb.isValid() ); smb = "smb://"; // KDE3: kurl.cpp rev 1.106 made it invalid. Valid again with QUrl. QVERIFY( smb.isValid() ); smb = "smb://host"; QVERIFY( smb.isValid() ); smb = "smb:///"; QVERIFY( smb.isValid() ); KUrl implicitSmb("file://host/path"); QVERIFY(!implicitSmb.isLocalFile()); // -> kio_file will redirect to smb (by default) QCOMPARE(implicitSmb.host(), QString("host")); KUrl noImplicitSmb("//path1/path2"); QVERIFY(noImplicitSmb.isLocalFile()); QCOMPARE(noImplicitSmb.path(), QString("//path1/path2")); } void KUrlTest::testOtherProtocols() { KUrl about("about:"); QCOMPARE(about.path(), QString()); QCOMPARE(about.protocol(), QString("about")); KUrl aboutKonqueror("about:konqueror"); QCOMPARE(aboutKonqueror.path(), QString("konqueror")); KUrl leo( "data:text/html,http://www.invalid/" ); QVERIFY( leo.isValid() ); QCOMPARE( leo.protocol(), QString("data" ) ); QCOMPARE( leo.url(), QString("data:text/html,http://www.invalid/" ) ); QCOMPARE( leo.path(), QString("text/html,http://www.invalid/" ) ); KUrl ptal( "ptal://mlc:usb@PC_970" ); // User=mlc, password=usb, host=PC_970 #if QT_VERSION >= 0x040600 && QT_VERSION <= 0x040602 // Hostnames with underscores were invalid in 4.6.0 to 4.6.2, then allowed again in e301c82693c33c0f96c6a756d15fe35a9d877443 QCOMPARE(ptal.url(), QString("ptal://mlc:usb@")); // The host "PC_970" is invalid according to STD3 validation KUrl ptalSimpler("ptal://mlc:usb@pc123"); QCOMPARE(ptalSimpler.url(), QString("ptal://mlc:usb@pc123")); #else QUrl ptal_qurl; ptal_qurl.setUrl("ptal://mlc:usb@PC_970", QUrl::TolerantMode); QVERIFY(ptal_qurl.isValid()); QCOMPARE(QString::fromLatin1(ptal_qurl.toEncoded()), QString::fromLatin1("ptal://mlc:usb@pc_970")); QCOMPARE( ptal_qurl.host(), QString("pc_970") ); QVERIFY( ptal.isValid() ); QCOMPARE( ptal.host(), QString("pc_970") ); QCOMPARE( ptal.user(), QString("mlc") ); QCOMPARE( ptal.pass(), QString("usb") ); #endif } void KUrlTest::testUtf8() { QTextCodec* codec = QTextCodec::codecForName( "ISO-8859-1" ); QVERIFY( codec != 0 ); QTextCodec::setCodecForLocale( codec ); #if 0 { QUrl utest; utest.setScheme( "file" ); utest.setPath( QString::fromUtf8( "/home/dfaure/Matériel" ) ); printf( "utest.toString()=%s\n", utest.toString().toLatin1().constData() ); printf( "utest.path()=%s\n", utest.path().toLatin1().constData() ); printf( "utest.toEncoded()=%s\n", utest.toEncoded().data() ); } #endif // UTF8 tests KUrl uloc; uloc.setPath( QString::fromUtf8( "/home/dfaure/Matériel" ) ); QCOMPARE( uloc.url(), QString( "file:///home/dfaure/Mat%C3%A9riel") ); // KDE3 would say %E9 here; but from now on URLs are always utf8 encoded. QCOMPARE( uloc.path(), QString::fromUtf8( "/home/dfaure/Matériel") ); QCOMPARE( uloc.prettyUrl(), QString::fromUtf8( "file:///home/dfaure/Matériel") ); QCOMPARE( uloc.pathOrUrl(), QString::fromUtf8( "/home/dfaure/Matériel") ); // ... but that's why pathOrUrl is nicer. QCOMPARE( uloc.url(), QString( "file:///home/dfaure/Mat%C3%A9riel") ); uloc = KUrl("file:///home/dfaure/Mat%C3%A9riel"); QCOMPARE( uloc.path(), QString::fromUtf8("/home/dfaure/Matériel") ); QCOMPARE( uloc.url(), QString("file:///home/dfaure/Mat%C3%A9riel") ); KUrl umlaut1("http://www.clever-tanken.de/liste.asp?ort=N%FCrnberg&typ=Diesel"); QCOMPARE(umlaut1.url(), QString("http://www.clever-tanken.de/liste.asp?ort=N%FCrnberg&typ=Diesel")); KUrl umlaut2("http://www.clever-tanken.de/liste.asp?ort=N%FCrnberg&typ=Diesel"); // was ,106 QCOMPARE(umlaut2.url(), QString("http://www.clever-tanken.de/liste.asp?ort=N%FCrnberg&typ=Diesel")); KUrl urlWithUnicodeChar( QString::fromUtf8("file:///home/dfaure/Matériel") ); QCOMPARE( uloc.url(), QString("file:///home/dfaure/Mat%C3%A9riel") ); KUrl wkai(QString::fromUtf8("/tmp/魔")); QCOMPARE(wkai.url(), QString("file:///tmp/%E9%AD%94")); QCOMPARE(wkai.prettyUrl(), QString::fromUtf8("file:///tmp/魔")); // Show that the character "fraction slash" (U+2044) cannot appear in url(), // so it's ok to use that to encode urls as filenames (e.g. in kio_http cache) KUrl fractionSlash(QString("http://kde.org/a")+QChar(0x2044)+"b"); QCOMPARE(fractionSlash.url(), QString("http://kde.org/a%E2%81%84b")); QCOMPARE(fractionSlash.prettyUrl(), QString(QString("http://kde.org/a")+QChar(0x2044)+"b")); } void KUrlTest::testOtherEncodings() { QTextCodec::setCodecForLocale( KGlobal::charsets()->codecForName( "koi8-r" ) ); KUrl baseURL( "file:/home/coolo" ); KUrl russian = KUrl::fromPath( baseURL.directory(KUrl::AppendTrailingSlash) + QString::fromUtf8( "фгн7" ) ); //QCOMPARE( russian.url(), QString("file:///home/%C6%C7%CE7" ) ); // KDE3: was not using utf8 QCOMPARE( russian.url(), QString("file:///home/%D1%84%D0%B3%D0%BD7") ); // QUrl uses utf8 KUrl utf8_1("audiocd:/By%20Name/15%20Geantra%C3%AE.wav"); QCOMPARE( utf8_1.fileName(), QString::fromUtf8("15 Geantraî.wav") ); // KDE3: url had %2F, and fileName had '/'. But this is wrong, %2F means '/', // and filenames have to use %2F, so the url needs to have %252F. // KIO::encodeFileName takes care of that. KUrl utf8_2("audiocd:/By%20Name/15%252FGeantra%C3%AE.wav"); QCOMPARE( utf8_2.path(), QString::fromUtf8( "/By Name/15%2FGeantraî.wav" ) ); QCOMPARE( utf8_2.fileName(), QString::fromUtf8("15%2FGeantraî.wav") ); } void KUrlTest::testPathOrURL() { // passing path or url to the constructor: both work KUrl uloc( "/home/dfaure/konqtests/Mat%C3%A9riel" ); QCOMPARE( uloc.path(), QString("/home/dfaure/konqtests/Mat%C3%A9riel") ); uloc = KUrl( "http://www.kde.org" ); QCOMPARE( uloc.pathOrUrl(), uloc.url() ); QCOMPARE( uloc.pathOrUrl(KUrl::AddTrailingSlash), QString("http://www.kde.org/") ); uloc = KUrl( QString("www.kde.org" ) ); QVERIFY( uloc.isValid() ); // KDE3: was invalid. But it's now a url with path="www.kde.org", ok. uloc = KUrl( "index.html" ); QVERIFY( uloc.isValid() ); // KDE3: was invalid; same as above uloc = KUrl( "" ); QVERIFY( !uloc.isValid() ); #ifdef Q_WS_WIN #ifdef Q_CC_MSVC #pragma message ("port KUser") #else #warning port KUser #endif #else KUser currentUser; const QString userName = currentUser.loginName(); QVERIFY( !userName.isEmpty() ); uloc = KUrl(QString::fromUtf8("~%1/konqtests/Matériel").arg(userName)); QCOMPARE( uloc.path(), QString::fromUtf8("%1/konqtests/Matériel").arg(currentUser.homeDir()) ); #endif // pathOrUrl tests uloc = KUrl( "/home/dfaure/konqtests/Mat%C3%A9riel" ); QCOMPARE( uloc.pathOrUrl(), uloc.path() ); uloc = "http://www.kde.org"; QCOMPARE( uloc.url(), QString("http://www.kde.org") ); uloc = "file:///home/dfaure/konq%20tests/Mat%C3%A9riel#ref"; QCOMPARE( uloc.pathOrUrl(), QString::fromUtf8("file:///home/dfaure/konq tests/Matériel#ref" ) ); uloc = "file:///home/dfaure/konq%20tests/Mat%C3%A9riel?query"; QCOMPARE( uloc.pathOrUrl(), QString::fromUtf8("file:///home/dfaure/konq tests/Matériel?query" ) ); uloc = KUrl( "/home/dfaure/file#with#hash" ); QCOMPARE( uloc.pathOrUrl(), QString("/home/dfaure/file#with#hash" ) ); // test creation of url from pathOrUrl uloc = KUrl( QString::fromUtf8("http://www.kde.org/home/andreas/täst") ); QCOMPARE( KUrl( uloc.pathOrUrl() ), uloc ); uloc = KUrl( "http://www.kde.org/home/andreas/t%C3%A4st"); QCOMPARE( KUrl( uloc.pathOrUrl() ), uloc ); uloc = KUrl( QString::fromUtf8("file:///home/andreas/täst") ); QCOMPARE( KUrl( uloc.pathOrUrl() ), uloc ); uloc = KUrl( "file:///home/andreas/t%C3%A4st"); QCOMPARE( KUrl( uloc.pathOrUrl() ), uloc ); uloc = KUrl( "http://www.kde.org/home/kde?foobar#test" ); QCOMPARE( KUrl( uloc.pathOrUrl() ), uloc ); uloc = KUrl( "http://www.kde.org/home/%andreas"); QCOMPARE( KUrl( uloc.pathOrUrl() ), uloc ); } void KUrlTest::testAssignment() { // passing path or url to the constructor: both work KUrl uloc; uloc = "/home/dfaure/konqtests/Mat%C3%A9riel"; QCOMPARE( uloc.path(), QString("/home/dfaure/konqtests/Mat%C3%A9riel") ); KUrl u2; u2 = uloc; QCOMPARE( u2.path(), QString("/home/dfaure/konqtests/Mat%C3%A9riel") ); uloc = "http://www.kde.org"; QCOMPARE( uloc.pathOrUrl(), uloc.url() ); uloc = QString("www.kde.org" ); QVERIFY( uloc.isValid() ); uloc = KUrl( "index.html" ); QVERIFY( uloc.isValid() ); uloc = KUrl( "" ); QVERIFY( !uloc.isValid() ); #ifdef Q_WS_WIN #ifdef Q_CC_MSVC #pragma message ("port KUser") #else #warning port KUser #endif #else KUser currentUser; const QString userName = currentUser.loginName(); QVERIFY( !userName.isEmpty() ); uloc = QString::fromUtf8("~%1/konqtests/Matériel").arg(userName); QCOMPARE( uloc.path(), QString::fromUtf8("%1/konqtests/Matériel").arg(currentUser.homeDir()) ); uloc = QByteArray('~' + userName.toUtf8() + "/konqtests/Matériel"); QCOMPARE( uloc.path(), QString::fromUtf8("%1/konqtests/Matériel").arg(currentUser.homeDir()) ); // Assigning a KUrl to a QUrl and back QUrl qurl = uloc; QCOMPARE( qurl.toEncoded(), uloc.toEncoded() ); uloc = KUrl(qurl); QCOMPARE( qurl.toEncoded(), uloc.toEncoded() ); QCOMPARE( uloc.path(), QString::fromUtf8("%1/konqtests/Matériel").arg(currentUser.homeDir()) ); #endif } void KUrlTest::testQueryItem() { KUrl theKow( "http://www.google.de/search?q=frerich&hlx=xx&hl=de&empty=&lr=lang+de&test=%2B%20%3A%25" ); QCOMPARE( theKow.queryItem("q"), QString("frerich") ); QCOMPARE( theKow.queryItem("hl"), QString("de") ); QCOMPARE( theKow.queryItem("lr"), QString("lang de") ); // the '+' got decoded QCOMPARE( theKow.queryItem("InterstellarCounselor"), QString() ); QCOMPARE( theKow.queryItem("empty"), QString("") ); QCOMPARE( theKow.queryItem("test"), QString("+ :%") ); theKow.addQueryItem("a", "b+c" ); QCOMPARE( theKow.url(), QString("http://www.google.de/search?q=frerich&hlx=xx&hl=de&empty=&lr=lang+de&test=%2B%20%3A%25&a=b%2Bc") ); // KDE3 would use b%2Bc, but this is more correct QCOMPARE( theKow.queryItem("a"), QString("b+c") ); // note that the '+' remained // checks for queryItems(), which returns a QMap: KUrl queryUrl( "mailto:Marc%20Mutz%20%3cmutz@kde.org%3E?" "Subject=subscribe+me&" "body=subscribe+mutz%40kde.org&" "Cc=majordomo%40lists.kde.org" ); QCOMPARE(QStringList(queryUrl.queryItems(0).keys()).join(", "), QString( "Cc, Subject, body" ) ); QCOMPARE(QStringList(queryUrl.queryItems(KUrl::CaseInsensitiveKeys).keys()).join(", "), QString( "body, cc, subject" ) ); QCOMPARE(QStringList(queryUrl.queryItems(0).values()).join(", "), QString( "majordomo@lists.kde.org, subscribe me, subscribe mutz@kde.org" ) ); QCOMPARE(QStringList(queryUrl.queryItems(KUrl::CaseInsensitiveKeys).values()).join(", "), QString( "subscribe mutz@kde.org, majordomo@lists.kde.org, subscribe me" ) ); // TODO check for QUrl::queryItems } void KUrlTest::testEncodeString() { // Needed for #49616 QCOMPARE( QUrl::toPercentEncoding( "C++" ), QByteArray("C%2B%2B") ); QCOMPARE( QUrl::fromPercentEncoding( "C%2B%2B" ), QString("C++") ); QString output = QUrl::fromPercentEncoding( "C%00%0A" ); QString expected = QString::fromLatin1("C\0\n", 3); // no reason to stop at %00, in fact QCOMPARE( output.size(), expected.size() ); QCOMPARE( output, expected ); QCOMPARE( QUrl::fromPercentEncoding( "C%A" ), QString("C%A") ); // % A is not percent-encoding (pct-encoded = "%" HEXDIG HEXDIG) QCOMPARE( QUrl::toPercentEncoding( "%" ), QByteArray("%25") ); QCOMPARE( QUrl::toPercentEncoding( ":" ), QByteArray("%3A") ); } void KUrlTest::testIdn() { //qDebug( "trying QUrl with fromPercentEncoding" ); QUrl qurltest( QUrl::fromPercentEncoding( "http://\303\244.de" ) ); // a+trema in utf8 QVERIFY( qurltest.isValid() ); //qDebug( "trying QUrl with fromEncoded" ); QUrl qurl = QUrl::fromEncoded( "http://\303\244.de" ); // a+trema in utf8 QVERIFY( qurl.isValid() ); QCOMPARE( qurl.toEncoded(), QByteArray( "http://xn--4ca.de" ) ); //qDebug( "and now trying KUrl" ); KUrl thiago( QString::fromUtf8( "http://\303\244.de" ) ); // a+trema in utf8 QVERIFY( thiago.isValid() ); QCOMPARE( thiago.url(), QString("http://xn--4ca.de") ); // Non-ascii is allowed in IDN domain names. #if 0 // A broken test - not using utf8. and amantia forgot the real-world testcase. KUrl amantia( "http://%E1.foo.de" ); QVERIFY( amantia.isValid() ); QCOMPARE( amantia.url(), QString("http://xn--80a.foo.de") ); // Non-ascii is allowed in IDN domain names. #endif // A more valid test for % in hostnames: KUrl uwp( "http://%C3%A4.de" ); QVERIFY( uwp.isValid() ); QCOMPARE( thiago.url(), QString("http://xn--4ca.de") ); // as above } void KUrlTest::testUriMode() { KUrl url1; #if 0 // ###### TODO KUri url1 = "http://www.foobar.com/"; QCOMPARE(url1.uriMode(), KUrl::URL); url1 = "mailto:user@host.com"; QCOMPARE(url1.uriMode(), KUrl::Mailto); url1 = "data:text/plain,foobar?gazonk=flarp"; QCOMPARE(url1.uriMode(), KUrl::RawURI); QCOMPARE( url1.path(), QString("text/plain,foobar?gazonk=flarp") ); #endif url1 = "mailto:User@Host.COM?subject=Hello"; QCOMPARE( url1.path(), QString("User@Host.COM") ); // KDE3: "User@host.com". Does it matter? } void KUrlTest::testToLocalFile() { const QString localFile( "/tmp/print.pdf" ); const KUrl urlWithHost( "file://localhost/tmp/print.pdf" ); const KUrl urlWithoutHost( "file:///tmp/print.pdf" ); QCOMPARE( urlWithHost.toLocalFile(), localFile ); QCOMPARE( urlWithoutHost.toLocalFile(), localFile ); } void KUrlTest::testUrl_data() { QTest::addColumn( "url" ); QTest::addColumn( "urlLTS" ); QTest::addColumn( "urlRTS" ); QTest::addColumn( "urlATS" ); QTest::newRow("local file 1") << KUrl("file:///") << QString::fromLatin1("file:///") << QString::fromLatin1("file:///") << QString::fromLatin1("file:///"); QTest::newRow("local file 2") << KUrl("file:///home/kde/") << QString::fromLatin1("file:///home/kde/") << QString::fromLatin1("file:///home/kde") << QString::fromLatin1("file:///home/kde/"); QTest::newRow("local file 3") << KUrl("file:///home/kde//") << QString::fromLatin1("file:///home/kde//") << QString::fromLatin1("file:///home/kde") << QString::fromLatin1("file:///home/kde//"); QTest::newRow("ftp url") << KUrl("ftp://ftp.kde.org/") << QString::fromLatin1("ftp://ftp.kde.org/") << QString::fromLatin1("ftp://ftp.kde.org/") << QString::fromLatin1("ftp://ftp.kde.org/"); QTest::newRow("ftp url - 3 trailing slashes") << KUrl("ftp://ftp.kde.org///") << QString::fromLatin1("ftp://ftp.kde.org///") << QString::fromLatin1("ftp://ftp.kde.org/") << QString::fromLatin1("ftp://ftp.kde.org///"); } void KUrlTest::testUrl() { QFETCH( KUrl, url ); QFETCH( QString, urlLTS ); QFETCH( QString, urlRTS ); QFETCH( QString, urlATS ); QCOMPARE( url.url(KUrl::LeaveTrailingSlash), urlLTS ); QCOMPARE( url.url(KUrl::RemoveTrailingSlash), urlRTS ); QCOMPARE( url.url(KUrl::AddTrailingSlash), urlATS ); } void KUrlTest::testToStringList() { KUrl::List urls; urls << KUrl("file:///") << KUrl("file:///home/kde/") << KUrl("file:///home/kde//") << KUrl("ftp://ftp.kde.org/") << KUrl("ftp://ftp.kde.org///"); //kDebug() << urls.toStringList(KUrl::LeaveTrailingSlash); QCOMPARE( urls.toStringList(KUrl::LeaveTrailingSlash), QStringList() << QLatin1String("file:///") << QLatin1String("file:///home/kde/") << QLatin1String("file:///home/kde//") << QLatin1String("ftp://ftp.kde.org/") << QLatin1String("ftp://ftp.kde.org///") ); //kDebug() << urls.toStringList(KUrl::RemoveTrailingSlash); QCOMPARE( urls.toStringList(KUrl::RemoveTrailingSlash), QStringList() << QLatin1String("file:///") << QLatin1String("file:///home/kde") << QLatin1String("file:///home/kde") << QLatin1String("ftp://ftp.kde.org/") << QLatin1String("ftp://ftp.kde.org/") ); //kDebug() << urls.toStringList(KUrl::AddTrailingSlash); QCOMPARE( urls.toStringList(KUrl::AddTrailingSlash), QStringList() << QLatin1String("file:///") << QLatin1String("file:///home/kde/") << QLatin1String("file:///home/kde//") << QLatin1String("ftp://ftp.kde.org/") << QLatin1String("ftp://ftp.kde.org///") ); } diff --git a/kded/kdedmodule.desktop b/kded/kdedmodule.desktop index aa488d45cd..1fe5e2b28c 100644 --- a/kded/kdedmodule.desktop +++ b/kded/kdedmodule.desktop @@ -1,106 +1,106 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KDEDModule Comment=KDED Module Comment[af]=KDED Module Comment[ar]=وحدة KDED Comment[as]=KDED অংশ Comment[ast]=Módulu KDED Comment[be]=Модуль KDED Comment[be@latin]=Modul KDED Comment[bg]=Модул KDED Comment[bn]=KDED মডিইল Comment[bn_IN]=KDED মডিউল Comment[br]=Mollad KDED Comment[bs]=KDED modul Comment[ca]=Mòdul per al KDED Comment[ca@valencia]=Mòdul per al KDED Comment[cs]=KDED modul Comment[csb]=Mòdul KDED Comment[cy]=Modiwl KDED Comment[da]=KDED-modul Comment[de]=KDED-Modul Comment[el]=Άρθρωμα KDED Comment[en_GB]=KDED Module Comment[eo]=KDED-modulo Comment[es]=Módulo de KDED Comment[et]=KDED moodul Comment[eu]=KDED modulua Comment[fa]=پیمانه KDED Comment[fi]=KDED-moduuli Comment[fr]=Module KDED Comment[fy]=KDED-module Comment[ga]=Modúl KDED Comment[gl]=Módulo de KDED Comment[gu]=KDED મોડ્યુલ Comment[he]=מודול KDED Comment[hi]=केडीईडी मॉड्यूल Comment[hne]=केडीईडी माड्यूल Comment[hr]=Modul KDED Comment[hsb]=KDED modul Comment[hu]=KDED modul Comment[ia]=Modulo KDED Comment[id]=Modul KDED Comment[is]=KDED eining Comment[it]=Modulo di KDED Comment[ja]=KDED モジュール Comment[kk]=KDED модулі Comment[km]=ម៉ូឌុល KDED Comment[kn]=KDED ಘಟಕ Comment[ko]=KDED 모듈 Comment[ku]=Modûla KDED Comment[lb]=KDED-Modul Comment[lt]=KDED modulis Comment[lv]=KDED modulis Comment[mai]=केडीईडी मोड्यूल Comment[mk]=KDED модул Comment[ml]=കെഡിഇഡിയിലെ മൊഡ്യൂള്‍ Comment[mr]=KDED विभाग Comment[ms]=Modul KDED Comment[nb]=KDED-modul Comment[nds]=KDED-Moduul Comment[ne]=KDED मोड्युल Comment[nl]=KDED Module Comment[nn]=KDED-modul Comment[or]=KDED ଏକକାଂଶ Comment[pa]=KDED ਮੋਡੀਊਲ Comment[pl]=Moduł KDED Comment[ps]=بېلګه KDED Comment[pt]=Módulo do KDED Comment[pt_BR]=Módulo KDED Comment[ro]=Modul KDED Comment[ru]=Модуль KDED Comment[se]=KDED-moduvla Comment[si]=KDED මොඩියුලය Comment[sk]=KDED modul Comment[sl]=Modul KDED Comment[sq]=KDED Modul Comment[sr]=КДЕД модул Comment[sr@ijekavian]=КДЕД модул Comment[sr@ijekavianlatin]=KDED modul Comment[sr@latin]=KDED modul Comment[sv]=KDED-modul Comment[ta]=KDED பாகம் Comment[te]=కెడిఈడి మాడ్యూల్ Comment[tg]=Модули KDED Comment[th]=มอดูล KDED Comment[tr]=KDED Modülü Comment[ug]=KDED بۆلىكى Comment[uk]=Модуль KDED Comment[uz]=KDED moduli Comment[uz@cyrillic]=KDED модули Comment[vi]=Mô-đun KDED Comment[wa]=Module po KDED -Comment[x-test]=xxKDED Modulexx Comment[xh]=KDED Isichatshulwa +Comment[x-test]=xxKDED Modulexx Comment[zh_CN]=KDED 模块 Comment[zh_HK]=KDED 模組 Comment[zh_TW]=KDED 模組 [PropertyDef::X-KDE-FactoryName] Type=QString [PropertyDef::X-KDE-DBus-ModuleName] Type=QString [PropertyDef::X-KDE-Kded-autoload] Type=bool [PropertyDef::X-KDE-Kded-load-on-demand] Type=bool diff --git a/kdeui/about/body-background.jpg b/kdeui/about/body-background.jpg index 7b37cc4b5b..9b79f35165 100644 Binary files a/kdeui/about/body-background.jpg and b/kdeui/about/body-background.jpg differ diff --git a/kdeui/about/kde_infopage.css b/kdeui/about/kde_infopage.css index af65476ac5..183385d09e 100644 --- a/kdeui/about/kde_infopage.css +++ b/kdeui/about/kde_infopage.css @@ -1,256 +1,256 @@ /* * text styles */ img {margin: 0px; padding: 0px} -body {margin: 0px; padding: 0px; background-color: #87AEBC; background-image: url(body-background.jpg); color: #111111; height="100%"; width="100%"} +body {margin: 0px; padding: 0px; background-color: #98A6AB; background-image: url(body-background.jpg); color: #111111; height="100%"; width="100%"} a { color: #1A2C36; text-decoration: none; font-weight: bold; } a:hover { color: #003B5A; text-decoration: none; - text-shadow: #45A4BC 0px 0px 6px; + text-shadow: #FFFFFF 0px 0px 6px; } #subtext { font-size: 10pt; font-style: italic; } #nextlink { margin: 0px; padding-top: 1em; text-align: center; font-size: 10pt; } /* * the header */ #header { background-image: url(top-middle.png); width: 100%; height: 131px; } #headerL { position: absolute; left: 0px; height: 131px; width: 147px; z-index: 1; } #headerR { position: absolute; right: 0px; width: 430px; height: 131px; /*background-image: url(top-right.png);*/ } /* title and tagline are part of the header diff */ #title { position: absolute; top: 63px; right: 0px; margin-top: -1em; margin-right: 5%; text-align: right; font-size: xx-large; font-weight: bold; - text-shadow: #A6EAF9 0px 0px 5px; + text-shadow: #FFFFFF 0px 0px 5px; color: #151515; z-index: 5; } #tagline { position: absolute; top: 70px; right: 0px; margin-right: 5%; text-align: right; font-size: large; font-weight: bold; - text-shadow: #A6EAF9 0px 0px 5px; + text-shadow: #FFFFFF 0px 0px 5px; color: #151515; z-index: 5; } /* * the nav bar */ #bar { width: 100%; } #barCenter { text-align: center; /*background-color: #F5F5F4;*/ color: #111111; padding-top: 0.5ex; padding-bottom: 0.5ex; font-weight: bold; font-size: small; } #barCenter a.selected, #barCenter a.selected:hover { color: #111111; text-decoration: none; text-shadow: #CDE1FF 0px 0px 5px; } #barCenter li a:link, #barCenter li a:visited, #barCenter li a:active { color: #111111; text-decoration: none; text-shadow: none; } #barCenter li a:hover { color: #111111; text-decoration: none; text-shadow: #CDE1FF 0px 0px 6px; } #barCenter ul { margin: 0; padding: 0; } #barCenter li { display: inline; } #barCenter li:not(:first-child):before { /* Aren't css3 selectors great? */ content: " \0387 "; /* unicode for · */ } /* * the main box */ #box { width: 90%; margin-left: 5%; margin-right: 5%; margin-top: 10px; margin-bottom: 10px; } #boxT { width: 100%; height: 16px; } #boxTL { width: 16px; height: 16px; float: left; background-image: url(box-top-left.png); } #boxTR { width: 16px; height: 16px; float: right; background-image: url(box-top-right.png); } #boxTC { height: 16px; margin-left: 16px; margin-right: 16px; background-image: url(box-top-middle.png); -khtml-background-size: 100%; } #boxL { background-image: url(box-middle-left.png); background-repeat: repeat-y; -khtml-background-size: 16px 100%; background-position: left; padding-left: 16px; } #boxCenter { background-image: url(box-center.png); background-position: center; background-repeat: no-repeat; -khtml-background-size: 100%; text-align: left; } #boxR { background-image: url(box-middle-right.png); background-repeat: repeat-y; -khtml-background-size: 16px 100%; background-position: right; padding-right: 16px; } #boxB { width: 100%; height: 49px; } #boxBL { width: 16px; height: 16px; float: left; background-image: url(box-bottom-left.png); } #boxBR { width: 16px; height: 16px; float: right; background-image: url(box-bottom-right.png); } #boxBC { height: 16px; margin-left: 16px; margin-right: 16px; background-image: url(box-bottom-middle.png); -khtml-background-size: 100%; background-repeat: no-repeat; } /* * the footer */ /* #footer { position: fixed; background-image: url(bottom-middle.png); width: 100%; height: 100px; z-index: -2; bottom:0; } #footerL { position: fixed; background-image: url(bottom-left.png); left: 0px; width: 155px; height: 100px; z-index: -2; } #footerR { position: fixed; background-image: url(bottom-right.png); right: 0px; width: 429px; height: 100px; z-index: -1; } */ /* vim:set sw=2 et nocindent smartindent: */ diff --git a/kdeui/util/kaccelgen.h b/kdeui/util/kaccelgen.h index 6b79539714..a7decd766c 100644 --- a/kdeui/util/kaccelgen.h +++ b/kdeui/util/kaccelgen.h @@ -1,280 +1,277 @@ /* This file is part of the KDE project Copyright (C) 2000 Keunwoo Lee This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef KACCELGEN_H #define KACCELGEN_H #include #include #include #include /** * Provides functions that, given a collection of QStrings, will * automatically and intelligently assign menu accelerators to the * QStrings in the collection. * * NOTE: When this file speaks of "accelerators", we really mean * accelerators as defined by the KDE User Interface Guidelines. We * do NOT mean "shortcuts", which are what's handled by most other KDE * libraries with "accel" in the name. * * In the Qt library, the mechanism for adding a keyboard accelerator * to a menu item is to insert an '&' before the letter. Since we * usually don't want to disturb the original collection, the idiom in * these functions is to populate a "target" QStringList parameter * with the input collectin's QStrings, plus possibly some added '&' * characters. * * That is the mechanism. Here is the policy, in order of decreasing * importance (it may seem like these are implementation details, but * IMHO the policy is an important part of the interface): * * 1. If the string already contains an '&' character, skip this * string, because we consider such strings to be "user-specified" * accelerators. * * 2. No accelerator may clash with a previously defined accelerator, * including any legal (alphanumeric) user-specified accelerator * anywhere in the collection * * 3. Prefer alphanumerics at the start of the string. * * 4. Otherwise, prefer alphanumerics at the start of a word. * * 5. Otherwise, choose any alphanumeric character not already * taken. If no such character is available, give up & skip this * string. * * A typical use of these functions would be to automatically assign * accelerators to a dynamically populated popup menu. For example, * the core code was written to automatically set accelerators for the * "Load View Profile" popup menu for Konqueror. We quickly realized * that it would be useful to make this facility more generally * available, so I abstracted it out into a set of templates. * * TODO: * * + Add sugar functions for more collections. * * + Add more Deref classes so that we can access a wider variety of * collections. * */ namespace KAccelGen { // HELPERS /** * Static dereference class, for use as a template parameter. */ template class Deref { public: static QString deref(Iter i) { return *i; } }; /** * Static dereference class that calls the key() method on its * target; for use as a template parameter. */ template class Deref_Key { public: static QString deref(Iter i) { return i.key(); } }; /** * Helper to determine if the given offset in the string could be a * legal alphanumeric accelerator. * * @param str base string * @param index offset to check */ inline bool isLegalAccelerator(const QString& str, int index) { return index >= 0 && index < str.length() && str[index].isLetterOrNumber(); } /** * Loads all legal predefined accelerators in the (implicitly * specified) collection into the given QMap. * * @param begin start iterator * @param end (last+1) iterator * @param keys map to store output */ template inline void loadPredefined(Iter begin, Iter end, QMap& keys) { for (Iter i = begin; i != end; ++i) { QString item = Deref::deref(i); int user_ampersand = item.indexOf(QLatin1Char('&')); if( user_ampersand >= 0 ) { // Sanity check. Note that we don't try to find an // accelerator if the user shoots him/herself in the foot // by adding a bad '&'. if( isLegalAccelerator(item, user_ampersand+1) ) { keys.insert(item[user_ampersand+1], true); } } } } // /////////////////////////////////////////////////////////////////// // MAIN USER FUNCTIONS /** * Main, maximally flexible template function that assigns * accelerators to the elements of a collection of QStrings. Clients * will seldom use this directly, as it's usually easier to use one of * the wrapper functions that simply takes a collection (see below). * * The Deref template parameter is a class containing a static * dereferencing function, modeled after the comparison class C in * Stroustrup 13.4. * * @param begin (you know) * @param end (you know) * @param target collection to store generated strings */ template void generate(Iter begin, Iter end, QStringList& target) { // Will keep track of used accelerator chars QMap used_accels; // Prepass to detect manually user-coded accelerators loadPredefined(begin, end, used_accels); // Main pass for (Iter i = begin; i != end; ++i) { QString item = Iter_Deref::deref(i); // Attempt to find a good accelerator, but only if the user // has not manually hardcoded one. int user_ampersand = item.indexOf(QLatin1Char('&')); if( user_ampersand < 0 || item[user_ampersand+1] == QLatin1Char('&')) { bool found = false; - int found_idx; int j; // Check word-starting letters first. for( j=0; j < item.length(); ++j ) { if( isLegalAccelerator(item, j) && !used_accels.contains(item[j]) && (0 == j || (j > 0 && item[j-1].isSpace())) ) { found = true; - found_idx = j; break; } } if( !found ) { // No word-starting letter; search for any letter. for( j=0; j < item.length(); ++j ) { if( isLegalAccelerator(item, j) && !used_accels.contains(item[j]) ) { found = true; - found_idx = j; break; } } } if( found ) { // Both upper and lower case marked as used used_accels.insert(item[j].toUpper(),true); used_accels.insert(item[j].toLower(),true); item.insert(j,QLatin1Char('&')); } } target.append( item ); } } /** * Another convenience function; looks up the key instead of * dereferencing directly for the given iterator. * * @param begin * @param end * @param target */ template inline void generateFromKeys(Iter begin, Iter end, QStringList& target) { generate< Iter, Deref_Key >(begin, end, target); } /** * Convenience function; generates accelerators for all the items in * a QStringList. * * @param source Strings for which to generate accelerators * @param target Output for accelerator-added strings */ inline void generate(const QStringList& source, QStringList& target) { generate >(source.begin(), source.end(), target); } /** * Convenience function; generates accelerators for all the values in * a QMap. * * @param source Map with input strings as VALUES. * @param target Output for accelerator-added strings */ template inline void generateFromValues(const QMap& source, QStringList& target) { generate::ConstIterator, Deref_Key::ConstIterator> >(source.begin(), source.end(), target); } /** * Convenience function; generates an accelerator mapping from all the * keys in a QMap * * @param source Map with input strings as KEYS. * @param target Output for accelerator-added strings */ template inline void generateFromKeys(const QMap& source, QStringList& target) { generateFromKeys(source.begin(), source.end(), target); } } // end namespace KAccelGen #endif diff --git a/kdoctools/customization/ru/catalog.xml b/kdoctools/customization/ru/catalog.xml index a4d7f1d457..1093312bab 100644 --- a/kdoctools/customization/ru/catalog.xml +++ b/kdoctools/customization/ru/catalog.xml @@ -1,40 +1,42 @@ /> + diff --git a/kdoctools/customization/ru/entities/underLGPL.docbook b/kdoctools/customization/ru/entities/underLGPL.docbook new file mode 100644 index 0000000000..c2b1b59311 --- /dev/null +++ b/kdoctools/customization/ru/entities/underLGPL.docbook @@ -0,0 +1,2 @@ +Программа распространяется на условиях лицензии GNU Lesser General Public License. diff --git a/kdoctools/customization/ru/lang.entities b/kdoctools/customization/ru/lang.entities index 74974ca5eb..0555ab4962 100644 --- a/kdoctools/customization/ru/lang.entities +++ b/kdoctools/customization/ru/lang.entities @@ -1,46 +1,48 @@ %kde.translated; + %kde.language.specific; diff --git a/kfile/kfilemodule.desktop b/kfile/kfilemodule.desktop index f1728da5cc..5b2733b2e5 100644 --- a/kfile/kfilemodule.desktop +++ b/kfile/kfilemodule.desktop @@ -1,129 +1,131 @@ [Desktop Entry] Name=KFileModule Name[ar]=KFileModule Name[ast]=KFileModule Name[bg]=Модул KFile Name[bn]=কে-ফাইল মডিইল Name[bs]=KFileModule Name[ca]=KFileModule Name[ca@valencia]=KFileModule Name[cs]=Modul KFile Name[da]=KFileModule Name[de]=KFile-Modul Name[el]=Άρθρωμα KFile Name[en_GB]=KFileModule Name[es]=KFileModule Name[et]=KFileModule Name[eu]=KFileModulua Name[fa]=KFileModule Name[fi]=KFileModule Name[fr]=KFileModule Name[ga]=KFileModule Name[gl]=KFileModule Name[hr]=KModulDatoteke Name[hu]=KFileModule Name[ia]=Modulo KFile Name[id]=KFileModule Name[is]=KFile eining Name[it]=Modulo KFile Name[ja]=KFile モジュール Name[kk]=KFileModule Name[km]=KFileModule Name[kn]=KFileModule Name[ko]=KFileModule Name[ku]=ModûlaKFile Name[lt]=KFileModulis Name[lv]=KFileModule Name[ms]=KFileModule Name[nb]=KFileModule Name[nds]=K-Dateimoduul Name[nl]=KFileModule Name[nn]=KFileModule Name[pa]=KFileModule Name[pl]=Moduł KFile Name[pt]=KFileModule Name[pt_BR]=KFileModule Name[ro]=KFileModule Name[ru]=KFileModule Name[se]=KFileModule Name[si]=KDED මොඩියුලය Name[sk]=KFile modul Name[sl]=Modul KFile Name[sr]=Модул к‑фајла Name[sr@ijekavian]=Модул к‑фајла Name[sr@ijekavianlatin]=Modul KFilea Name[sr@latin]=Modul KFilea Name[sv]=Kfil-modul Name[ta]=KFileModule Name[tg]=KFileModule Name[th]=KFileModule Name[tr]=KFile Modülü Name[ug]=KFile بۆلىكى Name[uk]=KFileModule +Name[vi]=KFileModule Name[wa]=Module KFile Name[x-test]=xxKFileModulexx Name[zh_CN]=KFile 模块 Name[zh_TW]=KFile 模組 Comment=The default KDE file module providing the standard file dialog Comment[ar]=وحدة ملف كدي الافتراضية التي تعطي مربع الملف القياسي Comment[bg]=Подразбиращият се файлов модул на KDE, осигуряващ стандартния диалогов прозорец за файлове Comment[bs]=Podrazumijevani KDE‑ov modul datoteka koji daje standardnu datoteku dijalog Comment[ca]=El mòdul de fitxers per defecte del KDE que proporciona el diàleg de fitxer estàndard Comment[ca@valencia]=El mòdul de fitxers per defecte del KDE que proporciona el diàleg de fitxer estàndard Comment[cs]=Výchozí souborový modul poskytující standardní souborový dialog Comment[da]=KDE's standard filmodul som giver standard fildialogen Comment[de]=Das Standard-KDE-Dateimodul, das den Standard-Dateidialog bereitstellt Comment[el]=Το προεπιλεγμένο άρθρωμα KDE που παρέχει τον τυπικό διάλογο αρχείων Comment[en_GB]=The default KDE file module providing the standard file dialogue Comment[es]=El módulo de archivos por omisión de KDE que proporciona el diálogo de archivos estándar Comment[et]=KDE vaikimisi failimoodul, mis pakub standardset failidialoogi Comment[eu]=Fitxategi elkarrizketa koadro estandarra eskeintzen duen KDE fitxategi modulu lehenetsia Comment[fi]=KDE:n oletustiedostoikkunan toteuttava moduuli Comment[fr]=Le module de fichiers KDE par défaut fournit la fenêtre d'ouverture de fichiers standard Comment[ga]=Modúl réamhshocraithe comhad KDE a sholáthraíonn an gnáthdhialóg comhad Comment[gl]=O módulo predeterminado de KDE para ficheiros, que fornece o diálogo normal de ficheiros Comment[hr]=Uobičajeni KDE modul za datoteke koji pruža standardni dijalog Comment[hu]=A KDE alapértelmezett, standard fájlkezelő ablakait tartalmazó modul Comment[ia]=Le modulo KDEFile predefinite que forni le file standard de dialogo Comment[id]=Modul berkas KDE standar menyediakan dialog berkas standar Comment[is]=Sjálfgefna KDE skráareiningin sem sér um staðlaða skráagluggann Comment[it]=Il modulo file standard di KDE che fornisce la finestra di dialogo per i file Comment[ja]=標準のファイル選択ダイアログを提供する KDE の標準ファイルモジュール Comment[kk]=Стандартты файл диалогын қамтамасыз ететін KDE файл модулі Comment[km]=ម៉ូឌុល​ឯកសារ KDE លំនាំដើម​ផ្ដល់​នូវ​ប្រអប់​ឯកសារ​ស្តង់ដារ Comment[ko]=표준 파일 대화상자를 제공하는 기본 KDE 파일 모듈 Comment[ku]=KDE modula pelê ya standard, paceya pelê ya standard peyde dike Comment[lt]=Numatytasis KDE failų dialogo modulis Comment[lv]=Noklusētais KDE failu modulis, kas nodrošina standarta failu dialogu Comment[nb]=KDE standard filmodul som skaffer standard fildialog Comment[nds]=Dat KDE-Standarddateimoduul, dat den Standard-Dateidialoog praatstellt Comment[nl]=De standaard KDE-bestandsmodule die de standaard bestandsdialoog levert Comment[nn]=Standard KDE-filmodul for opna/lagra-vindauge Comment[pa]=ਡਿਫਾਲਟ KDE ਫਾਇਲ ਮੋਡੀਊਲ ਸਟੈਂਡਰਡ ਫਾਇਲ ਡਾਈਲਾਗ ਦਿੰਦਾ ਹੈ Comment[pl]=Domyślny moduł plików KDE dostarczający standardowe okno dialogowe plików Comment[pt]=O módulo de ficheiros predefinido do KDE, que fornece a janela de ficheiros normal Comment[pt_BR]=O módulo de arquivos padrão do KDE, que fornece o diálogo de arquivos padronizado Comment[ro]=Modulul de fișier KDE implicit, furnizînd dialogul standard de fișiere Comment[ru]=Модуль по умолчанию диалогового окна выбора файла Comment[se]=Standárda KDE-fiilamodula mii sisttisdoallá standárdafiilaláseža Comment[sk]=Štandardný súborový modul KDE, ktorý poskytuje štandardný súborový dialóg Comment[sl]=Privzeti modul KDE za datoteke, ki ponuja običajno pogovorno okno za datoteke Comment[sr]=Подразумевани КДЕ‑ов модул фајлова који даје стандардни фајл дијалог Comment[sr@ijekavian]=Подразумијевани КДЕ‑ов модул фајлова који даје стандардни фајл дијалог Comment[sr@ijekavianlatin]=Podrazumijevani KDE‑ov modul fajlova koji daje standardni fajl dijalog Comment[sr@latin]=Podrazumevani KDE‑ov modul fajlova koji daje standardni fajl dijalog Comment[sv]=KDE:s standardmodul för filer som tillhandahåller standarddialogrutan för filer Comment[ta]=வழக்கமான கோப்பு பலகத்தை தரும் கேடீயீயின் இயல்பிருப்பு கோப்பு பாகம் Comment[tg]=Файли стандартии модули KDE барои намоиши диалогҳо -Comment[th]=มอดูลแฟ้มโดยปริยายของ KDE ที่ให้การใช้งานกล่องแฟ้มต่างๆ ที่เป็นมาตรฐาน +Comment[th]=มอดูลแฟ้มโดยปริยายของ KDE ที่ให้การใช้งานกล่องแฟ้มต่าง ๆ ที่เป็นมาตรฐาน Comment[tr]=Standart dosya penceresini sağlayan KDE öntanımlı dosya modülü Comment[ug]=سۈكۈتتىكى KDE ھۆججەت بۆلىكى ئۆلچەملىك ھۆججەت سۆزلەشكۈ تەمىنلىدى Comment[uk]=Типовий модуль KDE, що забезпечує роботу стандартного діалогового вікна роботи з файлами +Comment[vi]=Mô-đun tập tin KDE mặc định cung cấp hộp thoại tập tin chuẩn Comment[wa]=Li module fitchî prémetou di KDE et ki dene li dvize di fitchî standård Comment[x-test]=xxThe default KDE file module providing the standard file dialogxx Comment[zh_CN]=默认 KDE 文件模块提供了标准的文件对话框 Comment[zh_TW]=預設的 KDE 檔案模組,提供標準檔案對話框 X-KDE-ServiceTypes=KIO/FileModule Type=Service X-KDE-Library=kfilemodule diff --git a/khtml/khtml.desktop b/khtml/khtml.desktop index 2062904144..e54a87434c 100644 --- a/khtml/khtml.desktop +++ b/khtml/khtml.desktop @@ -1,198 +1,198 @@ [Desktop Entry] Type=Service Comment=Embeddable HTML viewing component Comment[af]=Inlegbare HTML aansigkomponent Comment[ar]=مكون عرض HTML المضمن Comment[as]=Embeddable HTML চাব পৰা অংশ Comment[ast]=Componente encrustable de vista de HTML Comment[be]=Унутраны праглядальнік HTML Comment[be@latin]=Unutrany kampanent dla prahladu HTML Comment[bg]=Компонент за вграждане за преглед на HTML файлове Comment[bn]=অভ্যন্তরীণ এইচ-টি-এম-এল প্রদর্শক উপাদান Comment[bn_IN]=এমবেড করার যোগ্য HTML প্রদর্শনের সামগ্রী Comment[br]=Parzh HTML gweler enframmus Comment[bs]=Ugnezdiva komponenta za prikaz HTML‑a Comment[ca]=Component encastable per a visualitzar HTML Comment[ca@valencia]=Component encastable per a visualitzar HTML Comment[cs]=Komponenta pro zobrazování HTML Comment[csb]=Kòmpònent do przezeraniô lopków HTML Comment[cy]=Cydran gweld HTML mewnadeiladadwy Comment[da]=HTML-visningskomponent som kan indlejres Comment[de]=Einbettungsfähige HTML-Betrachtungskomponente Comment[el]=Ενσωματώσιμο στοιχείο προβολής HTML Comment[en_GB]=Embeddable HTML viewing component Comment[eo]=HTML-rigarda komponanto Comment[es]=Componente empotrable para visualizar HTML Comment[et]=Põimitav HTML-i näitamise komponent Comment[eu]=Kapsulatutako HTML ikustailea Comment[fa]=مولفه مشاهده زنگام نهفته Comment[fi]=Upotettava HTML-katselukomponentti Comment[fr]=Composant d'affichage HTML intégrable Comment[fy]=Yn te sluten HTML-werjeftekomponint Comment[ga]=Comhpháirt inleabaithe amharctha HTML Comment[gl]=Compoñente integrábel de visualización de HTML Comment[gu]=જડિત HTML દર્શક ભાગ Comment[he]=רכיב בר־שיבוץ לתצוגת HTML Comment[hi]=अंतर्निर्मित एचटीएमएल प्रदर्शक अवयव Comment[hne]=भीतर मं बने एचटीएमएल प्रदर्सक अवयव Comment[hr]=Ugrađena komponenta za pregledavanje HTML Comment[hsb]=Integrowana HTML-komponenta Comment[hu]=Beágyazható HTML-néző komponens Comment[ia]=Componente incorporabile pro vision HTML Comment[id]=Komponen menampilkan HTML dapat dibenamkan Comment[is]=Ívafin HTML-skoðunar eining Comment[it]=Componente integrabile per la visualizzazione di HTML Comment[ja]=埋め込み可能な HTML ビューアコンポーネント Comment[kk]=Ендірілетін HTML қарау компоненті Comment[km]=សមាសភាគ​មើល HTML ដែល​អាច​បង្កប់បាន Comment[kn]=ಹುದುಗಿಸಬಹುದಾದ (ಎಂಬೆಡಬಲ್) HTML ವೀಕ್ಷಣಾ ಅಂಗ Comment[ko]=끼워넣은 HTML 보기 구성 요소 Comment[ku]=Perçe ya nîşanderê HTML yê jixwe heyî Comment[lb]=Abettbar HTML-Uweisungskomponent Comment[lt]=Įdedamas HTML peržiūros komponentas Comment[lv]=Iegultā HTML skatīšanas komponente Comment[mai]=अंतर्निर्मित एचटीएमएल प्रदर्शक अवयव Comment[mk]=Вгнездлива компонента за гледање HTML Comment[ml]=എംബഡബിള്‍ ആയിട്ടുള്ള എച്ച്ടിഎംഎല്‍ കാണാനുള്ള ഘടകം Comment[mr]=अंतर्भूतीत HTML प्रदर्शक विभाग Comment[ms]=Komponen pelihat HTML boleh-serta Comment[nb]=Innebygget komponent for HTML-visning Comment[nds]=Inbettbor Kieker-Komponent för HTML Comment[ne]=सम्मिलित गर्न सकिने एचटीएमएल दृश्य अवयव Comment[nl]=Ingebed HTML-weergavecomponent Comment[nn]=Innebyggbar komponent for HTML-vising Comment[or]=ସନ୍ନିବେଶଯୋଗ୍ୟ HTML ପ୍ରଦର୍ଶନୀୟ ଉପାଦାନ Comment[pa]=ਸ਼ਾਮਲ HTML ਵੇਖਣਯੋਗ ਹਿੱਸਾ Comment[pl]=Składnik do przeglądania plików HTML Comment[ps]=ليدانی رغتوک HTML راتاوېدونکی Comment[pt]=Componente de visualização de HTML incorporada Comment[pt_BR]=Componente integrado de visualização HTML Comment[ro]=Componentă înglobată de vizualizare HTML Comment[ru]=Компонент просмотра HTML Comment[se]=Vuojuhanláhkái HTML-čájehanoassi Comment[sk]=Komponent pre zobrazenie HTML Comment[sl]=Integrirani pregled besedila HTML Comment[sq]=Përbërës Shfaqjeje i Bashkangjitur në HTML Comment[sr]=Угнездива компонента за приказ ХТМЛ‑а Comment[sr@ijekavian]=Угњездива компонента за приказ ХТМЛ‑а Comment[sr@ijekavianlatin]=Ugnjezdiva komponenta za prikaz HTML‑a Comment[sr@latin]=Ugnezdiva komponenta za prikaz HTML‑a Comment[sv]=Inbäddningsbar HTML-visande komponent Comment[ta]=உட்பொதிக்கவல்ல HTML காட்சிப் பாகம் Comment[te]=పొదగదగ్గ HTML విక్షణాంశం Comment[tg]=Қисми намоиши HTML-и дарунсохт Comment[th]=ส่วนประกอบสำหรับแสดงผล HTML ที่ฝังได้ Comment[tr]=Gömülebilir HTML görüntüleme aracı Comment[ug]=سىڭدۈرمە HTML كۆرۈش بۆلىكى Comment[uk]=Вбудований компонент «переглядач HTML» Comment[uz]=Ichiga oʻrnatib boʻladigan HTML koʻruvchi komponent Comment[uz@cyrillic]=Ичига ўрнатиб бўладиган HTML кўрувчи компонент Comment[vi]=Thành phần xem HTML có khả năng nhúng. Comment[wa]=Ravalé compôzant di håynaedje HTML -Comment[x-test]=xxEmbeddable HTML viewing componentxx Comment[xh]=Inxenye yemboniselo elungisiweyo ye HTML +Comment[x-test]=xxEmbeddable HTML viewing componentxx Comment[zh_CN]=可嵌入的 HTML 查看组件 Comment[zh_HK]=可嵌入的 HTML 檢視元件 Comment[zh_TW]=可嵌入的 HTML 檢視元件 MimeType=text/html;application/xml;application/xhtml+xml; Icon=konqueror Name=KHTML Name[af]=KHTML Name[ar]=KHTML Name[as]=KHTML Name[ast]=KHTML Name[be]=KHTML Name[be@latin]=KHTML Name[bg]=KHTML Name[bn]=KHTML Name[bn_IN]=KHTML Name[br]=KHTML Name[bs]=KHTML Name[ca]=KHTML Name[ca@valencia]=KHTML Name[cs]=KHTML Name[csb]=KHTML Name[cy]=KHTML Name[da]=KHTML Name[de]=KHTML Name[el]=KHTML Name[en_GB]=KHTML Name[eo]=KHTML Name[es]=KHTML Name[et]=KHTML Name[eu]=KHTML Name[fa]=KHTML Name[fi]=KHTML Name[fr]=KHTML Name[fy]=KHTML Name[ga]=KHTML Name[gl]=KHTML Name[gu]=KHTML Name[he]=KHTML Name[hi]=के-एचटीएमएल Name[hne]=के-एचटीएमएल Name[hr]=KHTML Name[hsb]=KHTML Name[hu]=KHTML Name[hy]=KHTML Name[ia]=KHTML Name[id]=KHTML Name[is]=KHTML Name[it]=KHTML Name[ja]=KHTML Name[kk]=KHTML Name[km]=KHTML Name[kn]=ಕೆಹೆಚ್ ಟಿ ಎಮ್ ಎಲ್ Name[ko]=KHTML Name[ku]=KHTML Name[lb]=KHTML Name[lt]=KHTML Name[lv]=KHTML Name[mai]=के-एचटीएमएल Name[mk]=KHTML Name[ml]=കെഎച്ച്ടിഎംഎല്‍ Name[mr]=KHTML Name[ms]=KHTML Name[nb]=KHTML Name[nds]=KHTML Name[ne]=KHTML Name[nl]=KHTML Name[nn]=KHTML Name[oc]=KHTML Name[or]=KHTML Name[pa]=KHTML Name[pl]=KHTML Name[ps]=KHTML Name[pt]=KHTML Name[pt_BR]=KHTML Name[ro]=KHTML Name[ru]=KHTML Name[se]=KHTML Name[si]=KHTML Name[sk]=KHTML Name[sl]=KHTML Name[sq]=KHTML Name[sr]=КХТМЛ Name[sr@ijekavian]=КХТМЛ Name[sr@ijekavianlatin]=KHTML Name[sr@latin]=KHTML Name[sv]=KHTML Name[ta]=KHTML Name[te]=కెహెచ్ టి ఎమ్ ఎల్ Name[tg]=KHTML Name[th]=KHTML Name[tr]=KHTML Name[ug]=KHTML Name[uk]=KHTML Name[uz]=KHTML Name[uz@cyrillic]=KHTML Name[vi]=KHTML Name[wa]=KHTML -Name[x-test]=xxKHTMLxx Name[xh]=KHTML +Name[x-test]=xxKHTMLxx Name[zh_CN]=KHTML Name[zh_HK]=KHTML Name[zh_TW]=KHTML X-KDE-ServiceTypes=KParts/ReadOnlyPart,Browser/View X-KDE-Library=libkhtmlpart InitialPreference=10 diff --git a/khtml/khtmladaptorpart.desktop b/khtml/khtmladaptorpart.desktop index 7952b549b1..58284d60e8 100644 --- a/khtml/khtmladaptorpart.desktop +++ b/khtml/khtmladaptorpart.desktop @@ -1,87 +1,88 @@ [Desktop Entry] Name=KHTML Extension Adaptor Name[af]=KHTML uitbreidingaanpasser Name[ar]=مهيئ امتدادات KHTML Name[as]=KHTML সম্প্ৰসাৰণৰ এডাপ্টৰ Name[ast]=Adautador d'estensiones KHTML Name[be@latin]=Adaptar dla pašyreńniaŭ KHTML Name[bg]=Адаптор за KHTML разширения Name[bn]=KHTML এক্সটেনশন অ্যাডাপ্টর Name[bn_IN]=KHTML Extension Adaptor Name[bs]=Adapter proširenja za KHTML Name[ca]=Adaptador d'extensió KHTML Name[ca@valencia]=Adaptador d'extensió KHTML Name[cs]=Adaptér pro KHTML rozšíření Name[csb]=KHTML Extension Adaptor Name[da]=Udvidelsestilpasning for KHTML Name[de]=Adapter für KHTML-Erweiterungen Name[el]=Προσαρμογέας επέκτασης KHTML Name[en_GB]=KHTML Extension Adaptor Name[eo]=KHTML-finaĵa adaptilo Name[es]=Adaptador de extensiones KHTML Name[et]=KHTML-i laiendi adapter Name[eu]=KHTML luzapenen moldatzailea Name[fa]=سازوارگر گسترش‌های KHTML Name[fi]=KHTML lisäosien sovitin Name[fr]=Adaptateur de l'extension KHTML Name[fy]=KHTML taheaksel adaptor Name[ga]=Cuibheoir Eisínteacht KHTML Name[gl]=Adaptador de extensión de KHTML Name[gu]=KHTML એક્સટેન્સન સ્વિકારનાર Name[he]=מתאם הרחבה של KHTML Name[hne]=केएचटीएमएल विस्तार एडाप्टर Name[hr]=Prilagodnik proširenja za KHTML Name[hsb]=KHTML Extension Adaptor Name[hu]=KHTML kiterjesztésadapter Name[ia]=Adaptator pro KHTML Extension Name[id]=Adaptor Tambahan KHTML Name[is]=Aðlögun KHTML-endinga Name[it]=Adattatore estensione KHTML Name[ja]=KHTML エクステンションアダプタ Name[kk]=KHTML кеңейту адапторы Name[km]=អាដាប់ទ័រ​ផ្នែក​បន្ថែម KHTML Name[kn]=KHTML ವಿಸ್ತರಣಾ ಅನುವರ್ತಕ (ಅಡಾಪ್ಟಾರ್) Name[ko]=KHTML 확장 기능 어댑터 Name[ku]=Pêveka Adeptora KHTML Name[lt]=KHTML praplėtimų adapteris Name[lv]=KHTML paplašinājumu adapteris Name[mai]=KHTML विस्तारक एडाप्टर Name[mk]=Адаптер за KHTML-екстензија Name[ml]=കെഎച്ച്ടിഎംഎല്‍ എക്സ്റ്റന്‍ഷന്‍ അഡാപ്റ്റര്‍ Name[mr]=KHTML विस्तारन एडॅप्टर Name[nb]=KHTML-filutvidelsesadapter Name[nds]=Koppelsteed för KHTML-Verwiedern Name[ne]=केडीई एचटीएमएल विस्तार समायोजक Name[nl]=KHTML Extension Adaptor Name[nn]=KHTML-utvidingstilpassar Name[or]=KHTML ଅନୁଲଗ୍ନ ଉପଯୋଜକ Name[pa]=KHTML ਇਕਸਟੈਨਸ਼ਨ ਅਡੋਪਟਰ Name[pl]=Adapter rozszerzeń KHTML Name[pt]=Adaptação da Extensão KHTML Name[pt_BR]=Adaptador de extensões do KHTML Name[ro]=Adaptor de extensii KHTML Name[ru]=Адаптер расширений KHTML Name[se]=KHTML-viiddádusheiveheaddji Name[si]=KHTML දිගු ඇඩැප්ටරය Name[sk]=Adaptér pre KHTML rozšírenia Name[sl]=Prilagodilnik razširitve KHTML Name[sr]=Адаптор проширења за КХТМЛ Name[sr@ijekavian]=Адаптор проширења за КХТМЛ Name[sr@ijekavianlatin]=Adaptor proširenja za KHTML Name[sr@latin]=Adaptor proširenja za KHTML Name[sv]=KHTML-utökningsanpassning Name[ta]=KHTML விரிவு அடாப்டர் Name[tg]=Созгори пасванди KHTML Name[th]=ตัวแปลงส่วนขยาย KHTML Name[tr]=KHTML Eklenti Bağdaştırıcısı Name[ug]=KHTML كېڭەيتىلمە ماسلاشتۇرغۇچ Name[uk]=Адаптер розширень KHTML +Name[vi]=Bộ tiếp hợp mở rộng KHTML Name[wa]=Adapteu d' sitindaedje KHTML Name[x-test]=xxKHTML Extension Adaptorxx Name[zh_CN]=KHTML 扩展适配器 Name[zh_TW]=KHTML 延伸裝置 X-KDE-Library=khtmladaptorpart MimeType=application/x-khtml-adaptor; X-KDE-ServiceTypes=KParts/ReadOnlyPart,Browser/View Type=Service InitialPreference=4 diff --git a/khtml/khtmlimage.desktop b/khtml/khtmlimage.desktop index 5249b7c0b2..3f8effef9d 100644 --- a/khtml/khtmlimage.desktop +++ b/khtml/khtmlimage.desktop @@ -1,192 +1,192 @@ [Desktop Entry] Type=Service Comment=Embeddable Image Viewing Component Comment[af]=Inlegbare Beeld Aansig Komponent Comment[ar]=مكون عرض صور مضمن Comment[as]=প্ৰোথিত কৰিব পৰা প্ৰতিমূৰ্ত্তি প্ৰদৰ্শনৰ অংশ Comment[ast]=Componente encrustable de vista d'imaxes Comment[be]=Унутраны праглядальнік відарысаў Comment[be@latin]=Unutrany kampanent dla prahladu vyjavaŭ Comment[bg]=Компонент за вграждане за преглед на изображения Comment[bn]=অভ্যন্তরীণ চিত্র প্রদর্শক উপাদান Comment[bn_IN]=এমবেড করার যোগ্য ছবি প্রদর্শনের সামগ্রী Comment[br]=Parzh skeudenn gweler enframmus Comment[bs]=Ugnezdiva komponenta za prikaz slika Comment[ca]=Component encastable per a visualitzar imatges Comment[ca@valencia]=Component encastable per a visualitzar imatges Comment[cs]=Komponenta pro zobrazování obrázků Comment[csb]=Kòmpònent do przezeraniô òbrôzów Comment[cy]=Cydran Gweld Delwedd Mewnadeiladadwy Comment[da]=Billedvisningskomponent som kan indlejres Comment[de]=Einbettungsfähige Bildbetrachter-Komponente Comment[el]=Ενσωματώσιμο στοιχείο προβολής εικόνων Comment[en_GB]=Embeddable Image Viewing Component Comment[eo]=Enkorpigebla bildorigardila komponanto Comment[es]=Componente empotrable para visualizar imágenes Comment[et]=Põimitav pildifailide näitamise komponent Comment[eu]=Kapsulatutako irudi-ikustailea Comment[fa]=مولفه مشاهده تصویر نهفته Comment[fi]=Upotettava kuviennäyttökomponentti Comment[fr]=Composant d'affichage d'images intégrable Comment[fy]=Yn te sluten komponint foar byldwerjefte Comment[ga]=Comhpháirt inleabaithe amharctha íomhá Comment[gl]=Compoñente integrábel de visualización de imaxes Comment[gu]=જડિત ચિત્ર દર્શક ભાગ Comment[he]=רכיב בר־שיבוץ לתצוגת תמונות Comment[hi]=अंतर्निर्मित छवि प्रदर्शक अवयव Comment[hne]=भीतर मं बने फोटू प्रदर्सक अवयव Comment[hr]=Ugradiva komponenta za pregledavanje slika Comment[hsb]=Integrujomna komponenta za wobrazy Comment[hu]=Beágyazható képnéző komponens Comment[ia]=Componente Incorporabile pro vision de imagine Comment[id]=Komponen Menampilkan Citra Dapat Dibenamkan Comment[is]=Ívefjanleg myndsjáreining Comment[it]=Componente integrabile per la visualizzazione di immagini Comment[ja]=埋め込み可能な画像ビューアコンポーネント Comment[kk]=Ендірілетін кескін қарау компоненті Comment[km]=សមាសភាគ​មើល​រូបភាព​ដែល​អាច​បង្កប់បាន Comment[kn]=ಹುದುಗಿಸಬಹುದಾದ (ಎಂಬೆಡಬಲ್) ಚಿತ್ರ ವೀಕ್ಷಣಾ ಅಂಗ Comment[ko]=끼워넣은 그림 보기 구성 요소 Comment[ku]=Perçe ya Nîşanderê Wêne yê Jixwe Heyî Comment[lb]=Abettbar Bild-Uweisungskomponent Comment[lt]=Įdedamas piešinių peržiūros komponentas Comment[lv]=Iegultā attēlu skatīšanas komponente Comment[mai]=अंतर्निर्मित छवि प्रदर्शक अवयव Comment[mk]=Вгнездлива компонента за гледање слики Comment[ml]=എംബഡ് ചെയ്യാവുന്ന ചിത്രം കാണിക്കുന്ന ഘടകം Comment[mr]=अंतर्भूतीत प्रतिमा प्रदर्शक विभाग Comment[ms]=Komponen Pelihat Imej Boleh-serta Comment[nb]=Innebygget bildevisningskomponent Comment[nds]=Inbettbor Kieker-Komponent för Biller Comment[ne]=सम्मिलित गर्न सकिने छवि हेर्ने अवयव Comment[nl]=Ingebed afbeeldingenweergavecomponent Comment[nn]=Innebyggbar komponent for biletvising Comment[or]=ସନ୍ନିବେଶଯୋଗ୍ୟ ପ୍ରତିଛବି ପ୍ରଦର୍ଶନୀୟ ଉପାଦାନ Comment[pa]=ਸ਼ਾਮਿਲ ਚਿੱਤਰ ਦਰਸ਼ਕ ਹਿੱਸਾ Comment[pl]=Składnik do przeglądania obrazków Comment[ps]=راتاوېدونکی انځور ليدانی رغتوک Comment[pt]=Componente incorporada para visualizar imagens Comment[pt_BR]=Componente integrado de visualização de imagens Comment[ro]=Componentă înglobată de vizualizare imagini Comment[ru]=Компонент просмотра изображений Comment[se]=Vuojuhanláhkái govvačájehanoassi Comment[sk]=Komponent pre zobrazenie obrázkov Comment[sl]=Integrirana komponenta za ogledovanje slik Comment[sr]=Угнездива компонента за приказ слика Comment[sr@ijekavian]=Угњездива компонента за приказ слика Comment[sr@ijekavianlatin]=Ugnjezdiva komponenta za prikaz slika Comment[sr@latin]=Ugnezdiva komponenta za prikaz slika Comment[sv]=Inbäddningsbar bildvisande komponent Comment[ta]=உட்பொதிந்த பிம்பக் காட்டி பாகம் Comment[te]=పొదగదగ్గ ప్రతిబింబాల విక్షణాంశం Comment[tg]=Қисми намоиши тасвири дарунсохт Comment[th]=คอมโพเนนท์แสดงภาพแบบฝังตัวได้ Comment[tr]=Gömülebilir Resim Görüntüleme Aracı Comment[ug]=سىڭدۈرۈشچان سۈرەت كۆرۈش بۆلىكى Comment[uk]=Вбудований компонент переглядача зображень Comment[uz]=Ichiga oʻrnatib boʻladigan rasm koʻruvchi komponent Comment[uz@cyrillic]=Ичига ўрнатиб бўладиган расм кўрувчи компонент Comment[vi]=Thành phần xem ảnh có khả năng nhúng. Comment[wa]=Ravalé compôzant håyneu d' imådjes -Comment[x-test]=xxEmbeddable Image Viewing Componentxx Comment[xh]=Ingxenye Yemboniselo Yomfanekiso Olungisiweyo +Comment[x-test]=xxEmbeddable Image Viewing Componentxx Comment[zh_CN]=可嵌入的图像查看组件 Comment[zh_HK]=可嵌入的圖檔檢視元件 Comment[zh_TW]=可嵌入的影像檢視元件 MimeType=image/gif;image/x-xpixmap;image/x-xbitmap;image/jpeg;image/bmp;image/png;image/x-jng;image/x-ico;image/x-portable-bitmap;image/x-portable-pixmap;image/x-portable-graymap;image/tiff;video/x-mng;image/x-tga; Name=Embeddable Image Viewer Name[af]=Inlegbare Beeldbekyker Name[ar]=عارض صور مضمن Name[as]=প্ৰোথিত কৰিব পৰা প্ৰতিমূৰ্ত্তিৰ প্ৰদৰ্শক Name[ast]=Visor d'imaxes encrustable Name[be]=Унутраны праглядальнік відарысаў Name[be@latin]=Unutrany prahladnik vyjavaŭ Name[bg]=Компонент за вграждане за преглед на изображения Name[bn]=অভ্যন্তরীণ চিত্র প্রদর্শক Name[bn_IN]=এমবেড করার যোগ্য ছবি প্রদর্শন ব্যবস্থা Name[br]=Gweler Skeudennoù Enklozet Name[bs]=Ugradivi prikazivač slika Name[ca]=Visor encastable d'imatges Name[ca@valencia]=Visor encastable d'imatges Name[cs]=Zabudovaný prohlížeč obrázků Name[csb]=Wbùdowóny przezérnik òbrôzów Name[cy]=Gwelydd Delweddau Mewnadeiladadwy Name[da]=Billedfremviser som kan indlejres Name[de]=Eingebetteter Bildbetrachter Name[el]=Ενσωματώσιμος προβολέας εικόνων Name[en_GB]=Embeddable Image Viewer Name[eo]=Enkorpigebla bildorigardilo Name[es]=Visor empotrable de imágenes Name[et]=Põimitav pildifailide näitaja Name[eu]=Kapsulatutako irudi-ikustailea Name[fa]=مشاهده‌گر تصویر نهفته Name[fi]=Upotettava kuvannäyttäjä Name[fr]=Afficheur d'images intégrable Name[fy]=Yn te sluten byldwerjefte Name[ga]=Amharcán Íomhánna Inleabaithe Name[gl]=Visualizador de imaxes integrábel Name[gu]=જડિત ચિત્ર દર્શક Name[he]=מציג תמונות הניתן לשיבוץ Name[hi]=अंतर्निर्मित छवि प्रदर्शक Name[hne]=भीतर मं बने फोटू प्रदर्सक Name[hr]=Ugradivi preglednik slika Name[hsb]=Integrowany wobhladowar za wobrazy Name[hu]=Beágyazható képnézegető Name[ia]=Visor Incorporate de Imagine Name[id]=Penampil Citra Dapat Dibenamkan Name[is]=Ívefjanleg myndsjá Name[it]=Visualizzatore integrabile di immagini Name[ja]=埋め込み画像ビューア Name[kk]=Ендірілетін кескін қарау құралы Name[km]=កម្មវិធី​មើល​រូបភាព​ដែល​អាច​បង្កប់​បាន Name[kn]=ಹುದುಗಿಸಬಹುದಾದ (ಎಂಬೆಡಬಲ್) ಚಿತ್ರ ವೀಕ್ಷಕ Name[ko]=끼워넣은 그림 표시기 Name[ku]=Nîşanderê Wêne yê Jixwe Heyî Name[lb]=Abettbare Bild-Uweiser Name[lt]=Įdedamas piešinių žiūriklis Name[lv]=Iegultais attēlu skatītājs Name[mai]=अंतर्निर्मित छवि प्रदर्शक Name[mk]=Вгнездлив гледач на слики Name[ml]=എംബഡ് ചെയ്യാവുന്ന ചിത്ര ദര്‍ശിനി Name[mr]=अंतर्भूतीत प्रतिमा प्रदर्शक Name[ms]=Pelihat Imej Boleh-serta Name[nb]=Innebygget bildeviser Name[nds]=Inbettbor Bildkieker Name[ne]=सम्मिलित गर्न सकिने छवि दर्शक Name[nl]=Ingebedde afbeeldingenweergave Name[nn]=Innebyggbar biletvisar Name[or]=ସନ୍ନିବେଶଯୋଗ୍ୟ ପ୍ରତିଛବି ପ୍ରଦର୍ଶକ Name[pa]=ਸ਼ਾਮਿਲ ਚਿੱਤਰ ਦਰਸ਼ਕ Name[pl]=Wbudowana przeglądarka obrazków Name[ps]=راتاوېدونکی انځور ليدانی Name[pt]=Visualizador de Imagens Incorporado Name[pt_BR]=Visualizador de imagens integrado Name[ro]=Vizualizor înglobat de imagini Name[ru]=Просмотр изображений Name[se]=Vuojuhanláhkái govvačájeheaddji Name[sk]=Zabudovaný prehliadač obrázkov Name[sl]=Vgrajeni pregledovalnik slik Name[sr]=Угнездиви приказивач слика Name[sr@ijekavian]=Угњездиви приказивач слика Name[sr@ijekavianlatin]=Ugnjezdivi prikazivač slika Name[sr@latin]=Ugnezdivi prikazivač slika Name[sv]=Inbäddningsbar bildvisare Name[ta]=உட்பொதிந்த பிம்பங் காட்டி Name[te]=పొదిగిన ప్రతిబింబ చూపరి Name[tg]=Намоишгари тасвири дарунсохт Name[th]=ตัวแสดงภาพแบบฝังตัวได้ Name[tr]=Gömülü Resim Görüntüleyici Name[ug]=سىڭدۈرۈشچان سۈرەت كۆرگۈچ Name[uk]=Вмонтований переглядач зображень Name[uz]=Rasm koʻruvchi Name[uz@cyrillic]=Расм кўрувчи Name[vi]=Bộ xem ảnh có khả năng nhúng Name[wa]=Ravalé håyneu d' imådjes -Name[x-test]=xxEmbeddable Image Viewerxx Name[xh]=Umboniseli Womfanekiso Olungisiweyo +Name[x-test]=xxEmbeddable Image Viewerxx Name[zh_CN]=可嵌入的图像查看器 Name[zh_HK]=可嵌入的圖檔檢視器 Name[zh_TW]=可嵌入的影像檢視器 X-KDE-ServiceTypes=KParts/ReadOnlyPart,Browser/View InitialPreference=4 X-KDE-Library=khtmlimagepart diff --git a/kio/application.desktop b/kio/application.desktop index 06076648c6..af06ba14a0 100644 --- a/kio/application.desktop +++ b/kio/application.desktop @@ -1,142 +1,142 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Application Name=Application Name[af]=Program Name[ar]=تطبيق Name[as]=অনুপ্ৰয়োগ Name[ast]=Aplicación Name[be]=Праграма Name[be@latin]=Aplikacyja Name[bg]=Програма Name[bn]=অ্যাপলিকেশন Name[bn_IN]=অ্যাপ্লিকেশন Name[br]=Arload Name[bs]=Aplikacija Name[ca]=Aplicació Name[ca@valencia]=Aplicació Name[cs]=Aplikace Name[csb]=Programa Name[cy]=Cymhwysiad Name[da]=Program Name[de]=Programm Name[el]=Εφαρμογή Name[en_GB]=Application Name[eo]=Aplikaĵo Name[es]=Aplicación Name[et]=Rakendus Name[eu]=Aplikazioa Name[fa]=کاربرد Name[fi]=Sovellus Name[fr]=Application Name[fy]=Applikaasje Name[ga]=Feidhmchlár Name[gl]=Aplicación Name[gu]=કાર્યક્રમ Name[he]=תוכנית Name[hi]=अनुप्रयोग Name[hne]=अनुपरयोग Name[hr]=Aplikacija Name[hsb]=aplikacija Name[hu]=alkalmazás Name[ia]=Application Name[id]=Aplikasi Name[is]=Forrit Name[it]=Applicazione Name[ja]=アプリケーション Name[kk]=Қолданба Name[km]=កម្មវិធី Name[kn]=ಅನ್ವಯ Name[ko]=응용 프로그램 Name[ku]=Sepan Name[lb]=Programm Name[lt]=Programa Name[lv]=Programma Name[mai]=अनुप्रयोग Name[mk]=Апликација Name[ml]=പ്രയോഗം Name[mr]=अनुप्रयोग Name[ms]=Aplikasi Name[nb]=Program Name[nds]=Programm Name[ne]=अनुप्रयोग Name[nl]=Toepassing Name[nn]=Program Name[oc]=Aplicacion Name[or]=ପ୍ରୟୋଗ Name[pa]=ਐਪਲੀਕੇਸ਼ਨ Name[pl]=Program Name[ps]=کاريال Name[pt]=Aplicação Name[pt_BR]=Aplicativo Name[ro]=Aplicație Name[ru]=Приложение Name[se]=Prográmma Name[si]=යෙදුම් Name[sk]=Aplikácia Name[sl]=Program Name[sq]=Programi Name[sr]=Програм Name[sr@ijekavian]=Програм Name[sr@ijekavianlatin]=Program Name[sr@latin]=Program Name[sv]=Program Name[ta]=பயன்பாடு Name[te]=కార్యక్రమం Name[tg]=Барнома Name[th]=โปรแกรม Name[tr]=Uygulama Name[ug]=پروگرامما Name[uk]=Програма Name[uz]=Dastur Name[uz@cyrillic]=Дастур Name[vi]=Ứng dụng Name[wa]=Programe -Name[x-test]=xxApplicationxx Name[xh]=Isicelo +Name[x-test]=xxApplicationxx Name[zh_CN]=应用程序 Name[zh_HK]=應用程式 Name[zh_TW]=應用程式 [PropertyDef::NoDisplay] Type=bool [PropertyDef::DocPath] Type=QString [PropertyDef::X-DocPath] Type=QString [PropertyDef::X-KDE-SubstituteUID] Type=bool [PropertyDef::X-KDE-Username] Type=QString [PropertyDef::StartupWMClass] Type=QString [PropertyDef::StartupNotify] Type=bool [PropertyDef::X-KDE-WMClass] Type=QString [PropertyDef::X-KDE-StartupNotify] Type=bool [PropertyDef::X-DBUS-ServiceName] Type=QString [PropertyDef::X-DBUS-StartupType] Type=QString [PropertyDef::X-KDE-ParentApp] Type=QString [PropertyDef::X-KDE-HasTempFileOption] Type=bool [PropertyDef::X-KDE-Protocols] Type=QStringList diff --git a/kio/data.protocol b/kio/data.protocol index 0e7e4d2382..cf884ec536 100644 --- a/kio/data.protocol +++ b/kio/data.protocol @@ -1,98 +1,98 @@ [Protocol] protocol=data input=stream output=none reading=true Icon=applications-internet Class=:internet Description=A kioslave for data URIs (rfc2397) Description[af]= ´n kioslave vir data URIs (rfc2397) Description[ar]=برنامج kioslave للمسالك البيانية (rfc2397) Description[as]=তথ্য URI সমূহৰ বাবে এটা kioslave (rfc2397) Description[ast]=Un kioslave pa URIs de datos (rfc2397) Description[be]=Модуль kioslave для URI з даннямі (rfc2397) Description[be@latin]=Modul „kioslave” dla adrasoŭ sa źviestkami (RFC-2397) Description[bg]=Kioslave за URI (rfc2397) Description[bn]=তথ্য URI-এর জন্য একটি kioslave (rfc2397) Description[bn_IN]=ডাটা URI-র জন্য একটি kioslave (rfc2397) Description[br]=Ur kioslave evit an URIoù roadoù (rfc2397) Description[bs]=U/I zahvat za URI‑je podataka (RFC 2397) Description[ca]=Un «kioslave» per a URI de dades (RFC2397) Description[ca@valencia]=Un «kioslave» per a URI de dades (RFC2397) Description[cs]=Kioslave pro datová URI (rfc2397) Description[csb]=Wtëkôcz protokółu pòdôwków URI (rfc2397) Description[da]=En kioslave for data-URI'er (rfc2397) Description[de]=Ein-/Ausgabemodul für Daten-URIs (rfc2397) Description[el]=Ένα kioslave για URI δεδομένων (rfc2397) Description[en_GB]=A kioslave for data URIs (rfc2397) Description[eo]=Enelsklavo por URI-datumoj (rfc2397) Description[es]=Un kioslave para URI de datos (rfc2397) Description[et]=Andme-URI-de I/O-moodul (rfc2397) Description[eu]=Datuen URLen (rfc2397) kioslave-a Description[fa]=یک kioslave برای URIهای داده )rfc2397( Description[fi]=kioslave data URI:lle (rfc2397) Description[fr]=Un module d'entrées / sorties pour les URI de données (rfc2397) Description[fy]=In kioslave foar data-URI-adresse (rfc2397) Description[ga]=Sclábhaí KIO le haghaidh URLanna sonraí (rfc2397) Description[gl]=Un kioslave para os URI de datos (rfc2397) Description[gu]=માહિતી URIs (rfc2397) માટે kioslave Description[he]=פרוטוקול לכתובות נתונים (RFC 2397) Description[hi]=डाटा यूआरआई (rfc2397) के लिए एक केआईओस्लेव Description[hne]=डाटा यूआरआई (rfc2397) बर एक केआईओस्लेव Description[hr]=kioslave za podatkovne URI-ije (rfc2397) Description[hsb]=kioslave za datowe URL (rfc2397) Description[hu]=KDE-protokoll adat-URI-k használataához (RFC 2397) Description[ia]=Un kioslave pro le datos URIs (rfc2397) Description[id]=Kioslave untuk URI data (rfc2397) Description[is]=kioslave fyrir gagnaslóðir (rfc2397) Description[it]=Un kioslave per il protocollo di URI di dati (rfc2397) Description[ja]=データ URIs (rfc2397) の kioslave Description[kk]=URI деректерді өңдеу kioslave модулі (rfc2397) Description[km]=kioslave សម្រាប់​ទិន្នន័យ URIs (rfc2397) Description[kn]=ದತ್ತ URI ಗಳಿಗೆ (rfc2397) kio ಅಧೀನಾನ್ವಯ (ಸ್ಲೇವ್) Description[ko]=데이터 URI를 위한 KIO 슬레이브 (RFC 2397) Description[ku]=Kioslave ji bo dane ya URIyan (rfc2397) Description[lb]=E kioslave fir Donnéen-URIs (rfc2397) Description[lt]=Antrinė KDE programa duomenų URI (rfc2397) Description[lv]=Datu URI asptrādātājs (rfc2397) Description[mai]=डाटा यूआरआई (rfc2397) क' लेल एकटा केआईओस्लेव Description[mk]=kio-служител за податочни URI (rfc2397) Description[ml]=ഒരു കിയൊസ്ലേവ് ഡാറ്റ യൂആര്‍ഐ (rfc2397) Description[mr]=URIs (rfc2397) करीता kioslave Description[ms]=Kioslave untuk URI data (rfc2397) Description[nb]=kioslave for data URI-er (rfc2397) Description[nds]=In-/Utgaavmoduul för Daten-URIs (rfc2397) Description[ne]=डेटा URIs (rfc2397) का लागि किओस्लेभ Description[nl]=Een kioslave voor data-URI-adressen (rfc2397) Description[nn]=Ein KIO-slave for data-URI-ar (RFC 2397) Description[or]=ତଥ୍ୟ URI ଗୁଡିକ ପାଇଁ ଗୋଟିଏ kioslave (rfc2397) Description[pa]=ਡਾਟਾ URI ਲਈ kioslave(rfc2397) Description[pl]=Wtyczka protokołu URI danych (rfc2397) Description[pt]=Um 'kioslave' para URIs data (rfc2397) Description[pt_BR]=Um kioslave para URIs de dados (rfc2397) Description[ro]=Un dispozitiv de I/E pentru URI-urile de date (rfc2397) Description[ru]=Открытие URI по rfc2397 Description[se]=kiošláva dáhta-URI:aid várás (rfc2397) Description[sk]=IO klient pre dátové URI (RFC 2397) Description[sl]=kioslave za podatkovne URI-je (rfc2397) Description[sr]=У/И захват за УРИ‑је података (РФЦ 2397) Description[sr@ijekavian]=У/И захват за УРИ‑је података (РФЦ 2397) Description[sr@ijekavianlatin]=U/I zahvat za URI‑je podataka (RFC 2397) Description[sr@latin]=U/I zahvat za URI‑je podataka (RFC 2397) Description[sv]=En I/O-slav för datawebbadresser (RFC 2397) Description[ta]=தரவு URIs (rfc2397) களுக்கான ஒரு kioslave Description[te]=దత్తాంశం యుఆరైల కొరకు కెఐఓబానిస (rfc2397) Description[tg]=kioslave барои маълумоти URIs (rfc2397) Description[th]=kioslave สำหรับข้อมูล URIs (rfc2397) Description[tr]=Veri adresleri için bir kioslave (rfc2397) -Description[ug]=سانلىق-مەلۇمات URI ئۈچۈن بىر kioslave (rfc2397) +Description[ug]=سانلىق مەلۇمات URI ئۈچۈن بىر kioslave (rfc2397) Description[uk]=Підлеглий В/В для адрес (URI) даних (rfc2397) Description[vi]=Một kioslave cho các địa điểm URI kiểu dữ liệu (rfc2397). Description[wa]=On vårlet d' I/R po les hårdêyes di dnêyes (rfc2397) Description[x-test]=xxA kioslave for data URIs (rfc2397)xx Description[zh_CN]=用于数据 URI(rfc2397) 的 kioslave Description[zh_TW]=A kioslave for data URIs (rfc2397) X-DocPath=kioslave/data/index.html URIMode=rawuri defaultMimetype=application/octet-stream determineMimetypeFromExtension=false diff --git a/kio/kcmoduleinit.desktop b/kio/kcmoduleinit.desktop index ae4f06114b..3ab7df3f3f 100644 --- a/kio/kcmoduleinit.desktop +++ b/kio/kcmoduleinit.desktop @@ -1,98 +1,98 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KCModuleInit Name=KDE Configuration Initialization Name[af]=KDE konfigurasie opstelling Name[ar]=تمهيد إعدادات كيدي Name[as]=KDE বিন্যাস আৰম্ভ কৰা Name[ast]=Aniciu de la configuración de KDE Name[be@latin]=Inicyjalizacyja naładžvańnia KDE Name[bg]=Стартиране настройването на KDE Name[bn]=কে.ডি.ই. কনফিগারেশন সূচনা Name[bn_IN]=KDE কনফিগারেশন প্রারম্ভকরণ Name[bs]=Pripremanje postave KDE‑a Name[ca]=Inicialització de la configuració del KDE Name[ca@valencia]=Inicialització de la configuració del KDE Name[cs]=Inicializace nastavení KDE Name[csb]=Inicjalëzacëjô kònfigùracëji KDE Name[da]=Konfigurationsinitialisering for KDE Name[de]=Kontrollmodul-Initialisierung Name[el]=Αρχικοποίηση ρυθμίσεων του KDE Name[en_GB]=KDE Configuration Initialisation Name[eo]=Pravalorizo de KDE-agordo Name[es]=Inicialización de la configuración de KDE Name[et]=KDE seadistamise initsialiseerimine Name[eu]=KDE konfigurazio hasierapena Name[fa]=مقداردهی اولیه پیکربندی KDE Name[fi]=KDE:n asetusten alustus Name[fr]=Initialisation de la configuration de KDE Name[fy]=KDE-konfiguraasje tarieding Name[ga]=Túsú Cumraíochta KDE Name[gl]=Inicialización da configuración do KDE Name[gu]=KDE રૂપરેખાંકન શરૂઆત Name[he]=איתחול ההגדרות של KDE Name[hi]=केडीई कॉन्फ़िगरेशन इनिशिअलाइज़ेशन Name[hne]=केडीई कान्फिगरेसन इनिसिअलाइजेसन Name[hr]=Inicijalizacija KDE-ove konfiguracije Name[hsb]=Inicializacija za konfiguraciju KDE Name[hu]=KDE konfigurációkészítő Name[ia]=Initialization de le configuration de KDE Name[id]=Inisialisasi Konfigurasi KDE Name[is]=Ræsing KDE stillinga Name[it]=Inizializzazione della configurazione KDE Name[ja]=KDE 設定の初期化 Name[kk]=KDE баптауын бастау күйіне келтіру Name[km]=ការ​ចាប់​ផ្តើម​ការ​កំណត់​រចនាសម្ព័ន្ធ​ KDE Name[kn]=ಕೆಡಿಇ ಸಂರಚನಾ ಮೊದಲುಗೊಳಿಸುವಿಕೆ Name[ko]=KDE 설정 초기화 Name[ku]=Destpêka Veavakirina KDE Name[lt]=KDE konfigūravimo inicijavimas Name[lv]=KDE konfigurācijas inicializācija Name[mai]=केडीई बिन्यास आरंभीकरण Name[mk]=Иницијализација на конфигурација за KDE Name[ml]=കെഡിഇയിലെ സജ്ജീകരണങ്ങളുടെ തുടക്കം Name[mr]=KDE व्यूहरचना प्रारंभ Name[nb]=Klargjøring av KDE-oppsett Name[nds]=KDE-Instellentorechtmaken Name[ne]=केडीई कन्फिगरेसन सुरुआत Name[nl]=KDE-configuratie initialiseren Name[nn]=KDE-oppsettsklargjering Name[or]=KDE ବିନ୍ୟାସ ପ୍ରାରମ୍ଭିକରଣ Name[pa]=KDE ਸੰਰਚਨਾ ਸ਼ੁਰੂਆਤ Name[pl]=Inicjacja konfiguracji KDE Name[ps]=کډي سازونې پېلونه Name[pt]=Inicialização da Configuração do KDE Name[pt_BR]=Inicialização da configuração do KDE Name[ro]=Inițializare configurare KDE Name[ru]=Открытие конфигурации KDE Name[se]=KDE-heivehusgárvvisteapmi Name[sk]=Inicializácia konfigurácie KDE Name[sl]=Začetno nastavljanje KDE-ja Name[sr]=Припремање поставе КДЕ‑а Name[sr@ijekavian]=Припремање поставе КДЕ‑а Name[sr@ijekavianlatin]=Pripremanje postave KDE‑a Name[sr@latin]=Pripremanje postave KDE‑a Name[sv]=Initiering av KDE-inställningar Name[ta]=கேபசூ வடிவமைப்பு தொடங்கி Name[tg]=Омодасозии танзимшавандаи KDE Name[th]=เริ่มการปรับแต่งค่า KDE Name[tr]=KDE Yapılandırma İlklendirmesi Name[ug]=KDE سەپلىمە دەسلەپلەشتۈرۈش Name[uk]=Ініціалізація налаштувань KDE -Name[vi]=Sở khởi cấu hình KDE +Name[vi]=Khởi tạo cấu hình KDE Name[wa]=Inicialijhaedje di l' apontiaedje di KDE Name[x-test]=xxKDE Configuration Initializationxx Name[zh_CN]=KDE 配置初始化 Name[zh_TW]=KDE 控制初始化 # the symbol (with or without the kcminit_ prefix) used by kcminit [PropertyDef::X-KDE-Init-Symbol] Type=QString # the library (with or without the kcminit_ prefix) used by kcminit (if it's not specified it defaults to X-KDE-Library with kcm_ prefix) [PropertyDef::X-KDE-Init-Library] Type=QString # the startup phase in which the kcminit code should be called [PropertyDef::X-KDE-Init-Phase] Type=Int diff --git a/kio/kdatatool.desktop b/kio/kdatatool.desktop index b989fb7780..28b94187ec 100644 --- a/kio/kdatatool.desktop +++ b/kio/kdatatool.desktop @@ -1,110 +1,110 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KDataTool Comment=KDE Data Tool Comment[af]=KDE Data nutsprogram Comment[ar]=أداة كيدي للبيانات Comment[as]=KDE তথ্যৰ সৰঞ্জাম Comment[ast]=Ferramienta de datos de KDE Comment[be]=Інструмент працы з даннямі KDE Comment[be@latin]=Infarmacyjnaja pryłada KDE Comment[bg]=Текстообработващ инструмент Comment[bn]=কে.ডি.ই তথ্য টুল Comment[bn_IN]=KDE ডাটা সংক্রান্ত সামগ্রী Comment[br]=Ostilh roadoù evit KDE Comment[bs]=KDE‑ova alatka za podatke Comment[ca]=Eina per a la gestió de dades per al KDE Comment[ca@valencia]=Eina per a la gestió de dades per al KDE Comment[cs]=Datový nástroj KDE Comment[csb]=Nôrzãdze pòdôwków KDE Comment[cy]=Erfyn Data KDE Comment[da]=KDE-dataværktøj Comment[de]=KDE-Datenprogramm Comment[el]=Εργαλείο δεδομένων του KDE Comment[en_GB]=KDE Data Tool Comment[eo]=KDE-datumilo Comment[es]=Herramienta de datos de KDE Comment[et]=KDE andmete rakendus Comment[eu]=KDEren datuen tresna Comment[fa]=ابزار داده KDE Comment[fi]=KDE:n datatyökalu Comment[fr]=Outil de données KDE Comment[fy]=KDE data-helpprogramma Comment[ga]=Uirlis Sonraí KDE Comment[gl]=Ferramenta de datos do KDE Comment[gu]=KDE માહિતી સાધન Comment[he]=כלי נתונים של KDE Comment[hi]=केडीई डाटा औजार Comment[hne]=केडीई डाटा औजार Comment[hr]=KDE-ov alat za podatke Comment[hsb]=Datowy nastroj za KDE Comment[hu]=KDE adatkezelő segédprogram Comment[ia]=Instrumento pro datos de KDE Comment[id]=Alat Data KDE Comment[is]=KDE gagnatól Comment[it]=Strumenti dati di KDE Comment[ja]=KDE データツール Comment[kk]=KDE дерек өңдеу құралы Comment[km]=ឧបករណ៍​ទិន្នន័យ​របស់ KDE Comment[kn]=ಕೆಡಿಇ ದತ್ತ ಸಲಕರಣೆ Comment[ko]=KDE 데이터 도구 Comment[ku]=Amûra Daneyan a KDE Comment[lb]=KDE-Donnéen-Hëllefsprogramm Comment[lt]=KDE duomenų priemonė Comment[lv]=KDE datu rīks Comment[mai]=केडीई डाटा अओजार Comment[mk]=KDE податочна алатка Comment[ml]=കെഡിഇയിലെ ഡാറ്റയൊടൊപ്പമുപയോഗിയ്ക്കാനുള്ള ഉപകരണം Comment[mr]=KDE माहिती साधन Comment[ms]=Alatan Data KDE Comment[nb]=KDE dataverktøy Comment[nds]=KDE-Datenwarktüüch Comment[ne]=केडीई डेटा उपकरण Comment[nl]=KDE Data-hulpprogramma Comment[nn]=KDE-dataverktøy Comment[or]=KDE ତଥ୍ୟ ଉପକରଣ Comment[pa]=KDE ਡਾਟਾ ਟੂਲ Comment[pl]=Narzędzie danych KDE Comment[ps]=کډي اومتوک توکی Comment[pt]=Ferramenta de Dados do KDE Comment[pt_BR]=Ferramenta de dados do KDE Comment[ro]=Utilitar de date KDE Comment[ru]=Обработка данных KDE Comment[se]=KDE dáhtareaidu Comment[si]=KDE දත්ත මෙවලම Comment[sk]=Dátový nástroj KDE Comment[sl]=Podatkovno orodje za KDE Comment[sq]=Mjeti i të Dhënave KDE Comment[sr]=КДЕ‑ова алатка за податке Comment[sr@ijekavian]=КДЕ‑ова алатка за податке Comment[sr@ijekavianlatin]=KDE‑ova alatka za podatke Comment[sr@latin]=KDE‑ova alatka za podatke Comment[sv]=KDE-dataverktyg Comment[ta]=KDE தரவு கருவி Comment[te]=కెడిఈ దత్తాంశం పనిముట్టు Comment[tg]=Асбобҳои Маълумоти KDE Comment[th]=เครื่องมือข้อมูลของ KDE Comment[tr]=KDE Veri Aracı -Comment[ug]=KDE سانلىق-مەلۇمات قورالى +Comment[ug]=KDE سانلىق مەلۇمات قورالى Comment[uk]=Засіб роботи з даними KDE Comment[uz]=KDE maʼlumot vositasi Comment[uz@cyrillic]=KDE маълумот воситаси Comment[vi]=Công cụ dữ liệu KDE. Comment[wa]=Usteyes po les dnêyes di KDE -Comment[x-test]=xxKDE Data Toolxx Comment[xh]=Isihluzi se Data ye KDE +Comment[x-test]=xxKDE Data Toolxx Comment[zh_CN]=KDE 数据工具 Comment[zh_HK]=KDE 資料工具 Comment[zh_TW]=KDE 資料工具 [PropertyDef::Commands] Type=QStringList [PropertyDef::DataType] Type=QString [PropertyDef::DataMimeTypes] Type=QStringList [PropertyDef::ExcludeFrom] Type=QStringList diff --git a/kio/kfile/kiofilemodule.desktop b/kio/kfile/kiofilemodule.desktop index f7f0294d3e..c471a67d90 100644 --- a/kio/kfile/kiofilemodule.desktop +++ b/kio/kfile/kiofilemodule.desktop @@ -1,127 +1,129 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KIO/FileModule Name=filemodule Name[ar]=filemodule Name[ast]=filemodule Name[bg]=файлов модул Name[bn]=filemodule Name[bs]=Modul datoteke Name[ca]=filemodule Name[ca@valencia]=filemodule Name[cs]=filemodule Name[da]=filmodul Name[de]=Dateimodul Name[el]=άρθρωμα Name[en_GB]=filemodule Name[es]=filemodule Name[et]=Failimoodul Name[eu]=fitxategi modulua Name[fi]=filemodule Name[fr]=filemodule Name[ga]=filemodule Name[gl]=filemodule Name[hr]=moduldatoteke Name[hu]=fájlmodul Name[ia]=Modulo de file Name[id]=filemodule Name[is]=skráaeining Name[it]=modulofile Name[ja]=ファイルモジュール Name[kk]= filemodule Name[km]=ម៉ូឌុល​ឯកសារ Name[ko]=filemodule Name[ku]=filemodule Name[lt]=filemodule Name[lv]=filemodule Name[nb]=filmodul Name[nds]=Dateimoduul Name[nl]=bestandsmodule Name[nn]=filmodul Name[pa]=ਫਾਇਲ ਮੋਡੀਊਲ Name[pl]=filemodule Name[pt]=módulo de ficheiros Name[pt_BR]=filemodule Name[ro]=filemodule Name[ru]=filemodule Name[se]=fiilamodula Name[si]=ගොනුමොඩියුලය Name[sk]=filemodule Name[sl]=filemodule Name[sr]=Фајл модул Name[sr@ijekavian]=Фајл модул Name[sr@ijekavianlatin]=Fajl modul Name[sr@latin]=Fajl modul Name[sv]=filmodul Name[ta]=கோப்புபாகம் Name[tg]=filemodule Name[th]=มอดูลแฟ้ม Name[tr]=dosya modülü Name[ug]=ھۆججەت بۆلىكى Name[uk]=filemodule +Name[vi]=filemodule Name[wa]=module fitchî Name[x-test]=xxfilemodulexx Name[zh_CN]=文件模块 Name[zh_TW]=檔案模組 Comment=KIO File Module Comment[ar]=وحدة ملف KIO Comment[ast]=KIO File Module Comment[bg]=Файлов модул за KIO Comment[bn]=KIO ফাইল মডিইল Comment[bs]=K‑U/I datotečni modul Comment[ca]=Mòdul KIO de fitxer Comment[ca@valencia]=Mòdul KIO de fitxer Comment[cs]=Modul KIO File Comment[da]=KIO filmodul Comment[de]=KIO-Dateimodul Comment[el]=Άρθρωμα KIO Comment[en_GB]=KIO File Module Comment[eo]=KIO dosiera modulo Comment[es]=Módulo de archivos KIO Comment[et]=KIO failimoodul Comment[eu]=KIO fitxategi modulua Comment[fi]=KDE File -moduuli Comment[fr]=Module de fichiers KIO Comment[ga]=Modúl Comhaid KIO Comment[gl]=Módulo de ficheiros de KIO Comment[hr]=KIO Modul Datoteke Comment[hu]=KIO fájlmodul Comment[ia]=Modulo de file de KIO Comment[id]=Modul Berkas KIO Comment[is]=KIO skráaeining Comment[it]=Modulo file KIO Comment[ja]=KIO ファイルモジュール Comment[kk]=KIO файл модулі Comment[km]=ម៉ូឌុល​ឯកសារ KIO Comment[ko]=KIO 파일 모듈 Comment[ku]=Modûla KIO File Comment[lv]=KIO failu modulis Comment[nb]=KIO filmodul Comment[nds]=KIO-Dateimoduul Comment[nl]=KIO bestandsmodule Comment[nn]=KIO-filmodul Comment[pa]=KIO ਫਾਇਲ ਮੋਡੀਊਲ Comment[pl]=Moduł plików KIO Comment[pt]=Módulo de Ficheiros KIO Comment[pt_BR]=Módulo de arquivos KIO Comment[ro]=Modul de fișiere KIO Comment[ru]=Модуль работы с файлами KIO Comment[se]=KIO-fiilamodula Comment[si]=KIO ගොනු මොඩියුලය Comment[sk]=Modul KIO File Comment[sl]=Modul KIO za datoteke Comment[sr]=К‑У/И фајл модул Comment[sr@ijekavian]=К‑У/И фајл модул Comment[sr@ijekavianlatin]=K‑U/I fajl modul Comment[sr@latin]=K‑U/I fajl modul Comment[sv]=KIO-filmodul Comment[ta]=KIO கோப்பு பாகம் Comment[tg]=Модули файли KIO Comment[th]=มอดูลแฟ้มของ KIO Comment[tr]=KIO File Modülü Comment[ug]=KIO ھۆججەت بۆلىكى Comment[uk]=Модуль файлів KIO +Comment[vi]=Mô-đun tập tin KIO Comment[wa]=Module di fitchî KIO Comment[x-test]=xxKIO File Modulexx Comment[zh_CN]=KIO 文件模块 Comment[zh_TW]=KIO 檔案模組 diff --git a/kio/kfile/kpropertiesdialogplugin.desktop b/kio/kfile/kpropertiesdialogplugin.desktop index a91443f22a..f5687d54a6 100644 --- a/kio/kfile/kpropertiesdialogplugin.desktop +++ b/kio/kfile/kpropertiesdialogplugin.desktop @@ -1,100 +1,100 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KPropertiesDialog/Plugin Comment=Plugin for the Properties Dialog Comment[af]=Inprop module vir die Eienskappedialoog Comment[ar]=ملحق لحوار الخصائص Comment[as]=গুণৰ সম্বাদৰ বাবে প্লাগ-ইন Comment[ast]=Complementu pal diálogu de propiedaes Comment[be]=Дадатак да дыялогу ўласцівасцяў Comment[be@latin]=Plugin dla akna ŭłaścivaściaŭ fajła Comment[bg]=Приставка за диалога Информация Comment[bn]=বৈশিষ্ট্যাবলী ডায়ালগ-এর জন্য প্লাগ-ইন Comment[bn_IN]=বৈশিষ্ট্য বিশিষ্ট ডায়লগের জন্য একটি প্লাগ-ইন Comment[br]=Adveziant evit kendiviz ar perzhioù Comment[bs]=Priključak za dijalog svojstava Comment[ca]=Connector per al diàleg de les propietats Comment[ca@valencia]=Connector per al diàleg de les propietats Comment[cs]=Modul pro dialog vlastností Comment[csb]=Wtëkôcz dialogòwégò òkna Swòjiznë Comment[cy]=Ategyn am yr Ymgom Priodweddau Comment[da]=Plugin til egenskabsdialog Comment[de]=Erweiterung für den Dialog „Eigenschaften“ Comment[el]=Πρόσθετο για το Διάλογο ιδιοτήτων Comment[en_GB]=Plugin for the Properties Dialogue Comment[eo]=Kromprogramo por la eco-dialogo Comment[es]=Complemento para el diálogo de propiedades Comment[et]=Omaduste dialoogi plugin Comment[eu]=Propietateen elkarrizketa-koadroaren plugin-a Comment[fa]=وصله برای محاوره ویژگیها Comment[fi]=Lisäosa asetusikkunalle Comment[fr]=Module externe pour la boîte de dialogue des propriétés Comment[fy]=Plugin foar de 'Eigenskippen'-dialooch Comment[ga]=Breiseán don Dialóg Airíonna Comment[gl]=Engadido para o diálogo de propiedades Comment[gu]=પ્લગઈન માટે ગુણધર્મો સંવાદ Comment[he]=תוסף לדו־שיח המאפיינים Comment[hi]=गुण संवाद के लिए प्लगइन Comment[hne]=गुन गोठ बर प्लगइन Comment[hr]=Priključak za dijalog 'Svojstva' Comment[hsb]=Zašćěpka za swójstwowy dialog Comment[hu]=Beépülő modul a tulajdonságok párbeszédablakhoz Comment[ia]=Plugin pro le dialogo de proprietates Comment[id]=Plugin untuk Dialog Properti Comment[is]=Íforrit fyrir stillingarforrit Comment[it]=Plugin per la finestra delle proprietà Comment[ja]=プロパティダイアログのためのプラグイン Comment[kk]=Қасиеттер диалогтың модулі Comment[km]=កម្មវិធី​ជំនួយ​សម្រាប់​ប្រអប់​លក្ខណៈ​សម្បត្តិ Comment[kn]=ಗುಣಗಳ ಸಂವಾದಕ್ಕೆ (ಡೈಲಾಗ್) ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Comment[ko]=속성 대화 상자를 위한 플러그인 Comment[ku]=Pêvek ji bo Gotûbêja Taybetiyan Comment[lb]=Plugin fir den Eegeschaften-Dialog Comment[lt]=Priedas savybių dialogui Comment[lv]=Īpašību dialoga spraudnis Comment[mai]=गुण समाद क' लेल प्लगइन Comment[mk]=Приклучок за дијалогот за својства Comment[ml]=വിശേഷതാ ജാലകത്തിനു് വേണ്ടിയുള്ള സംയോജകം Comment[mr]=गुणधर्म संवाद करीता प्लगइन Comment[ms]=Plugmasuk untuk Dialog Ciri-ciri Comment[nb]=Programtillegg for dialogvinduet for egenskaper Comment[nds]=Moduul för den Egenschappen-Dialoog Comment[ne]=गुण संवादका लागि प्लगइन Comment[nl]=Plugin voor de 'Eigenschappen'-dialoog Comment[nn]=Tillegg til dialogvindauget «Eigenskapar» Comment[or]=ଗୁଣଧର୍ମ ସଂଳାପ ପାଇଁ ପ୍ଲଗଇନ Comment[pa]=ਵਿਸ਼ੇਸ਼ਤਾ ਡਾਈਲਾਗ ਲਈ ਪਲੱਗਇਨ Comment[pl]=Wtyczka do okna dialogowego Właściwości Comment[ps]=د ځانتياوې کړکۍ لپاره لګون Comment[pt]='Plugin' para a Janela de Propriedades Comment[pt_BR]=Plug-in para a janela de propriedades Comment[ro]=Modul pentru dialogul de proprietăți Comment[ru]=Расширение диалога настройки Comment[se]=Lassemoduvla iešvuođahtaláseža várás Comment[si]=වත්කම් සංවාද කොටුව සඳහා ප්ලගීනය Comment[sk]=Modul pre dialóg vlastností Comment[sl]=Vstavek za pogovorno okno z lastnostmi Comment[sr]=Прикључак за дијалог својстава Comment[sr@ijekavian]=Прикључак за дијалог својстава Comment[sr@ijekavianlatin]=Priključak za dijalog svojstava Comment[sr@latin]=Priključak za dijalog svojstava Comment[sv]=Insticksprogram för egenskapsdialogen Comment[ta]=பண்புகள் பலகத்திற்கான செருகி Comment[te]=లక్షణాల సంభాషణ కొరకు ప్లగిన్ Comment[tg]=Васлкунак барои хосияти диалог Comment[th]=โปรแกรมเสริมสำหรับกล่องคุณสมบัติ Comment[tr]=Özellikler İletişim Kutusu İçin Eklenti Comment[ug]=خاسلىق سۆزلەشكۈ قىستۇرمىسى Comment[uk]=Додаток для створення діалогових вікон властивостей Comment[uz]=Xossalar dialogi uchun plagin Comment[uz@cyrillic]=Хоссалар диалоги учун плагин -Comment[vi]=Bổ sung cho hộp thoại đặc tả. +Comment[vi]=Phần bổ sung cho Hộp thoại thuộc tính Comment[wa]=Tchôke-divins pol purnea di prôpietés -Comment[x-test]=xxPlugin for the Properties Dialogxx Comment[xh]=Iplagi yangaphakathi Yezinto zobumnini Zencoko yababini +Comment[x-test]=xxPlugin for the Properties Dialogxx Comment[zh_CN]=属性对话框插件 Comment[zh_HK]=屬性對話盒的外掛程式 Comment[zh_TW]=屬性對話盒的外掛程式 [PropertyDef::X-KDE-Protocol] Type=QString diff --git a/kio/kfileplugin.desktop b/kio/kfileplugin.desktop index edf8dbcb83..8153156c46 100644 --- a/kio/kfileplugin.desktop +++ b/kio/kfileplugin.desktop @@ -1,103 +1,103 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KFilePlugin Name=KFile Meta Data Plugin Name[af]=KFile Metadata inpropmodule Name[ar]=ملحق KFile Meta Data Name[as]=KFile মেটা ডাটা প্লাগ-ইন Name[ast]=Complementu pa metadatos de KFile Name[be@latin]=Plugin metaźviestak dla KFile Name[bg]=Приставка за мета данни Name[bn]=কে-ফাইল মেটা-ডেটা প্লাগ-ইন Name[bn_IN]=KFile মিটা ডাটা প্লাগ-ইন Name[bs]=Priključak za metapodatke (KFile) Name[ca]=Connector de meta dades KFile Name[ca@valencia]=Connector de meta dades KFile Name[cs]=Modul KFile pro metadata Name[csb]=Wtëkôcz do sprôwianiô pòdôwkama nieznónegò fòrmatu Name[cy]=Ategyn Meta-ddata KFfeil Name[da]=KFile Metadata-plugin Name[de]=KFile: Metadaten-Modul Name[el]=Πρόσθετο μετα-δεδομένων του KFile Name[en_GB]=KFile Meta Data Plugin Name[eo]=KFile-metadatuma kromprogramo Name[es]=Complemento de meta datos KFile Name[et]=KFile'i metaandmete plugin Name[eu]=KFile metadatuen plugin-a Name[fa]=وصله فراداده KFile Name[fi]=KFile-metatietolisäosa Name[fr]=Module externe de métadonnées KFile Name[fy]=KFile Meta Data Plugin Name[ga]=Breiseán meiteashonraí do KFile Name[gl]=Engadido de metadatos para KFile Name[gu]=Meta માહિતી પ્લગઈન Name[he]=תוסף מידע קובץ עבור KFile Name[hi]=के-फ़ाइल मेटा डाटा प्लगइन Name[hne]=के-फाइल मेटा डाटा प्लगइन Name[hr]=KFile priključak za meta-podatke Name[hsb]=KFile-zašćěpka za Meta-Data Name[hu]=KFile metaadat-modul Name[ia]=Plugin de Meta datos de KFile Name[id]=Plugin Data Meta KFile Name[is]=KFile metagagna-íforrit Name[it]=Plugin informazioni aggiuntive per KFile Name[ja]=KFile メタデータプラグイン Name[kk]=KFile метадеректер модулі Name[km]=កម្មវិធី​ជំនួយ​ទិន្នន័យ​មេតា KFile Name[kn]=ಕೆಫೈಲ್ ಪ್ರದತ್ತ (ಮೆಟಾಡಾಟಾ) ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Name[ko]=KFile 메타 데이터 플러그인 Name[ku]=Pêveka KPel Ser Dane Name[lb]=KFile-Metadonnéeë-Plugin Name[lt]=KFile Meta duomenų priedas Name[lv]=KFile metadatu spraudnis Name[mai]=के-फाइल मेटा डाटा प्लगइन Name[mk]=KFile приклучок за мета податоци Name[ml]=കെഫയല്‍ മെറ്റാ ഡാറ്റയ്ക്കായുള്ള സംയോജകം Name[mr]=KFile मेटा माहिती प्लगइन Name[ms]=Plug masuk Data Meta KFile Name[nb]=KFile-programtillegg for metadata Name[nds]=KFile, Metadaten-Plugin Name[ne]=केडीई फाइल मेटाडेटा प्लगइन Name[nl]=KFile Meta Data Plugin Name[nn]=KFile-tillegg for metadata Name[or]=KFile ଅଧିତଥ୍ୟ ପ୍ଲଗଇନ Name[pa]=KFile ਮੈਟਾ ਡਾਟਾ ਪਲੱਗਇਨ Name[pl]=Wtyczka do obsługi danych nieznanego formatu Name[pt]='Plugin' de Meta-Dados do KFile Name[pt_BR]=Plug-in de metadados KFile Name[ro]=Modul metadate KFile Name[ru]=Расширение метаданных для KFile Name[se]=KFile lassemoduvla metadieđuid várás Name[si]=KFile මෙටා දත්ත ප්ලගීනය Name[sk]=Modul KFile pre metadáta Name[sl]=Vstavek za meta podatke pri KFile Name[sr]=Прикључак за метаподатке (к‑фајл) Name[sr@ijekavian]=Прикључак за метаподатке (к‑фајл) Name[sr@ijekavianlatin]=Priključak za metapodatke (KFile) Name[sr@latin]=Priključak za metapodatke (KFile) Name[sv]=Kfil-metadata-insticksprogram Name[ta]=KFile அடிப்படை தகவல் சொருகி Name[te]=కెదస్త్రం మెటా దత్తాంసం ప్లగిన్ Name[tg]=Васлкунаки маълумоти KFile Meta Name[th]=โปรแกรมเสริมข้อมูลกำกับ KFile Name[tr]=KFile Meta Verisi Eklentisi -Name[ug]=KFile مېتا سانلىق-مەلۇمات قىستۇرمىسى +Name[ug]=KFile مېتا سانلىق مەلۇمات قىستۇرمىسى Name[uk]=Додаток роботи з метаданими KFile Name[uz]=KFile meta maʼlumot uchun plagin Name[uz@cyrillic]=KFile мета маълумот учун плагин -Name[vi]=Bổ sung siêu dữ liệu KFile +Name[vi]=Phần bổ sung dữ liệu lý lịch KFile Name[wa]=Tchôke-divins meta-dnêyes des fitchîs -Name[x-test]=xxKFile Meta Data Pluginxx Name[xh]=Iplagi yangaphakathi ye KFile Meta Data +Name[x-test]=xxKFile Meta Data Pluginxx Name[zh_CN]=KFile 元数据插件 Name[zh_HK]=KFile 元資料外掛程式 Name[zh_TW]=KFile 資料定義外掛程式 [PropertyDef::PreferredItems] Type=QStringList [PropertyDef::PreferredGroups] Type=QStringList [PropertyDef::SupportsThumbnail] Type=bool diff --git a/kio/kio/accessmanagerreply_p.cpp b/kio/kio/accessmanagerreply_p.cpp index 83f7f71875..942f0e5caf 100644 --- a/kio/kio/accessmanagerreply_p.cpp +++ b/kio/kio/accessmanagerreply_p.cpp @@ -1,419 +1,437 @@ /* * This file is part of the KDE project. * * Copyright (C) 2008 Alex Merry * Copyright (C) 2008 - 2009 Urs Wolfer * Copyright (C) 2009 - 2010 Dawit Alemayehu * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */ #include "accessmanagerreply_p.h" #include "accessmanager.h" #include "job.h" #include "scheduler.h" #include #include #include +#include #include #define QL1S(x) QLatin1String(x) #define QL1C(x) QLatin1Char(x) namespace KDEPrivate { AccessManagerReply::AccessManagerReply(const QNetworkAccessManager::Operation &op, const QNetworkRequest &request, KIO::SimpleJob *kioJob, bool emitReadyReadOnMetaDataChange, QObject *parent) :QNetworkReply(parent), m_metaDataRead(false), m_ignoreContentDisposition(false), m_emitReadyReadOnMetaDataChange(emitReadyReadOnMetaDataChange), m_kioJob(kioJob) { setRequest(request); setOpenMode(QIODevice::ReadOnly); setUrl(request.url()); setOperation(op); setError(NoError, QString()); if (!request.sslConfiguration().isNull()) setSslConfiguration(request.sslConfiguration()); if (kioJob) { connect(kioJob, SIGNAL(redirection(KIO::Job*, const KUrl&)), SLOT(slotRedirection(KIO::Job*, const KUrl&))); connect(kioJob, SIGNAL(percent(KJob*, unsigned long)), SLOT(slotPercent(KJob*, unsigned long))); if (qobject_cast(kioJob)) { connect(kioJob, SIGNAL(result(KJob *)), SLOT(slotStatResult(KJob *))); } else { connect(kioJob, SIGNAL(result(KJob *)), SLOT(slotResult(KJob *))); connect(kioJob, SIGNAL(data(KIO::Job *, const QByteArray &)), SLOT(slotData(KIO::Job *, const QByteArray &))); connect(kioJob, SIGNAL(mimetype(KIO::Job *, const QString&)), SLOT(slotMimeType(KIO::Job *, const QString&))); } } } AccessManagerReply::~AccessManagerReply() { } void AccessManagerReply::abort() { - if (m_kioJob) - m_kioJob->kill(); + if (m_kioJob) { + m_kioJob.data()->kill(); + m_kioJob.clear(); + } m_data.clear(); m_metaDataRead = false; } qint64 AccessManagerReply::bytesAvailable() const { return (QNetworkReply::bytesAvailable() + m_data.length()); } qint64 AccessManagerReply::readData(char *data, qint64 maxSize) { const qint64 length = qMin(qint64(m_data.length()), maxSize); if (length) { qMemCopy(data, m_data.constData(), length); m_data.remove(0, length); } return length; } bool AccessManagerReply::ignoreContentDisposition (KIO::Job* job) { if (m_ignoreContentDisposition) { return true; } if (job->queryMetaData(QL1S("content-disposition-type")).isEmpty()) { return true; } bool ok = false; const int statusCode = attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(&ok); if (!ok || statusCode < 200 || statusCode > 299) { return true; } return false; } void AccessManagerReply::setIgnoreContentDisposition(bool on) { // kDebug(7044) << on; m_ignoreContentDisposition = on; } void AccessManagerReply::setStatus(const QString& message, QNetworkReply::NetworkError code) { setError(code, message); if (code != QNetworkReply::NoError) { QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection, Q_ARG(QNetworkReply::NetworkError, code)); } QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection); } void AccessManagerReply::putOnHold() { if (!m_kioJob || isFinished()) return; // kDebug(7044) << m_kioJob << m_data; - m_kioJob->disconnect(this); - m_kioJob->putOnHold(); - m_kioJob = 0; + m_kioJob.data()->disconnect(this); + m_kioJob.data()->putOnHold(); + m_kioJob.clear(); KIO::Scheduler::publishSlaveOnHold(); } bool AccessManagerReply::isLocalRequest (const KUrl& url) { const QString scheme (url.protocol()); return (KProtocolInfo::isKnownProtocol(scheme) && KProtocolInfo::protocolClass(scheme).compare(QL1S(":local"), Qt::CaseInsensitive) == 0); } void AccessManagerReply::readHttpResponseHeaders(KIO::Job *job) { if (!job || m_metaDataRead) return; - const KIO::MetaData& metaData = job->metaData(); + KIO::MetaData metaData (job->metaData()); if (metaData.isEmpty()) { // Allow handling of local resources such as man pages and file url... if (isLocalRequest(url())) { setHeader(QNetworkRequest::ContentLengthHeader, job->totalAmount(KJob::Bytes)); setAttribute(QNetworkRequest::HttpStatusCodeAttribute, "200"); emit metaDataChanged(); } return; } // Set the encryption attribute and values... QSslConfiguration sslConfig; const bool isEncrypted = KIO::Integration::sslConfigFromMetaData(metaData, sslConfig); setAttribute(QNetworkRequest::ConnectionEncryptedAttribute, isEncrypted); if (isEncrypted) setSslConfiguration(sslConfig); - // Set the returned meta data as attribute... - setAttribute(static_cast(KIO::AccessManager::MetaData), - metaData.toVariant()); - // Set the raw header information... const QStringList httpHeaders (metaData.value(QL1S("HTTP-Headers")).split(QL1C('\n'), QString::SkipEmptyParts)); if (httpHeaders.isEmpty()) { if (metaData.contains(QL1S("charset"))) { QString mimeType = header(QNetworkRequest::ContentTypeHeader).toString(); mimeType += QL1S(" ; charset="); mimeType += metaData.value(QL1S("charset")); kDebug(7044) << "changed content-type to" << mimeType; setHeader(QNetworkRequest::ContentTypeHeader, mimeType.toUtf8()); } } else { Q_FOREACH(const QString& httpHeader, httpHeaders) { int index = httpHeader.indexOf(QL1C(':')); // Handle HTTP status line... if (index == -1) { // Except for the status line, all HTTP header must be an nvpair of // type ":" if (!httpHeader.startsWith(QL1S("HTTP/"), Qt::CaseInsensitive)) { continue; } QStringList statusLineAttrs (httpHeader.split(QL1C(' '), QString::SkipEmptyParts)); if (statusLineAttrs.count() > 1) { setAttribute(QNetworkRequest::HttpStatusCodeAttribute, statusLineAttrs.at(1)); } if (statusLineAttrs.count() > 2) { setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, statusLineAttrs.at(2)); } continue; } const QString headerName = httpHeader.left(index); QString headerValue = httpHeader.mid(index+1); // Ignore cookie header since it is handled by the http ioslave. if (headerName.startsWith(QL1S("set-cookie"), Qt::CaseInsensitive)) { continue; } if (headerName.startsWith(QL1S("content-disposition"), Qt::CaseInsensitive) && ignoreContentDisposition(job)) { continue; } // Without overridding the corrected mime-type sent by kio_http, add // back the "charset=" portion of the content-type header if present. if (headerName.startsWith(QL1S("content-type"), Qt::CaseInsensitive)) { - const QString mimeType = header(QNetworkRequest::ContentTypeHeader).toString(); + + QString mimeType (header(QNetworkRequest::ContentTypeHeader).toString()); + + if (m_ignoreContentDisposition) { + // If the server returned application/octet-stream, try to determine the + // real content type from the disposition filename. + if (mimeType == KMimeType::defaultMimeType()) { + int accuracy = 0; + const QString fileName (metaData.value(QL1S("content-disposition-filename"))); + KMimeType::Ptr mime = KMimeType::findByUrl((fileName.isEmpty() ? url().path() : fileName), 0, false, true, &accuracy); + if (!mime->isDefault() && accuracy == 100) { + mimeType = mime->name(); + } + } + metaData.remove(QL1S("content-disposition-type")); + metaData.remove(QL1S("content-disposition-filename")); + } + if (!headerValue.contains(mimeType, Qt::CaseInsensitive)) { index = headerValue.indexOf(QL1C(';')); if (index == -1) { headerValue = mimeType; } else { headerValue.replace(0, index, mimeType); } - kDebug(7044) << "Changed mime-type from" << mimeType << "to" << headerValue; + //kDebug(7044) << "Changed mime-type from" << mimeType << "to" << headerValue; } } - setRawHeader(headerName.trimmed().toUtf8(), headerValue.trimmed().toUtf8()); } } + // Set the returned meta data as attribute... + setAttribute(static_cast(KIO::AccessManager::MetaData), metaData.toVariant()); + m_metaDataRead = true; emit metaDataChanged(); } int AccessManagerReply::jobError(KJob* kJob) { const int errCode = kJob->error(); switch (errCode) { case 0: break; // No error; case KIO::ERR_SLAVE_DEFINED: case KIO::ERR_NO_CONTENT: // Sent by a 204 response is not an error condition. setError(QNetworkReply::NoError, kJob->errorText()); //kDebug(7044) << "0 -> QNetworkReply::NoError"; break; case KIO::ERR_IS_DIRECTORY: // This error condition can happen if you click on an ftp link that points // to a directory instead of a file, e.g. ftp://ftp.kde.org/pub setHeader(QNetworkRequest::ContentTypeHeader, "inode/directory"); setError(QNetworkReply::NoError, kJob->errorText()); break; case KIO::ERR_COULD_NOT_CONNECT: setError(QNetworkReply::ConnectionRefusedError, kJob->errorText()); kDebug(7044) << "KIO::ERR_COULD_NOT_CONNECT -> QNetworkReply::ConnectionRefusedError"; break; case KIO::ERR_UNKNOWN_HOST: setError(QNetworkReply::HostNotFoundError, kJob->errorText()); kDebug(7044) << "KIO::ERR_UNKNOWN_HOST -> QNetworkReply::HostNotFoundError"; break; case KIO::ERR_SERVER_TIMEOUT: setError(QNetworkReply::TimeoutError, kJob->errorText()); kDebug(7044) << "KIO::ERR_SERVER_TIMEOUT -> QNetworkReply::TimeoutError"; break; case KIO::ERR_USER_CANCELED: case KIO::ERR_ABORTED: setError(QNetworkReply::OperationCanceledError, kJob->errorText()); kDebug(7044) << "KIO::ERR_ABORTED -> QNetworkReply::OperationCanceledError"; break; case KIO::ERR_UNKNOWN_PROXY_HOST: setError(QNetworkReply::ProxyNotFoundError, kJob->errorText()); kDebug(7044) << "KIO::UNKNOWN_PROXY_HOST -> QNetworkReply::ProxyNotFoundError"; break; case KIO::ERR_ACCESS_DENIED: setError(QNetworkReply::ContentAccessDenied, kJob->errorText()); kDebug(7044) << "KIO::ERR_ACCESS_DENIED -> QNetworkReply::ContentAccessDenied"; break; case KIO::ERR_WRITE_ACCESS_DENIED: setError(QNetworkReply::ContentOperationNotPermittedError, kJob->errorText()); kDebug(7044) << "KIO::ERR_WRITE_ACCESS_DENIED -> QNetworkReply::ContentOperationNotPermittedError"; break; case KIO::ERR_DOES_NOT_EXIST: setError(QNetworkReply::ContentNotFoundError, kJob->errorText()); kDebug(7044) << "KIO::ERR_DOES_NOT_EXIST -> QNetworkReply::ContentNotFoundError"; break; case KIO::ERR_COULD_NOT_AUTHENTICATE: setError(QNetworkReply::AuthenticationRequiredError, kJob->errorText()); kDebug(7044) << "KIO::ERR_COULD_NOT_AUTHENTICATE -> QNetworkReply::AuthenticationRequiredError"; break; case KIO::ERR_UNSUPPORTED_PROTOCOL: case KIO::ERR_NO_SOURCE_PROTOCOL: setError(QNetworkReply::ProtocolUnknownError, kJob->errorText()); kDebug(7044) << "KIO::ERR_UNSUPPORTED_PROTOCOL -> QNetworkReply::ProtocolUnknownError"; break; case KIO::ERR_CONNECTION_BROKEN: setError(QNetworkReply::RemoteHostClosedError, kJob->errorText()); kDebug(7044) << "KIO::ERR_CONNECTION_BROKEN -> QNetworkReply::RemoteHostClosedError"; break; case KIO::ERR_UNSUPPORTED_ACTION: setError(QNetworkReply::ProtocolInvalidOperationError, kJob->errorText()); kDebug(7044) << "KIO::ERR_UNSUPPORTED_ACTION -> QNetworkReply::ProtocolInvalidOperationError"; break; default: setError(QNetworkReply::UnknownNetworkError, kJob->errorText()); kDebug(7044) << KIO::rawErrorDetail(errCode, QString()) << "-> QNetworkReply::UnknownNetworkError"; } return errCode; } void AccessManagerReply::slotData(KIO::Job *kioJob, const QByteArray &data) { Q_UNUSED (kioJob); m_data += data; if (!data.isEmpty()) emit readyRead(); } void AccessManagerReply::slotMimeType(KIO::Job *kioJob, const QString &mimeType) { //kDebug(7044) << kioJob << mimeType; setHeader(QNetworkRequest::ContentTypeHeader, mimeType.toUtf8()); readHttpResponseHeaders(kioJob); if (m_emitReadyReadOnMetaDataChange) { emit readyRead(); } } void AccessManagerReply::slotResult(KJob *kJob) { const int errcode = jobError(kJob); const QUrl redirectUrl = attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); if (!redirectUrl.isValid()) { setAttribute(static_cast(KIO::AccessManager::KioError), errcode); if (errcode && errcode != KIO::ERR_NO_CONTENT) emit error(error()); } // Make sure HTTP response headers are always set. if (!m_metaDataRead) { readHttpResponseHeaders(qobject_cast(kJob)); } emit finished(); } void AccessManagerReply::slotStatResult(KJob* kJob) { if (jobError(kJob)) { emit error (error()); emit finished(); return; } KIO::StatJob* statJob = qobject_cast(kJob); Q_ASSERT(statJob); KIO::UDSEntry entry = statJob->statResult(); QString mimeType = entry.stringValue(KIO::UDSEntry::UDS_MIME_TYPE); if (mimeType.isEmpty() && entry.isDir()) mimeType = QL1S("inode/directory"); if (!mimeType.isEmpty()) setHeader(QNetworkRequest::ContentTypeHeader, mimeType.toUtf8()); emit finished(); } void AccessManagerReply::slotRedirection(KIO::Job* job, const KUrl& u) { Q_UNUSED(job); if (!KAuthorized::authorizeUrlAction(QLatin1String("redirect"), url(), u)) { kWarning(7007) << "Redirection from" << url() << "to" << u << "REJECTED by policy!"; setError(QNetworkReply::ContentAccessDenied, u.url()); emit error(error()); return; } setAttribute(QNetworkRequest::RedirectionTargetAttribute, QUrl(u)); } void AccessManagerReply::slotPercent(KJob *job, unsigned long percent) { qulonglong bytesTotal = job->totalAmount(KJob::Bytes); qulonglong bytesProcessed = bytesTotal * (percent / 100); if (operation() == QNetworkAccessManager::PutOperation || operation() == QNetworkAccessManager::PostOperation) { emit uploadProgress(bytesProcessed, bytesTotal); return; } emit downloadProgress(bytesProcessed, bytesTotal); } } #include "accessmanagerreply_p.moc" diff --git a/kio/kio/accessmanagerreply_p.h b/kio/kio/accessmanagerreply_p.h index 0dc8ea83c1..1842a82878 100644 --- a/kio/kio/accessmanagerreply_p.h +++ b/kio/kio/accessmanagerreply_p.h @@ -1,95 +1,95 @@ /* * This file is part of the KDE project. * * Copyright (C) 2008 - 2009 Urs Wolfer * Copyright (C) 2009 - 2010 Dawit Alemayehu * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. * */ #ifndef KIO_ACCESSMANAGERREPLY_P_H #define KIO_ACCESSMANAGERREPLY_P_H -#include +#include #include namespace KIO { class Job; class SimpleJob; } class KJob; class KUrl; namespace KDEPrivate { /** * Used for KIO::AccessManager; KDE implementation of QNetworkReply. * * @since 4.3 * @author Urs Wolfer \ */ class AccessManagerReply : public QNetworkReply { Q_OBJECT public: AccessManagerReply(const QNetworkAccessManager::Operation &op, const QNetworkRequest &request, KIO::SimpleJob *kioJob, bool emitReadyReadOnMetaDataChange = false, QObject *parent = 0); virtual ~AccessManagerReply(); virtual qint64 bytesAvailable() const; virtual void abort(); void setIgnoreContentDisposition(bool on); void setStatus(const QString& message, QNetworkReply::NetworkError); void putOnHold(); static bool isLocalRequest(const KUrl& url); protected: virtual qint64 readData(char *data, qint64 maxSize); void readHttpResponseHeaders(KIO::Job *); int jobError(KJob *kJob); bool ignoreContentDisposition(KIO::Job* job); private Q_SLOTS: void slotData(KIO::Job *kioJob, const QByteArray &data); void slotMimeType(KIO::Job *kioJob, const QString &mimeType); void slotResult(KJob *kJob); void slotStatResult(KJob *kJob); void slotRedirection(KIO::Job *job, const KUrl &url); void slotPercent(KJob *job, unsigned long percent); private: QByteArray m_data; bool m_metaDataRead; bool m_ignoreContentDisposition; bool m_emitReadyReadOnMetaDataChange; - QPointer m_kioJob; + QWeakPointer m_kioJob; }; bool AccessManager_isLocalRequest(const KUrl&); } #endif // KIO_ACCESSMANAGERREPLY_P_H diff --git a/kio/kio/copyjob.cpp b/kio/kio/copyjob.cpp index eff7825145..e3ace00337 100644 --- a/kio/kio/copyjob.cpp +++ b/kio/kio/copyjob.cpp @@ -1,2176 +1,2217 @@ /* This file is part of the KDE libraries Copyright 2000 Stephan Kulow Copyright 2000-2006 David Faure Copyright 2000 Waldo Bastian This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "copyjob.h" #include #include "kdirlister.h" #include "kfileitem.h" #include "deletejob.h" #include #include #include #include #include "slave.h" #include "scheduler.h" #include "kdirwatch.h" #include "kprotocolmanager.h" #include "jobuidelegate.h" #include #include #ifdef Q_OS_UNIX #include #endif #include #include #include #include // mode_t #include #include "job_p.h" +#include +#include using namespace KIO; //this will update the report dialog with 5 Hz, I think this is fast enough, aleXXX #define REPORT_TIMEOUT 200 enum DestinationState { DEST_NOT_STATED, DEST_IS_DIR, DEST_IS_FILE, DEST_DOESNT_EXIST }; /** * States: * STATE_STATING for the dest * statCurrentSrc then does, for each src url: * STATE_RENAMING if direct rename looks possible * (on already exists, and user chooses rename, TODO: go to STATE_RENAMING again) * STATE_STATING * and then, if dir -> STATE_LISTING (filling 'd->dirs' and 'd->files') * STATE_CREATING_DIRS (createNextDir, iterating over 'd->dirs') * if conflict: STATE_CONFLICT_CREATING_DIRS * STATE_COPYING_FILES (copyNextFile, iterating over 'd->files') * if conflict: STATE_CONFLICT_COPYING_FILES * STATE_DELETING_DIRS (deleteNextDir) (if moving) * STATE_SETTING_DIR_ATTRIBUTES (setNextDirAttribute, iterating over d->m_directoriesCopied) * done. */ enum CopyJobState { STATE_STATING, STATE_RENAMING, STATE_LISTING, STATE_CREATING_DIRS, STATE_CONFLICT_CREATING_DIRS, STATE_COPYING_FILES, STATE_CONFLICT_COPYING_FILES, STATE_DELETING_DIRS, STATE_SETTING_DIR_ATTRIBUTES }; /** @internal */ class KIO::CopyJobPrivate: public KIO::JobPrivate { public: CopyJobPrivate(const KUrl::List& src, const KUrl& dest, CopyJob::CopyMode mode, bool asMethod) : m_globalDest(dest) , m_globalDestinationState(DEST_NOT_STATED) , m_defaultPermissions(false) , m_bURLDirty(false) , m_mode(mode) , m_asMethod(asMethod) , destinationState(DEST_NOT_STATED) , state(STATE_STATING) + , m_freeSpace(-1) , m_totalSize(0) , m_processedSize(0) , m_fileProcessedSize(0) , m_processedFiles(0) , m_processedDirs(0) , m_srcList(src) , m_currentStatSrc(m_srcList.constBegin()) , m_bCurrentOperationIsLink(false) , m_bSingleFileCopy(false) , m_bOnlyRenames(mode==CopyJob::Move) , m_dest(dest) , m_bAutoRenameFiles(false) , m_bAutoRenameDirs(false) , m_bAutoSkipFiles( false ) , m_bAutoSkipDirs( false ) , m_bOverwriteAllFiles( false ) , m_bOverwriteAllDirs( false ) , m_conflictError(0) , m_reportTimer(0) { } // This is the dest URL that was initially given to CopyJob // It is copied into m_dest, which can be changed for a given src URL // (when using the RENAME dialog in slotResult), // and which will be reset for the next src URL. KUrl m_globalDest; // The state info about that global dest DestinationState m_globalDestinationState; // See setDefaultPermissions bool m_defaultPermissions; // Whether URLs changed (and need to be emitted by the next slotReport call) bool m_bURLDirty; // Used after copying all the files into the dirs, to set mtime (TODO: and permissions?) // after the copy is done QLinkedList m_directoriesCopied; QLinkedList::const_iterator m_directoriesCopiedIterator; CopyJob::CopyMode m_mode; bool m_asMethod; DestinationState destinationState; CopyJobState state; + + KIO::filesize_t m_freeSpace; + KIO::filesize_t m_totalSize; KIO::filesize_t m_processedSize; KIO::filesize_t m_fileProcessedSize; int m_processedFiles; int m_processedDirs; QList files; QList dirs; KUrl::List dirsToRemove; KUrl::List m_srcList; KUrl::List m_successSrcList; // Entries in m_srcList that have successfully been moved KUrl::List::const_iterator m_currentStatSrc; bool m_bCurrentSrcIsDir; bool m_bCurrentOperationIsLink; bool m_bSingleFileCopy; bool m_bOnlyRenames; KUrl m_dest; KUrl m_currentDest; // set during listing, used by slotEntries // QStringList m_skipList; - QStringList m_overwriteList; + QSet m_overwriteList; bool m_bAutoRenameFiles; bool m_bAutoRenameDirs; bool m_bAutoSkipFiles; bool m_bAutoSkipDirs; bool m_bOverwriteAllFiles; bool m_bOverwriteAllDirs; int m_conflictError; QTimer *m_reportTimer; // The current src url being stat'ed or copied // During the stat phase, this is initially equal to *m_currentStatSrc but it can be resolved to a local file equivalent (#188903). KUrl m_currentSrcURL; KUrl m_currentDestURL; QSet m_parentDirs; void statCurrentSrc(); void statNextSrc(); // Those aren't slots but submethods for slotResult. void slotResultStating( KJob * job ); void startListing( const KUrl & src ); void slotResultCreatingDirs( KJob * job ); void slotResultConflictCreatingDirs( KJob * job ); void createNextDir(); void slotResultCopyingFiles( KJob * job ); void slotResultConflictCopyingFiles( KJob * job ); // KIO::Job* linkNextFile( const KUrl& uSource, const KUrl& uDest, bool overwrite ); KIO::Job* linkNextFile( const KUrl& uSource, const KUrl& uDest, JobFlags flags ); void copyNextFile(); void slotResultDeletingDirs( KJob * job ); void deleteNextDir(); void sourceStated(const UDSEntry& entry, const KUrl& sourceUrl); void skip(const KUrl & sourceURL, bool isDir); void slotResultRenaming( KJob * job ); void slotResultSettingDirAttributes( KJob * job ); void setNextDirAttribute(); void startRenameJob(const KUrl &slave_url); bool shouldOverwriteDir( const QString& path ) const; bool shouldOverwriteFile( const QString& path ) const; bool shouldSkip( const QString& path ) const; void skipSrc(bool isDir); void slotStart(); void slotEntries( KIO::Job*, const KIO::UDSEntryList& list ); void addCopyInfoFromUDSEntry(const UDSEntry& entry, const KUrl& srcUrl, bool srcIsDir, const KUrl& currentDest); /** * Forward signal from subjob */ void slotProcessedSize( KJob*, qulonglong data_size ); /** * Forward signal from subjob * @param size the total size */ void slotTotalSize( KJob*, qulonglong size ); void slotReport(); Q_DECLARE_PUBLIC(CopyJob) static inline CopyJob *newJob(const KUrl::List& src, const KUrl& dest, CopyJob::CopyMode mode, bool asMethod, JobFlags flags) { CopyJob *job = new CopyJob(*new CopyJobPrivate(src,dest,mode,asMethod)); job->setUiDelegate(new JobUiDelegate); if (!(flags & HideProgressInfo)) KIO::getJobTracker()->registerJob(job); if (flags & KIO::Overwrite) { job->d_func()->m_bOverwriteAllDirs = true; job->d_func()->m_bOverwriteAllFiles = true; } return job; } }; CopyJob::CopyJob(CopyJobPrivate &dd) : Job(dd) { setProperty("destUrl", d_func()->m_dest.url()); QTimer::singleShot(0, this, SLOT(slotStart())); } CopyJob::~CopyJob() { } KUrl::List CopyJob::srcUrls() const { return d_func()->m_srcList; } KUrl CopyJob::destUrl() const { return d_func()->m_dest; } void CopyJobPrivate::slotStart() { Q_Q(CopyJob); /** We call the functions directly instead of using signals. Calling a function via a signal takes approx. 65 times the time compared to calling it directly (at least on my machine). aleXXX */ m_reportTimer = new QTimer(q); q->connect(m_reportTimer,SIGNAL(timeout()),q,SLOT(slotReport())); m_reportTimer->start(REPORT_TIMEOUT); // Stat the dest KIO::Job * job = KIO::stat( m_dest, StatJob::DestinationSide, 2, KIO::HideProgressInfo ); //kDebug(7007) << "CopyJob:stating the dest " << m_dest; q->addSubjob(job); } // For unit test purposes KIO_EXPORT bool kio_resolve_local_urls = true; void CopyJobPrivate::slotResultStating( KJob *job ) { Q_Q(CopyJob); //kDebug(7007); // Was there an error while stating the src ? if (job->error() && destinationState != DEST_NOT_STATED ) { const KUrl srcurl = static_cast(job)->url(); if ( !srcurl.isLocalFile() ) { // Probably : src doesn't exist. Well, over some protocols (e.g. FTP) // this info isn't really reliable (thanks to MS FTP servers). // We'll assume a file, and try to download anyway. kDebug(7007) << "Error while stating source. Activating hack"; q->removeSubjob( job ); assert ( !q->hasSubjobs() ); // We should have only one job at a time ... struct CopyInfo info; info.permissions = (mode_t) -1; info.mtime = (time_t) -1; info.ctime = (time_t) -1; info.size = (KIO::filesize_t)-1; info.uSource = srcurl; info.uDest = m_dest; // Append filename or dirname to destination URL, if allowed if ( destinationState == DEST_IS_DIR && !m_asMethod ) info.uDest.addPath( srcurl.fileName() ); files.append( info ); statNextSrc(); return; } // Local file. If stat fails, the file definitely doesn't exist. // yes, q->Job::, because we don't want to call our override q->Job::slotResult( job ); // will set the error and emit result(this) return; } // Keep copy of the stat result const UDSEntry entry = static_cast(job)->statResult(); if ( destinationState == DEST_NOT_STATED ) { + if ( m_dest.isLocalFile() ) //works for dirs as well + { + QString path = m_dest.toLocalFile(); + KFileSystemType::Type fsType = KFileSystemType::fileSystemType( path ); + if ( fsType != KFileSystemType::Nfs && fsType != KFileSystemType::Smb ) + { + m_freeSpace = KDiskFreeSpaceInfo::freeSpaceInfo( path ).available(); + } + //TODO actually preliminary check is even more valuable for slow NFS/SMB mounts, + //but we need to find a way to report connection errors to user + } + const bool isGlobalDest = m_dest == m_globalDest; const bool isDir = entry.isDir(); // we were stating the dest if (job->error()) { destinationState = DEST_DOESNT_EXIST; //kDebug(7007) << "dest does not exist"; } else { // Treat symlinks to dirs as dirs here, so no test on isLink destinationState = isDir ? DEST_IS_DIR : DEST_IS_FILE; //kDebug(7007) << "dest is dir:" << isDir; const QString sLocalPath = entry.stringValue( KIO::UDSEntry::UDS_LOCAL_PATH ); if ( !sLocalPath.isEmpty() && kio_resolve_local_urls && destinationState != DEST_DOESNT_EXIST ) { m_dest = KUrl(); m_dest.setPath(sLocalPath); if ( isGlobalDest ) m_globalDest = m_dest; } } if ( isGlobalDest ) m_globalDestinationState = destinationState; q->removeSubjob( job ); assert ( !q->hasSubjobs() ); // After knowing what the dest is, we can start stat'ing the first src. statCurrentSrc(); } else { sourceStated(entry, static_cast(job)->url()); q->removeSubjob( job ); } } void CopyJobPrivate::sourceStated(const UDSEntry& entry, const KUrl& sourceUrl) { const QString sLocalPath = entry.stringValue( KIO::UDSEntry::UDS_LOCAL_PATH ); const bool isDir = entry.isDir(); // We were stating the current source URL // Is it a file or a dir ? // There 6 cases, and all end up calling addCopyInfoFromUDSEntry first : // 1 - src is a dir, destination is a directory, // slotEntries will append the source-dir-name to the destination // 2 - src is a dir, destination is a file -- will offer to overwrite, later on. // 3 - src is a dir, destination doesn't exist, then it's the destination dirname, // so slotEntries will use it as destination. // 4 - src is a file, destination is a directory, // slotEntries will append the filename to the destination. // 5 - src is a file, destination is a file, m_dest is the exact destination name // 6 - src is a file, destination doesn't exist, m_dest is the exact destination name KUrl srcurl; if (!sLocalPath.isEmpty() && destinationState != DEST_DOESNT_EXIST) { kDebug() << "Using sLocalPath. destinationState=" << destinationState; // Prefer the local path -- but only if we were able to stat() the dest. // Otherwise, renaming a desktop:/ url would copy from src=file to dest=desktop (#218719) srcurl.setPath(sLocalPath); } else { srcurl = sourceUrl; } addCopyInfoFromUDSEntry(entry, srcurl, false, m_dest); m_currentDest = m_dest; m_bCurrentSrcIsDir = false; if ( isDir // treat symlinks as files (no recursion) && !entry.isLink() && m_mode != CopyJob::Link ) // No recursion in Link mode either. { //kDebug(7007) << "Source is a directory"; if (srcurl.isLocalFile()) { const QString parentDir = srcurl.toLocalFile(KUrl::RemoveTrailingSlash); m_parentDirs.insert(parentDir); } m_bCurrentSrcIsDir = true; // used by slotEntries if ( destinationState == DEST_IS_DIR ) // (case 1) { if ( !m_asMethod ) { // Use / as destination, from now on QString directory = srcurl.fileName(); const QString sName = entry.stringValue( KIO::UDSEntry::UDS_NAME ); KProtocolInfo::FileNameUsedForCopying fnu = KProtocolManager::fileNameUsedForCopying(srcurl); if (fnu == KProtocolInfo::Name) { if (!sName.isEmpty()) directory = sName; } else if (fnu == KProtocolInfo::DisplayName) { const QString dispName = entry.stringValue( KIO::UDSEntry::UDS_DISPLAY_NAME ); if (!dispName.isEmpty()) directory = dispName; else if (!sName.isEmpty()) directory = sName; } m_currentDest.addPath( directory ); } } else // (case 3) { // otherwise dest is new name for toplevel dir // so the destination exists, in fact, from now on. // (This even works with other src urls in the list, since the // dir has effectively been created) destinationState = DEST_IS_DIR; if ( m_dest == m_globalDest ) m_globalDestinationState = destinationState; } startListing( srcurl ); } else { //kDebug(7007) << "Source is a file (or a symlink), or we are linking -> no recursive listing"; if (srcurl.isLocalFile()) { const QString parentDir = srcurl.directory(KUrl::ObeyTrailingSlash); m_parentDirs.insert(parentDir); } statNextSrc(); } } bool CopyJob::doSuspend() { Q_D(CopyJob); d->slotReport(); return Job::doSuspend(); } void CopyJobPrivate::slotReport() { Q_Q(CopyJob); if ( q->isSuspended() ) return; // If showProgressInfo was set, progressId() is > 0. switch (state) { case STATE_RENAMING: q->setTotalAmount(KJob::Files, m_srcList.count()); // fall-through intended case STATE_COPYING_FILES: q->setProcessedAmount( KJob::Files, m_processedFiles ); if (m_bURLDirty) { // Only emit urls when they changed. This saves time, and fixes #66281 m_bURLDirty = false; if (m_mode==CopyJob::Move) { emitMoving(q, m_currentSrcURL, m_currentDestURL); emit q->moving( q, m_currentSrcURL, m_currentDestURL); } else if (m_mode==CopyJob::Link) { emitCopying( q, m_currentSrcURL, m_currentDestURL ); // we don't have a delegate->linking emit q->linking( q, m_currentSrcURL.path(), m_currentDestURL ); } else { emitCopying( q, m_currentSrcURL, m_currentDestURL ); emit q->copying( q, m_currentSrcURL, m_currentDestURL ); } } break; case STATE_CREATING_DIRS: q->setProcessedAmount( KJob::Directories, m_processedDirs ); if (m_bURLDirty) { m_bURLDirty = false; emit q->creatingDir( q, m_currentDestURL ); emitCreatingDir( q, m_currentDestURL ); } break; case STATE_STATING: case STATE_LISTING: if (m_bURLDirty) { m_bURLDirty = false; if (m_mode==CopyJob::Move) { emitMoving( q, m_currentSrcURL, m_currentDestURL ); } else { emitCopying( q, m_currentSrcURL, m_currentDestURL ); } } q->setTotalAmount(KJob::Bytes, m_totalSize); q->setTotalAmount(KJob::Files, files.count()); q->setTotalAmount(KJob::Directories, dirs.count()); break; default: break; } } void CopyJobPrivate::slotEntries(KIO::Job* job, const UDSEntryList& list) { //Q_Q(CopyJob); UDSEntryList::ConstIterator it = list.constBegin(); UDSEntryList::ConstIterator end = list.constEnd(); for (; it != end; ++it) { const UDSEntry& entry = *it; addCopyInfoFromUDSEntry(entry, static_cast(job)->url(), m_bCurrentSrcIsDir, m_currentDest); } } void CopyJobPrivate::addCopyInfoFromUDSEntry(const UDSEntry& entry, const KUrl& srcUrl, bool srcIsDir, const KUrl& currentDest) { struct CopyInfo info; info.permissions = entry.numberValue(KIO::UDSEntry::UDS_ACCESS, -1); info.mtime = (time_t) entry.numberValue(KIO::UDSEntry::UDS_MODIFICATION_TIME, -1); info.ctime = (time_t) entry.numberValue(KIO::UDSEntry::UDS_CREATION_TIME, -1); info.size = (KIO::filesize_t) entry.numberValue(KIO::UDSEntry::UDS_SIZE, -1); if (info.size != (KIO::filesize_t) -1) m_totalSize += info.size; // recursive listing, displayName can be a/b/c/d const QString fileName = entry.stringValue(KIO::UDSEntry::UDS_NAME); const QString urlStr = entry.stringValue(KIO::UDSEntry::UDS_URL); KUrl url; if (!urlStr.isEmpty()) url = urlStr; QString localPath = entry.stringValue(KIO::UDSEntry::UDS_LOCAL_PATH); const bool isDir = entry.isDir(); info.linkDest = entry.stringValue(KIO::UDSEntry::UDS_LINK_DEST); if (fileName != QLatin1String("..") && fileName != QLatin1String(".")) { const bool hasCustomURL = !url.isEmpty() || !localPath.isEmpty(); if (!hasCustomURL) { // Make URL from displayName url = srcUrl; if (srcIsDir) { // Only if src is a directory. Otherwise uSource is fine as is //kDebug(7007) << "adding path" << displayName; url.addPath(fileName); } } //kDebug(7007) << "displayName=" << displayName << "url=" << url; if (!localPath.isEmpty() && kio_resolve_local_urls && destinationState != DEST_DOESNT_EXIST) { url = KUrl(localPath); } info.uSource = url; info.uDest = currentDest; //kDebug(7007) << "uSource=" << info.uSource << "uDest(1)=" << info.uDest; // Append filename or dirname to destination URL, if allowed if (destinationState == DEST_IS_DIR && // "copy/move as " means 'foo' is the dest for the base srcurl // (passed here during stating) but not its children (during listing) (! (m_asMethod && state == STATE_STATING))) { QString destFileName; KProtocolInfo::FileNameUsedForCopying fnu = KProtocolManager::fileNameUsedForCopying(url); if (hasCustomURL && fnu == KProtocolInfo::FromUrl) { //destFileName = url.fileName(); // Doesn't work for recursive listing // Count the number of prefixes used by the recursive listjob int numberOfSlashes = fileName.count('/'); // don't make this a find()! QString path = url.path(); int pos = 0; for (int n = 0; n < numberOfSlashes + 1; ++n) { pos = path.lastIndexOf('/', pos - 1); if (pos == -1) { // error kWarning(7007) << "kioslave bug: not enough slashes in UDS_URL" << path << "- looking for" << numberOfSlashes << "slashes"; break; } } if (pos >= 0) { destFileName = path.mid(pos + 1); } } else if ( fnu == KProtocolInfo::Name ) { // destination filename taken from UDS_NAME destFileName = fileName; } else { // from display name (with fallback to name) const QString displayName = entry.stringValue(KIO::UDSEntry::UDS_DISPLAY_NAME); destFileName = displayName.isEmpty() ? fileName : displayName; } // Here we _really_ have to add some filename to the dest. // Otherwise, we end up with e.g. dest=..../Desktop/ itself. // (This can happen when dropping a link to a webpage with no path) if (destFileName.isEmpty()) { destFileName = KIO::encodeFileName(info.uSource.prettyUrl()); } //kDebug(7007) << " adding destFileName=" << destFileName; info.uDest.addPath(destFileName); } //kDebug(7007) << " uDest(2)=" << info.uDest; //kDebug(7007) << " " << info.uSource << "->" << info.uDest; if (info.linkDest.isEmpty() && isDir && m_mode != CopyJob::Link) { // Dir dirs.append(info); // Directories if (m_mode == CopyJob::Move) { dirsToRemove.append(info.uSource); } } else { files.append(info); // Files and any symlinks } } } void CopyJobPrivate::skipSrc(bool isDir) { m_dest = m_globalDest; destinationState = m_globalDestinationState; skip(*m_currentStatSrc, isDir); ++m_currentStatSrc; statCurrentSrc(); } void CopyJobPrivate::statNextSrc() { /* Revert to the global destination, the one that applies to all source urls. * Imagine you copy the items a b and c into /d, but /d/b exists so the user uses "Rename" to put it in /foo/b instead. * d->m_dest is /foo/b for b, but we have to revert to /d for item c and following. */ m_dest = m_globalDest; destinationState = m_globalDestinationState; ++m_currentStatSrc; statCurrentSrc(); } void CopyJobPrivate::statCurrentSrc() { Q_Q(CopyJob); if (m_currentStatSrc != m_srcList.constEnd()) { m_currentSrcURL = (*m_currentStatSrc); m_bURLDirty = true; if (m_mode == CopyJob::Link) { // Skip the "stating the source" stage, we don't need it for linking m_currentDest = m_dest; struct CopyInfo info; info.permissions = -1; info.mtime = (time_t) -1; info.ctime = (time_t) -1; info.size = (KIO::filesize_t)-1; info.uSource = m_currentSrcURL; info.uDest = m_currentDest; // Append filename or dirname to destination URL, if allowed if (destinationState == DEST_IS_DIR && !m_asMethod) { if ( (m_currentSrcURL.protocol() == info.uDest.protocol()) && (m_currentSrcURL.host() == info.uDest.host()) && (m_currentSrcURL.port() == info.uDest.port()) && (m_currentSrcURL.user() == info.uDest.user()) && (m_currentSrcURL.pass() == info.uDest.pass()) ) { // This is the case of creating a real symlink info.uDest.addPath( m_currentSrcURL.fileName() ); } else { // Different protocols, we'll create a .desktop file // We have to change the extension anyway, so while we're at it, // name the file like the URL info.uDest.addPath(KIO::encodeFileName(m_currentSrcURL.prettyUrl()) + ".desktop"); } } files.append( info ); // Files and any symlinks statNextSrc(); // we could use a loop instead of a recursive call :) return; } // Let's see if we can skip stat'ing, for the case where a directory view has the info already const KFileItem cachedItem = KDirLister::cachedItemForUrl(m_currentSrcURL); KIO::UDSEntry entry; if (!cachedItem.isNull()) { entry = cachedItem.entry(); if (destinationState != DEST_DOESNT_EXIST) { // only resolve src if we could resolve dest (#218719) bool dummyIsLocal; m_currentSrcURL = cachedItem.mostLocalUrl(dummyIsLocal); // #183585 } } if (m_mode == CopyJob::Move && ( // Don't go renaming right away if we need a stat() to find out the destination filename KProtocolManager::fileNameUsedForCopying(m_currentSrcURL) == KProtocolInfo::FromUrl || destinationState != DEST_IS_DIR || m_asMethod) ) { // If moving, before going for the full stat+[list+]copy+del thing, try to rename // The logic is pretty similar to FileCopyJobPrivate::slotStart() if ( (m_currentSrcURL.protocol() == m_dest.protocol()) && (m_currentSrcURL.host() == m_dest.host()) && (m_currentSrcURL.port() == m_dest.port()) && (m_currentSrcURL.user() == m_dest.user()) && (m_currentSrcURL.pass() == m_dest.pass()) ) { startRenameJob( m_currentSrcURL ); return; } else if ( m_currentSrcURL.isLocalFile() && KProtocolManager::canRenameFromFile( m_dest ) ) { startRenameJob( m_dest ); return; } else if ( m_dest.isLocalFile() && KProtocolManager::canRenameToFile( m_currentSrcURL ) ) { startRenameJob( m_currentSrcURL ); return; } } // if the file system doesn't support deleting, we do not even stat if (m_mode == CopyJob::Move && !KProtocolManager::supportsDeleting(m_currentSrcURL)) { QPointer that = q; emit q->warning( q, buildErrorString(ERR_CANNOT_DELETE, m_currentSrcURL.prettyUrl()) ); if (that) statNextSrc(); // we could use a loop instead of a recursive call :) return; } m_bOnlyRenames = false; // Testing for entry.count()>0 here is not good enough; KFileItem inserts // entries for UDS_USER and UDS_GROUP even on initially empty UDSEntries (#192185) if (entry.contains(KIO::UDSEntry::UDS_NAME)) { kDebug(7007) << "fast path! found info about" << m_currentSrcURL << "in KDirLister"; sourceStated(entry, m_currentSrcURL); return; } // Stat the next src url Job * job = KIO::stat( m_currentSrcURL, StatJob::SourceSide, 2, KIO::HideProgressInfo ); //kDebug(7007) << "KIO::stat on" << m_currentSrcURL; state = STATE_STATING; q->addSubjob(job); m_currentDestURL = m_dest; m_bURLDirty = true; } else { // Finished the stat'ing phase // First make sure that the totals were correctly emitted state = STATE_STATING; m_bURLDirty = true; slotReport(); + + kDebug(7007)<<"Stating finished. To copy:"<aboutToCreate( q, dirs ); if (!files.isEmpty()) emit q->aboutToCreate( q, files ); // Check if we are copying a single file m_bSingleFileCopy = ( files.count() == 1 && dirs.isEmpty() ); // Then start copying things state = STATE_CREATING_DIRS; createNextDir(); } } void CopyJobPrivate::startRenameJob( const KUrl& slave_url ) { Q_Q(CopyJob); // Silence KDirWatch notifications, otherwise performance is horrible if (m_currentSrcURL.isLocalFile()) { const QString parentDir = m_currentSrcURL.directory(KUrl::ObeyTrailingSlash); if (!m_parentDirs.contains(parentDir)) { KDirWatch::self()->stopDirScan(parentDir); m_parentDirs.insert(parentDir); } } KUrl dest = m_dest; // Append filename or dirname to destination URL, if allowed if ( destinationState == DEST_IS_DIR && !m_asMethod ) dest.addPath( m_currentSrcURL.fileName() ); m_currentDestURL = dest; kDebug(7007) << m_currentSrcURL << "->" << dest << "trying direct rename first"; state = STATE_RENAMING; struct CopyInfo info; info.permissions = -1; info.mtime = (time_t) -1; info.ctime = (time_t) -1; info.size = (KIO::filesize_t)-1; info.uSource = m_currentSrcURL; info.uDest = dest; QList files; files.append(info); emit q->aboutToCreate( q, files ); KIO_ARGS << m_currentSrcURL << dest << (qint8) false /*no overwrite*/; SimpleJob * newJob = SimpleJobPrivate::newJobNoUi(slave_url, CMD_RENAME, packedArgs); Scheduler::setJobPriority(newJob, 1); q->addSubjob( newJob ); if ( m_currentSrcURL.directory() != dest.directory() ) // For the user, moving isn't renaming. Only renaming is. m_bOnlyRenames = false; } void CopyJobPrivate::startListing( const KUrl & src ) { Q_Q(CopyJob); state = STATE_LISTING; m_bURLDirty = true; ListJob * newjob = listRecursive(src, KIO::HideProgressInfo); newjob->setUnrestricted(true); q->connect(newjob, SIGNAL(entries(KIO::Job*,KIO::UDSEntryList)), SLOT(slotEntries(KIO::Job*,KIO::UDSEntryList))); q->addSubjob( newjob ); } void CopyJobPrivate::skip(const KUrl & sourceUrl, bool isDir) { KUrl dir = sourceUrl; if (!isDir) { // Skipping a file: make sure not to delete the parent dir (#208418) dir.setPath(dir.directory()); } while (dirsToRemove.removeAll(dir) > 0) { // Do not rely on rmdir() on the parent directories aborting. // Exclude the parent dirs explicitly. dir.setPath(dir.directory()); } } bool CopyJobPrivate::shouldOverwriteDir( const QString& path ) const { if ( m_bOverwriteAllDirs ) return true; return m_overwriteList.contains(path); } bool CopyJobPrivate::shouldOverwriteFile( const QString& path ) const { if ( m_bOverwriteAllFiles ) return true; return m_overwriteList.contains(path); } bool CopyJobPrivate::shouldSkip( const QString& path ) const { Q_FOREACH(const QString& skipPath, m_skipList) { if ( path.startsWith(skipPath) ) return true; } return false; } void CopyJobPrivate::slotResultCreatingDirs( KJob * job ) { Q_Q(CopyJob); // The dir we are trying to create: QList::Iterator it = dirs.begin(); // Was there an error creating a dir ? if ( job->error() ) { m_conflictError = job->error(); if ( (m_conflictError == ERR_DIR_ALREADY_EXIST) || (m_conflictError == ERR_FILE_ALREADY_EXIST) ) // can't happen? { KUrl oldURL = ((SimpleJob*)job)->url(); // Should we skip automatically ? if ( m_bAutoSkipDirs ) { // We don't want to copy files in this directory, so we put it on the skip list m_skipList.append( oldURL.path( KUrl::AddTrailingSlash ) ); skip(oldURL, true); dirs.erase( it ); // Move on to next dir } else { // Did the user choose to overwrite already? const QString destDir = (*it).uDest.path(); if ( shouldOverwriteDir( destDir ) ) { // overwrite => just skip emit q->copyingDone( q, (*it).uSource, (*it).uDest, (*it).mtime, true /* directory */, false /* renamed */ ); dirs.erase( it ); // Move on to next dir } else { if (m_bAutoRenameDirs) { QString oldPath = (*it).uDest.path(KUrl::AddTrailingSlash); KUrl destDirectory((*it).uDest); destDirectory.setPath(destDirectory.directory()); QString newName = KIO::RenameDialog::suggestName(destDirectory, (*it).uDest.fileName()); KUrl newUrl((*it).uDest); newUrl.setFileName(newName); emit q->renamed(q, (*it).uDest, newUrl); // for e.g. kpropsdlg // Change the current one and strip the trailing '/' (*it).uDest.setPath(newUrl.path(KUrl::RemoveTrailingSlash)); QString newPath = newUrl.path(KUrl::AddTrailingSlash); // With trailing slash QList::Iterator renamedirit = it; ++renamedirit; // Change the name of subdirectories inside the directory for(; renamedirit != dirs.end() ; ++renamedirit) { QString path = (*renamedirit).uDest.path(); if (path.startsWith(oldPath)) { QString n = path; n.replace(0, oldPath.length(), newPath); kDebug(7007) << "dirs list:" << (*renamedirit).uSource.path() << "was going to be" << path << ", changed into" << n; (*renamedirit).uDest.setPath(n); } } // Change filenames inside the directory QList::Iterator renamefileit = files.begin(); for(; renamefileit != files.end() ; ++renamefileit) { QString path = (*renamefileit).uDest.path(); if (path.startsWith(oldPath)) { QString n = path; n.replace(0, oldPath.length(), newPath); kDebug(7007) << "files list:" << (*renamefileit).uSource.path() << "was going to be" << path << ", changed into" << n; (*renamefileit).uDest.setPath(n); } } if (!dirs.isEmpty()) { emit q->aboutToCreate(q, dirs); } if (!files.isEmpty()) { emit q->aboutToCreate(q, files); } } else { if (!q->isInteractive()) { q->Job::slotResult(job); // will set the error and emit result(this) return; } assert(((SimpleJob*)job)->url().url() == (*it).uDest.url()); q->removeSubjob(job); assert (!q->hasSubjobs()); // We should have only one job at a time ... // We need to stat the existing dir, to get its last-modification time KUrl existingDest((*it).uDest); SimpleJob * newJob = KIO::stat(existingDest, StatJob::DestinationSide, 2, KIO::HideProgressInfo); Scheduler::setJobPriority(newJob, 1); kDebug(7007) << "KIO::stat for resolving conflict on " << existingDest; state = STATE_CONFLICT_CREATING_DIRS; q->addSubjob(newJob); return; // Don't move to next dir yet ! } } } } else { // Severe error, abort q->Job::slotResult( job ); // will set the error and emit result(this) return; } } else // no error : remove from list, to move on to next dir { //this is required for the undo feature emit q->copyingDone( q, (*it).uSource, (*it).uDest, (*it).mtime, true, false ); m_directoriesCopied.append( *it ); dirs.erase( it ); } m_processedDirs++; //emit processedAmount( this, KJob::Directories, m_processedDirs ); q->removeSubjob( job ); assert( !q->hasSubjobs() ); // We should have only one job at a time ... createNextDir(); } void CopyJobPrivate::slotResultConflictCreatingDirs( KJob * job ) { Q_Q(CopyJob); // We come here after a conflict has been detected and we've stated the existing dir // The dir we were trying to create: QList::Iterator it = dirs.begin(); const UDSEntry entry = ((KIO::StatJob*)job)->statResult(); // Its modification time: const time_t destmtime = (time_t) entry.numberValue( KIO::UDSEntry::UDS_MODIFICATION_TIME, -1 ); const time_t destctime = (time_t) entry.numberValue( KIO::UDSEntry::UDS_CREATION_TIME, -1 ); const KIO::filesize_t destsize = entry.numberValue( KIO::UDSEntry::UDS_SIZE ); const QString linkDest = entry.stringValue( KIO::UDSEntry::UDS_LINK_DEST ); q->removeSubjob( job ); assert ( !q->hasSubjobs() ); // We should have only one job at a time ... // Always multi and skip (since there are files after that) RenameDialog_Mode mode = (RenameDialog_Mode)( M_MULTI | M_SKIP | M_ISDIR ); // Overwrite only if the existing thing is a dir (no chance with a file) if ( m_conflictError == ERR_DIR_ALREADY_EXIST ) { if( (*it).uSource == (*it).uDest || ((*it).uSource.protocol() == (*it).uDest.protocol() && (*it).uSource.path( KUrl::RemoveTrailingSlash ) == linkDest) ) mode = (RenameDialog_Mode)( mode | M_OVERWRITE_ITSELF); else mode = (RenameDialog_Mode)( mode | M_OVERWRITE ); } QString existingDest = (*it).uDest.path(); QString newPath; if (m_reportTimer) m_reportTimer->stop(); RenameDialog_Result r = q->ui()->askFileRename( q, i18n("Folder Already Exists"), (*it).uSource.url(), (*it).uDest.url(), mode, newPath, (*it).size, destsize, (*it).ctime, destctime, (*it).mtime, destmtime ); if (m_reportTimer) m_reportTimer->start(REPORT_TIMEOUT); switch ( r ) { case R_CANCEL: q->setError( ERR_USER_CANCELED ); q->emitResult(); return; case R_AUTO_RENAME: m_bAutoRenameDirs = true; // fall through case R_RENAME: { QString oldPath = (*it).uDest.path( KUrl::AddTrailingSlash ); KUrl newUrl( (*it).uDest ); newUrl.setPath( newPath ); emit q->renamed( q, (*it).uDest, newUrl ); // for e.g. kpropsdlg // Change the current one and strip the trailing '/' (*it).uDest.setPath( newUrl.path( KUrl::RemoveTrailingSlash ) ); newPath = newUrl.path( KUrl::AddTrailingSlash ); // With trailing slash QList::Iterator renamedirit = it; ++renamedirit; // Change the name of subdirectories inside the directory for( ; renamedirit != dirs.end() ; ++renamedirit ) { QString path = (*renamedirit).uDest.path(); if ( path.startsWith( oldPath ) ) { QString n = path; n.replace( 0, oldPath.length(), newPath ); kDebug(7007) << "dirs list:" << (*renamedirit).uSource.path() << "was going to be" << path << ", changed into" << n; (*renamedirit).uDest.setPath( n ); } } // Change filenames inside the directory QList::Iterator renamefileit = files.begin(); for( ; renamefileit != files.end() ; ++renamefileit ) { QString path = (*renamefileit).uDest.path(); if ( path.startsWith( oldPath ) ) { QString n = path; n.replace( 0, oldPath.length(), newPath ); kDebug(7007) << "files list:" << (*renamefileit).uSource.path() << "was going to be" << path << ", changed into" << n; (*renamefileit).uDest.setPath( n ); } } if (!dirs.isEmpty()) emit q->aboutToCreate( q, dirs ); if (!files.isEmpty()) emit q->aboutToCreate( q, files ); } break; case R_AUTO_SKIP: m_bAutoSkipDirs = true; // fall through case R_SKIP: m_skipList.append( existingDest ); skip((*it).uSource, true); // Move on to next dir dirs.erase( it ); m_processedDirs++; break; case R_OVERWRITE: - m_overwriteList.append( existingDest ); + m_overwriteList.insert( existingDest ); emit q->copyingDone( q, (*it).uSource, (*it).uDest, (*it).mtime, true /* directory */, false /* renamed */ ); // Move on to next dir dirs.erase( it ); m_processedDirs++; break; case R_OVERWRITE_ALL: m_bOverwriteAllDirs = true; emit q->copyingDone( q, (*it).uSource, (*it).uDest, (*it).mtime, true /* directory */, false /* renamed */ ); // Move on to next dir dirs.erase( it ); m_processedDirs++; break; default: assert( 0 ); } state = STATE_CREATING_DIRS; //emit processedAmount( this, KJob::Directories, m_processedDirs ); createNextDir(); } void CopyJobPrivate::createNextDir() { Q_Q(CopyJob); KUrl udir; if ( !dirs.isEmpty() ) { // Take first dir to create out of list QList::Iterator it = dirs.begin(); // Is this URL on the skip list or the overwrite list ? while( it != dirs.end() && udir.isEmpty() ) { const QString dir = (*it).uDest.path(); if ( shouldSkip( dir ) ) { dirs.erase( it ); it = dirs.begin(); } else udir = (*it).uDest; } } if ( !udir.isEmpty() ) // any dir to create, finally ? { // Create the directory - with default permissions so that we can put files into it // TODO : change permissions once all is finished; but for stuff coming from CDROM it sucks... KIO::SimpleJob *newjob = KIO::mkdir( udir, -1 ); Scheduler::setJobPriority(newjob, 1); if (shouldOverwriteFile(udir.path())) { // if we are overwriting an existing file or symlink newjob->addMetaData("overwrite", "true"); } m_currentDestURL = udir; m_bURLDirty = true; q->addSubjob(newjob); return; } else // we have finished creating dirs { q->setProcessedAmount( KJob::Directories, m_processedDirs ); // make sure final number appears if (m_mode == CopyJob::Move) { // Now we know which dirs hold the files we're going to delete. // To speed things up and prevent double-notification, we disable KDirWatch // on those dirs temporarily (using KDirWatch::self, that's the instanced // used by e.g. kdirlister). for ( QSet::const_iterator it = m_parentDirs.constBegin() ; it != m_parentDirs.constEnd() ; ++it ) KDirWatch::self()->stopDirScan( *it ); } state = STATE_COPYING_FILES; m_processedFiles++; // Ralf wants it to start at 1, not 0 copyNextFile(); } } void CopyJobPrivate::slotResultCopyingFiles( KJob * job ) { Q_Q(CopyJob); // The file we were trying to copy: QList::Iterator it = files.begin(); if ( job->error() ) { // Should we skip automatically ? if ( m_bAutoSkipFiles ) { skip((*it).uSource, false); m_fileProcessedSize = (*it).size; files.erase( it ); // Move on to next file } else { m_conflictError = job->error(); // save for later // Existing dest ? if ( ( m_conflictError == ERR_FILE_ALREADY_EXIST ) || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) || ( m_conflictError == ERR_IDENTICAL_FILES ) ) { if (m_bAutoRenameFiles) { KUrl destDirectory((*it).uDest); destDirectory.setPath(destDirectory.directory()); const QString newName = KIO::RenameDialog::suggestName(destDirectory, (*it).uDest.fileName()); KUrl newUrl((*it).uDest); newUrl.setFileName(newName); emit q->renamed(q, (*it).uDest, newUrl); // for e.g. kpropsdlg (*it).uDest = newUrl; QList files; files.append(*it); emit q->aboutToCreate(q, files); } else { if ( !q->isInteractive() ) { q->Job::slotResult( job ); // will set the error and emit result(this) return; } q->removeSubjob(job); assert (!q->hasSubjobs()); // We need to stat the existing file, to get its last-modification time KUrl existingFile((*it).uDest); SimpleJob * newJob = KIO::stat(existingFile, StatJob::DestinationSide, 2, KIO::HideProgressInfo); Scheduler::setJobPriority(newJob, 1); kDebug(7007) << "KIO::stat for resolving conflict on " << existingFile; state = STATE_CONFLICT_COPYING_FILES; q->addSubjob(newJob); return; // Don't move to next file yet ! } } else { if ( m_bCurrentOperationIsLink && qobject_cast( job ) ) { // Very special case, see a few lines below // We are deleting the source of a symlink we successfully moved... ignore error m_fileProcessedSize = (*it).size; files.erase( it ); } else { if ( !q->isInteractive() ) { q->Job::slotResult( job ); // will set the error and emit result(this) return; } // Go directly to the conflict resolution, there is nothing to stat slotResultConflictCopyingFiles( job ); return; } } } } else // no error { // Special case for moving links. That operation needs two jobs, unlike others. if ( m_bCurrentOperationIsLink && m_mode == CopyJob::Move && !qobject_cast( job ) // Deleting source not already done ) { q->removeSubjob( job ); assert ( !q->hasSubjobs() ); // The only problem with this trick is that the error handling for this del operation // is not going to be right... see 'Very special case' above. KIO::Job * newjob = KIO::del( (*it).uSource, HideProgressInfo ); q->addSubjob( newjob ); return; // Don't move to next file yet ! } if ( m_bCurrentOperationIsLink ) { QString target = ( m_mode == CopyJob::Link ? (*it).uSource.path() : (*it).linkDest ); //required for the undo feature emit q->copyingLinkDone( q, (*it).uSource, target, (*it).uDest ); } else { //required for the undo feature emit q->copyingDone( q, (*it).uSource, (*it).uDest, (*it).mtime, false, false ); if (m_mode == CopyJob::Move) + { org::kde::KDirNotify::emitFileMoved( (*it).uSource.url(), (*it).uDest.url() ); + } m_successSrcList.append((*it).uSource); + if ( m_freeSpace != -1 ) + { + m_freeSpace -= (*it).size; + } + } // remove from list, to move on to next file files.erase( it ); } m_processedFiles++; // clear processed size for last file and add it to overall processed size m_processedSize += m_fileProcessedSize; m_fileProcessedSize = 0; //kDebug(7007) << files.count() << "files remaining"; // Merge metadata from subjob KIO::Job* kiojob = dynamic_cast(job); Q_ASSERT(kiojob); m_incomingMetaData += kiojob->metaData(); q->removeSubjob( job ); assert( !q->hasSubjobs() ); // We should have only one job at a time ... copyNextFile(); } void CopyJobPrivate::slotResultConflictCopyingFiles( KJob * job ) { Q_Q(CopyJob); // We come here after a conflict has been detected and we've stated the existing file // The file we were trying to create: QList::Iterator it = files.begin(); RenameDialog_Result res; QString newPath; if (m_reportTimer) m_reportTimer->stop(); if ( ( m_conflictError == ERR_FILE_ALREADY_EXIST ) || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) || ( m_conflictError == ERR_IDENTICAL_FILES ) ) { // Its modification time: const UDSEntry entry = ((KIO::StatJob*)job)->statResult(); const time_t destmtime = (time_t) entry.numberValue( KIO::UDSEntry::UDS_MODIFICATION_TIME, -1 ); const time_t destctime = (time_t) entry.numberValue( KIO::UDSEntry::UDS_CREATION_TIME, -1 ); const KIO::filesize_t destsize = entry.numberValue( KIO::UDSEntry::UDS_SIZE ); const QString linkDest = entry.stringValue( KIO::UDSEntry::UDS_LINK_DEST ); // Offer overwrite only if the existing thing is a file // If src==dest, use "overwrite-itself" RenameDialog_Mode mode; bool isDir = true; if( m_conflictError == ERR_DIR_ALREADY_EXIST ) mode = M_ISDIR; else { if ( (*it).uSource == (*it).uDest || ((*it).uSource.protocol() == (*it).uDest.protocol() && (*it).uSource.path( KUrl::RemoveTrailingSlash ) == linkDest) ) mode = M_OVERWRITE_ITSELF; else mode = M_OVERWRITE; isDir = false; } if ( !m_bSingleFileCopy ) mode = (RenameDialog_Mode) ( mode | M_MULTI | M_SKIP ); res = q->ui()->askFileRename( q, !isDir ? i18n("File Already Exists") : i18n("Already Exists as Folder"), (*it).uSource.url(), (*it).uDest.url(), mode, newPath, (*it).size, destsize, (*it).ctime, destctime, (*it).mtime, destmtime ); } else { if ( job->error() == ERR_USER_CANCELED ) res = R_CANCEL; else if ( !q->isInteractive() ) { q->Job::slotResult( job ); // will set the error and emit result(this) return; } else { SkipDialog_Result skipResult = q->ui()->askSkip( q, files.count() > 1, job->errorString() ); // Convert the return code from SkipDialog into a RenameDialog code res = ( skipResult == S_SKIP ) ? R_SKIP : ( skipResult == S_AUTO_SKIP ) ? R_AUTO_SKIP : R_CANCEL; } } if (m_reportTimer) m_reportTimer->start(REPORT_TIMEOUT); q->removeSubjob( job ); assert ( !q->hasSubjobs() ); switch ( res ) { case R_CANCEL: q->setError( ERR_USER_CANCELED ); q->emitResult(); return; case R_AUTO_RENAME: m_bAutoRenameFiles = true; // fall through case R_RENAME: { KUrl newUrl( (*it).uDest ); newUrl.setPath( newPath ); emit q->renamed( q, (*it).uDest, newUrl ); // for e.g. kpropsdlg (*it).uDest = newUrl; QList files; files.append(*it); emit q->aboutToCreate( q, files ); } break; case R_AUTO_SKIP: m_bAutoSkipFiles = true; // fall through case R_SKIP: // Move on to next file skip((*it).uSource, false); m_processedSize += (*it).size; files.erase( it ); m_processedFiles++; break; case R_OVERWRITE_ALL: m_bOverwriteAllFiles = true; break; case R_OVERWRITE: // Add to overwrite list, so that copyNextFile knows to overwrite - m_overwriteList.append( (*it).uDest.path() ); + m_overwriteList.insert( (*it).uDest.path() ); break; default: assert( 0 ); } state = STATE_COPYING_FILES; copyNextFile(); } KIO::Job* CopyJobPrivate::linkNextFile( const KUrl& uSource, const KUrl& uDest, JobFlags flags ) { //kDebug(7007) << "Linking"; if ( (uSource.protocol() == uDest.protocol()) && (uSource.host() == uDest.host()) && (uSource.port() == uDest.port()) && (uSource.user() == uDest.user()) && (uSource.pass() == uDest.pass()) ) { // This is the case of creating a real symlink KIO::SimpleJob *newJob = KIO::symlink( uSource.path(), uDest, flags|HideProgressInfo /*no GUI*/ ); Scheduler::setJobPriority(newJob, 1); //kDebug(7007) << "Linking target=" << uSource.path() << "link=" << uDest; //emit linking( this, uSource.path(), uDest ); m_bCurrentOperationIsLink = true; m_currentSrcURL=uSource; m_currentDestURL=uDest; m_bURLDirty = true; //Observer::self()->slotCopying( this, uSource, uDest ); // should be slotLinking perhaps return newJob; } else { Q_Q(CopyJob); //kDebug(7007) << "Linking URL=" << uSource << "link=" << uDest; if ( uDest.isLocalFile() ) { // if the source is a devices url, handle it a littlebit special QString path = uDest.toLocalFile(); //kDebug(7007) << "path=" << path; QFile f( path ); if ( f.open( QIODevice::ReadWrite ) ) { f.close(); KDesktopFile desktopFile( path ); KConfigGroup config = desktopFile.desktopGroup(); KUrl url = uSource; url.setPass( "" ); config.writePathEntry( "URL", url.url() ); config.writeEntry( "Name", url.url() ); config.writeEntry( "Type", QString::fromLatin1("Link") ); QString protocol = uSource.protocol(); if ( protocol == QLatin1String("ftp") ) config.writeEntry( "Icon", QString::fromLatin1("folder-remote") ); else if ( protocol == QLatin1String("http") ) config.writeEntry( "Icon", QString::fromLatin1("text-html") ); else if ( protocol == QLatin1String("info") ) config.writeEntry( "Icon", QString::fromLatin1("text-x-texinfo") ); else if ( protocol == QLatin1String("mailto") ) // sven: config.writeEntry( "Icon", QString::fromLatin1("internet-mail") ); // added mailto: support else config.writeEntry( "Icon", QString::fromLatin1("unknown") ); config.sync(); files.erase( files.begin() ); // done with this one, move on m_processedFiles++; //emit processedAmount( this, KJob::Files, m_processedFiles ); copyNextFile(); return 0; } else { kDebug(7007) << "ERR_CANNOT_OPEN_FOR_WRITING"; q->setError( ERR_CANNOT_OPEN_FOR_WRITING ); q->setErrorText( uDest.toLocalFile() ); q->emitResult(); return 0; } } else { // Todo: not show "link" on remote dirs if the src urls are not from the same protocol+host+... q->setError( ERR_CANNOT_SYMLINK ); q->setErrorText( uDest.prettyUrl() ); q->emitResult(); return 0; } } } void CopyJobPrivate::copyNextFile() { Q_Q(CopyJob); bool bCopyFile = false; //kDebug(7007); // Take the first file in the list QList::Iterator it = files.begin(); // Is this URL on the skip list ? while (it != files.end() && !bCopyFile) { const QString destFile = (*it).uDest.path(); bCopyFile = !shouldSkip( destFile ); if ( !bCopyFile ) { files.erase( it ); it = files.begin(); } } if (bCopyFile) // any file to create, finally ? { + //kDebug()<<"preparing to copy"<<(*it).uSource<<(*it).size<setError( ERR_DISK_FULL ); + q->emitResult(); + return; + } + //TODO check if dst mount is msdos and (*it).size exceeds it's limits + } + const KUrl& uSource = (*it).uSource; const KUrl& uDest = (*it).uDest; // Do we set overwrite ? bool bOverwrite; const QString destFile = uDest.path(); // kDebug(7007) << "copying" << destFile; if ( uDest == uSource ) bOverwrite = false; else bOverwrite = shouldOverwriteFile( destFile ); m_bCurrentOperationIsLink = false; KIO::Job * newjob = 0; if ( m_mode == CopyJob::Link ) { // User requested that a symlink be made const JobFlags flags = bOverwrite ? Overwrite : DefaultFlags; newjob = linkNextFile(uSource, uDest, flags); if (!newjob) return; } else if ( !(*it).linkDest.isEmpty() && (uSource.protocol() == uDest.protocol()) && (uSource.host() == uDest.host()) && (uSource.port() == uDest.port()) && (uSource.user() == uDest.user()) && (uSource.pass() == uDest.pass())) // Copying a symlink - only on the same protocol/host/etc. (#5601, downloading an FTP file through its link), { const JobFlags flags = bOverwrite ? Overwrite : DefaultFlags; KIO::SimpleJob *newJob = KIO::symlink( (*it).linkDest, uDest, flags | HideProgressInfo /*no GUI*/ ); Scheduler::setJobPriority(newJob, 1); newjob = newJob; //kDebug(7007) << "Linking target=" << (*it).linkDest << "link=" << uDest; m_currentSrcURL = KUrl( (*it).linkDest ); m_currentDestURL = uDest; m_bURLDirty = true; //emit linking( this, (*it).linkDest, uDest ); //Observer::self()->slotCopying( this, m_currentSrcURL, uDest ); // should be slotLinking perhaps m_bCurrentOperationIsLink = true; // NOTE: if we are moving stuff, the deletion of the source will be done in slotResultCopyingFiles } else if (m_mode == CopyJob::Move) // Moving a file { JobFlags flags = bOverwrite ? Overwrite : DefaultFlags; KIO::FileCopyJob * moveJob = KIO::file_move( uSource, uDest, (*it).permissions, flags | HideProgressInfo/*no GUI*/ ); moveJob->setSourceSize( (*it).size ); if ((*it).mtime != -1) { moveJob->setModificationTime( QDateTime::fromTime_t( (*it).mtime ) ); // #55804 } newjob = moveJob; //kDebug(7007) << "Moving" << uSource << "to" << uDest; //emit moving( this, uSource, uDest ); m_currentSrcURL=uSource; m_currentDestURL=uDest; m_bURLDirty = true; //Observer::self()->slotMoving( this, uSource, uDest ); } else // Copying a file { // If source isn't local and target is local, we ignore the original permissions // Otherwise, files downloaded from HTTP end up with -r--r--r-- bool remoteSource = !KProtocolManager::supportsListing(uSource); int permissions = (*it).permissions; if ( m_defaultPermissions || ( remoteSource && uDest.isLocalFile() ) ) permissions = -1; JobFlags flags = bOverwrite ? Overwrite : DefaultFlags; KIO::FileCopyJob * copyJob = KIO::file_copy( uSource, uDest, permissions, flags | HideProgressInfo/*no GUI*/ ); copyJob->setParentJob( q ); // in case of rename dialog copyJob->setSourceSize( (*it).size ); if ((*it).mtime != -1) { copyJob->setModificationTime( QDateTime::fromTime_t( (*it).mtime ) ); } newjob = copyJob; //kDebug(7007) << "Copying" << uSource << "to" << uDest; m_currentSrcURL=uSource; m_currentDestURL=uDest; m_bURLDirty = true; } q->addSubjob(newjob); q->connect( newjob, SIGNAL( processedSize( KJob*, qulonglong ) ), SLOT( slotProcessedSize( KJob*, qulonglong ) ) ); q->connect( newjob, SIGNAL( totalSize( KJob*, qulonglong ) ), SLOT( slotTotalSize( KJob*, qulonglong ) ) ); } else { // We're done //kDebug(7007) << "copyNextFile finished"; deleteNextDir(); } } void CopyJobPrivate::deleteNextDir() { Q_Q(CopyJob); if ( m_mode == CopyJob::Move && !dirsToRemove.isEmpty() ) // some dirs to delete ? { state = STATE_DELETING_DIRS; m_bURLDirty = true; // Take first dir to delete out of list - last ones first ! KUrl::List::Iterator it = --dirsToRemove.end(); SimpleJob *job = KIO::rmdir( *it ); Scheduler::setJobPriority(job, 1); dirsToRemove.erase(it); q->addSubjob( job ); } else { // This step is done, move on state = STATE_SETTING_DIR_ATTRIBUTES; m_directoriesCopiedIterator = m_directoriesCopied.constBegin(); setNextDirAttribute(); } } void CopyJobPrivate::setNextDirAttribute() { Q_Q(CopyJob); while (m_directoriesCopiedIterator != m_directoriesCopied.constEnd() && (*m_directoriesCopiedIterator).mtime == -1) { ++m_directoriesCopiedIterator; } if ( m_directoriesCopiedIterator != m_directoriesCopied.constEnd() ) { const KUrl url = (*m_directoriesCopiedIterator).uDest; const time_t mtime = (*m_directoriesCopiedIterator).mtime; const QDateTime dt = QDateTime::fromTime_t(mtime); ++m_directoriesCopiedIterator; KIO::SimpleJob *job = KIO::setModificationTime( url, dt ); Scheduler::setJobPriority(job, 1); q->addSubjob( job ); #if 0 // ifdef Q_OS_UNIX // TODO: can be removed now. Or reintroduced as a fast path for local files // if launching even more jobs as done above is a performance problem. // QLinkedList::const_iterator it = m_directoriesCopied.constBegin(); for ( ; it != m_directoriesCopied.constEnd() ; ++it ) { const KUrl& url = (*it).uDest; if ( url.isLocalFile() && (*it).mtime != (time_t)-1 ) { KDE_struct_stat statbuf; if (KDE::lstat(url.path(), &statbuf) == 0) { struct utimbuf utbuf; utbuf.actime = statbuf.st_atime; // access time, unchanged utbuf.modtime = (*it).mtime; // modification time utime( path, &utbuf ); } } } m_directoriesCopied.clear(); // but then we need to jump to the else part below. Maybe with a recursive call? #endif } else { if (m_reportTimer) m_reportTimer->stop(); --m_processedFiles; // undo the "start at 1" hack slotReport(); // display final numbers, important if progress dialog stays up q->emitResult(); } } void CopyJob::emitResult() { Q_D(CopyJob); // Before we go, tell the world about the changes that were made. // Even if some error made us abort midway, we might still have done // part of the job so we better update the views! (#118583) if (!d->m_bOnlyRenames) { KUrl url(d->m_globalDest); if (d->m_globalDestinationState != DEST_IS_DIR || d->m_asMethod) url.setPath(url.directory()); //kDebug(7007) << "KDirNotify'ing FilesAdded" << url; org::kde::KDirNotify::emitFilesAdded( url.url() ); if (d->m_mode == CopyJob::Move && !d->m_successSrcList.isEmpty()) { kDebug(7007) << "KDirNotify'ing FilesRemoved" << d->m_successSrcList.toStringList(); org::kde::KDirNotify::emitFilesRemoved(d->m_successSrcList.toStringList()); } // Re-enable watching on the dirs that held the deleted files if (d->m_mode == CopyJob::Move) { for (QSet::const_iterator it = d->m_parentDirs.constBegin() ; it != d->m_parentDirs.constEnd() ; ++it) KDirWatch::self()->restartDirScan( *it ); } } Job::emitResult(); } void CopyJobPrivate::slotProcessedSize( KJob*, qulonglong data_size ) { Q_Q(CopyJob); //kDebug(7007) << data_size; m_fileProcessedSize = data_size; q->setProcessedAmount(KJob::Bytes, m_processedSize + m_fileProcessedSize); if ( m_processedSize + m_fileProcessedSize > m_totalSize ) { // Example: download any attachment from bugs.kde.org m_totalSize = m_processedSize + m_fileProcessedSize; //kDebug(7007) << "Adjusting m_totalSize to" << m_totalSize; q->setTotalAmount(KJob::Bytes, m_totalSize); // safety } //kDebug(7007) << "emit processedSize" << (unsigned long) (m_processedSize + m_fileProcessedSize); q->setProcessedAmount(KJob::Bytes, m_processedSize + m_fileProcessedSize); } void CopyJobPrivate::slotTotalSize( KJob*, qulonglong size ) { Q_Q(CopyJob); //kDebug(7007) << size; // Special case for copying a single file // This is because some protocols don't implement stat properly // (e.g. HTTP), and don't give us a size in some cases (redirection) // so we'd rather rely on the size given for the transfer if ( m_bSingleFileCopy && size != m_totalSize) { //kDebug(7007) << "slotTotalSize: updating totalsize to" << size; m_totalSize = size; q->setTotalAmount(KJob::Bytes, size); } } void CopyJobPrivate::slotResultDeletingDirs( KJob * job ) { Q_Q(CopyJob); if (job->error()) { // Couldn't remove directory. Well, perhaps it's not empty // because the user pressed Skip for a given file in it. // Let's not display "Could not remove dir ..." for each of those dir ! } else { m_successSrcList.append(static_cast(job)->url()); } q->removeSubjob( job ); assert( !q->hasSubjobs() ); deleteNextDir(); } void CopyJobPrivate::slotResultSettingDirAttributes( KJob * job ) { Q_Q(CopyJob); if (job->error()) { // Couldn't set directory attributes. Ignore the error, it can happen // with inferior file systems like VFAT. // Let's not display warnings for each dir like "cp -a" does. } q->removeSubjob( job ); assert( !q->hasSubjobs() ); setNextDirAttribute(); } // We were trying to do a direct renaming, before even stat'ing void CopyJobPrivate::slotResultRenaming( KJob* job ) { Q_Q(CopyJob); int err = job->error(); const QString errText = job->errorText(); // Merge metadata from subjob KIO::Job* kiojob = dynamic_cast(job); Q_ASSERT(kiojob); m_incomingMetaData += kiojob->metaData(); q->removeSubjob( job ); assert ( !q->hasSubjobs() ); // Determine dest again KUrl dest = m_dest; if ( destinationState == DEST_IS_DIR && !m_asMethod ) dest.addPath( m_currentSrcURL.fileName() ); if ( err ) { // Direct renaming didn't work. Try renaming to a temp name, // this can help e.g. when renaming 'a' to 'A' on a VFAT partition. // In that case it's the _same_ dir, we don't want to copy+del (data loss!) if ( m_currentSrcURL.isLocalFile() && m_currentSrcURL.url(KUrl::RemoveTrailingSlash) != dest.url(KUrl::RemoveTrailingSlash) && m_currentSrcURL.url(KUrl::RemoveTrailingSlash).toLower() == dest.url(KUrl::RemoveTrailingSlash).toLower() && ( err == ERR_FILE_ALREADY_EXIST || err == ERR_DIR_ALREADY_EXIST || err == ERR_IDENTICAL_FILES ) ) { kDebug(7007) << "Couldn't rename directly, dest already exists. Detected special case of lower/uppercase renaming in same dir, try with 2 rename calls"; const QString _src( m_currentSrcURL.toLocalFile() ); const QString _dest( dest.toLocalFile() ); const QString _tmpPrefix = m_currentSrcURL.directory(KUrl::ObeyTrailingSlash|KUrl::AppendTrailingSlash); KTemporaryFile tmpFile; tmpFile.setPrefix(_tmpPrefix); const bool openOk = tmpFile.open(); if (!openOk) { kWarning(7007) << "Couldn't open temp file in" << _tmpPrefix; } else { const QString _tmp( tmpFile.fileName() ); tmpFile.close(); tmpFile.remove(); kDebug(7007) << "KTemporaryFile using" << _tmp << "as intermediary"; if (KDE::rename( _src, _tmp ) == 0) { //kDebug(7007) << "Renaming" << _src << "to" << _tmp << "succeeded"; if (!QFile::exists( _dest ) && KDE::rename(_tmp, _dest) == 0) { err = 0; org::kde::KDirNotify::emitFileRenamed(m_currentSrcURL.url(), dest.url()); } else { kDebug(7007) << "Didn't manage to rename" << _tmp << "to" << _dest << ", reverting"; // Revert back to original name! if (KDE::rename( _tmp, _src ) != 0) { kError(7007) << "Couldn't rename" << _tmp << "back to" << _src << '!'; // Severe error, abort q->Job::slotResult(job); // will set the error and emit result(this) return; } } } else { kDebug(7007) << "mv" << _src << _tmp << "failed:" << strerror(errno); } } } } if ( err ) { // This code is similar to CopyJobPrivate::slotResultConflictCopyingFiles // but here it's about the base src url being moved/renamed // (m_currentSrcURL) and its dest (m_dest), not about a single file. // It also means we already stated the dest, here. // On the other hand we haven't stated the src yet (we skipped doing it // to save time, since it's not necessary to rename directly!)... // Existing dest? if ( err == ERR_DIR_ALREADY_EXIST || err == ERR_FILE_ALREADY_EXIST || err == ERR_IDENTICAL_FILES ) { // Should we skip automatically ? bool isDir = (err == ERR_DIR_ALREADY_EXIST); // ## technically, isDir means "source is dir", not "dest is dir" ####### if ((isDir && m_bAutoSkipDirs) || (!isDir && m_bAutoSkipFiles)) { // Move on to next source url skipSrc(isDir); return; } else if ((isDir && m_bOverwriteAllDirs) || (!isDir && m_bOverwriteAllFiles)) { ; // nothing to do, stat+copy+del will overwrite } else if ((isDir && m_bAutoRenameDirs) || (!isDir && m_bAutoRenameFiles)) { KUrl destDirectory(m_currentDestURL); // dest including filename destDirectory.setPath(destDirectory.directory()); const QString newName = KIO::RenameDialog::suggestName(destDirectory, m_currentDestURL.fileName()); m_dest.setPath(m_currentDestURL.path()); m_dest.setFileName(newName); KIO::Job* job = KIO::stat(m_dest, StatJob::DestinationSide, 2, KIO::HideProgressInfo); state = STATE_STATING; destinationState = DEST_NOT_STATED; q->addSubjob(job); return; } else if ( q->isInteractive() ) { QString newPath; // we lack mtime info for both the src (not stated) // and the dest (stated but this info wasn't stored) // Let's do it for local files, at least KIO::filesize_t sizeSrc = (KIO::filesize_t) -1; KIO::filesize_t sizeDest = (KIO::filesize_t) -1; time_t ctimeSrc = (time_t) -1; time_t ctimeDest = (time_t) -1; time_t mtimeSrc = (time_t) -1; time_t mtimeDest = (time_t) -1; bool destIsDir = err == ERR_DIR_ALREADY_EXIST; // ## TODO we need to stat the source using KIO::stat // so that this code is properly network-transparent. KDE_struct_stat stat_buf; if ( m_currentSrcURL.isLocalFile() && KDE::stat(m_currentSrcURL.toLocalFile(), &stat_buf) == 0 ) { sizeSrc = stat_buf.st_size; ctimeSrc = stat_buf.st_ctime; mtimeSrc = stat_buf.st_mtime; isDir = S_ISDIR(stat_buf.st_mode); } if ( dest.isLocalFile() && KDE::stat(dest.toLocalFile(), &stat_buf) == 0 ) { sizeDest = stat_buf.st_size; ctimeDest = stat_buf.st_ctime; mtimeDest = stat_buf.st_mtime; destIsDir = S_ISDIR(stat_buf.st_mode); } // If src==dest, use "overwrite-itself" RenameDialog_Mode mode = ( m_currentSrcURL == dest ) ? M_OVERWRITE_ITSELF : M_OVERWRITE; if (!isDir && destIsDir) { // We can't overwrite a dir with a file. mode = (RenameDialog_Mode) 0; } if ( m_srcList.count() > 1 ) mode = (RenameDialog_Mode) ( mode | M_MULTI | M_SKIP ); if (destIsDir) mode = (RenameDialog_Mode) ( mode | M_ISDIR ); if (m_reportTimer) m_reportTimer->stop(); RenameDialog_Result r = q->ui()->askFileRename( q, err != ERR_DIR_ALREADY_EXIST ? i18n("File Already Exists") : i18n("Already Exists as Folder"), m_currentSrcURL.url(), dest.url(), mode, newPath, sizeSrc, sizeDest, ctimeSrc, ctimeDest, mtimeSrc, mtimeDest ); if (m_reportTimer) m_reportTimer->start(REPORT_TIMEOUT); switch ( r ) { case R_CANCEL: { q->setError( ERR_USER_CANCELED ); q->emitResult(); return; } case R_AUTO_RENAME: if (isDir) { m_bAutoRenameDirs = true; } else { m_bAutoRenameFiles = true; } // fall through case R_RENAME: { // Set m_dest to the chosen destination // This is only for this src url; the next one will revert to m_globalDest m_dest.setPath( newPath ); KIO::Job* job = KIO::stat( m_dest, StatJob::DestinationSide, 2, KIO::HideProgressInfo ); state = STATE_STATING; destinationState = DEST_NOT_STATED; q->addSubjob(job); return; } case R_AUTO_SKIP: if (isDir) m_bAutoSkipDirs = true; else m_bAutoSkipFiles = true; // fall through case R_SKIP: // Move on to next url skipSrc(isDir); return; case R_OVERWRITE_ALL: if (destIsDir) m_bOverwriteAllDirs = true; else m_bOverwriteAllFiles = true; break; case R_OVERWRITE: // Add to overwrite list // Note that we add dest, not m_dest. // This ensures that when moving several urls into a dir (m_dest), // we only overwrite for the current one, not for all. // When renaming a single file (m_asMethod), it makes no difference. kDebug(7007) << "adding to overwrite list: " << dest.path(); - m_overwriteList.append( dest.path() ); + m_overwriteList.insert( dest.path() ); break; default: //assert( 0 ); break; } } else if ( err != KIO::ERR_UNSUPPORTED_ACTION ) { // Dest already exists, and job is not interactive -> abort with error q->setError( err ); q->setErrorText( errText ); q->emitResult(); return; } } else if ( err != KIO::ERR_UNSUPPORTED_ACTION ) { kDebug(7007) << "Couldn't rename" << m_currentSrcURL << "to" << dest << ", aborting"; q->setError( err ); q->setErrorText( errText ); q->emitResult(); return; } kDebug(7007) << "Couldn't rename" << m_currentSrcURL << "to" << dest << ", reverting to normal way, starting with stat"; //kDebug(7007) << "KIO::stat on" << m_currentSrcURL; KIO::Job* job = KIO::stat( m_currentSrcURL, StatJob::SourceSide, 2, KIO::HideProgressInfo ); state = STATE_STATING; q->addSubjob(job); m_bOnlyRenames = false; } else { kDebug(7007) << "Renaming succeeded, move on"; ++m_processedFiles; emit q->copyingDone( q, *m_currentStatSrc, dest, -1 /*mtime unknown, and not needed*/, true, true ); m_successSrcList.append(*m_currentStatSrc); statNextSrc(); } } void CopyJob::slotResult( KJob *job ) { Q_D(CopyJob); //kDebug(7007) << "d->state=" << (int) d->state; // In each case, what we have to do is : // 1 - check for errors and treat them // 2 - removeSubjob(job); // 3 - decide what to do next switch ( d->state ) { case STATE_STATING: // We were trying to stat a src url or the dest d->slotResultStating( job ); break; case STATE_RENAMING: // We were trying to do a direct renaming, before even stat'ing { d->slotResultRenaming( job ); break; } case STATE_LISTING: // recursive listing finished //kDebug(7007) << "totalSize:" << (unsigned int) d->m_totalSize << "files:" << d->files.count() << "d->dirs:" << d->dirs.count(); // Was there an error ? if (job->error()) { Job::slotResult( job ); // will set the error and emit result(this) return; } removeSubjob( job ); assert ( !hasSubjobs() ); d->statNextSrc(); break; case STATE_CREATING_DIRS: d->slotResultCreatingDirs( job ); break; case STATE_CONFLICT_CREATING_DIRS: d->slotResultConflictCreatingDirs( job ); break; case STATE_COPYING_FILES: d->slotResultCopyingFiles( job ); break; case STATE_CONFLICT_COPYING_FILES: d->slotResultConflictCopyingFiles( job ); break; case STATE_DELETING_DIRS: d->slotResultDeletingDirs( job ); break; case STATE_SETTING_DIR_ATTRIBUTES: d->slotResultSettingDirAttributes( job ); break; default: assert( 0 ); } } void KIO::CopyJob::setDefaultPermissions( bool b ) { d_func()->m_defaultPermissions = b; } KIO::CopyJob::CopyMode KIO::CopyJob::operationMode() const { return d_func()->m_mode; } void KIO::CopyJob::setAutoSkip(bool autoSkip) { d_func()->m_bAutoSkipFiles = autoSkip; d_func()->m_bAutoSkipDirs = autoSkip; } void KIO::CopyJob::setAutoRename(bool autoRename) { d_func()->m_bAutoRenameFiles = autoRename; d_func()->m_bAutoRenameDirs = autoRename; } void KIO::CopyJob::setWriteIntoExistingDirectories(bool overwriteAll) // #65926 { d_func()->m_bOverwriteAllDirs = overwriteAll; } CopyJob *KIO::copy(const KUrl& src, const KUrl& dest, JobFlags flags) { //kDebug(7007) << "src=" << src << "dest=" << dest; KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, dest, CopyJob::Copy, false, flags); } CopyJob *KIO::copyAs(const KUrl& src, const KUrl& dest, JobFlags flags) { //kDebug(7007) << "src=" << src << "dest=" << dest; KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, dest, CopyJob::Copy, true, flags); } CopyJob *KIO::copy( const KUrl::List& src, const KUrl& dest, JobFlags flags ) { //kDebug(7007) << src << dest; return CopyJobPrivate::newJob(src, dest, CopyJob::Copy, false, flags); } CopyJob *KIO::move(const KUrl& src, const KUrl& dest, JobFlags flags) { //kDebug(7007) << src << dest; KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, dest, CopyJob::Move, false, flags); } CopyJob *KIO::moveAs(const KUrl& src, const KUrl& dest, JobFlags flags) { //kDebug(7007) << src << dest; KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, dest, CopyJob::Move, true, flags); } CopyJob *KIO::move( const KUrl::List& src, const KUrl& dest, JobFlags flags) { //kDebug(7007) << src << dest; return CopyJobPrivate::newJob(src, dest, CopyJob::Move, false, flags); } CopyJob *KIO::link(const KUrl& src, const KUrl& destDir, JobFlags flags) { KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, destDir, CopyJob::Link, false, flags); } CopyJob *KIO::link(const KUrl::List& srcList, const KUrl& destDir, JobFlags flags) { return CopyJobPrivate::newJob(srcList, destDir, CopyJob::Link, false, flags); } CopyJob *KIO::linkAs(const KUrl& src, const KUrl& destDir, JobFlags flags ) { KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, destDir, CopyJob::Link, false, flags); } CopyJob *KIO::trash(const KUrl& src, JobFlags flags) { KUrl::List srcList; srcList.append( src ); return CopyJobPrivate::newJob(srcList, KUrl( "trash:/" ), CopyJob::Move, false, flags); } CopyJob *KIO::trash(const KUrl::List& srcList, JobFlags flags) { return CopyJobPrivate::newJob(srcList, KUrl( "trash:/" ), CopyJob::Move, false, flags); } #include "copyjob.moc" diff --git a/kio/kio/kfileitemactionplugin.desktop b/kio/kio/kfileitemactionplugin.desktop index a0a8aff6c9..ffc9436393 100644 --- a/kio/kio/kfileitemactionplugin.desktop +++ b/kio/kio/kfileitemactionplugin.desktop @@ -1,52 +1,53 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KFileItemAction/Plugin Comment=Plugin for the KIO file item context menu Comment[bg]=Приставка за контекстно файлово меню Comment[bs]=Dodatak za kontekstni meni KIO datotečni objekt Comment[ca]=Connector per a l'element KIO de fitxers del menú contextual Comment[ca@valencia]=Connector per a l'element KIO de fitxers del menú contextual Comment[cs]=Zásuvný modul pro kontextové menu položek KIO file Comment[da]=Plugin til kontekstmenuen for KIO-filelementer Comment[de]=Erweiterung für das Kontextmenü eines KIO-Datei-Elements Comment[el]=Πρόσθετο για το αρχείο KIO αντικείμενο του σχετικού μενού Comment[en_GB]=Plugin for the KIO file item context menu Comment[es]=Complemento para el menú de contexto de elementos de archivo KIO Comment[et]=KIO-failielemendi kontekstimenüü plugin Comment[eu]=KIO fitxategi elementuen testuinguru menuarentzako plugina Comment[fi]=KIO-tiedostotietueen kontekstivalikkoliitännäinen Comment[fr]=Module pour les éléments du menu contextuel KIO Comment[gl]=Engadido para o menú de contexto do elemento ficheiro de KIO Comment[hr]=Priključak za kontekstni izbornik KIO datoteke Comment[hu]=Bővítmény a KIO fájlelem helyi menühöz Comment[ia]=Plugin pro le menu de contexto de elemento de file de KIO Comment[is]=Íforrit fyrir samhengisvalmynd KIO-skjalhluta Comment[it]=Estensione per l'elemento file KIO del menu contestuale Comment[kk]=KIO файл контекст мәзірінің плагині Comment[km]=កម្មវិធី​ជំនួយ​សម្រាប់​​ម៉ឺនុយ​បរិបទ​ធាតុ​​ឯកសារ KIO Comment[ko]=KIO 파일 항목 컨텍스트 메뉴 플러그인 Comment[lv]=KIO failu vienuma konteksta izvēlens spraudnis Comment[nb]=Programtillegg for KIO filelements kontekstmeny Comment[nds]=Moduul för dat Dateiindrag-Rechtsklickmenü vun KDE sien In-/Utgaavmoduul Comment[nl]=Plugin voor het contextmenu van het KIO-bestandsitem Comment[pa]=KIO ਫਾਇਲ ਆਈਟਮ ਸਮੱਗਰੀ ਮੇਨੂ ਲਈ ਪਲੱਗਇਨ Comment[pl]=Wtyczka do menu kontekstowego elementu pliku KIO Comment[pt]='Plugin' para o menu de contexto do item de ficheiros do KIO Comment[pt_BR]=Plug-in para o menu de contexto do item de arquivos do KIO Comment[ro]=Modul pentru meniul contextual al fișierelor KIO Comment[ru]=Расширение контекстного меню файла KIO Comment[se]=Lassemodula KIO-fiilamerkoša konteakstafállui Comment[sk]=Modul pre položku kontextového menu pre KIO súbor Comment[sr]=Прикључак за К‑У/И радњу над фајловима у контекстном менију Comment[sr@ijekavian]=Прикључак за К‑У/И радњу над фајловима у контекстном менију Comment[sr@ijekavianlatin]=Priključak za K‑U/I radnju nad fajlovima u kontekstnom meniju Comment[sr@latin]=Priključak za K‑U/I radnju nad fajlovima u kontekstnom meniju Comment[sv]=Insticksprogram för KIO-filobjektets sammanhangsberoende meny Comment[th]=ส่วนเสริม KIO สำหรับเมนูเมื่อคลิกขวาบนแฟ้ม Comment[tr]=KIO dosya ögesi sağlık menüsü için eklenti Comment[ug]=KIO ھۆججەت تۈرىنىڭ تىل مۇھىت قىستۇرمىسى Comment[uk]=Додаток пункту контекстного меню KIO +Comment[vi]=Phần bổ sung cho trình đơn ngữ cảnh mục tập tin KIO Comment[wa]=Tchôke-divins pol KIO dressêye di contecse do cayet d' fitchî Comment[x-test]=xxPlugin for the KIO file item context menuxx Comment[zh_CN]=KIO 文件项的上下文菜单插件 Comment[zh_TW]=KIO 檔案項目內文選單的外掛程式 diff --git a/kio/kio/kfilewrite.desktop b/kio/kio/kfilewrite.desktop index aad114e0df..96cd1b1e1b 100644 --- a/kio/kio/kfilewrite.desktop +++ b/kio/kio/kfilewrite.desktop @@ -1,94 +1,94 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KFileWrite Comment=KFileWrite plugin Comment[af]=KFileWrite inpropmodule Comment[ar]=ملحق KFileWrite Comment[as]=KFileWrite প্লাগ-ইন Comment[ast]=Complementu KFileWrite Comment[be@latin]=Plugin dla KFileWrite Comment[bg]=Приставка за KFileWrite Comment[bn]=KFileWrite প্লাগ-ইন Comment[bn_IN]=KFileWrite প্লাগ-ইন Comment[bs]=Priključak za zapis datoteka (KFile) Comment[ca]=Connector del KFileWrite Comment[ca@valencia]=Connector del KFileWrite Comment[cs]=Modul KFileWrite Comment[csb]=Wtëkôcz KFileWrite Comment[da]=KFileWrite-plugin Comment[de]=KFileWrite-Modul Comment[el]=Πρόσθετο KFileWrite Comment[en_GB]=KFileWrite plugin Comment[eo]=KFileWrite-kromprogramo Comment[es]=Complemento KFileWrite Comment[et]=KFileWrite'i plugin Comment[eu]=KFileWrite plugin-a Comment[fa]=وصله KFileWrite Comment[fi]=KFileWrite-liitännäinen Comment[fr]=Module externe KFileWrite Comment[fy]=KFileWrite plugin Comment[ga]=Breiseán KFileWrite Comment[gl]=Engadido KFileWrite Comment[gu]=KFileWrite પ્લગઈન Comment[he]=תוסף KFileWrite Comment[hi]=के-फ़ाइल-राइट प्लगइन Comment[hne]=के-फाइल-राइट प्लगइन Comment[hr]=KFileWrite priključak Comment[hsb]=KFileWrite-zašćěpka Comment[hu]=KFileWrite modul Comment[ia]=Plugin de KFileWrite Comment[id]=Plugin KFileWrite Comment[is]=KFileWrite íforrit Comment[it]=Plugin KFileWrite Comment[ja]=KFileWrite プラグイン Comment[kk]=KFileWrite плагині Comment[km]=កម្មវិធី​ជំនួយ KFileWrite Comment[kn]=ಕೆಫೈಲ್ರೈಟ್ ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Comment[ko]=KFileWrite 플러그인 Comment[ku]=Pêveka KPelBinivîse Comment[lt]=KFileWrite priedas Comment[lv]=KFileWrite spraudnis Comment[mai]=के-फाइल-राइट प्लगइन Comment[mk]=Приклучок за KFileWrite Comment[ml]=കെഫയല്‍റൈറ്റ് സംയോജകം Comment[mr]=KFileWrite प्लगइन Comment[nb]=KFileWrite-programtillegg Comment[nds]=KFile-Schriefmoduul Comment[ne]=केडीई फाइल राइट प्लगइन Comment[nl]=KFileWrite-plugin Comment[nn]=KFileWrite-tillegg Comment[or]=KFileWrite ପ୍ଲଗଇନ Comment[pa]=KFileWrite ਪਲੱਗਇਨ Comment[pl]=Wtyczka do obsługi danych KFileWrite Comment[ps]=لګون KFileWrite Comment[pt]='Plugin' do KFileWrite Comment[pt_BR]=Plug-in do KFileWrite Comment[ro]=Modul KFileWrite Comment[ru]=Расширение KFileWrite Comment[se]=KFileWrite-lassemodula Comment[si]=KFileWrite ප්ලගීනය Comment[sk]=Modul KFileWrite Comment[sl]=Vstavek KFileWrite Comment[sq]=KFileWrite plugin Comment[sr]=Прикључак за запис фајлова (к‑фајл) Comment[sr@ijekavian]=Прикључак за запис фајлова (к‑фајл) Comment[sr@ijekavianlatin]=Priključak za zapis fajlova (KFile) Comment[sr@latin]=Priključak za zapis fajlova (KFile) Comment[sv]=KFileWrite-insticksprogram Comment[ta]=KFileWrite செருகி Comment[te]=కెఫైల్ వ్రైట్ ప్లగిన్ Comment[tg]=Васлкунаки навишти KFile Comment[th]=โปรแกรมเสริมสำหรับเขียน KFileWrite Comment[tr]=KFileWrite Eklentisi Comment[ug]=KFileWrite قىستۇرما Comment[uk]=Додаток KFileWrite -Comment[vi]=Bổ sung KFileWrite +Comment[vi]=Phần bổ sung KFileWrite Comment[wa]=Tchôke-divins sicrijhaedje di fitchîs Comment[x-test]=xxKFileWrite pluginxx Comment[zh_CN]=KFileWrite 插件 Comment[zh_TW]=KFileWrite 外掛程式 [PropertyDef::MetaDataKeys] Type=QStringList diff --git a/kio/kscan.desktop b/kio/kscan.desktop index fca59107c8..126e44ff8e 100644 --- a/kio/kscan.desktop +++ b/kio/kscan.desktop @@ -1,98 +1,98 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KScan/KScanDialog Name=KScan Name[af]=KScan Name[ar]=KScan Name[as]=KScan Name[ast]=KScan Name[be]=KScan Name[be@latin]=KScan Name[bg]=KScan Name[bn]=কে-স্ক্যান Name[bn_IN]=KScan Name[br]=KScan Name[bs]=KScan Name[ca]=KScan Name[ca@valencia]=KScan Name[cs]=KScan Name[csb]=KScan Name[cy]=KSgan Name[da]=KScan Name[de]=KScan Name[el]=KScan Name[en_GB]=KScan Name[eo]=Bildciferecigo Name[es]=KScan Name[et]=KScan Name[eu]=KScan Name[fa]=KScan Name[fi]=KScan Name[fr]=KScan Name[fy]=KScan Name[ga]=KScan Name[gl]=KScan Name[gu]=KScan Name[he]=KScan Name[hi]=के-स्कैन Name[hne]=के-स्कैन Name[hr]=KScan Name[hsb]=KScan Name[hu]=KScan Name[ia]=Kscan Name[id]=KScan Name[is]=KScan myndlesari Name[it]=KScan Name[ja]=KScan Name[kk]=KScan Name[km]=KScan Name[kn]=ಕೆಸ್ಕ್ಯಾನ್ Name[ko]=KScan Name[ku]=KScan Name[lb]=KScan Name[lt]=KScan Name[lv]=KScan Name[mai]=के-स्कैन Name[mk]=KScan Name[ml]=കെസ്കാന്‍ Name[mr]=KScan Name[ms]=KScan Name[nb]=KScan Name[nds]=KScan Name[ne]=केडीई स्क्यान Name[nl]=KScan Name[nn]=KScan Name[or]=KScan Name[pa]=KScan Name[pl]=Skan Name[ps]=Kځېرل Name[pt]=KScan Name[pt_BR]=KScan Name[ro]=KScan Name[ru]=KScan Name[se]=KScan Name[si]=KScan Name[sk]=KScan Name[sl]=KScan Name[sq]=KScan Name[sr]=К‑скен Name[sr@ijekavian]=К‑скен Name[sr@ijekavianlatin]=KScan Name[sr@latin]=KScan Name[sv]=Kscan Name[ta]=KScan Name[te]=కేస్కేన్ Name[tg]=KScan Name[th]=KScan Name[tr]=KScan Name[ug]=KScan Name[uk]=KScan Name[uz]=KScan Name[uz@cyrillic]=KScan Name[vi]=KScan Name[wa]=KScan -Name[x-test]=xxKScanxx Name[xh]=KScan +Name[x-test]=xxKScanxx Name[zh_CN]=KScan Name[zh_HK]=KScan Name[zh_TW]=KScan diff --git a/kio/kssl/kcm/kcm_ssl.desktop b/kio/kssl/kcm/kcm_ssl.desktop index 0a5f0b846b..7199c87948 100644 --- a/kio/kssl/kcm/kcm_ssl.desktop +++ b/kio/kssl/kcm/kcm_ssl.desktop @@ -1,113 +1,136 @@ [Desktop Entry] Exec=kcmshell4 kcm_ssl Icon=preferences-system-ssl Type=Service X-KDE-ServiceTypes=KCModule X-KDE-Library=kcm_ssl X-KDE-ParentApp=kcontrol X-KDE-System-Settings-Parent-Category=network-and-connectivity Name=SSL Preferences Name[bg]=Настройки на SSL Name[bs]=SSL postavke Name[ca]=Preferències SSL Name[ca@valencia]=Preferències SSL Name[cs]=Nastavení SSL Name[da]=SSL-indstillinger Name[de]=SSL-Einstellungen Name[el]=Προτιμήσεις SSL Name[en_GB]=SSL Preferences Name[es]=Preferencias de SSL Name[et]=SSL-i seadistused Name[eu]=SSL hobespenak Name[fi]=SSL:n asetukset Name[fr]=Préférences SSL Name[gl]=Preferencias de SSL Name[hr]=Postavke SSL-a Name[hu]=SSL-beállítások Name[ia]=Preferentias de SSL Name[is]=Stillingar SSL Name[it]=Preferenze SSL Name[ja]=SSL 設定 Name[kk]=SSL параметрлері Name[km]=ចំណូល​ចិត្ត SSL Name[ko]=SSL 설정 Name[lt]=SSL nustatymai Name[lv]=SSL iestatījumi Name[nb]=SSL-innstillinger Name[nds]=SSL-Instellen Name[nl]=SSL-voorkeuren Name[pa]=SSL ਪਸੰਦ Name[pl]=Ustawienia SSL Name[pt]=Preferências do SSL Name[pt_BR]=Preferências do SSL Name[ro]=Preferințe SSL Name[ru]=Настройка SSL Name[se]=SSL-oidimat Name[sk]=Nastavenie SSL Name[sr]=Поставке ССЛ‑а Name[sr@ijekavian]=Поставке ССЛ‑а Name[sr@ijekavianlatin]=Postavke SSL‑a Name[sr@latin]=Postavke SSL‑a Name[sv]=SSL-inställningar Name[th]=ปรับแต่ง SSL Name[tr]=SSL Tercihleri Name[ug]=SSL مايىللىق Name[uk]=Параметри SSL +Name[vi]=Tùy thích SSL Name[wa]=Preferinces SSL Name[x-test]=xxSSL Preferencesxx Name[zh_CN]=SSL 首选项 Name[zh_TW]=SSL 喜好設定 Comment=SSL Versions and Certificates Comment[bg]=Версии и сертификати на SSL Comment[bs]=SSL verzije i certifikati Comment[ca]=Versions i certificats SSL Comment[ca@valencia]=Versions i certificats SSL Comment[cs]=SSL verze a certifikáty Comment[da]=SSL-versioner og -certifikater Comment[de]=SSL-Versionen und -Zertifikate Comment[el]=Εκδόσεις και πιστοποιητικά SSL Comment[en_GB]=SSL Versions and Certificates Comment[es]=Versiones y certificados SSL Comment[et]=SSL-i versioonid ja sertifikaadid Comment[eu]=SSL bertsioak eta ziurtagiriak Comment[fi]=SSL:n versiot ja varmenteet Comment[fr]=Certificats et versions SSL Comment[gl]=Versións e certificados de SSL Comment[hr]=Inačice i certifikati SSL-a Comment[hu]=SSL-verziók és tanúsítványok Comment[ia]=Versiones de SSL e Certificatos Comment[is]=Útgáfur og skilríki SSL Comment[it]=Versioni SSL e certificati Comment[kk]=SSL нұсқалары мен куәліктері Comment[km]=វិញ្ញាបនបត្រ និង​កំណែ​របស់ SSL Comment[ko]=SSL 버전과 인증서 Comment[lt]=SSL versijos ir liudijimai Comment[lv]=SSL versijas un sertifikāti Comment[nb]=SSL-versjoner og sertifikater Comment[nds]=SSL-Verschonen un Zertifikaten Comment[nl]=SSL-versies en certificaten Comment[pa]=SSL ਵਰਜਨ ਤੇ ਸਰਟੀਫਿਕੇਟ Comment[pl]=Wersje SSL i certyfikaty Comment[pt]=Versões e Certificados de SSL Comment[pt_BR]=Versões e certificados de SSL Comment[ro]=Certificate și versiuni SSL partener Comment[ru]=Версии и сертификаты SSL Comment[se]=SSL-veršuvnnat ja -duođaštusat Comment[sk]=SSL verzie a certifikáty Comment[sr]=Сертификати и верзије ССЛ‑а Comment[sr@ijekavian]=Сертификати и верзије ССЛ‑а Comment[sr@ijekavianlatin]=Sertifikati i verzije SSL‑a Comment[sr@latin]=Sertifikati i verzije SSL‑a Comment[sv]=SSL-versioner och -certifikat Comment[th]=รุ่นของ SSL และใบรับรอง Comment[tr]=SSL Sürümleri ve Sertifikaları Comment[ug]=SSL نەشر ۋە گۇۋاھنامە Comment[uk]=Версія і сертифікати SSL +Comment[vi]=Các phiên bản và chứng chỉ SSL Comment[wa]=Modêyes eyet acertineures SSL Comment[x-test]=xxSSL Versions and Certificatesxx Comment[zh_CN]=SSL 版本和证书 Comment[zh_TW]=SSL 版本與憑證 X-KDE-Keywords=SSL,Security,Network,Protocol,Certificates,Encryption,HTTPS +X-KDE-Keywords[bg]=SSL,Security,Network,Protocol,Certificates,Encryption,HTTPS,Сигурност,Мрежа,Протокол,Удостоверение,Сертификат,Шифриране +X-KDE-Keywords[ca]=SSL,Seguretat,Xarxa,Protocol,Certificats,Encriptatge,HTTPS +X-KDE-Keywords[es]=SSL,Seguridad,Red,Protocolo,Certificados,Cifrado,HTTPS +X-KDE-Keywords[et]=SSL,turvalisus,võrk,protokoll,sertifikaadid,serdid,krüptimine,krüpto,HTTPS +X-KDE-Keywords[gl]=SSL,Seguridade,Rede,Protocolo,Certificados,Cifrado,HTTPS +X-KDE-Keywords[hu]=SSL,Biztonság,Hálózat,Protokoll,Tanúsítványok,Titkosítás,HTTPS +X-KDE-Keywords[ia]=SSL,Securitate,Rete,Protocollo,Certificatos,Cryptation,HTTPS +X-KDE-Keywords[kk]=SSL,Security,Network,Protocol,Certificates,Encryption,HTTPS +X-KDE-Keywords[km]=SSL,មូលប័ត្រ​,​បណ្ដាញ​,​ពិធីការ​,វិញ្ញាបនបត្រ,​ការ​អ៊ិនគ្រីប​​,HTTPS +X-KDE-Keywords[nb]=SSL,Sikkerhet,Nettverk,Protokoll,Sertifikater,Kryptering,HTTPS +X-KDE-Keywords[nds]=SSL,Sekerheit,Nettwark,Protokoll,Zertifikaten,Verslöteln,HTTPS +X-KDE-Keywords[nl]=SSL,beveiliging,netwerk,protocol,certificaten,versleuteling,HTTPS +X-KDE-Keywords[pa]=SSL,ਸੁਰੱਖਿਆ,ਨੈੱਟਵਰਕ,ਪ੍ਰੋਟੋਕਾਲ,ਸਰਟੀਫਿਕੇਟ,ਇੰਕ੍ਰਿਪਸ਼ਨ,HTTPS +X-KDE-Keywords[pt]=SSL,Segurança,Rede,Protocolo,Certificados,Encriptação,HTTPS +X-KDE-Keywords[pt_BR]=SSL,segurança,rede,protocolo,certificados,criptografia,HTTPS +X-KDE-Keywords[ro]=SSL,Securitate,Rețea,Protocol,Certificate,Criptare,HTTPS +X-KDE-Keywords[sv]=SSL,Säkerhet,Nätverk,Protokoll,Certifikat,Kryptering,HTTPS +X-KDE-Keywords[uk]=SSL,Security,Network,Protocol,Certificates,Encryption,HTTPS,захист,мережа,протокол,сертифікат,сертифікати,шифрування,криптографія +X-KDE-Keywords[vi]=SSL,Bảo mật,Mạng,Giao thức,Chứng thực,Mã hóa,HTTPS,Security,Network,Protocol,Certificates,Encryption +X-KDE-Keywords[x-test]=xxSSL,Security,Network,Protocol,Certificates,Encryption,HTTPSxx +X-KDE-Keywords[zh_TW]=SSL,Security,Network,Protocol,Certificates,Encryption,HTTPS diff --git a/kio/kurifilterplugin.desktop b/kio/kurifilterplugin.desktop index 3917e9c752..47b3a99910 100644 --- a/kio/kurifilterplugin.desktop +++ b/kio/kurifilterplugin.desktop @@ -1,97 +1,97 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KUriFilter/Plugin Name=Enhanced Browsing Plugin Name[af]=Verbeterde Blaaiïng inpropmodule Name[ar]=ملحق التصفح المحسن Name[as]=উন্নত চৰকৰ প্লাগ-ইন Name[ast]=Complementu de ñavegación ameyorada Name[be]=Палепшаны дадатак агляду Name[be@latin]=Lepšy plugin dla prahladu Name[bg]=Разширена приставка за преглед Name[bn]=উন্নত ব্রাউজিং প্লাগ-ইন Name[bn_IN]=উন্নত ব্রাউজিং-এ সহায়ক প্লাগ-ইন Name[br]=Lugant Furchal Gwellaet Name[bs]=Priključak za poboljšano pregledanje Name[ca]=Connector de navegació millorada Name[ca@valencia]=Connector de navegació millorada Name[cs]=Modul rozšířeného procházení Name[csb]=Mòduł do rozszérzónégò przezéraniô Name[cy]=Ategyn Pori Hwylusach Name[da]=Plugin til udvidet browsing Name[de]=Erweitertes Browser-Modul Name[el]=Πρόσθετο βελτιωμένης εξερεύνησης Name[en_GB]=Enhanced Browsing Plugin Name[eo]=Progresinta retumila kromprogramo Name[es]=Complemento de navegación mejorada Name[et]=Täiustatud brausimise plugin Name[eu]=Arakatze plugin hobetua Name[fa]=وصله مرور افزوده Name[fi]=Laajennettu selauslisäosa Name[fr]=Module externe de navigation avancée Name[fy]=Plugin foar effisjinter browsen Name[ga]=Breiseán le haghaidh Brabhsála Feabhsaithe Name[gl]=Engadido de navegación mellorada Name[gu]=સુધારો શોધખોળ પ્લગઈન Name[he]=תוסף לגלישה משופרת Name[hi]=एनहैंस्ड ब्राउज़िंग प्लगइन Name[hne]=एन हैस्ड ब्राउजिंग प्लगइन Name[hr]=Priključak za pojačano pretraživanje Name[hsb]=Zašćěpka za polěpšenje browsowanje Name[hu]=Továbbfejlesztett böngészés bővítőmodul Name[ia]=Plugin de navigation avantiate Name[id]=Plugin Peramban Dipercanggih Name[is]=Íforrit fyrir vafraendurbætur Name[it]=Plugin di navigazione avanzata Name[ja]=拡張ブラウズプラグイン Name[kk]=Жетілдірген шарлау плагині Name[km]=កម្មវិធី​ជំនួយ​ការ​រុករក​ដែល​បាន​បន្ថែម Name[kn]=ಉನ್ನತ ವೀಕ್ಷಣಾ ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Name[ko]=고급 탐색 플러그인 Name[ku]=Pêveka Nihêrîna Pêşketî Name[lb]=Erweiderte Browser-Plugin Name[lt]=Išplėstinio naršymo priedas Name[lv]=Uzlabotas pārlūkošanas spraudnis Name[mai]=बढ़ाएल ब्राउजिंग प्लगइन Name[mk]=Приклучок за напредно разгледување Name[ml]=പുതുക്കിയ ബ്രൌസര്‍ സംയോജകം Name[mr]=प्रगत संचारन प्लगइन Name[ms]=Plug masuk Pelayar Ekstra Name[nb]=Programtillegg for utvidet nettlesing Name[nds]=Nettkiekverwiedern-Plugin Name[ne]=विस्तारित ब्राउजिङ प्लगइन Name[nl]=Verbeterd Browsen Plugin Name[nn]=Programtillegg for nettlesarforbetringar Name[or]=ବର୍ଦ୍ଧିତ ବ୍ରାଉଜିଙ୍ଗ ପ୍ଲଗଇନ Name[pa]=ਇੰਹਾਂਸਡ ਬਰਾਊਜ਼ਿੰਗ ਪਲੱਗਇਨ Name[pl]=Moduł do rozszerzonego przeglądania Name[ps]=پرمختللی لټوونی لګون Name[pt]='Plugin' de Navegação Melhorada Name[pt_BR]=Plug-in de navegação melhorada Name[ro]=Modul de navigare avansată Name[ru]=Расширение просмотра Name[se]=Njuovžilut fierbmádatlogadeami lassemoduvla Name[si]=දියුණු කළ ගවේෂණ ප්ලගීනය Name[sk]=Modul rozšíreného prehliadania Name[sl]=Vstavek za izboljšano brskanje Name[sr]=Прикључак за побољшано прегледање Name[sr@ijekavian]=Прикључак за побољшано прегледање Name[sr@ijekavianlatin]=Priključak za poboljšano pregledanje Name[sr@latin]=Priključak za poboljšano pregledanje Name[sv]=Utökad webbläsning Name[ta]=மேம்பட்ட உலாவி செருகி Name[te]=అభివ్రుద్దిపరచిన బ్రౌజింగ్ ప్లగిన్ Name[tg]=Васлкунаки намоишгари пурзӯр Name[th]=โปรแกรมเสริมการเบราว์แบบเสริมความสามารถ Name[tr]=Gelişmiş Tarayıcı Eklentisi Name[ug]=كۈچەيتىلگەن كۆرگۈ قىستۇرمىسى Name[uk]=Додаток розширеної навігації Name[uz]=Tezlashtirilgan veb-koʻrish plagini Name[uz@cyrillic]=Тезлаштирилган веб-кўриш плагини -Name[vi]=Bổ sung duyệt tăng cường +Name[vi]=Phần bổ sung duyệt nâng cao Name[wa]=Tchôke-divins sipepieus betchtaedje -Name[x-test]=xxEnhanced Browsing Pluginxx Name[xh]=Iplagi yangaphakathi Ekhangela iincwadi Enyusiweyo +Name[x-test]=xxEnhanced Browsing Pluginxx Name[zh_CN]=增强的浏览插件 Name[zh_HK]=增強功能的瀏覽外掛程式 Name[zh_TW]=增強的瀏覽外掛程式 diff --git a/kio/misc/kmailservice.desktop b/kio/misc/kmailservice.desktop index 65b862078d..59705940ae 100644 --- a/kio/misc/kmailservice.desktop +++ b/kio/misc/kmailservice.desktop @@ -1,63 +1,64 @@ [Desktop Entry] Type=Application Exec=kmailservice %u Icon=mail-message-new MimeType=x-scheme-handler/mailto; X-DocPath=kioslave/mailto/index.html NoDisplay=true # KMailService is the handler for mailto URLs Name=KMailService Name[bg]=KMailService Name[bs]=KMailService Name[ca]=KMailService Name[ca@valencia]=KMailService Name[cs]=Poštovní služba Name[da]=KMailService Name[de]=KMailService Name[el]=Υπηρεσία Kmail Name[en_GB]=KMailService Name[es]=KMailService Name[et]=KMailService Name[eu]=KMailService Name[fa]=KMailService Name[fi]=KMailService Name[fr]=KMailService Name[gl]=KMailService Name[hr]=KMailService Name[hu]=KMailService Name[ia]=KMailService (Servicio de KMail) Name[is]=KMailÞjónusta Name[it]=KMailService Name[ja]=KMailService Name[kk]=KMailService Name[km]=KMailService Name[ko]=KMailService Name[lt]=KMail tarnyba Name[lv]=KMailService Name[nb]=KMail-posttjeneste Name[nds]=KMailService Name[nl]=KMailService Name[pa]=KMailService Name[pl]=Usługa KMail Name[pt]=KMailService Name[pt_BR]=KMailService Name[ro]=Serviciu KMail Name[ru]=KMailService Name[se]=KMailService Name[si]=KMailService Name[sk]=KMailService Name[sr]=Сервис за пошту Name[sr@ijekavian]=Сервис за пошту Name[sr@ijekavianlatin]=Servis za poštu Name[sr@latin]=Servis za poštu Name[sv]=Kmail-tjänst Name[th]=KMailService Name[tr]=KMailService Name[ug]=KMailService Name[uk]=Служба пошти KMail +Name[vi]=KMailService Name[wa]=KMailService Name[x-test]=xxKMailServicexx Name[zh_CN]=KMailService Name[zh_TW]=KMail服務 diff --git a/kio/misc/kpac/proxyscout.desktop b/kio/misc/kpac/proxyscout.desktop index f05873e817..8005b67c71 100644 --- a/kio/misc/kpac/proxyscout.desktop +++ b/kio/misc/kpac/proxyscout.desktop @@ -1,159 +1,160 @@ [Desktop Entry] Type=Service Name=Network Proxy Configuration Name[bg]=Настройки на мрежови посредник Name[bn]=নেটওয়ার্ক প্রক্সি কনফিগারেশন Name[bs]=Podešavanje proksija za mrežu Name[ca]=Configuració del servidor intermediari de xarxa Name[ca@valencia]=Configuració del servidor intermediari de xarxa Name[cs]=Nastavení proxy sítě Name[da]=Indstilling af netværksproxy Name[de]=Netzwerk-Proxy-Einrichtung Name[el]=Ρύθμιση διαμεσολαβητή δικτύου Name[en_GB]=Network Proxy Configuration Name[es]=Configuración del proxy de la red Name[et]=Võrgupuhverserveri seadistamine Name[eu]=Sareko ordezkariaren konfigurazioa Name[fi]=Verkon välityspalvelinasetukset Name[fr]=Configuration du réseau mandataire Name[ga]=Cumraíocht an tSeachfhreastalaí Name[gl]=Configuración do proxy de rede Name[hr]=Podešavanje mrežnog proxyja Name[hu]=Hálózati proxybeállítások Name[ia]=Configuration de proxy de rete Name[id]=Konfigurasi Proxy Jaringan Name[is]=Stillingar milliþjóna (proxy) Name[it]=Configurazione proxy di rete Name[ja]=ネットワークプロキシ設定 Name[kk]=Желі проксиін баптау Name[km]=ការ​កំណត់​រចនាសម្ព័ន្ធ​ប្រូកស៊ី​បណ្ដាញ Name[ko]=네트워크 프록시 설정 Name[ku]=Veavakirina Proxy ya Torê Name[lt]=Tinklo įgaliotųjų serverių konfigūravimas Name[lv]=Starpniekserveru konfigurēšana Name[nb]=Oppsett for mellomtjener Name[nds]=Nettwark-Proxy instellen Name[nl]=Configuratie voor netwerk-proxy Name[pa]=ਨੈੱਟਵਰਕ ਪਰਾਕਸੀ ਸੰਰਚਨਾ Name[pl]=Konfiguracja pośrednika sieciowego Name[pt]=Configuração do 'Proxy' de Rede Name[pt_BR]=Configuração do proxy de rede Name[ro]=Configurare proxy rețea Name[ru]=Настройка прокси-серверов Name[se]=Fierpmádatgaskabálvvá heivehus Name[si]=ජාල ප්‍රොක්සි සැකසීම Name[sk]=Nastavenie sieťového proxy Name[sl]=Nastavitev omrežnega posrednika Name[sr]=Подешавање проксија за мрежу Name[sr@ijekavian]=Подешавање проксија за мрежу Name[sr@ijekavianlatin]=Podešavanje proksija za mrežu Name[sr@latin]=Podešavanje proksija za mrežu Name[sv]=Inställning av nätverksproxy Name[ta]=பிணைய மாற்று வடிவமைப்பு Name[tg]=Танзимоти шабакаи Proxy Name[th]=การปรับแต่งพร็อกซีของเครือข่าย Name[tr]=Vekil Sunucu Yapılandırması Name[ug]=تور ۋاكالەتچى سەپلىمە Name[uk]=Налаштування проксі-сервера мережі +Name[vi]=Cấu hình proxy mạng Name[wa]=Apontiaedje do procsi del rantoele Name[x-test]=xxNetwork Proxy Configurationxx Name[zh_CN]=网络代理配置 Name[zh_TW]=網路代理組態 Comment=Automatic proxy configuration Comment[af]=Outomatiese proksie opstelling Comment[ar]=تهيئة آلية للخادم الوكيل Comment[as]=স্বয়ংক্ৰিয় নিযুক্তকৰ বিন্যাস Comment[ast]=Configuración automática del proxy Comment[be]=Аўтаматычнае настаўленне проксі Comment[be@latin]=Aŭtamatyčnaje naładžvańnie proxy Comment[bg]=Автоматично настройване на мрежови посредник Comment[bn]=স্বয়ংক্রিয় প্রক্সি কনফিগারেশন Comment[bn_IN]=স্বয়ংক্রিয় প্রক্সি কনফিগারেশন ব্যবস্থা Comment[br]=Kefluniadur emgefreekh ar proksi Comment[bs]=Automatsko podešavanje proksija Comment[ca]=Configuració automàtica de l'intermediari Comment[ca@valencia]=Configuració automàtica de l'intermediari Comment[cs]=Automatické nastavení proxy Comment[csb]=Aùtokònfigùracëjô pòstrzédnika Comment[cy]=Ffurweddiad Awtomatig o'r Dirprwy Comment[da]=Automatisk proxy-indstilling Comment[de]=Sucht nach einem Proxy-Server und richtet ihn ein Comment[el]=Αυτόματη ρύθμιση διαμεσολαβητή Comment[en_GB]=Automatic proxy configuration Comment[eo]=Aŭtomata prokuragordo Comment[es]=Configuración automática del proxy Comment[et]=Automaatne puhverserveri seadistamine Comment[eu]=Ordezkariaren konfigurazio automatikoa Comment[fa]=پیکربندی خودکار پیشکار Comment[fi]=Automaattiset välityspalvelinasetukset Comment[fr]=Configuration automatique du serveur mandataire Comment[fy]=Automatyske proxy ynstelling Comment[ga]=Uathchumraíocht an tseachfhreastalaí Comment[gl]=Configuración automática do proxy Comment[gu]=આપમેળે પ્રોક્સી રુપરેખાંકન Comment[he]=קביעת הגדרות מתווכים באופן אוטומטי Comment[hi]=स्वचालित प्रॉक्सी कॉन्फ़िगरेशन Comment[hne]=अपने अपन प्राक्सी कान्फिगरेसन Comment[hr]=Automatsko konfiguriranje proxyja Comment[hsb]=Awtomatiska konfiguracija proxyja Comment[hu]=Automatikus proxybeállítás Comment[ia]=Configuration automatic de proxy Comment[id]=Konfigurasi proxy otomatis Comment[is]=Sjálfvirkar stillingar vefsels Comment[it]=Configurazione automatica proxy Comment[ja]=自動プロキシ設定 Comment[kk]=Проксиді автоматты түрде бапату Comment[km]=ការ​កំណត់​រចនាសម្ព័ន្ធ​ប្រូកស៊ី​ដោយ​ស្វ័យប្រវត្តិ Comment[kn]=ಸ್ವಯಂಚಾಲಿತ ಪ್ರಾತಿನಿಧಿಕ (ಪ್ರಾಕ್ಸಿ) ಸಂರಚನೆ Comment[ko]=자동 프록시 설정 Comment[ku]=Veavakirina bixweber yê proxy Comment[lb]=Automatesch Proxy-Configuratioun Comment[lt]=Automatinis proxy derinimas Comment[lv]=Automātiska starpniekserveru konfigurēšana Comment[mai]=स्वचालित प्राक्सी बिन्यास Comment[mk]=Автоматска конфигурација на прокси Comment[ml]=പ്രോക്സിയുടെ സ്വയം ക്രമീകരണം Comment[mr]=स्वयंचलित प्रॉक्सी व्यूहरचना Comment[ms]=Penyelarasan Proksi Automatik Comment[nb]=Automatisk mellomtjeneroppsett Comment[nds]=Proxy automaatsch instellen Comment[ne]=स्वचालित प्रोक्सी कन्फिगरेसन Comment[nl]=Automatische proxy-configuratie Comment[nn]=Automatisk mellomtenaroppsett Comment[or]=ସ୍ୱୟଂଚାଳିତ ଛାୟା ବିନ୍ୟାସ Comment[pa]=ਆਟੋਮੈਟਿਕ ਪਰਾਕਸੀ ਸੰਰਚਨਾ Comment[pl]=Autokonfiguracja pośrednika Comment[ps]=خپلکارې ګوډاګي سازونه Comment[pt]=Configuração automática do 'proxy' Comment[pt_BR]=Configuração automática do proxy Comment[ro]=Configurare automată pentru proxy Comment[ru]=Автоматическая настройка прокси-сервера Comment[se]=Automáhtalaš gaskabálváheiveheapmi Comment[si]=ස්වයංක්‍රීය ප්‍රොක්සි සැකසීම Comment[sk]=Automatické nastavenie proxy Comment[sl]=Samodejne nastavitve posrednika Comment[sr]=Аутоматско подешавање проксија Comment[sr@ijekavian]=Аутоматско подешавање проксија Comment[sr@ijekavianlatin]=Automatsko podešavanje proksija Comment[sr@latin]=Automatsko podešavanje proksija Comment[sv]=Automatisk proxyinställning Comment[ta]=தானியக்க மாற்று வடிவமைப்பு Comment[te]=స్వయంచాలక ప్రాక్సీ రూపకరణం Comment[tg]=Танзимоти худкории proxy Comment[th]=การปรับแต่งพร็อกซีอัตโนมัติ Comment[tr]=Otomatik vekil sunucu yapılandırması Comment[ug]=ئاپتوماتىك ۋاكالەتچى سەپلىمىسى Comment[uk]=Автоматичне визначення проксі-сервера Comment[uz]=Proksini avtomatik ravishda moslash Comment[uz@cyrillic]=Проксини автоматик равишда мослаш -Comment[vi]=Cấu hình ủy nhiệm tự động. +Comment[vi]=Cấu hình proxy tự động Comment[wa]=Apontiaedje otomatike do procsi Comment[x-test]=xxAutomatic proxy configurationxx Comment[zh_CN]=自动代理配置 Comment[zh_HK]=自動代理伺服器組態 Comment[zh_TW]=自動代理組態 X-KDE-ServiceTypes=KDEDModule X-KDE-Library=proxyscout X-KDE-DBus-ModuleName=proxyscout X-KDE-Kded-autoload=false X-KDE-Kded-load-on-demand=true diff --git a/kio/misc/kpac/proxyscout.notifyrc b/kio/misc/kpac/proxyscout.notifyrc index af1b93552e..5f53d23f4f 100644 --- a/kio/misc/kpac/proxyscout.notifyrc +++ b/kio/misc/kpac/proxyscout.notifyrc @@ -1,595 +1,602 @@ [Global] IconName=preferences-system-network-proxy Comment=Network Proxy Configuration Comment[bg]=Настройки на мрежови посредник Comment[bn]=নেটওয়ার্ক প্রক্সি কনফিগারেশন Comment[bs]=Podešavanje proksija za mrežu Comment[ca]=Configuració del servidor intermediari de la xarxa Comment[ca@valencia]=Configuració del servidor intermediari de la xarxa Comment[cs]=Nastavení proxy sítě Comment[da]=Indstilling af netværksproxy Comment[de]=Netzwerk-Proxy-Einrichtung Comment[el]=Ρύθμιση διαμεσολαβητή δικτύου Comment[en_GB]=Network Proxy Configuration Comment[es]=Configuración del proxy de la red Comment[et]=Võrgupuhverserveri seadistamine Comment[eu]=Sareko ordezkariaren konfigurazioa Comment[fi]=Verkon välityspalvelinasetukset Comment[fr]=Configuration du réseau mandataire Comment[ga]=Cumraíocht an tSeachfhreastalaí Comment[gl]=Configuración do proxy de rede Comment[hr]=Podešavanje mrežnog proxyja Comment[hu]=Hálózati proxybeállítások Comment[ia]=Configuration de proxy de rete Comment[id]=Konfigurasi Proxy Jaringan Comment[is]=Stillingar milliþjóna (proxy) Comment[it]=Configurazione proxy di rete Comment[ja]=ネットワークプロキシ設定 Comment[kk]=Желі проксиін баптау Comment[km]=ការ​កំណត់​រចនាសម្ព័ន្ធ​ប្រូកស៊ី​បណ្ដាញ Comment[ko]=네트워크 프록시 설정 Comment[ku]=Veavakirina Proxy ya Torê Comment[lt]=Tinklo įgaliotųjų serverių konfigūravimas Comment[lv]=Konfigurē tīkla starpniekserveru iestatījumus Comment[nb]=Oppsett for mellomtjener Comment[nds]=Nettwark-Proxy instellen Comment[nl]=Configuratie voor netwerk-proxy Comment[pa]=ਆਟੋਮੈਟਿਕ ਪਰਾਕਸੀ ਸੰਰਚਨਾ Comment[pl]=Konfiguracja pośrednika sieciowego Comment[pt]=Configuração do 'Proxy' de Rede Comment[pt_BR]=Configuração do proxy de rede Comment[ro]=Configurare proxy rețea Comment[ru]=Настройка прокси-серверов Comment[se]=Fierpmádatgaskabálvvá heivehus Comment[si]=ජාල ප්‍රොක්සි සැකසීම Comment[sk]=Nastavenie sieťového proxy Comment[sl]=Nastavitev omrežnega posrednika Comment[sr]=Подешавање проксија за мрежу Comment[sr@ijekavian]=Подешавање проксија за мрежу Comment[sr@ijekavianlatin]=Podešavanje proksija za mrežu Comment[sr@latin]=Podešavanje proksija za mrežu Comment[sv]=Inställning av nätverksproxy Comment[ta]=பிணைய மாற்று வடிவமைப்பு Comment[tg]=Танзимоти шабкаи Proxy Comment[th]=การปรับแต่งพร็อกของเครือข่าย Comment[tr]=Vekil Sunucu Yapılandırması Comment[ug]=تور ۋاكالەتچى سەپلىمە Comment[uk]=Налаштування проксі-сервера мережі +Comment[vi]=Cấu hình proxy mạng Comment[wa]=Apontiaedje do procsi del rantoele Comment[x-test]=xxNetwork Proxy Configurationxx Comment[zh_CN]=网络代理配置 Comment[zh_TW]=網路代理組態 [Event/script-error] Name=Invalid Proxy Script Name[ar]=سكربت الوكيل غير صالح Name[as]=অবৈধ নিয়ুক্তকৰ স্ক্ৰিপ্ট Name[ast]=Guión de proxy inválidu Name[be]=Няправільны сцэнар проксі Name[be@latin]=Niapravilny proksi-skrypt Name[bg]=Невалиден скрипт за посредник Name[bn]=অবৈধ প্রক্সি স্ক্রিপ্ট Name[bn_IN]=অবৈধ প্রক্সি স্ক্রিপ্ট Name[bs]=Neispravna skripta proksija Name[ca]=Script de l'intermediari no vàlid Name[ca@valencia]=Script de l'intermediari no vàlid Name[cs]=Neplatný proxy skript Name[csb]=Zmiłkòwi skrip pòstrzédnika Name[da]=Ugyldigt proxy-script Name[de]=Ungültiges Proxy-Skript Name[el]=Μη έγκυρο σενάριο διαμεσολαβητή Name[en_GB]=Invalid Proxy Script Name[eo]=Nevalida prokura skripto Name[es]=Script de proxy no válido Name[et]=Vigane puhverserveri skript Name[eu]=Ordezkariaren script baliogabea Name[fa]=دست‌نوشتهٔ نامعتبر پیشکار Name[fi]=Virheellinen välityspalvelinskripti Name[fr]=Script pour serveur mandataire non valable Name[fy]=Unjildich proksy skript Name[ga]=Script Neamhbhailí Seachfhreastalaí Name[gl]=O script de proxy non é válido Name[gu]=અયોગ્ય પ્રોક્સી સ્ક્રિપ્ટ Name[he]=תסריט מתווך לא תקין Name[hi]=अवैध प्रॉक्सी स्क्रिप्ट Name[hne]=अवैध प्राक्सी स्क्रिप्ट Name[hr]=Neispravna proxy skripta Name[hsb]=Njekorektny proxyjowy skript Name[hu]=Érvénytelen proxyszkript Name[ia]=Script de proxy invalide Name[id]=Skrip Proxy Tidak Sah Name[is]=Ógild vefselsskrifta Name[it]=Script proxy non valido Name[ja]=無効なプロキシスクリプト Name[kk]=Жарамсыз прокси скрипті Name[km]=ស្គ្រីប​ប្រូកស៊ី​មិនត្រឹមត្រូវ Name[kn]=ಅಮಾನ್ಯ ಪ್ರಾತಿನಿಧಿಕ (ಪ್ರಾಕ್ಸಿ) ವಿಧಿಗುಚ್ಛ (ಸ್ಕ್ರಿಪ್ಟ್) Name[ko]=잘못된 프록시 스크립트 Name[ku]=Skrîpta Proxy yê Ne Derbasdar Name[lt]=Blogas proxy scenarijus Name[lv]=Nederīgs starpniekservera skripts Name[mai]=अवैध प्राक्सी स्क्रिप्ट Name[mk]=Невалидна прокси-скрипта Name[ml]=അസാധുവായ പ്രോക്സി സ്ക്രിപ്റ്റ് Name[mr]=अवैध प्रॉक्सी लिपी Name[nb]=Ugyldig mellomtjenerskript Name[nds]=Leeg Proxy-Skript Name[ne]=अवैध प्रोक्सी स्क्रिप्ट Name[nl]=Ongeldig proxyscript Name[nn]=Ugyldig mellomtenarskript Name[or]=ଅବୈଧ ଛାୟା ସ୍କ୍ରିପ୍ଟ Name[pa]=ਗਲਤ ਪਰਾਕਸੀ ਸਕ੍ਰਿਪਟ Name[pl]=Niepoprawny skrypt pośrednika Name[ps]=ناسم ګوډاګی سکرېپټ Name[pt]=Programa de 'Proxy' Inválido Name[pt_BR]=Script de proxy inválido Name[ro]=Script proxy invalid Name[ru]=Недопустимый сценарий настройки прокси-сервера Name[se]=Gustohis gaskabálvaskripta Name[si]=සාවද්‍ය ප්‍රොක්සි ස්ක්‍රිප්ටය Name[sk]=Neplatný proxy skript Name[sl]=Neveljaven posredniški skript Name[sr]=Неисправна скрипта проксија Name[sr@ijekavian]=Неисправна скрипта проксија Name[sr@ijekavianlatin]=Neispravna skripta proksija Name[sr@latin]=Neispravna skripta proksija Name[sv]=Ogiltigt proxyskript Name[ta]=செல்லாத மாற்று குறுநிரல் Name[te]=చెల్లని ప్రాక్సీ స్క్రిప్ట్ Name[tg]=Дастнависи Proxy нодуруст Name[th]=สคริปต์พร็อกซีไม่ถูกต้อง Name[tr]=Geçersiz Vekil Sunucu Betiği Name[ug]=ئىناۋەتسىز ۋاكالەتچى قوليازمىسى Name[uk]=Некоректний скрипт проксі +Name[vi]=Mã proxy không hợp lệ Name[wa]=Scripe do procsi nén valåbe Name[x-test]=xxInvalid Proxy Scriptxx Name[zh_CN]=无效的代理脚本 Name[zh_TW]=不合法的代理文稿 Comment=The downloaded proxy configuration script is invalid Comment[af]=Die proksie skrip wat afgelaai is, is ongeldig Comment[ar]=سكربت إعدادات الوكيل المنزل غير صالح Comment[as]=ডাউন্‌লোড কৰা নিযুক্তক বিন্যাসৰ স্ক্ৰিপ্ট অবৈধ Comment[ast]=El guión de configuración del proxy descargáu ye inválidu Comment[be]=Сцягнуты сцэнар настаўлення проксі-сервера няправільны Comment[be@latin]=Atrymany niapravilny skrypt naładžvańnia proxy Comment[bg]=Сваленият скрипт за настройка на посредник е невалиден Comment[bn]=ডাউনলোড করা প্রক্সি কনফিগারেশন স্ক্রিপ্টটি অবৈধ Comment[bn_IN]=ডাউনলোড করা প্রক্সি কনফিগারেশন স্ক্রিপ্ট বৈধ নয় Comment[br]=N'eo ket mat urzhiaoug kefluniadur ar proksi Comment[bs]=Preuzeta skripta postave proksija nije ispravna Comment[ca]=L'script descarregat de configuració de l'intermediari no és vàlid Comment[ca@valencia]=L'script descarregat de configuració de l'intermediari no és vàlid Comment[cs]=Stažený konfigurační skript pro proxy je neplatný Comment[csb]=Zladowóny skrip kònfigùracëji pòstrzédnika je zmiłkòwi Comment[cy]=Mae'r sgript ffurfweddu'r dirprwy a chafodd ei lawrlwytho yn annilys Comment[da]=Det hentede proxy-indstillingsscript er ugyldigt Comment[de]=Das heruntergeladene Konfigurationsskript für den Proxy ist ungültig. Comment[el]=Το ληφθέν σενάριο ρύθμισης διαμεσολαβητή δεν είναι έγκυρο Comment[en_GB]=The downloaded proxy configuration script is invalid Comment[eo]=La elŝutita prokura agordoskripto estas nevalida Comment[es]=El script de configuración del proxy descargado no es válido Comment[et]=Allalaaditud puhverserveri seadistuse skript on vigane Comment[eu]=Jaitsitako ordezkaria konfiguratzeko script-a baliogabea da Comment[fa]=دست‌نوشتهٔ پیکربندی پیشکار بارگیری شده نامعتبر است Comment[fi]=Ladattu välityspalvelin asetusskripti on virheellinen Comment[fr]=Le script téléchargé de configuration du serveur mandataire n'est pas valable Comment[fy]=It ynladen proxy ynstellings skript is ûnjildich Comment[ga]=Is neamhbhailí í script chumraíocht an tseachfhreastalaí a íosluchtaíodh Comment[gl]=O script de configuración do proxy que se descargou non é válido Comment[gu]=ડાઉનલોડ કરેલ પ્રોક્સી રૂપરેખાંકન સ્ક્રિપ્ટ અયોગ્ય છે Comment[he]=תסריט ההגדרות של השרת המתווך שהורד לא תקין Comment[hi]=डाउनलोड किया गया प्रॉक्सी कॉन्फ़िगरेशन स्क्रिप्ट अवैध है Comment[hne]=डाउनलोड करे गे प्राक्सी कान्फिगरेसन स्क्रिप्ट अवैध हे Comment[hr]=Preuzeta skripta za konfiguriranje proxyja je neispravna Comment[hsb]=Sćehnjeny konfiguraciski skript za proxy je njekorektny. Comment[hu]=A letöltött proxyszkript érvénytelen Comment[ia]=Le script de configuration de proxy discargate es invalide Comment[id]=Skrip konfigurasi proxy yang diunduh tidak sah Comment[is]=Sótt vefselsskrifta er ógild Comment[it]=Lo script di configurazione proxy scaricato non è valido Comment[ja]=ダウンロードされたプロキシ設定スクリプトは無効です Comment[kk]=Жүктеп алынған проксиді баптау скрипті жарамсыз Comment[km]=ស្គ្រីប​កំណត់​រចនា​សម្ព័ន្ធ​ប្រូកស៊ី​ដែល​បាន​ទាញយក​គឺ​មិនត្រឹមត្រូវ Comment[kn]=ನಕಲಿಳಿಸಲಾದ ಪ್ರಾತಿನಿಧಿಕದ (ಪ್ರಾಕ್ಸಿ) ಸಂರಚನಾ ವಿಧಿಗುಚ್ಛ (ಸ್ಕ್ರಿಪ್ಟ್) ಅಮಾನ್ಯವಾದದ್ದಾಗಿದೆ Comment[ko]=다운로드한 프록시 설정 스크립트가 잘못되었습니다 Comment[ku]=Skrîpta veavakirina proxy yê daxistî ne derbasdar e Comment[lb]=D'Proxy-Configuratiounsskript, dat erofgelude gouf, ass ongülteg Comment[lt]=Atsisiųstas proxy derinimo scenarijus yra blogas Comment[lv]=Lejupielādētais starpniekservera skripts ir nederīgs Comment[mai]=डाउनलोड कएल गेल प्राक्सी बिन्यास स्क्रिप्ट अवैध अछि Comment[mk]=Симнатата скрипта за конфигурација на прокси е навалидна Comment[ml]=ഡൌണ്‍ലോഡ് ചെയ്ത പ്രോക്സി സജ്ജീകരിക്കുന്ന സ്ക്രിപ്റ്റ് ശരിയല്ല Comment[mr]=डाउनलोड केलेले व्यूहरचना स्क्रीप्ट अवैध Comment[ms]=Skrip penyelarasan proksi yang dimuat turun tidak sah Comment[nb]=Mellomtjenerskriptet som ble lastet ned er ugyldig Comment[nds]=Dat daallaadte Proxy-Instellskript is leeg Comment[ne]=डाउनलोड गरिएका प्रोक्सी कन्फिगरेसन स्क्रिप्ट अवैध छ Comment[nl]=Het gedownloade script met de proxyconfiguratie is ongeldig Comment[nn]=Det nedlasta skriptet for automatisk mellomtenaroppsett er ugyldig Comment[or]=ଆହରଣ କୃତ ଛାୟା ବିନ୍ୟାସ ସ୍କ୍ରିପ୍ଟ ଟି ଅବୈଧ Comment[pa]=ਡਾਊਨਲੋਡ ਕੀਤੀ ਪਰਾਕਸੀ ਸੰਰਚਨਾ ਸਕ੍ਰਿਪਟ ਗਲਤ ਹੈ Comment[pl]=Pobrany skrypt konfiguracji pośrednika jest nieprawidłowy Comment[ps]=رالېښل شوی ګوډاګي سازونې سکرېپټ ناسم دی Comment[pt]=O programa obtido de configuração do 'proxy' é inválido Comment[pt_BR]=O script de configuração do proxy obtido é inválido Comment[ro]=Scriptul de configurare proxy este eronat Comment[ru]=Загруженный сценарий настройки прокси-сервера содержит ошибки Comment[se]=Vižžon gaskabálvaskripta ii gusto Comment[sk]=Stiahnutý konfiguračný skript pre proxy je neplatný Comment[sl]=Naložen nastavitveni skript posrednika je neveljaven Comment[sr]=Преузета скрипта поставе проксија није исправна Comment[sr@ijekavian]=Преузета скрипта поставе проксија није исправна Comment[sr@ijekavianlatin]=Preuzeta skripta postave proksija nije ispravna Comment[sr@latin]=Preuzeta skripta postave proksija nije ispravna Comment[sv]=Det nerladdade proxyinställningsskriptet är ogiltigt Comment[ta]=இறக்கப்பட்ட மாற்று வடிவமைப்பு குறிநிரல் செல்லாது Comment[te]=డౌన్ లోడ్ చేయబడిన్ ప్రాక్సీ రూపకరణపు స్క్రిప్ట్ చెల్లదు Comment[tg]=Дастнависи proxy боршуда нодуруст аст Comment[th]=สคริปต์ปรับแต่งพร็อกซีที่ดาวน์โหลดมาใช้ไม่ได้ Comment[tr]=İndirilen vekil sunucu yapılandırma betiği geçersiz Comment[ug]=چۈشۈرگەن ۋاكالەتچى سەپلىمە قوليازمىسى ئىناۋەتسىز Comment[uk]=Звантажено некоректний скрип проксі Comment[uz]=Proksini moslash uchun yozib olingan skript haqiqiy emas Comment[uz@cyrillic]=Проксини мослаш учун ёзиб олинган скрипт ҳақиқий эмас +Comment[vi]=Mã cấu hình proxy đã tải không hợp lệ Comment[wa]=Li scripe d' apontiaedje do procsi aberweté n' est nén valåbe Comment[x-test]=xxThe downloaded proxy configuration script is invalidxx Comment[zh_CN]=下载的代理配置脚本无效 Comment[zh_HK]=剛下載的代理伺服器組態 script 語法有誤 Comment[zh_TW]=下載的代理組態文稿不合法 Action=Popup [Event/download-error] Name=Script Download Error Name[af]=Skrip aflaaifout Name[ar]=خطأ في تنزيل السكربت Name[as]=স্ক্ৰিপ্ট ডাউন্‌লোড কৰোঁতে ভুল Name[ast]=Error na descarga de guión Name[be]=Памылка сцягвання сцэнара Name[be@latin]=Pamyłka atrymańnia skrypta Name[bg]=Грешка при сваляне на скрипт Name[bn]=স্ক্রিপ্ট ডাউনলোডে সমস্যা Name[bn_IN]=স্ক্রিপ্ট ডাউনলোড সংক্রান্ত ত্রুটি Name[bs]=Greška u preuzimanju skripte Name[ca]=Error de descàrrega de l'script Name[ca@valencia]=Error de descàrrega de l'script Name[cs]=Chyba ve stažení skriptu Name[csb]=Fela zladowaniô skriptu Name[da]=Fejl under download af Script Name[de]=Fehler beim Herunterladen des Skripts Name[el]=Σφάλμα λήψης σεναρίου Name[en_GB]=Script Download Error Name[eo]=Eraro pri elŝuto de skripto Name[es]=Error de descarga del script Name[et]=Viga skripti allalaadimisel Name[eu]=Errorea script-a deskargatzean Name[fa]=خطا در بارگیری دست‌نوشته Name[fi]=Skriptin latausvirhe Name[fr]=Erreur de téléchargement du script Name[fy]=Skript ynlaad flater Name[ga]=Earráid Íosluchtaithe Scripte Name[gl]=Erro na descarga do script Name[gu]=સ્ક્રિપ્ટ ડાઉનલોડ ક્ષતિ Name[he]=שגיאת הורדת תסריט Name[hi]=स्क्रिप्ट डाउनलोड त्रुटि Name[hne]=स्क्रिप्ट डाउनलोड गलती Name[hr]=Pogreška pri preuzimanju skripte Name[hsb]=Zmylk sćehnjenja skripta Name[hu]=Szkriptletöltési hiba Name[ia]=Error de discarga del script Name[id]=Galat Unduh Skrip Name[is]=Villa við niðurhal skriftu Name[it]=Errore scaricamento script Name[ja]=スクリプトのダウンロードエラー Name[kk]=Скриптті жүктеу қатесі Name[km]=កំហុស​ក្នុង​ការ​ទាញយក​ស្គ្រីប Name[kn]=ವಿಧಿಗುಚ್ಛ (ಸ್ಕ್ರಿಪ್ಟ್ ) ನಕಲಿಳಿಸು ದೋಷ Name[ko]=스크립트 다운로드 오류 Name[ku]=Çewtiya Daxistina Skrîptê Name[lt]=Scenarijaus atsisiuntimo klaida Name[lv]=Skripta lejupielādes kļūda Name[mai]=स्क्रिप्ट डाउनलोडक त्रुटि Name[mk]=Грешка при симнување на скриптата Name[ml]=സ്ക്രിപ്റ്റ് ഡൌണ്‍ലോഡില്‍ തെറ്റുണ്ടു് Name[mr]=लिपी डाउनलोड त्रुटी Name[nb]=Feil ved skriptnedlasting Name[nds]=Skript-Daallaadfehler Name[ne]=स्क्रिप्टले त्रुटि डाउनलोड गर्यो Name[nl]=Fout bij scriptdownload Name[nn]=Feil ved skriptnedlasting Name[or]=ସ୍କ୍ରିପ୍ଟ ଆହରଣ ତ୍ରୁଟି Name[pa]=ਸਕ੍ਰਿਪਟ ਡਾਊਨਲੋਡ ਗਲਤੀ Name[pl]=Błąd pobierania skryptu Name[ps]=د سکرېپټ رالېښنې تېروتنه Name[pt]=Erro de Transferência do Programa Name[pt_BR]=Erro no download do script Name[ro]=Eroare de descărcare a scriptului Name[ru]=Ошибка загрузки скрипта Name[se]=Filtii skripta viežžamis Name[si]=ස්ක්‍රිප්ට් ලබාගැනීමේ දෝෂය Name[sk]=Chyba počas sťahovania skriptu Name[sl]=Napaka nalaganju skripta Name[sr]=Грешка у преузимању скрипте Name[sr@ijekavian]=Грешка у преузимању скрипте Name[sr@ijekavianlatin]=Greška u preuzimanju skripte Name[sr@latin]=Greška u preuzimanju skripte Name[sv]=Nerladdningsfel för skript Name[ta]=குறுநிரல் இறக்கத்தில் பிழை Name[te]=స్క్రిప్ట్ డౌన్ లోడ్ దోషం Name[tg]=Хатои боркунии дастнавис Name[th]=การดาวน์โหลดสคริปต์เกิดข้อผิดพลาด Name[tr]=Betik İndirme Hatası Name[ug]=قوليازما چۈشۈرۈش خاتالىقى Name[uk]=Помилка звантаження проксі +Name[vi]=Lỗi tải mã Name[wa]=Aroke d' aberwetaedje do scripe Name[x-test]=xxScript Download Errorxx Name[zh_CN]=脚本下载错误 Name[zh_TW]=文稿下載錯誤 Comment=The proxy configuration script could not be downloaded Comment[af]=Die proksie opstellingskrip kon nie afgelaai word nie Comment[ar]=لا يمكن تنزيل سكربت إعدادات الوكيل Comment[as]=নিযুক্তক বিন্যাসৰ স্ক্ৰিপ্ট ডাউন্‌লোড কৰিব পৰা ন'গ'ল Comment[ast]=Nun pudo descargase'l guión de configuración del proxy Comment[be]=Немагчыма сцягнуць сцэнар настаўлення проксі Comment[be@latin]=Nie ŭdałosia atrymać skrypt naładžvańnia proxy Comment[bg]=Скриптът за настройка на посредник не беше свален Comment[bn]=প্রক্সি কনফিগারেশন স্ক্রিপ্ট ডাউনলোড করা যায়নি Comment[bn_IN]=প্রক্সি কনফিগারেশনের স্ক্রিপ্ট ডাউনলোড করা যায়নি Comment[br]=Ne m'eus ket enkargañ urzhiaoug kefluniadur ar proksi Comment[bs]=Skripta postave proksija ne može biti preuzeta Comment[ca]=L'script de configuració de l'intermediari no es pot descarregar Comment[ca@valencia]=L'script de configuració de l'intermediari no es pot descarregar Comment[cs]=Nelze stáhnout konfigurační skript pro proxy Comment[csb]=Skript kònfigùracëji pòstrzédnika ni mòże bëc zladowóny Comment[cy]=Y sgript ffurfweddu'r dirprwy Comment[da]=Proxy-indstillingsscriptet kunne ikke hentes Comment[de]=Das Konfigurationsskript für den Proxy kann nicht heruntergeladen werden. Comment[el]=Αδύνατη η λήψη του σεναρίου ρύθμισης διαμεσολαβητή Comment[en_GB]=The proxy configuration script could not be downloaded Comment[eo]=Ne povis elŝuti la prokuran agordoskripton Comment[es]=No se puede descargar el script de configuración del proxy Comment[et]=Puhverserveri seadistuse skripti allalaadimine nurjus Comment[eu]=Ordezkaria konfiguratzeko script-a ezin izan da deskargatu Comment[fa]=دست‌نوشتهٔ پیکربندی پیشکار نتوانست بارگیری شود Comment[fi]=Välityspalvelimen asetusskriptin lataaminen ei onnistunut Comment[fr]=Le script de configuration du serveur mandataire (proxy) n'a pas pu être téléchargé Comment[fy]=It ynladen fan de proxy ynstellings skript is net slagge Comment[ga]=Níorbh fhéidir script chumraíochta an tseachfhreastalaí a íosluchtú Comment[gl]=Non foi posíbel descargar o script de configuración do proxy Comment[gu]=પ્રોક્સી રૂપરેખાંકન સ્ક્રિપ્ટ ડાઉનલોડ કરી શકાતી નથી Comment[he]=אין אפשרות להוריד את תסריט הגדרות שרת המתווך Comment[hi]=प्रॉक्सी कॉन्फ़िगरेशन स्क्रिप्ट को डाउनलोड नहीं किया जा सका Comment[hne]=प्राक्सी कान्फिगरेसन स्क्रिप्ट ल डाउनलोड नइ कर सकिस Comment[hr]=Skripta za konfiguraciju proxyja nije mogla biti preuzeta Comment[hsb]=Konfiguraciski skript za proxy njehodźi so sćahnyć Comment[hu]=A proxyszkriptet nem sikerült letölteni Comment[ia]=Le configuration del script poterea non esser discargate Comment[id]=Skrip konfigurasi proxy tak dapat diunduh Comment[is]=Gat ekki sótt stillingaskriftu vefsels Comment[it]=Impossibile scaricare lo script di configurazione proxy Comment[ja]=プロキシ設定スクリプトをダウンロードできませんでした Comment[kk]=Проксиді баптау скрипті жүктеп алынбайды Comment[km]=មិន​អាច​ទាញយក​ស្គ្រីប​កំណត់រចនា​សម្ព័ន្ធ​ប្រូកស៊ី​បាន​ឡើយ Comment[kn]=ಪ್ರಾತಿನಿಧಿಕದ (ಪ್ರಾಕ್ಸಿ) ಸಂರಚನಾ ವಿಧಿಗುಚ್ಛವನ್ನು (ಸ್ಕ್ರಿಪ್ಟ್) ನಕಲಿಳಿಸಲಾಗಲಿಲ್ಲ Comment[ko]=프록시 구성 스크립트를 다운로드할 수 없습니다 Comment[ku]=Skrîpta veavakirina proxy nayê daxistin Comment[lb]=D'Proxy-Konfiguratiounsskript konnt net erofgeluede ginn Comment[lt]=Proxy derinimo scenarijus negali būti atsisiųstas Comment[lv]=Neizdevās lejupielādēt starpniekservera konfigurācijas skriptu Comment[mai]=प्राक्सी बिन्यास स्क्रिप्ट केँ डाउनलोड नहि कएल जाए सकल Comment[mk]=Скриптата за конфигурација на прокси не можеше да се симне Comment[ml]=പ്രോക്സി സജ്ജീകരിക്കുന്ന സ്ക്രിപ്റ്റ് ഡൌണ്‍ലോഡ് ചെയ്യാന്‍ പറ്റുന്നില്ല Comment[mr]=प्रॉक्सी व्यूहरचना स्क्रीप्ट डाऊनलोड होऊ शकले नाही Comment[ms]=Skrip penyelarasan proksi tidak boleh dimuat turun Comment[nb]=Klarte ikke å laste ned skript for mellomtjeneroppsett Comment[nds]=Dat Proxy-Instellskript lett sik nich daalladen Comment[ne]=प्रोक्सी कन्फिगरेसन स्क्रिप्ट डाउनलोड गर्न सकेन Comment[nl]=Het script met de proxyconfiguratie kon niet worden gedownload Comment[nn]=Klarte ikkje lasta ned skript for automatisk mellomtenaroppsett Comment[or]=ଛାୟା ବିନ୍ୟାସ ସ୍କ୍ରିପ୍ଟ ଆହରଣ କରିହେଲା ନାହିଁ Comment[pa]=ਪਰਾਕਸੀ ਸੰਰਚਨਾ ਸਕ੍ਰਿਪਟ ਡਾਊਨਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ Comment[pl]=Nie można pobrać skryptu konfiguracji pośrednika Comment[ps]=د ګوډاګي د سازونې سکرېپټ رالېښل کېدی نه شي Comment[pt]=O programa de configuração do 'proxy' não pôde ser transferido Comment[pt_BR]=O script de configuração do proxy não pôde ser transferido Comment[ro]=Nu am putut descărca scriptul de configurare proxy Comment[ru]=Невозможно загрузить сценарий настройки прокси-сервера Comment[se]=Ii sáhttán viežžat skripta automáhtalaš gaskabálvaheivehusa várás Comment[sk]=Nepodarilo sa stiahnuť konfiguračný skript pre proxy Comment[sl]=Nastavitveni skript posrednika ni mogel biti naložen Comment[sr]=Скрипта поставе проксија не може бити преузета Comment[sr@ijekavian]=Скрипта поставе проксија не може бити преузета Comment[sr@ijekavianlatin]=Skripta postave proksija ne može biti preuzeta Comment[sr@latin]=Skripta postave proksija ne može biti preuzeta Comment[sv]=Proxyinställningsskriptet kunde inte laddas ner Comment[ta]=மாற்று வடிவமைப்பு குறுநிரலை இறக்க முடியவில்லை Comment[te]=ప్రాక్సీ రూపకరణపు స్క్రిప్ట్ ని డౌన్ లోడ్ చేయలేకపోయాం Comment[tg]=Дастнависи танзимшавандаи proxy бор карда намешавад Comment[th]=ไม่สามารถดาวน์โหลดสคริปต์ปรับแต่งพร็อกซีได้ Comment[tr]=Vekil sunucu yapılandırma dosyası indirilemedi Comment[ug]=ۋاكالەتچى سەپلىمە قوليازمىسىنى چۈشۈرەلمىدى Comment[uk]=Неможливо звантажити скрипт налаштування проксі Comment[uz]=Proksini moslash uchun skriptni yozib olib boʻlmadi Comment[uz@cyrillic]=Проксини мослаш учун скриптни ёзиб олиб бўлмади +Comment[vi]=Không thể tải mã lệnh cấu hình proxy Comment[wa]=Dji n' a savou aberweter l' sicripe d' apontiaedje do procsi Comment[x-test]=xxThe proxy configuration script could not be downloadedxx Comment[zh_CN]=无法下载代理配置脚本 Comment[zh_HK]=無法取得代理伺服器組態 script 檔案 Comment[zh_TW]=代理組態文稿無法下載 Action=Popup [Event/evaluation-error] Name=Script Evaluation Error Name[af]=Skrip evaluasiefout Name[ar]=خطأ في تقييم السكربت Name[as]=স্ক্ৰিপ্টৰ পৰীক্ষাত ভুল Name[ast]=Error d'evaluación del guión Name[be]=Памылка выканання сцэнару Name[be@latin]=Pamyłka ŭ vykanańni skrypta Name[bg]=Грешка при оценка на скрипт Name[bn]=স্ক্রিপ্ট চালানোয় সমস্যা Name[bn_IN]=স্ক্রিপ্ট বিশ্লেষণ সংক্রান্ত ত্রুটি Name[bs]=Greška u izvršavanju skripte Name[ca]=Error d'avaluació de l'script Name[ca@valencia]=Error d'avaluació de l'script Name[cs]=Chyba v analýze skriptu Name[csb]=Fela ewaluacëji skriptu Name[da]=Fejl under evaluering af script Name[de]=Fehler bei der Auswertung des Skripts Name[el]=Σφάλμα αποτίμησης σεναρίου Name[en_GB]=Script Evaluation Error Name[eo]=Eraro pri takso de skripto Name[es]=Error de evaluación del script Name[et]=Viga skripti hindamisel Name[eu]=Script ebaluazioko errorea Name[fa]=خطا در ارزیابی دست‌نوشته Name[fi]=Skriptinsuoritusvirhe Name[fr]=Erreur d'évaluation du script Name[fy]=Skript beoardiel flater Name[ga]=Earráid agus Script á Luacháil Name[gl]=Erro na avaliación do script Name[gu]=સ્ક્રિપ્ટ ચકાસણી ક્ષતિ Name[he]=שגיאה בעת פיענוח התסריט Name[hi]=स्क्रिप्ट परीक्षण त्रुटि Name[hne]=स्क्रिप्ट परीक्छन गलती Name[hr]=Pogreška pri procjenjivanju skripte Name[hsb]=Zmylk při wuwjedźenju skripta Name[hu]=Szkriptkiértékelési hiba Name[ia]=Error de evalutation del script Name[id]=Galat Evaluasi Skrip Name[is]=Villa við túlkun skriftu Name[it]=Errore di valutazione script Name[ja]=スクリプト評価エラー Name[kk]=Скриптті орындау қатесі Name[km]=កំហុស​ក្នុង​ការ​វាយ​តម្លៃ​ស្គ្រីប Name[kn]=ವಿಧಿಗುಚ್ಛ (ಸ್ಕ್ರಿಪ್ಟ್ ) ಮೌಲ್ಯಮಾಪನ ದೋಷ Name[ko]=스크립트 계산 오류 Name[ku]=Çewtiya Nirxandina Skrîptê Name[lt]=Scenarijaus analizės klaida Name[lv]=Skripta izpildes kļūda Name[mai]=स्क्रिप्ट परीक्षण त्रुटि Name[mk]=Грешка при евалуација на скриптата Name[ml]=സ്ക്രിപ്റ്റിന്റെ മൂല്യനിര്‍ണ്ണയത്തില്‍ തെറ്റുണ്ടു് Name[mr]=स्क्रीप्ट विश्लेषन त्रुटी Name[nb]=Feil ved evaluering av skript Name[nds]=Skript-Utföhrfehler Name[ne]=स्क्रिप्ट मूल्याङ्कन त्रुटि Name[nl]=Fout bij evalueren van script Name[nn]=Feil ved skriptevaluering Name[or]=ସ୍କ୍ରିପ୍ଟ ମୁଲ୍ୟାଙ୍କନ ତ୍ରୁଟି Name[pa]=ਸਕ੍ਰਿਪਟ ਜਾਂਚ ਗਲਤੀ Name[pl]=Błąd wykonywania skryptu Name[pt]=Erro de Avaliação do Programa Name[pt_BR]=Erro de avaliação do script Name[ro]=Eroare de evaluare a scriptului Name[ru]=Ошибка выполнения скрипта Name[se]=Skriptadulkonmeattáhus Name[sk]=Chyba vykonávania skriptu Name[sl]=Napaka pri ovrednotenju skripta Name[sr]=Грешка у извршавању скрипте Name[sr@ijekavian]=Грешка у извршавању скрипте Name[sr@ijekavianlatin]=Greška u izvršavanju skripte Name[sr@latin]=Greška u izvršavanju skripte Name[sv]=Utvärderingsfel för skript Name[ta]=குறுநிரல் மதிப்பீட்டுப் பிழை Name[te]=స్క్రిప్ట్ నిర్వహణ దోషం Name[tg]=Хатои арзёбии дастнавис Name[th]=การเรียกใช้สคริปต์เกิดข้อผิดพลาด Name[tr]=Betik Çalıştırma Hatası Name[ug]=قوليازما ئىجرا قىلىش خاتالىقى Name[uk]=Помилка оцінки скрипту +Name[vi]=Lỗi thử đúng mã lệnh Name[wa]=Aroke di préjhaedje do scripe Name[x-test]=xxScript Evaluation Errorxx Name[zh_CN]=脚本执行错误 Name[zh_TW]=文稿執行錯誤 Comment=There was an error executing the proxy configuration script Comment[af]=Daar was 'n fout met die uitvoer van die proksie opstelskrip Comment[ar]=يوجد خطأ في تنفيذ سكربت إعدادات الوكيل Comment[as]=নিযুক্তক বিন্যাসৰ স্ক্ৰিপ্ট চলাওঁতে ভুল Comment[ast]=Hebo un error executando'l guión de configuración del proxy Comment[be]=Адбылася памылка выканання сцэнару настаўлення проксі Comment[be@latin]=Padčas vykanańnia skrypta naładžvańnia proxy ŭźnikła pamyłka. Comment[bg]=Възникна грешка при изпълнение на скрипта за настройка на посредник Comment[bn]=প্রক্সি কনফিগারেশন স্ক্রিপ্ট চালাতে সমস্যা দেখা দিয়েছে Comment[bn_IN]=প্রক্সি কনফিগারেশনের স্ক্রিপ্ট সঞ্চালনে সমস্যা Comment[br]=Degouezhet ez eus ur fazi en ur seveniñ urzhiaoug kefluniadur ar proksi Comment[bs]=Greška tokom izvršavanja skripte postave proksija Comment[ca]=Hi ha hagut un error en executar l'script de configuració de l'intermediari Comment[ca@valencia]=Hi ha hagut un error en executar l'script de configuració de l'intermediari Comment[cs]=Nastala chyba při spouštění konfiguračního skriptu proxy Comment[csb]=Wëstąpiła fela przë zrëszaniém skriptu kònfigùracëji pòstrzédnika Comment[cy]=Digwyddodd gwall wrth weithredu'r sgript ffurfweddu'r dirprwy Comment[da]=Der opstod en fejl ved kørslen af proxy-indstillingsscriptet Comment[de]=Beim Ausführen des Skripts zur Proxy-Konfiguration ist ein Fehler aufgetreten. Comment[el]=Παρουσιάστηκε σφάλμα κατά την εκτέλεση του σεναρίου ρύθμισης του διαμεσολαβητή Comment[en_GB]=There was an error executing the proxy configuration script Comment[eo]=Eraro okazis pri plenumo de la prokura agordoskripto Comment[es]=Ocurrió un error al ejecutar el script de configuración del proxy Comment[et]=Ilmnes tõsine viga puhverserveri seadistuse skripti käivitamisel Comment[eu]=Errorea gertatu da ordezkaria konfiguratzeko script-a exekutatzerakoan Comment[fa]=خطایی در اجرای دست‌نوشتهٔ پیکربندی پیشکار وجود داشت Comment[fi]=Välityspalvelimen asetuskriptin suorittamisessa tapahtui virhe Comment[fr]=Une erreur s'est produite lors de l'exécution du script de configuration du serveur mandataire (proxy) Comment[fy]=Der wie in flater by it útfoeren fan de proxy ynstellings skript Comment[ga]=Tharla earráid agus script chumraíocht an tseachfhreastalaí á rith Comment[gl]=Aconteceu un erro ao executar o script de configuración do proxy Comment[gu]=પ્રોક્સી રૂપરેખાંકન સ્ક્રિપ્ટ ચલાવવામાં ક્ષતિ હતી Comment[he]=ארעה שגיאה בעת ההפעלה של תסריט הגדרת השרת המתווך Comment[hi]=प्रॉक्सी कॉन्फ़िगरेशन स्क्रिप्ट को चलाने के दौरान एक त्रुटि हुई Comment[hne]=प्राक्सी कान्फिगरेसन स्क्रिप्ट ल चलाय के समय एक गलती होइस Comment[hr]=Došlo je do pogreške pri izvršavanju skripte za konfiguraciju proxyja Comment[hsb]=Při wuwjedźenju konfiguraciskeho skripta za proxy je so zmylk stał Comment[hu]=Hiba történt a proxyszkript végrehajtása közben Comment[ia]=Il esseva un error durante que il executava le proxy de configuration del script Comment[id]=Ada galat ketika mengeksekusi skrip konfigurasi proxy Comment[is]=Það kom upp villa við keyrslu stillingaskriftu vefsels Comment[it]=Si è verificato un errore durante l'esecuzione dello script di configurazione proxy Comment[ja]=プロキシ設定スクリプトの実行でエラーが発生しました Comment[kk]=Проксиді баптау скриптін орындау қатесі Comment[km]=មាន​កំហុស​ក្នុង​ការ​ប្រតិបត្តិ​ស្គ្រីប​កំណត់​រចនា​សម្ព័ន្ធ​ប្រូកស៊ី Comment[kn]=ಪ್ರಾತಿನಿಧಿಕದ (ಪ್ರಾಕ್ಸಿ) ಸಂರಚನಾ ವಿಧಿಗುಚ್ಛವನ್ನು (ಸ್ಕ್ರಿಪ್ಟ್) ಅನ್ನು ಚಾಲಯಿಸುವಾಗ ದೋಷ ಕಂಡುಬಂದಿತು Comment[ko]=프록시 설정 스크립트를 실행하는 중 오류가 발생했습니다 Comment[ku]=Di sepandina skrîpta veavakirina proxy de çewtiyek çê bû Comment[lb]=Et gouf e Feeler beim Ausféiere vum Proxy-Konfiguratiounsskript Comment[lt]=Paleidžiant proxy derinimo scenarijų įvyko klaida Comment[lv]=Gadījās kļūda izpildot starpniekservera konfigurēšanas skriptu Comment[mai]=प्राक्सी बिन्यास स्क्रिप्ट केँ चलाबै केर काले एकटा त्रुटि भेल Comment[mk]=Имаше грешка при извршувањето на скриптата за конфигурација на прокси Comment[ml]=പ്രോക്സി സജ്ജീകരിക്കുന്ന സ്ക്രിപ്റ്റ് പ്രവര്‍ത്തിപ്പിയ്ക്കുമ്പോള്‍ തെറ്റുണ്ടായി Comment[mr]=प्रॉक्सी व्यूहरचना स्क्रिप्ट चालवितेवेळी त्रुटी आढळली Comment[ms]=Terdapat ralat melaksanakan skrip penyelarasan proksi Comment[nb]=Det oppsto en feil ved kjøring av skriptet for mellomtjeneroppsett Comment[nds]=Bi't Utföhren vun't Proxy-Instellskript geev dat en Fehler Comment[ne]=त्यहाँ प्रोक्सी कन्फिगरेसन स्क्रिप्ट कार्यान्वयन गर्दा एउटा त्रुटि थियो Comment[nl]=Er deed zich een fout voor tijdens het uitvoeren van het script met de proxyconfiguratie Comment[nn]=Det oppstod ein feil ved køyring av skriptet for automatisk mellomtenaroppsett Comment[or]=ଛାୟା ବିନ୍ୟାସ ସ୍କ୍ରିପ୍ଟ ନିଷ୍ପାଦନ କରିବା ସମୟରେ ତ୍ରୁଟି Comment[pa]=ਪਰਾਕਸੀ ਸੰਰਚਨਾ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਦੌਰਾਨ ਗਲਤੀ ਹੈ Comment[pl]=Wystąpił błąd w czasie wykonywania skryptu konfiguracji pośrednika Comment[ps]=د ګوډاګي سازونې سکرېپټ په چلولو کې ستونزه رامنځته شوه Comment[pt]=Ocorreu um problema ao executar o programa de configuração do 'proxy' Comment[pt_BR]=Houve um erro ao executar o script de configuração do proxy Comment[ro]=A apărut o eroare la execuția scriptului de configurare proxy Comment[ru]=Ошибка при выполнении сценария настройки прокси-сервера Comment[se]=Meattáhus čuožžilii go vujii gaskabálváheivehanskripta Comment[sk]=Nastala chyba pri spúšťaní konfiguračného skriptu pre proxy Comment[sl]=Prišlo je do napake pri izvajanju nastavitvenega skripta posrednika Comment[sr]=Грешка током извршавања скрипте поставе проксија Comment[sr@ijekavian]=Грешка током извршавања скрипте поставе проксија Comment[sr@ijekavianlatin]=Greška tokom izvršavanja skripte postave proksija Comment[sr@latin]=Greška tokom izvršavanja skripte postave proksija Comment[sv]=Fel uppstod vid körning av proxyinställningsskriptet Comment[ta]=மாற்று வடிவமைப்பு குறுநிரலை செயல்படுத்தும்போது பிழை நேர்ந்தது Comment[te]=ప్రాక్సీ రూపకరణపు స్క్రిప్ట్ నిర్వహణలొ దోషం వున్నది Comment[tg]=Ҳангоми иҷрокунии дастнависи танзимшавандаи proxy хато пайдо шуд Comment[th]=เกิดข้อผิดพลาดขึ้นในการเรียกประมวลผลสคริปต์ปรับแต่งพร็อกซี Comment[tr]=Vekil sunucu yapılandırma dosyası çalıştırılamadı Comment[ug]=ۋاكالەتچى سەپلىمە قوليازمىسىنى ئىجرا قىلغاندا خاتالىق كۆرۈلدى Comment[uk]=Помилка запуску скрипту налаштування проксі Comment[uz]=Proksini moslash uchun skriptni ishga tushirishda xato roʻy berdi Comment[uz@cyrillic]=Проксини мослаш учун скриптни ишга туширишда хато рўй берди +Comment[vi]=Có lỗi khi thực thi mã lệnh cấu hình proxy Comment[wa]=Åk n' a nén stî come dj' enondéve li scripe d' apontiaedje do procsi Comment[x-test]=xxThere was an error executing the proxy configuration scriptxx Comment[zh_CN]=执行代理配置脚本时出错 Comment[zh_HK]=代理伺服器組態檔案執行錯誤 Comment[zh_TW]=執行代理組態文稿時發生錯誤 diff --git a/kio/misc/ktelnetservice.desktop b/kio/misc/ktelnetservice.desktop index 389806ecf3..58d5d5a545 100644 --- a/kio/misc/ktelnetservice.desktop +++ b/kio/misc/ktelnetservice.desktop @@ -1,61 +1,62 @@ [Desktop Entry] Type=Application Exec=ktelnetservice %u Icon=utilities-terminal MimeType=x-scheme-handler/telnet;x-scheme-handler/rlogin;x-scheme-handler/ssh; X-DocPath=kioslave/telnet/index.html NoDisplay=true Name=KTelnetService Name[bg]=KTelnetService Name[bs]=KTelnetService Name[ca]=KTelnetService Name[ca@valencia]=KTelnetService Name[cs]=KTelnetService Name[da]=KTelnetService Name[de]=KTelnetService Name[el]=Υπηρεσία KTelnet Name[en_GB]=KTelnetService Name[es]=KTelnetService Name[et]=KTelnetService Name[eu]=KTelnetService Name[fi]=KTelnetService Name[fr]=KTelnetService Name[gl]=KTelnetService Name[hr]=KTelnetService Name[hu]=KTelnetService Name[ia]=KTelnetService (Servicio de KTelnet) Name[is]=KTelnetÞjónusta Name[it]=KTelnetService Name[ja]=KTelnetService Name[kk]=KTelnetService Name[km]=KTelnetService Name[ko]=KTelnetService Name[lt]=KTelnetTarnyba Name[lv]=KTelnetService Name[nb]=KTelnetService Name[nds]=KTelnetService Name[nl]=KTelnetService Name[pa]=KTelnetService Name[pl]=Usługa KTelnet Name[pt]=KTelnetService Name[pt_BR]=KTelnetService Name[ro]=Serviciu KTelnet Name[ru]=Служба telnet KTelnetService Name[se]=KTelnetService Name[si]=KTelnetService Name[sk]=KTelnetService Name[sr]=KMailService Name[sr@ijekavian]=KMailService Name[sr@ijekavianlatin]=KMailService Name[sr@latin]=KMailService Name[sv]=Ktelnet-tjänst Name[th]=KTelnetService Name[tr]=KTelnetService Name[ug]=KTelnetService Name[uk]=Служба telnet KTelnet +Name[vi]=KTelnetService Name[wa]=KTelnetService Name[x-test]=xxKTelnetServicexx Name[zh_CN]=KTelnetService Name[zh_TW]=KTelnet服務 diff --git a/kio/misc/mms.protocol b/kio/misc/mms.protocol index 5eec02e370..ee9af2d959 100644 --- a/kio/misc/mms.protocol +++ b/kio/misc/mms.protocol @@ -1,99 +1,99 @@ [Protocol] helper=true exec= defaultMimetype=uri/mms protocol=mms input=none output=none reading=false Icon=www Class=:internet Description=Microsoft Media Server Protocol Description[af]=Microsoft Media bedienerprotokol Description[ar]=بروتوكول خادم وسائط ميكروسوفت Description[as]=Microsoft Media Server Protocol Description[ast]=Protocolu Microsoft Media Server Description[be]=Пратакол Microsoft Media Server Description[be@latin]=Pratakoł „Microsoft Media Server” Description[bg]=Прогокол Microsoft Media Server Description[bn]=মাইক্রোসফ্‌ট মিডিয়া সার্ভার প্রোটোকল Description[bn_IN]=Microsoft Media Server Protocol Description[bs]=Protokol Majkrosoftovog medija-servera Description[ca]=Protocol Microsoft Media Server Description[ca@valencia]=Protocol Microsoft Media Server Description[cs]=Microsoft Media Server protokol Description[csb]=Protokól Microsoft Media Server Description[da]=Microsoft Medieserver-protokol Description[de]=Microsoft Media-Server-Protokoll Description[el]=Πρωτόκολλο για τον Microsoft Media Server Description[en_GB]=Microsoft Media Server Protocol Description[eo]=Microsoft-aŭdvida servila protokolo Description[es]=Protocolo Microsoft Media Server Description[et]=Microsoft Media Serveri protokoll Description[eu]=Microsoft Media Server protokoloa Description[fa]=قرارداد کارساز رسانه میکروسافت Description[fi]=Microsoft Media -palvelinyhteyskäytäntö Description[fr]=Protocole Microsoft Média Server Description[fy]=Microsoft Media Server Protocol Description[ga]=Prótacal Fhreastalaí Meán Microsoft Description[gl]=Protocolo Media Server da Microsoft Description[gu]=માઇક્રોસોફ્ટ મીડીઆ સર્વર પ્રોટોકોલ Description[he]=פרוטוקול Microsoft Media Server Description[hi]=माइक्रोसॉफ़्ट मीडिया सर्वर प्रोटोकॉल Description[hne]=माइक्रोसाफ्ट मीडिया सर्वर प्रोटोकाल Description[hr]=Protokol Microsoft Media poslužitelja Description[hsb]=Microsoft Media Server protokol Description[hu]=MMS protokoll Description[ia]=Protocollo de servitor de Microsoft Media Description[id]=Protokol Microsoft Media Server Description[is]=Microsoft Media Server samskiptaregla Description[it]=Protocollo Microsoft Media Server Description[ja]=MMS (Microsoft Media Server) プロトコル Description[kk]=Microsoft Media Server протоколы Description[km]=ពិធីកា​ម៉ាស៊ីន​បម្រើ​មេឌៀ​របស់ Microsoft Description[kn]=ಮೈಕ್ರೋಸಾಫ್ಟ್ ಮಾಧ್ಯಮ ಪರಿಚಾರಕ (ಸರ್ವರ್) ಪ್ರಕ್ರಮ (ಪ್ರೋಟೋಕಾಲ್) Description[ko]=마이크로소프트 미디어 서버 프로토콜 Description[ku]=Protokola Pêşkêşkerê Microsoft Media Description[lb]=Microsoft-Media Server-Protokoll Description[lt]=Microsoft media serverio protokolas Description[lv]=Microsoft Media Server protokols Description[mai]=माइक्रोसाफ्ट मीडिया सर्वर प्रोटोकाल Description[mk]=Microsoft Media Server-протокол Description[ml]=മൈക്രോസോഫ്റ്റ് മീഡിയ സെര്‍വര്‍ പ്രോട്ടോക്കോള്‍ Description[mr]=Microsoft Media Server शिष्टाचार Description[ms]=Protokol Pelayan Media Microsoft Description[nb]=Microsoft Media Server Protocol Description[nds]=Microsoft-Medienserverprotokoll Description[ne]=माइक्रोसफ्ट मिडिया सर्भर प्रोटोकल Description[nl]=Microsoft Media Server-protocol Description[nn]=Microsoft Media Server-protokoll Description[or]=Microsoft ସଞ୍ଚାରମାଧ୍ୟମ ସର୍ଭର ପ୍ରୋଟୋକଲ Description[pa]=Microsoft Media ਸਰਵਰ ਪ੍ਰੋਟੋਕਾਲ Description[pl]=Protokół Microsoft Media Server Description[pt]=Protocolo do Microsoft Media Server Description[pt_BR]=Protocolo do Microsoft Media Server Description[ro]=Protocol Microsoft Media Server Description[ru]=Протокол Microsoft Media Server Description[se]=Microsoft Media Server-protokolla Description[sk]=Protokol Microsoft Media Server Description[sl]=Protokol Microsoft Media Server Description[sq]=Microsoft Media Server Protokoll Description[sr]=Протокол Мајкрософтовог медија-сервера Description[sr@ijekavian]=Протокол Мајкрософтовог медија-сервера Description[sr@ijekavianlatin]=Protokol Microsoftovog medija-servera Description[sr@latin]=Protokol Microsoftovog medija-servera Description[sv]=Microsoft mediaserver-protokoll Description[ta]=மைக்ரோசாப்ட் ஊடக வழங்கி நெறிமுறை Description[te]=మైక్రొసాఫ్ట్ మీడియా సెర్వర్ ప్రొటొకాల్ Description[tg]=Протоколи хидматгоҳи Microsoft Media Description[th]=โปรโตคอลสำหรับเซิรฟเวอร์จัดการสื่อของไมโครซอฟต์ (MMS) Description[tr]=Microsoft Media Server Protokolü Description[ug]=مىكروسوفت ۋاسىتە مۇلازىمېتىر كېلىشىمى Description[uk]=Протокол медіа сервера Microsoft -Description[vi]=Giao thức trình phục vụ phương tiện Microsoft™. +Description[vi]=Giao thức máy chủ đa phương tiện Microsoft Description[wa]=Protocole Microsoft Media Server Description[x-test]=xxMicrosoft Media Server Protocolxx Description[zh_CN]=微软媒体服务器协议 Description[zh_HK]=Microsoft Media Server 協定 Description[zh_TW]=Microsoft Media Server 協定 URIMode=url diff --git a/kio/renamedialogplugin.desktop b/kio/renamedialogplugin.desktop index 45e7b987b1..b5605a4781 100644 --- a/kio/renamedialogplugin.desktop +++ b/kio/renamedialogplugin.desktop @@ -1,95 +1,95 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=RenameDialog/Plugin Comment=Plugin for the Rename Dialog Comment[af]=Inplak vir die herbenaamdialoog Comment[ar]=ملحق لمربع حوار إعادة التسمية Comment[as]=পুনঃ নামকৰণ সম্বাদৰ বাবে প্লাগ-ইন Comment[ast]=Complementu pal diálogu de renomáu Comment[be]=Дадатак да дыялогу змены назвы Comment[be@latin]=Plugin dla akna źmieny nazvy Comment[bg]=Приставка за диалога за преименуване Comment[bn]=পরিবর্তন Comment[bn_IN]=নাম পরিবর্তনের ডায়লগের জন্য প্লাগ-ইন Comment[bs]=Priključak za dijalog preimenovanja Comment[ca]=Connector per al diàleg de reanomenar Comment[ca@valencia]=Connector per al diàleg de reanomenar Comment[cs]=Modul pro přejmenovávací dialog Comment[csb]=Wtëkôcz dialogòwegò òkna Zmiana miona Comment[cy]=Ategyn am yr Ymgom Ail-enwi Comment[da]=Plugin til omdøbningsdialog Comment[de]=Erweiterung für den Dialog „Umbenennen“ Comment[el]=Πρόσθετο για το διάλογο μετονομασίας Comment[en_GB]=Plugin for the Rename Dialogue Comment[eo]=Kromprogramo por la renoma dialogo Comment[es]=Complemento para la ventana de cambio de nombre Comment[et]=Ümbernimetamise dialoogi plugin Comment[eu]=Berrizendatze elkarrizketa-koadroen plugin-a Comment[fa]=وصله برای محاوره تغییر نام Comment[fi]=Lisäosa nimenmuuttamisikkunalle Comment[fr]=Module externe pour la boîte de dialogue de renommage Comment[fy]=Plugin foar it 'Omneame'-dialooch Comment[ga]=Breiseán le haghaidh na dialóige athainmnithe Comment[gl]=Engadido para o diálogo de mudanzas de nomes Comment[gu]=નામબદલી સંવાદ માટે પ્લગઈન Comment[he]=תוסף לדו־שיח שינוי שם Comment[hi]=नाम बदलने वाले संवाद के लिए प्लगइन Comment[hne]=नाम बदले वाले गोठ बर प्लगइन Comment[hr]=Priključak za dijalog preimenovanja Comment[hsb]=Zašćěpka za přemjenowanski dialog Comment[hu]=Bővítőmodul az átnevezési párbeszédablakhoz Comment[ia]=Plugin pro le dialogo de re-denomination Comment[id]=Plugin untuk Dialog Ganti Nama Comment[is]=Íforrit fyrir 'endurnefna' gluggann Comment[it]=Plugin per la finestra di dialogo «Rinomina» Comment[ja]=名前変更ダイアログ用プラグイン Comment[kk]=Атауын өзгерту диалогтың модулі Comment[km]=កម្មវិធីជំនួយ​សម្រាប់​ប្រអប់​ប្តូរឈ្មោះ Comment[kn]=ಮರುಹೆಸರಿಸುವಿಕೆಯ ಸಂವಾದಕ್ಕೆ ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Comment[ko]=이름 바꾸기 대화상자용 플러그인 Comment[ku]=Pêvek ji bo Gotûbêja Nû ve Nav Bike Comment[lb]=Plugin fir den Ëmbenennen-Dialog Comment[lt]=Priedas pervadinimo dialogui Comment[lv]=Spraudnis pārdēvēšanas dialogam Comment[mai]=नाम बदलबाक लेल समाद क' लेल प्लगइन Comment[mk]=Приклучок за дијалогот за преименување Comment[ml]=പേരുമാറ്റല്‍ ചോദ്യത്തിനായുള്ള സംയോജകം Comment[mr]=पुन्हनामांकन संवाद करीता प्लगइन Comment[ms]=Plug masuk untuk namakan semula Dialog Comment[nb]=Programtillegg for omnavningsdialogen Comment[nds]=Moduul för den Ümnömen-Dialoog Comment[ne]=पुन: नामकरण संवादका लागि प्लगइन Comment[nl]=Plugin voor de 'Hernoemen'-dialoog Comment[nn]=Tillegg til dialogvindauget «Endra namn» Comment[or]=ପୁନଃ ନାମକରଣ ସଂଳାପ ପାଇଁ ପ୍ଲଗଇନ Comment[pa]=ਨਾਂ-ਬਦਲਣ ਡਾਈਲਾਗ ਲਈ ਪਲੱਗਇਨ Comment[pl]=Wtyczka do okna dialogowego Zmiana nazwy Comment[ps]=د بيانومولو کړکۍ لپاره لګون Comment[pt]='Plugin' para a Janela de Mudança do Nome Comment[pt_BR]=Plug-in para a janela renomear Comment[ro]=Modul pentru dialogul de redenumire Comment[ru]=Расширение диалога переименования Comment[se]=Lassemoduvla nammarievdadanláseža várás Comment[sk]=Modul pre dialóg premenovania Comment[sl]=Vstavek za pogovorno okno za preimenovanje Comment[sr]=Прикључак за дијалог преименовања Comment[sr@ijekavian]=Прикључак за дијалог преименовања Comment[sr@ijekavianlatin]=Priključak za dijalog preimenovanja Comment[sr@latin]=Priključak za dijalog preimenovanja Comment[sv]=Insticksprogram för Byt namn-dialogrutan Comment[ta]=மறுபெயரிடல் பலகத்துக்கான செருகி Comment[te]=పేరు మార్చు సంభాషణ కొరకు ప్లగిన్ Comment[tg]=Васлкунак барои номивази диалог Comment[th]=โปรแกรมเสริมสำหรับกล่องเปลี่ยนชื่อ Comment[tr]=Yeniden İsimlendir Penceresi İçin Eklenti Comment[ug]=ئات ئۆزگەرتىش سۆزلەشكۈ ئۈچۈن قىستۇرما Comment[uk]=Додаток для створення діалогового вікна перейменування Comment[uz]=Nomini oʻzgartirish dialogi uchun plagin Comment[uz@cyrillic]=Номини ўзгартириш диалоги учун плагин -Comment[vi]=Bổ sung cho hộp thoại thay đổi tên. +Comment[vi]=Phần bổ sung cho Hộp thoại đổi tên Comment[wa]=Tchôke-divins pol purnea di rlomaedje -Comment[x-test]=xxPlugin for the Rename Dialogxx Comment[xh]=Iplagi yangaphakathi Yencoko yababini Yokunika igama elitsha +Comment[x-test]=xxPlugin for the Rename Dialogxx Comment[zh_CN]=重命名对话框插件 Comment[zh_HK]=更名對話盒的外掛程式 Comment[zh_TW]=更名對話盒的外掛程式 diff --git a/kio/tests/dummymeta.desktop b/kio/tests/dummymeta.desktop index 1a6b874a06..722358abb5 100644 --- a/kio/tests/dummymeta.desktop +++ b/kio/tests/dummymeta.desktop @@ -1,97 +1,97 @@ [Desktop Entry] Type=Service Name=Dummy Meta Name[af]=Fop Meta Name[ar]=بيانات وهمية Name[as]=Dummy Meta Name[ast]=Falsu Meta Name[be]=Парожнія звесткі Name[be@latin]=Pustyja metaźviestki Name[bg]=Dummy Meta Name[bn]=ডামি মেটা Name[bn_IN]=ডামি মিটা Name[bs]=Lažni meta Name[ca]=Dummy Meta Name[ca@valencia]=Dummy Meta Name[cs]=Prázdné meta Name[csb]=Testowé pòdôwczi Name[cy]=Meta Dymi Name[da]=Dummy-meta Name[de]=Dummy Meta Name[el]=Εικονικό Meta Name[en_GB]=Dummy Meta Name[eo]=Ŝajnaj metadatumoj Name[es]=Dummy Meta Name[et]=Dummy meta Name[eu]=Dummy Meta Name[fa]=فراساختگی Name[fi]=Tyhjä meta Name[fr]=Données factices Name[fy]=Dummy Meta Name[ga]=Meitea Caoch Name[gl]=Dummy Meta Name[gu]=નકલી મેટા Name[he]=Dummy Meta Name[hi]=डमी मेटा Name[hne]=डमी मेटा Name[hr]=Ogledni meta podatak Name[hsb]=Dummy Meta Name[hu]=Üres (dummy) metaadat Name[ia]=Dummy Meta Name[id]=Meta Rekaan Name[is]=Dummy Meta Name[it]=Informazioni aggiuntive posticce Name[ja]=Dummy Meta Name[kk]=Метадерек үлгісі Name[km]=មេតា Dummy Name[kn]=ಸೋಗಿನ (ಡಮ್ಮಿ) ಘನದತ್ತ Name[ko]=가짜 메타 Name[ku]=Meta Çêkirîtî Name[lb]=Dummy-Meta Name[lt]=Netikras Meta Name[lv]=Testa metadati Name[mai]=डमी मेटा Name[ml]=വെറുതെയുള്ള മെറ്റാ Name[mr]=नक्कली मेटा Name[ms]=Meta Olok-olok Name[nb]=Dummy Meta Name[nds]=Dummy Meta Name[ne]=डमी मेटा Name[nl]=Dummy Meta Name[nn]=Eksempelmeta Name[or]=ନକଲି ମେଟା Name[pa]=ਫ਼ਰਜੀ ਮੈਟਾ Name[pl]=Dane testowe Name[pt]=Dummy Meta Name[pt_BR]=Metadado fictício Name[ro]=Test Meta Name[ru]=Пустые метаданные Name[se]=Dummy Meta Name[sk]=Prázdne meta Name[sl]=Slepi Meta Name[sq]=Dummy Meta Name[sr]=Лажни мета Name[sr@ijekavian]=Лажни мета Name[sr@ijekavianlatin]=Lažni meta Name[sr@latin]=Lažni meta Name[sv]=Testmeta Name[ta]=வெற்று மெட்டா Name[te]=డమ్మి మెటా Name[tg]=Dummy Meta Name[th]=ข้อมูลกำกับเทียม Name[tr]=Kukla Meta Name[ug]=مۆلچەر مېتا Name[uk]=Макет метаданих Name[uz]=Maʼnosiz meta Name[uz@cyrillic]=Маъносиз мета Name[vi]=Siêu giả Name[wa]=Biesse meta-dnêye -Name[x-test]=xxDummy Metaxx Name[xh]=Dummy Meta +Name[x-test]=xxDummy Metaxx Name[zh_CN]=哑元 Name[zh_HK]=空的資料定義 Name[zh_TW]=空的資料定義 X-KDE-ServiceTypes=KFilePlugin X-KDE-Library=dummymeta MimeType=text/plain; PreferredItems=Author,Title,Date diff --git a/kioslave/http/http_cache_cleaner.desktop b/kioslave/http/http_cache_cleaner.desktop index 7a1f5b211e..16b78df27c 100644 --- a/kioslave/http/http_cache_cleaner.desktop +++ b/kioslave/http/http_cache_cleaner.desktop @@ -1,191 +1,191 @@ [Desktop Entry] Type=Service Name=HTTP Cache Cleaner Name[af]=HTTP Kasskoonmaker Name[ar]=منظف مخبأ HTTP Name[as]=HTTP কেছে পৰিষ্কাৰ কৰা সৰঞ্জাম Name[ast]=Llimpiador de la caché HTTP Name[be]=Ачыстка кэшу HTTP Name[be@latin]=Vyčyščeńnie padručnaj pamiaci HTTP Name[bg]=Изчистване на кеш-паметта на HTTP Name[bn]=এইচ-টি-টি-পি ক্যাশ ক্লীনার Name[bn_IN]=HTTP ক্যাশে পরিশ্রুতি ব্যবস্থা Name[br]=Naeter Krubuilh HTTP Name[bs]=Čistač HTTP keša Name[ca]=Neteja la memòria cau del HTTP Name[ca@valencia]=Neteja la memòria cau del HTTP Name[cs]=Nástroj pro vyprázdnění cache protokolu HTTP Name[csb]=Czëszczenié cache HTTP Name[cy]=Glanhauwr Storfa HTTP Name[da]=HTTP-cache-rydder Name[de]=Aufräumprogramm für den HTTP-Zwischenspeicher Name[el]=Καθαριστής λανθάνουσας μνήμης HTTP Name[en_GB]=HTTP Cache Cleaner Name[eo]=HTTP-kaŝmemora purigilo Name[es]=Limpiador de la caché de HTTP Name[et]=HTTP vahemälu puhastaja Name[eu]=HTTP cache-garbitzailea Name[fa]=پاک‌کننده نهانگاه قام Name[fi]=HTTP-välimuistin tyhjentäjä Name[fr]=Nettoyage du cache HTTP Name[fy]=HTTP Cache oprommer Name[ga]=Glantóir Taisce HTTP Name[gl]=Limpador da caché de HTTP Name[gu]=HTTP કૅશ સાફ કરનાર Name[he]=מנקה מטמון ה־HTTP Name[hi]=एचटीटीपी कैच क्लीनर Name[hne]=एचटीटीपी कैच क्लीनर Name[hr]=Brisač HTTP-ove međumemorije Name[hsb]=HTTP Cache Cleaner Name[hu]=HTTP gyorstártisztító Name[ia]=Mundator de le HTTP Cache Name[id]=Pembersih Tembolok HTTP Name[is]=Hreinsiforrit HTTP skyndiminnis Name[it]=Ripulitore della cache HTTP Name[ja]=HTTP キャッシュマネージャ Name[kk]=HTTP кэшін босату Name[km]=កម្មវិធី​សម្អាត​ឃ្លាំង​សម្ងាត់ HTTP Name[kn]=HTTP ಸಿದ್ಧಸ್ಮೃತಿ (ಕಾಶೆ) ಶುಚಿಕಾರ (ಕ್ಲೀನರ್) Name[ko]=HTTP 캐시 청소기 Name[ku]=Jê bira Nav-bîra HTTP Name[lb]=Opraumer fir den HTTP-Zwëschespäicher Name[lt]=HTTP krepšio ištuštintojas Name[lv]=HTTP kešatmiņas tīrītājs Name[mai]=एचटीटीपी कैच क्लीनर Name[mk]=Бришење на HTTP-кешот Name[ml]=എച്ച്ടിടിപി കാഷ് വൃത്തിയാക്കുന്നത് Name[mr]=HTTP कॅशे क्लीनर Name[ms]=Pembersih Penyimpan HTTP Name[nb]=HTTP-hurtiglagerrenser Name[nds]=Reenmaker för HTTP-Twischenspieker Name[ne]=एचटीटीपी क्यास क्लिनर Name[nl]=HTTP Cache opschonen Name[nn]=Opprydding av HTTP-mellomlager Name[or]=HTTP ଗୁପ୍ତ ଭଣ୍ଡାର ମାର୍ଜକ Name[pa]=HTTP ਕੈਸ਼ ਸਾਫ਼ ਕਰੋ Name[pl]=Czyszczenie bufora HTTP Name[ps]=پټياد پاکوونکی HTTP Name[pt]=Limpeza da Cache de HTTP Name[pt_BR]=Limpador de cache HTTP Name[ro]=Curățător cache HTTP Name[ru]=Очистка кэша HTTP Name[se]=HTTP gaskarádjosa buhtisteaddji Name[si]=HTTP කැච් මකනය Name[sk]=Čistič vyrovnávacej pamäte HTTP Name[sl]=Čistilnik predpomnilnika HTTP Name[sr]=Чистач ХТТП кеша Name[sr@ijekavian]=Чистач ХТТП кеша Name[sr@ijekavianlatin]=Čistač HTTP keša Name[sr@latin]=Čistač HTTP keša Name[sv]=HTTP-cache-rensare Name[ta]=HTTP நினைவு போக்கி Name[te]=హెచ్ టిటిపి కోశం శుభ్రంచేసేది Name[tg]=Тозакунаки HTTP Cache Name[th]=ตัวล้างแคช HTTP Name[tr]=HTTP Önbellek Temizleyici Name[ug]=HTTP غەملەك تازىلىغۇچ Name[uk]=Очищувач кешу HTTP Name[uz]=HTTP kesh boʻshatgich Name[uz@cyrillic]=HTTP кэш бўшатгич Name[vi]=Bộ làm sạch bộ nhớ tạm HTTP Name[wa]=Netieu del muchete HTTP -Name[x-test]=xxHTTP Cache Cleanerxx Name[xh]=Umcoci wendawo efihlakeleyo yokugcina we HTTP +Name[x-test]=xxHTTP Cache Cleanerxx Name[zh_CN]=HTTP 缓存清除程序 Name[zh_HK]=HTTP 快取清除程式 Name[zh_TW]=HTTP 快取清除程式 Exec=kio_http_cache_cleaner Comment=Cleans up old entries from the HTTP cache Comment[af]=Skoonmaak begin ou inskrywings van die Http kas Comment[ar]=يزيل المدخلات القديمة من مخبأ HTTP Comment[as]=HTTP কেছেৰ পৰা পূৰণা নিবেশ পৰিষ্কাৰ কৰে Comment[ast]=Llimpia entráes antigües de la caché HTTP Comment[be]=Выдаляе старыя запісы з кэшу HTTP Comment[be@latin]=Vyčyščaje staryja zapisy z padručnaj pamiaci HTTP Comment[bg]=Изчистване на старите данни в кеш-паметта на HTTP Comment[bn]=HTTP ক্যাশ থেকে পুরনো তথ্য মুছে ফেলে Comment[bn_IN]=HTTP ক্যাশে থেকে পুরোনো তথ্য মুছে ফেলা হয় Comment[br]=Skarañ enmontoù kozh diwar ar grubuilh HTTP Comment[bs]=Čisti stare stavke iz HTTP keša Comment[ca]=Neteja les entrades antigues de la memòria cau del HTTP Comment[ca@valencia]=Neteja les entrades antigues de la memòria cau del HTTP Comment[cs]=Odstraňuje staré položky z HTTP cache Comment[csb]=Rëmô stôré wpisënczi z cache HTTP Comment[cy]=Glanhau'r hen gofnodion o'r storfa HTTP Comment[da]=Rydder op i gamle indgange fra HTTP-cachen Comment[de]=Löscht alte Einträge aus dem HTTP-Zwischenspeicher Comment[el]=Καθαρίζει παλιές καταχωρήσεις από τη λανθάνουσα μνήμη HTTP Comment[en_GB]=Cleans up old entries from the HTTP cache Comment[eo]=Forigas malnovajn erojn el HTTP-kaŝmemoro Comment[es]=Elimina las entradas antiguas de la caché de HTTP Comment[et]=Puhastab HTTP vahemälu vanadest kirjetest Comment[eu]=HTTP cachearen sarrera zaharrak garbitzen ditu Comment[fa]=مدخلهای قدیمی را از نهانگاه قام پاک می‌کند Comment[fi]=Puhdistaa vanhat tiedot HTTP-välimuistista Comment[fr]=Efface les anciennes entrées du cache HTTP Comment[fy]=Ferwidert âlde items út de HTTP-cache Comment[ga]=Glanann seaniontrálacha ón taisce HTTP Comment[gl]=Elimina as entradas antigas da caché de HTTP Comment[gu]=HTTP કૅશમાંથી જૂનાં દાખલાઓ દૂર કરે છે Comment[he]=מנקה רשומות ישנות ממטמון ה־HTTP Comment[hi]=एचटीटीपी कैच से पुरानी प्रविष्टियों को साफ करता है Comment[hne]=एचटीटीपी कैच से जुन्ना प्रविस्टि मन ल साफ करथे Comment[hr]=Uklanjanje starih unosa iz HTTP-ove međumemorije Comment[hsb]=Wumaza stare zapisy z temporerneho pomjatka HTTP Comment[hu]=Kitörli a régi bejegyzéseket a HTTP gyorstárból Comment[ia]=Il munda le vetere entratas ab le cache HTTP Comment[id]=Membersihkan entri lama dari tembolok HTTP Comment[is]=Hreinsar gamlar færslur úr HTTP skyndiminninu Comment[it]=Ripulisce la cache HTTP dalle voci vecchie Comment[ja]=HTTP キャッシュから古いエントリを削除します Comment[kk]=HTTP кэшін ескі жазулардан тазалау Comment[km]=សម្អាត​ធាតុ​ចាស់ៗ​ពី​ឃ្លាំង​សម្ងាត់ HTTP Comment[kn]=HTTP ಸಿದ್ಧಸ್ಮೃತಿ (ಕಾಶೆ) ಯಲ್ಲಿನ ಹಳೇ ನಮೂದುಗಳನ್ನು ತೆಗೆದು ಶುಚಿಗೊಳಿಸುತ್ತದೆ Comment[ko]=HTTP 캐시의 오래 된 항목을 정리합니다 Comment[ku]=Têketin ên kevn jê nav-bîra HTTP dibe Comment[lb]=Entfernt al Entréen aus dem HTTP-Zwëschespäicher Comment[lt]=Išvalo senus įrašus iš HTTP krepšio Comment[lv]=Iztīra vecos ierakstus no HTTP kešatmiņas Comment[mai]=एचटीटीपी कैच सँ पुरान प्रविष्टिसभकेँ साफ करैत अछि Comment[mk]=Ги брише старите работи од HTTP кешот Comment[ml]=പഴയവ മാറ്റി എച്ച്ടിടിപി കാഷ് വൃത്തിയാക്കുന്നു Comment[mr]=HTTP कॅशे पासून जुण्या नोंदणी काढूण टाकतो Comment[ms]=Membersihkan masukan lama daripada penyimpan HTTP Comment[nb]=Fjerner gamle oppføringer fra hurtiglageret for HTTP Comment[nds]=Smitt ole Indrääg ut den HTTP-Twischenspieker rut Comment[ne]=एचटीटीपी क्यासबाट पुराना प्रविष्टि सफा गर्दछ Comment[nl]=Verwijdert oude items uit de HTTP-cache Comment[nn]=Reinskar opp i gamle oppføringar i HTTP-mellomlageret Comment[or]=HTTP ଗୁପ୍ତ ଭଣ୍ଡାର ରୁ ପୁରୁଣା ନିବେଶ ଗୁଡିକୁ ସଫାକରନ୍ତୁ Comment[pa]=HTTP ਕੈਸ਼ ਤੋਂ ਪੁਰਾਣੀਆਂ ਐਂਟਰੀਆਂ ਸਾਫ਼ ਕਰੋ Comment[pl]=Usuwa stare wpisy z bufora HTTP Comment[ps]=پټياد څخه زړې ننوتنې پاکوي HTTP د Comment[pt]=Limpa o conteúdo desactualizado da cache do HTTP Comment[pt_BR]=Limpa itens antigos do cache HTTP Comment[ro]=Elimină înregistrările vechi din cache-ul HTTP Comment[ru]=Удаление устаревших элементов из кэша HTTP Comment[se]=Buhtista boares merkošiid HTTP gaskarádjosis Comment[sk]=Vyčistí staré položky z vyrovnávacej pamäte HTTP Comment[sl]=Zbriše stare vnose iz pomnilnika HTTP Comment[sr]=Чисти старе ставке из ХТТП кеша Comment[sr@ijekavian]=Чисти старе ставке из ХТТП кеша Comment[sr@ijekavianlatin]=Čisti stare stavke iz HTTP keša Comment[sr@latin]=Čisti stare stavke iz HTTP keša Comment[sv]=Rensar bort gamla poster från HTTP-cachen Comment[ta]=HTTP நினைவிலிருந்து பழையவற்றை போக்குகிறது Comment[te]=హెచ్ టిటిపి కోశం నుంచి పాత ఆరొపములను శుభ్రం చేసేది Comment[tg]=Воридҳои кӯҳна аз HTTP cache тоза мекунад Comment[th]=ล้างรายการเก่าออกจากแคช HTTP Comment[tr]=HTTP önbelleğinden eski girdileri siler Comment[ug]=HTTP غەملەكتىن كونا تۈرلەرنى تازىلايدۇ Comment[uk]=Вичищає старі елементи з кешу HTTP Comment[uz]=HTTP keshidagi eski elementlarni oʻchiradi Comment[uz@cyrillic]=HTTP кэшидаги эски элементларни ўчиради -Comment[vi]=Xoá sạch các mục nhập cũ ra bộ nhớ tạm HTTP. +Comment[vi]=Xóa các mục cũ khỏi bộ đệm HTTP Comment[wa]=Neteye les viyès intrêyes del muchete HTTP -Comment[x-test]=xxCleans up old entries from the HTTP cachexx Comment[xh]=Icoca amangeno amadala asuka kwindawo efihlakeleyo yokugcina ye HTTP +Comment[x-test]=xxCleans up old entries from the HTTP cachexx Comment[zh_CN]=从 HTTP 缓存中清除旧条目 Comment[zh_HK]=從 HTTP 快取中清除舊的項目 Comment[zh_TW]=從 HTTP 快取中清除舊的項目 X-KDE-StartupNotify=false diff --git a/kioslave/http/kcookiejar/kcookiejar.desktop b/kioslave/http/kcookiejar/kcookiejar.desktop index 93b1a2737e..3c8846bb69 100644 --- a/kioslave/http/kcookiejar/kcookiejar.desktop +++ b/kioslave/http/kcookiejar/kcookiejar.desktop @@ -1,123 +1,125 @@ [Desktop Entry] Type=Service Name=Cookie Jar Name[bg]=Буркан за бисквитки Name[bn]=কুকি জার Name[bs]=Kolekcija kolačića Name[ca]=Repositori de galetes Name[ca@valencia]=Repositori de galetes Name[cs]=Cookie Jar Name[da]=Cookie Jar Name[de]=Cookie-Behälter Name[el]=Cookie Jar Name[en_GB]=Cookie Jar Name[es]=Almacén de cookies Name[et]=Küpsisekarp Name[eu]=Cookie ontzia +Name[fa]=ظرف کوکی Name[fi]=Evästeiden säilytys Name[fr]=Boîte à cookies Name[ga]=Crúiscín Fianán Name[gl]=Bote de cookies Name[hr]=Cookie Jar Name[hu]=Cookie-tároló Name[ia]=Cookie Jar Name[id]=Jar Kuki Name[is]=Smákökukrukka Name[it]=Modulo Jar dei cookie Name[ja]=クッキー Jar Name[kk]=Cookie сауыты Name[km]=ខូឃី Jar Name[ko]=쿠키 병 Name[ku]=Cookie Jar Name[lv]=Sīkdatņu trauks Name[nb]=Lager for informasjonskapsler Name[nds]=Kookjepleeg Name[nl]=Cookie-depot Name[pa]=ਕੂਕੀਜ਼ ਜ਼ਾਰ Name[pl]=Przechowywanie ciasteczek Name[pt]=Repositório de 'Cookies' Name[pt_BR]=Repositório de cookies Name[ro]=Modul Cookie JAR Name[ru]=Служба cookie Name[se]=Diehtočoahkorádju Name[sk]=Úložisko cookie Name[sl]=Posoda s piškotki Name[sr]=Тегла за колачиће Name[sr@ijekavian]=Тегла за колачиће Name[sr@ijekavianlatin]=Tegla za kolačiće Name[sr@latin]=Tegla za kolačiće Name[sv]=Kakburk Name[ta]=Cookie Jar Name[tg]=Cookie Jar Name[th]=โถคุกกี้ Name[tr]=Cookie Jar Name[ug]=Cookie Jar Name[uk]=Глечик з куками Name[wa]=Coûke Jar Name[x-test]=xxCookie Jarxx Name[zh_CN]=Cookie Jar 模块 Name[zh_TW]=Cookie Jar Comment=Stores network cookies Comment[bg]=Съхранява мрежовите бисквитки Comment[bs]=Skladišti mrežne kolačiće Comment[ca]=Emmagatzema les galetes de la xarxa Comment[ca@valencia]=Emmagatzema les galetes de la xarxa Comment[cs]=Ukládá síťová cookie Comment[da]=Gemmer netværkscookies Comment[de]=Netzwerk-Cookies speichern Comment[el]=Αποθήκευση δικτυακών cookies Comment[en_GB]=Stores network cookies Comment[es]=Almacena cookies de la red Comment[et]=Võrguküpsiste salvestamine Comment[eu]=Sareko cookie-ak biltegiratzen ditu Comment[fi]=Säilyttää verkkoevästeitä Comment[fr]=Enregistre les cookies réseaux Comment[ga]=Stórálann sé seo fianáin líonra Comment[gl]=Garda cookies da rede Comment[hr]=Sprema mrežne kolačiće Comment[hu]=Hálózati sütik tárolása Comment[ia]=Il immagazina le cookies de rete Comment[id]=Simpan kuki jaringan Comment[is]=Geymir smákökur af netum Comment[it]=Salva cookie di rete Comment[ja]=ネットワーククッキーを保存 Comment[kk]=Желі cookie сақтайтын орын Comment[km]=រក្សាទុក​ខូឃី​បណ្ដាញ Comment[ko]=네트워크 쿠키를 저장합니다 Comment[ku]=Çerezên torê tomar dike Comment[lv]=Galbā tīkla sīkdatnes Comment[nb]=Lagrer informasjonskapsler fra nettverket Comment[nds]=Wohrt Nettwark-Kookjes Comment[nl]=Slaat netwerk-cookies op Comment[pa]=ਨੈੱਟਵਰਕ ਕੂਕੀਜ਼ ਸਟੋਰ ਕਰੋ Comment[pl]=Przechowuje ciasteczka sieciowe Comment[pt]=Guarda os 'cookies' da rede Comment[pt_BR]=Armazena os cookies da rede Comment[ro]=Stochează cookie-uri de rețea Comment[ru]=Сохранение сетевых cookie Comment[se]=Vurke fierpmádatdiehtočoahkuid Comment[sk]=Ukladá sieťové cookies Comment[sl]=Hrani omrežne piškotke Comment[sr]=Складишти мрежне колачиће Comment[sr@ijekavian]=Складишти мрежне колачиће Comment[sr@ijekavianlatin]=Skladišti mrežne kolačiće Comment[sr@latin]=Skladišti mrežne kolačiće Comment[sv]=Lagrar nätverkskakor Comment[ta]=பிணைய நினைவிகளை சேமிக்கிறது Comment[tg]=Нигоҳдории хусиятҳои шабака -Comment[th]=จัดเก็บคุกกี้ต่างๆ ที่ได้จากเครือข่าย +Comment[th]=จัดเก็บคุกกี้ต่าง ๆ ที่ได้จากเครือข่าย Comment[tr]=Ağ çerezlerini saklar Comment[ug]=تور cookie نى ساقلايدۇ Comment[uk]=Зберігання кук мережі +Comment[vi]=Lưu cookies mạng Comment[wa]=Wåde les coûkes del rantoele Comment[x-test]=xxStores network cookiesxx Comment[zh_CN]=存储网络 cookie Comment[zh_TW]=儲存網路 cookie X-KDE-ServiceTypes=KDEDModule Exec=kcookiejar4 X-DBUS-StartupType=Unique X-KDE-StartupNotify=false X-KDE-Library=kcookiejar X-KDE-DBus-ModuleName=kcookiejar X-KDE-Kded-autoload=false X-KDE-Kded-load-on-demand=true diff --git a/knotify/tests/knotifytest.notifyrc b/knotify/tests/knotifytest.notifyrc index f8d467405d..7c4439e8b9 100644 --- a/knotify/tests/knotifytest.notifyrc +++ b/knotify/tests/knotifytest.notifyrc @@ -1,606 +1,613 @@ [Global] IconName=knotifytest Comment=Test for Knotify Comment[af]=Toets vir Knotify Comment[ar]=اختبار لـ Knotify Comment[as]=Knotify ৰ বাবে পৰীক্ষা Comment[ast]=Prueba pa KNotify Comment[be@latin]=Test dla słužby „Knotify” Comment[bg]=Тест за Knotify Comment[bn]=কে-নোটিফাই-এর জন্য পরীক্ষা Comment[bn_IN]=Knotify সংক্রান্ত পরীক্ষা Comment[bs]=Proba za K‑obaveštenja Comment[ca]=Prova pel Knotify Comment[ca@valencia]=Prova pel Knotify Comment[cs]=Test pro KNotify Comment[csb]=Test dlô Knotify Comment[da]=Test for Knotify Comment[de]=Test für KNotify Comment[el]=Δοκιμή του Knotify Comment[en_GB]=Test for Knotify Comment[eo]=Testo por Knotify Comment[es]=Prueba para Knotify Comment[et]=Knotify test Comment[eu]=Knotify-rendako testua Comment[fa]=آزمون برای Knotify Comment[fi]=Testi ilmoitusjärjestelmälle Comment[fr]=Test pour Knotify Comment[fy]=Test foar Knotify Comment[ga]=Tástáil Knotify Comment[gl]=Proba do KNotify Comment[gu]=Knotify માટે ચકાસણી Comment[he]=בדיקה עבור Knotify Comment[hi]=के-नोटिफ़ाई के लिए जाँच Comment[hne]=के-नोटिफाई बर जांच Comment[hr]=Proba za Knotify Comment[hsb]=Test za Knotify Comment[hu]=A KNotify tesztelése Comment[ia]=Essayo pro Knotify Comment[id]=Tes Knotify Comment[is]=Prófun á Knotify Comment[it]=Prova per Knotify Comment[ja]=Knotify のためのテスト Comment[kk]=Knotify-дің сынағы Comment[km]=សាកល្បង​សម្រាប់ Knotify Comment[kn]=ಕೆನೋಟಿಫೈ ಗೆ ಪರೀಕ್ಷೆ Comment[ko]=Knotify 테스트 Comment[ku]=Ceribandin ji bo Khişyarî Comment[lt]=Knotify testas Comment[lv]=Knotify tests Comment[mai]=के-नोटिफ़ाई क' लेल जाँच Comment[mk]=Тест за Knotify Comment[ml]=കെനോടിഫൈയുടെ പരിശോധന Comment[mr]=Knotify करीता चाचणी Comment[nb]=Test for Knotify Comment[nds]=Na KNotify kieken Comment[ne]=केडीई सूचनाका लागि परीक्षण Comment[nl]=Test voor KNotify Comment[nn]=Test for KNotify Comment[or]=Knotify ପାଇଁ ପରୀକ୍ଷଣ Comment[pa]=ਕੇ-ਨੋਟੀਫਾਈ ਲਈ ਟੈਸਟ Comment[pl]=Test Knotify Comment[ps]=لپاره ازموېنه Knotify د Comment[pt]=Teste do KNotify Comment[pt_BR]=Teste do KNotify Comment[ro]=Test pentru Knotify Comment[ru]=Проверка работы Knotify Comment[se]=Knotify-geahččaleapmi Comment[sk]=Test pre Knotify Comment[sl]=Test za Knotify Comment[sr]=Проба за К‑обавештења Comment[sr@ijekavian]=Проба за К‑обавјештења Comment[sr@ijekavianlatin]=Proba za K‑obavještenja Comment[sr@latin]=Proba za K‑obaveštenja Comment[sv]=Test av Knotify Comment[ta]=Knotifyக்கான சோதனை Comment[tg]=Санҷиши Knotify Comment[th]=การทดสอบสำหรับ KNotify Comment[tr]=Knotify için Test Comment[ug]=Knotify ئۈچۈن سىناق Comment[uk]=Тест для Knotify +Comment[vi]=Kiểm tra Knotify Comment[wa]=Asprouvaedje po KNotify Comment[x-test]=xxTest for Knotifyxx Comment[zh_CN]=Knotify 测试 Comment[zh_TW]=測試 Knotify Version=4 [Context/group] Name=Group Name[af]=Groep Name[ar]=المجموعة Name[as]=সমষ্টি Name[ast]=Agrupar Name[be]=Група Name[be@latin]=Hrupa Name[bg]=Група Name[bn]=গ্রুপ Name[bn_IN]=দল Name[bs]=Grupa Name[ca]=Grup Name[ca@valencia]=Grup Name[cs]=Skupina Name[csb]=Grëpa Name[da]=Gruppe Name[de]=Gruppe Name[el]=Ομάδα Name[en_GB]=Group Name[eo]=Grupo Name[es]=Grupo Name[et]=Grupp Name[eu]=Taldea Name[fa]=گروه Name[fi]=Ryhmä Name[fr]=Groupe Name[fy]=Groep Name[ga]=Grúpa Name[gl]=Grupo Name[gu]=જૂથ Name[he]=קבוצה Name[hi]=समूह Name[hne]=समूह Name[hr]=Grupa Name[hsb]=Skupina Name[hu]=Csoport Name[ia]=Gruppo Name[id]=Grup Name[is]=Hópur Name[it]=Gruppo Name[ja]=グループ Name[kk]=Топ Name[km]=ក្រុម Name[kn]=ಸಮೂಹ Name[ko]=그룹 Name[ku]=Kom Name[lt]=Grupė Name[lv]=Grupa Name[mai]=समूह Name[mk]=Група Name[ml]=കൂട്ടം Name[mr]=समुह Name[ms]=Kumpulan Name[nb]=Gruppe Name[nds]=Koppel Name[ne]=समूह Name[nl]=Groep Name[nn]=Gruppe Name[oc]=Grop Name[or]=ସମୂହ Name[pa]=ਗਰੁੱਪ Name[pl]=Grupa Name[ps]=ډله Name[pt]=Grupo Name[pt_BR]=Grupo Name[ro]=Grup Name[ru]=Группа Name[se]=Joavku Name[si]=සමූහය Name[sk]=Skupina Name[sl]=Skupina Name[sq]=Grupi Name[sr]=Група Name[sr@ijekavian]=Група Name[sr@ijekavianlatin]=Grupa Name[sr@latin]=Grupa Name[sv]=Grupp Name[ta]=குழுமம் Name[tg]=Гурӯҳ Name[th]=กลุ่ม Name[tr]=Grup Name[ug]=گۇرۇپپا Name[uk]=Група +Name[vi]=Nhóm Name[wa]=Groupe Name[x-test]=xxGroupxx Name[zh_CN]=组 Name[zh_TW]=群組 Comment=The group Comment[af]=Die groep Comment[ar]=المجموعة Comment[as]=সমষ্টিটো Comment[ast]=El grupu Comment[be@latin]=Hrupa Comment[bg]=Група Comment[bn]=গ্রুপটি Comment[bn_IN]=দল Comment[bs]=Grupa Comment[ca]=El grup Comment[ca@valencia]=El grup Comment[cs]=Skupina Comment[csb]=Grëpa Comment[da]=Gruppen Comment[de]=Die Gruppe Comment[el]=Η ομάδα Comment[en_GB]=The group Comment[eo]=La grupo Comment[es]=El grupo Comment[et]=Grupp Comment[eu]=Taldea Comment[fa]=گروه Comment[fi]=Ryhmä Comment[fr]=Le groupe Comment[fy]=De groep Comment[ga]=An grúpa Comment[gl]=O grupo Comment[gu]=સમૂહ Comment[he]=הקבוצה Comment[hi]=समूह Comment[hne]=समूह Comment[hr]=Grupa Comment[hsb]=Skupina Comment[hu]=A csoport Comment[ia]=Le gruppo Comment[id]=Grup Comment[is]=Hópurinn Comment[it]=Il gruppo Comment[ja]=グループ Comment[kk]=Тобы Comment[km]=ក្រុម Comment[kn]=ಸಮೂಹ Comment[ko]=그룹 Comment[ku]=Kom Comment[lt]=Grupė Comment[lv]=Grupa Comment[mai]=समूह Comment[mk]=Групата Comment[ml]=കൂട്ടം Comment[mr]=समुह Comment[nb]=Gruppa Comment[nds]=De Koppel Comment[ne]=समूह Comment[nl]=De groep Comment[nn]=Gruppa Comment[or]=ଏହି ସମୂହ Comment[pa]=ਗਰੁੱਪ Comment[pl]=Grupa Comment[ps]=ډله Comment[pt]=O grupo Comment[pt_BR]=O grupo Comment[ro]=Grupul Comment[ru]=Группа Comment[se]=Joavku Comment[si]=සමූහය Comment[sk]=Skupina Comment[sl]=Skupina Comment[sr]=Група Comment[sr@ijekavian]=Група Comment[sr@ijekavianlatin]=Grupa Comment[sr@latin]=Grupa Comment[sv]=Gruppen Comment[ta]=குழுமம் Comment[tg]=Гурӯҳ Comment[th]=กลุ่ม Comment[tr]=Grup Comment[ug]=گۇرۇپپا Comment[uk]=Група +Comment[vi]=Nhóm Comment[wa]=Li groupe Comment[x-test]=xxThe groupxx Comment[zh_CN]=组 Comment[zh_TW]=群組 Icon=folder [Event/online] Name=Online Name[af]=Aanlyn Name[ar]=متصل Name[as]=অন-লাইন Name[ast]=En llinia Name[be]=У сеціве Name[be@latin]=U siecivie Name[bg]=Включен Name[bn]=অনলাইন Name[bn_IN]=অনলাইন অবস্থা Name[bs]=Na vezi Name[ca]=Connectat Name[ca@valencia]=Connectat Name[cs]=Online Name[csb]=Online Name[da]=Online Name[de]=Online Name[el]=Σε σύνδεση Name[en_GB]=Online Name[eo]=Enreta Name[es]=Conectado Name[et]=Võrgus Name[eu]=Linean Name[fa]=برخط Name[fi]=Paikalla Name[fr]=Connecté(e) Name[fy]=Ferbining Name[ga]=Ar Líne Name[gl]=En liña Name[gu]=ઓનલાઈન Name[he]=מחובר Name[hi]=ऑनलाइन Name[hne]=आनलाइन Name[hr]=Povezan Name[hsb]=Online Name[hu]=Online Name[ia]=In linea Name[id]=Tersambung Name[is]=Tengd(ur) Name[it]=In linea Name[ja]=オンライン Name[kk]=Онлайн Name[km]=លើ​បណ្ដាញ Name[kn]=ಜಾಲಮುಖೇನ Name[ko]=온라인 Name[ku]=Girêdayî Name[lt]=Prisijungę Name[lv]=Tiešsaistē Name[mai]=आनलाइन Name[mk]=На мрежа Name[ml]=ഓണ്‍ലൈന്‍ Name[mr]=ऑनलाइन Name[nb]=Tilkoblet Name[nds]=Tokoppelt Name[ne]=अनलाइन Name[nl]=Online Name[nn]=Tilkopla Name[oc]=En linha Name[or]=ସଂଯୁକ୍ତ Name[pa]=ਆਨਲਾਇਨ Name[pl]=Online Name[ps]=پرليکه Name[pt]=Ligado Name[pt_BR]=Online Name[ro]=Conectat Name[ru]=В сети Name[se]=Láktašuvvon Name[si]=සබැඳි Name[sk]=Online Name[sl]=Na zvezi Name[sq]=Lidhur Name[sr]=На вези Name[sr@ijekavian]=На вези Name[sr@ijekavianlatin]=Na vezi Name[sr@latin]=Na vezi Name[sv]=Uppkopplad Name[ta]=இணைப்பில் Name[tg]=Дар шабака Name[th]=ออนไลน์ Name[tr]=Çevrim içi Name[ug]=توردا Name[uk]=В мережі +Name[vi]=Trực tuyến Name[wa]=Raloyî Name[x-test]=xxOnlinexx Name[zh_CN]=在线 Name[zh_TW]=上線 Comment=The contact is now connected Comment[af]=Die kontak is nou gekoppel Comment[ar]=المُراسَل متصل Comment[as]=সংযোগৰ সৈতে এতিয়া সম্পৰ্ক কৰা হ'ল Comment[ast]=Coneutóse'l contautu Comment[be@latin]=Asoba ciapier spałučyłasia Comment[bg]=Контактът е свързан Comment[bn]=কনট্যাক্ট এখন সংযুক্ত Comment[bn_IN]=পরিচিতির সাথে সংযোগ স্থাপিত হয়েছে Comment[bs]=Kontakt je sada povezan Comment[ca]=El contacte ara està connectat Comment[ca@valencia]=El contacte ara està connectat Comment[cs]=Kontakt je nyní připojen Comment[csb]=Kòntakt je terô pòdłączony Comment[da]=Kontakten er nu forbundet Comment[de]=Der Kontakt ist jetzt verbunden Comment[el]=Η επαφή είναι τώρα συνδεδεμένη Comment[en_GB]=The contact is now connected Comment[eo]=Konektiĝis al kontakto Comment[es]=El contacto está ahora conectado Comment[et]=Kontakt on nüüd võrgus Comment[eu]=Kontaktua liinean dago Comment[fa]=تماس، اکنون متصل است Comment[fi]=Yhteystieto on nyt paikalla Comment[fr]=Le contact est désormais connecté Comment[fy]=De kontaktpersoan is no ferbûn Comment[ga]=Tá an teagmháil ceangailte anois Comment[gl]=O contacto está conectado Comment[gu]=સંપર્ક હવે જોડાયેલ છે Comment[he]=איש הקשר מחובר כעת Comment[hi]=संपर्क जुड़ गया है Comment[hne]=संपर्क जुड़ गे हे Comment[hr]=Kontakt je sada spojen Comment[hsb]=Kontakt je nětko nawjazany Comment[hu]=A partner csatlakozott (online állapotú) Comment[ia]=Le contacto nunc es connectite Comment[id]=Kontak sekarang tersambung Comment[is]=Tengiliðurinn er tengdur núna Comment[it]=Il contatto è ora connesso Comment[ja]=連絡先がオンラインになりました Comment[kk]=Контакт қосылды Comment[km]=ឥឡូវ ទំនាក់ទំនង​ត្រូវ​បាន​តភ្ជាប់ Comment[kn]=ಸಂಪರ್ಕವ್ಯಕ್ತಿ ಈಗ ಸಂಪರ್ಕಗೊಂಡಿದ್ದಾನೆ Comment[ko]=대화 상대가 연결됨 Comment[ku]=Gehînek niha hate girêdan Comment[lt]=Kontaktas dabar prisijungęs Comment[lv]=Kontakts ir pieslēdzies Comment[mai]=संपर्क जुड़ि गेल अछि Comment[mk]=Контактот е сега на мрежа Comment[ml]=പരിചയമുള്ളയാള്‍ ഇപ്പോള്‍ ബന്ധപ്പെട്ടിട്ടുണ്ട് Comment[mr]=संपर्काशी आता जुळवणी झाली आहे Comment[nb]=Kontakten er nå tilkoblet Comment[nds]=De Kontakt is nu tokoppelt Comment[ne]=सम्पर्क अहिले जडान गरिएको छ Comment[nl]=De contact is nu verbonden Comment[nn]=Kontakten er no kopla til Comment[or]=ସମ୍ପର୍କ ଟି ବର୍ତ୍ତମାନ ସଂଯୋଗ ହୋଇଗଲା Comment[pa]=ਸੰਪਰਕ ਹੁਣ ਕੁਨੈਕਟ ਹੋ ਗਿਆ ਹੈ Comment[pl]=Kontakt jest obecnie dostępny Comment[ps]=اړيکنيو اوس نښتې دی Comment[pt]=O contacto ligou-se agora Comment[pt_BR]=O contato está conectado agora Comment[ro]=Contactul este acum conectat Comment[ru]=Контакт сейчас подключён Comment[se]=Oktavuohta lea dál láktašuvvon Comment[si]=සබධතාව දැන් සම්බන්ධ වී ඇත Comment[sk]=Kontakt sa práve pripojil Comment[sl]=Stik je sedaj povezan Comment[sr]=Контакт је сада повезан Comment[sr@ijekavian]=Контакт је сада повезан Comment[sr@ijekavianlatin]=Kontakt je sada povezan Comment[sr@latin]=Kontakt je sada povezan Comment[sv]=Kontakten är nu uppkopplad Comment[ta]=தொடர்புடையவருடன் இணைக்கப்பட்டது Comment[tg]=Алоқа ҳозир пайваст шуд Comment[th]=ขณะนี้ได้เชื่อมต่อกับรายชื่อติดต่อแล้ว Comment[tr]=Kişi şimdi bağlı Comment[ug]=ئالاقەداش باغلاندى Comment[uk]=Контакт тепер з'єднаний +Comment[vi]=Hiện đã kết nối liên lạc Comment[wa]=Li soçon est asteure raloyî Comment[x-test]=xxThe contact is now connectedxx Comment[zh_CN]=联系人现已上线 Comment[zh_TW]=聯絡人已上線 Contexts=group Action=Popup [Event/message] Name=Message Received Name[af]=Boodkap ontvang Name[ar]=وصلت رسالة Name[as]=সম্বাদ পোৱা গ'ল Name[ast]=Mensaxe recibíu Name[be@latin]=Novaje paviedamleńnie Name[bg]=Съобшението е получено Name[bn]=বার্তা এসেছে Name[bn_IN]=বার্তা প্রাপ্ত হয়েছে Name[bs]=Poruka primljena Name[ca]=Missatge rebut Name[ca@valencia]=Missatge rebut Name[cs]=Obdržena zpráva Name[csb]=Òtrzëmóno wiadło Name[da]=Besked modtaget Name[de]=Nachricht empfangen Name[el]=Λήφθηκε μήνυμα Name[en_GB]=Message Received Name[eo]=Ricevis mesaĵon Name[es]=Mensaje recibido Name[et]=Saadi sõnum Name[eu]=Mezua jaso da Name[fa]=پیغام دریافت شد Name[fi]=Uusi viesti Name[fr]=Message reçu Name[fy]=Berjocht ûntfongen Name[ga]=Fuarthas Teachtaireacht Name[gl]=Recibiuse unha mensaxe Name[gu]=સંદેશો મળ્યો છે Name[he]=ההודעה התקבלה Name[hi]=संदेश प्राप्त Name[hne]=संदेस प्राप्त Name[hr]=Primljena poruka Name[hsb]=Powěsć dóstata Name[hu]=Üzenet érkezett Name[hy]=Հաղորդագրությունը ստացված է Name[ia]=Message recipite Name[id]=Pesan Diterima Name[is]=Skilaboð móttekin Name[it]=Messaggio ricevuto Name[ja]=メッセージを受信 Name[kk]=Хабарлама келді Name[km]=បាន​ទទួល​សារ Name[kn]=ಸಂದೇಶ ಸ್ವೀಕರಿಸಲಾಗಿದೆ Name[ko]=메시지 받음 Name[ku]=Peyam Hat Standin Name[lt]=Žinutė gauta Name[lv]=Saņemts ziņojums Name[mai]=संदेश प्राप्त Name[mk]=Примена е порака Name[ml]=സന്ദേശം ലഭിച്ചു Name[mr]=संदेश प्राप्त झाले Name[nb]=Melding mottatt Name[nds]=Bescheed kregen Name[ne]=सन्देश प्राप्त भयो Name[nl]=Bericht ontvangen Name[nn]=Melding motteken Name[oc]=Messatge recebut Name[or]=ସନ୍ଦେଶ ପ୍ରାପ୍ତ ହେଲା Name[pa]=ਸੁਨੇਹਾ ਮਿਲਿਆ Name[pl]=Otrzymano wiadomość Name[ps]=استوزه ترلاسه شوه Name[pt]=Mensagem Recebida Name[pt_BR]=Mensagem recebida Name[ro]=Mesaj primit Name[ru]=Получено сообщение Name[se]=Diehtu bođii Name[si]=පණිවිඩය ලැබුනා Name[sk]=Prijatá správa Name[sl]=Sporočilo je prejeto Name[sr]=Примљена порука Name[sr@ijekavian]=Примљена порука Name[sr@ijekavianlatin]=Primljena poruka Name[sr@latin]=Primljena poruka Name[sv]=Meddelande mottaget Name[ta]=தகவல் பெறப்பட்டது Name[tg]=Паём қабул шуд Name[th]=ได้รับข้อความ Name[tr]=İleti Alındı Name[ug]=ئۇچۇر قوبۇللىدى Name[uk]=Повідомлення отримано +Name[vi]=Đã nhận tin nhắn Name[wa]=Messaedje riçî Name[x-test]=xxMessage Receivedxx Name[zh_CN]=收到了消息 Name[zh_TW]=接到訊息 Comment=A Message has been received Comment[af]='n Boodskap is ontvang Comment[ar]=وصلت رسالة Comment[as]=এটা সম্বাদ পোৱা হৈছে Comment[ast]=Recibióse un mensaxe Comment[be]=Была атрымана паведамленне Comment[be@latin]=Atrymanaje novaje paviedamleńnie Comment[bg]=Получено е съобщение Comment[bn]=একটি বার্তা এসেছে Comment[bn_IN]=একটি বার্তা প্রাপ্ত হয়েছে Comment[bs]=Poruka je upravo primljena Comment[ca]=S'ha rebut un missatge Comment[ca@valencia]=S'ha rebut un missatge Comment[cs]=Byla obdržena zpráva Comment[csb]=Òstało òtrzëmóné wiadło Comment[da]=En besked er blevet modtaget Comment[de]=Es ist eine Nachricht empfangen worden Comment[el]=Ένα μήνυμα λήφθηκε Comment[en_GB]=A Message has been received Comment[eo]=Ricevis mesaĵon Comment[es]=Se ha recibido un mensaje Comment[et]=Saadi sõnum Comment[eu]=Mezu bat jaso da Comment[fa]=پیغامی دریافت شده‌است Comment[fi]=Uusi viesti on saapunut Comment[fr]=Vous avez reçu un message Comment[fy]=In berjocht is ûntfongen Comment[ga]=Fuarthas teachtaireacht Comment[gl]=Foi recibida unha mensaxe Comment[gu]=સંદેશો મેળવવામાં આવ્યો છે Comment[he]=ההודעה נשלחה Comment[hi]=संदेश प्राप्त हो गया है Comment[hne]=संदेस प्राप्त हो गे हे Comment[hr]=Poruka je primljena Comment[hsb]=Powěsć je so dóstała Comment[hu]=Üzenet érkezett Comment[ia]=Un message ha essite recipite Comment[id]=Sebuah pesan telah diterima Comment[is]=Tekið hefur verið á móti skilaboðum Comment[it]=È stato ricevuto un messaggio Comment[ja]=メッセージを受信しました Comment[kk]=Хабарлама келді Comment[km]=សារ​ត្រូវ​បាន​ទទួល Comment[kn]=ಒಂದು ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆ Comment[ko]=메시지를 받았음 Comment[ku]=Peyamek hat standin Comment[lt]=Gauta žinutė Comment[lv]=Ir saņemts ziņojums Comment[mai]=संदेश प्राप्त भए गेल अछि Comment[mk]=Беше примена порака Comment[ml]=ഒരു സന്ദേശം ലഭിച്ചു Comment[mr]=संदेश प्राप्त झाले आहे Comment[nb]=En melding er mottatt Comment[nds]=Dat en Bescheed geven Comment[ne]=सन्देश प्राप्त गरियो Comment[nl]=Er is een bericht ontvangen Comment[nn]=Ei melding er motteken Comment[or]=ଗୋଟିଏ ସନ୍ଦେଶ ପ୍ରାପ୍ତ ହେଲା Comment[pa]=ਇੱਕ ਸੁਨੇਹਾ ਮਿਲਿਆ ਹੈ Comment[pl]=Otrzymano wiadomość Comment[ps]=يوه استوزه ترلاسه شوه Comment[pt]=Foi recebida uma mensagem Comment[pt_BR]=Uma mensagem foi recebida Comment[ro]=A fost primit un mesaj Comment[ru]=Было получено сообщение Comment[se]=Diehtu bođii Comment[sk]=Správa bola prijatá Comment[sl]=Sporočilo je bilo prejeto Comment[sr]=Порука је управо примљена Comment[sr@ijekavian]=Порука је управо примљена Comment[sr@ijekavianlatin]=Poruka je upravo primljena Comment[sr@latin]=Poruka je upravo primljena Comment[sv]=Ett meddelande har tagits emot Comment[ta]=தகவலொன்று பெறப்பட்டுள்ளது Comment[te]=సందేశం వచ్చింది Comment[tg]=Як паём қабул карда шуд Comment[th]=ได้รับข้อความแล้ว Comment[tr]=Bir ileti alındı Comment[ug]=بىر ئۇچۇر قوبۇللىدى Comment[uk]=Повідомлення було отримано +Comment[vi]=Đã nhận được một tin nhắn Comment[wa]=On messaedje a stî rçî Comment[x-test]=xxA Message has been receivedxx Comment[zh_CN]=收到了一条消息 Comment[zh_TW]=訊息已接收 Contexts=group Action=Popup diff --git a/kparts/browserview.desktop b/kparts/browserview.desktop index 027fa05f25..0fbb823017 100644 --- a/kparts/browserview.desktop +++ b/kparts/browserview.desktop @@ -1,157 +1,157 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Browser/View X-KDE-Derived=KParts/ReadOnlyPart Name=Browser View Name[af]=Blaaier-aansig Name[ar]=عرض تصفحي Name[as]=চৰকৰ প্ৰদৰ্শন Name[ast]=Vista de restolador Name[be]=Выгляд аглядальніка Name[be@latin]=Vyhlad hartača Name[bg]=Изглед браузър Name[bn]=ব্রাউজার দৃশ্য Name[bn_IN]=ব্রাউজার অনুসারে প্রদর্শন Name[br]=Gwel Furchal Name[bs]=Pregledački prikaz Name[ca]=Vista del navegador Name[ca@valencia]=Vista del navegador Name[cs]=Prohlížeč Name[csb]=Wëzdrzatk przezérnika Name[cy]=Golwg Porydd Name[da]=Browservisning Name[de]=Browser-Ansicht Name[el]=Προβολή εξερευνητή Name[en_GB]=Browser View Name[eo]=Rigardo de TTT-legilo Name[es]=Vista de navegador Name[et]=Brauseri vaade Name[eu]=Arakatzailearen ikuspegia Name[fa]=نمای مرورگر Name[fi]=Selainnäkymä Name[fr]=Affichage du navigateur Name[fy]=Browserwerjefte Name[ga]=Amharc Brabhsálaí Name[gl]=Vista de navegador Name[gu]=બ્રાઉઝર દેખાવ Name[he]=תצוגת דפדפן Name[hi]=ब्राउज़र दृश्य Name[hne]=ब्राउजर दृस्य Name[hr]=Prikaz pretraživača Name[hsb]=Browserowy napohlad Name[hu]=Böngészőnézet Name[ia]=Vista de navigator Name[id]=Tampilan Peramban Name[is]=Vafrasýn Name[it]=Vista browser Name[ja]=ブラウズビュー Name[kk]=Шолғыш көрнісі Name[km]=ទិដ្ឋភាព​កម្មវិធី​រុករក Name[kn]=ವೀಕ್ಷಕ ನೋಟ Name[ko]=탐색기 보기 Name[ku]=Dîmena Gerokê Name[lb]=Browser-Siicht Name[lt]=Rodyti naršyklėje Name[lv]=Pārlūka skatījums Name[mai]=ब्राउजर दृश्य Name[mk]=Разгледување Name[ml]=ബ്രൌസറിലെ കാഴ്ച Name[mr]=ब्राउजर दृश्य Name[ms]=Pelihat Pelayar Name[nb]=Nettleservisning Name[nds]=Kieker-Ansicht Name[ne]=ब्राउजर दृश्य Name[nl]=Browserweergave Name[nn]=Nettlesarvising Name[or]=ବ୍ରାଉଜର ଦୃଶ୍ୟ Name[pa]=ਝਲਕਾਰਾ ਝਲਕ Name[pl]=Widok przeglądarki Name[ps]=لټوونی کوت Name[pt]=Navegador Name[pt_BR]=Visualização navegador Name[ro]=Vizualizare navigator Name[ru]=Вид страницы Name[se]=Fierpmádatlogana čájeheapmi Name[si]=ගවේෂක දසුන Name[sk]=Prehliadač Name[sl]=Pogled brskalnika Name[sr]=Прегледачки приказ Name[sr@ijekavian]=Прегледачки приказ Name[sr@ijekavianlatin]=Pregledački prikaz Name[sr@latin]=Pregledački prikaz Name[sv]=Surfvy Name[ta]=உலாவிக் காட்சி Name[te]=అన్వేషి వీక్షణం Name[tg]=Намуди намоишгар Name[th]=มุมมองแบบเบราว์เซอร์ Name[tr]=Tarayıcı Görünümü Name[ug]=توركۆرگۈ كۆرۈنۈش Name[uk]=Перегляд «Навігація» Name[uz]=Brauzerning koʻrinishi Name[uz@cyrillic]=Браузернинг кўриниши Name[vi]=Xem duyệt Name[wa]=Vuwe foyteuse -Name[x-test]=xxBrowser Viewxx Name[xh]=Imboniselo Yomkhangeli zincwadi +Name[x-test]=xxBrowser Viewxx Name[zh_CN]=浏览器视图 Name[zh_HK]=瀏覽器視圖 Name[zh_TW]=瀏覽器視圖 # Arguments passed to the factory (e.g. view sub-type) [PropertyDef::X-KDE-BrowserView-Args] Type=QString # If false, this component won't be used when clicking on a file, # the user will have to use "Embed in..." to use it (or the application # will have to explicitly embed this particular service, like for the sidebar) [PropertyDef::X-KDE-BrowserView-AllowAsDefault] Type=bool # If true, this component won't appear in the "Embed in..." popupmenu [PropertyDef::X-KDE-BrowserView-HideFromMenus] Type=bool # If true, the view will have its "linked" checkbox checked in Konqueror # (Was initially for the sidebar, but it's a FollowActive nowadays) [PropertyDef::X-KDE-BrowserView-LinkedView] Type=bool # If true, this view shows a hierarchical view, i.e. more than one dir at a time # This is used by KonqPopupMenu to know whether to offer "Create Directory" # in the RMB menu on a directory (since it depends on whether the user would # see that new dir). [PropertyDef::X-KDE-BrowserView-HierarchicalView] Type=bool # If true, the view is passive (can't be made the current active view) [PropertyDef::X-KDE-BrowserView-PassiveMode] Type=bool # If true, the view can only be there 0 or 1 time in a given window, # and a toggle action for it will be created (examples: sidebar, konsolepart) [PropertyDef::X-KDE-BrowserView-Toggable] Type=bool # If the view is toggable, this defines its orientation (Horizontal or Vertical) [PropertyDef::X-KDE-BrowserView-ToggableView-Orientation] Type=QString # If true, this view will always "follow the active view" (and vice versa: # when the active view goes to another url, this view will follow). # Mostly used by the sidebar. [PropertyDef::X-KDE-BrowserView-FollowActive] Type=bool # If this property is set, this view is "builtin" to the application using it # The value of the property is the application in question (e.g. "konqueror"). # This is used to set the active instance to the app's (so the bugs # go to "konqueror" and not to "konqiconview"). [PropertyDef::X-KDE-BrowserView-Built-Into] Type=QString # If the part has a plugin for KHTML Javascript's window.navigator.plugins # array, it should create a plugin info file and set this propery to the # file path here. The path should be relative to KDE's data dir # ($KDEDIR/share/apps) [PropertyDef::X-KDE-BrowserView-PluginsInfo] Type=QString diff --git a/kparts/kpart.desktop b/kparts/kpart.desktop index 96998e4d70..de8d382c1d 100644 --- a/kparts/kpart.desktop +++ b/kparts/kpart.desktop @@ -1,97 +1,97 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KPart Comment=KDE Component Comment[af]=KDE Komponent Comment[ar]=مكون كيدي Comment[as]=KDE অংশ Comment[ast]=Componente de KDE Comment[be]=Кампанент KDE Comment[be@latin]=Kampanent KDE Comment[bg]=Компонент на KDE Comment[bn]=কে.ডি.ই. উপাদান Comment[bn_IN]=KDE-র অংশ Comment[br]=Parzhioù KDE Comment[bs]=KDE komponenta Comment[ca]=Component del KDE Comment[ca@valencia]=Component del KDE Comment[cs]=Komponenta KDE Comment[csb]=Kòmpònent KDE Comment[cy]=Cydran KDE Comment[da]=KDE-komponent Comment[de]=KDE-Komponente Comment[el]=Στοιχείο του KDE Comment[en_GB]=KDE Component Comment[eo]=KDE-komponanto Comment[es]=Componente de KDE Comment[et]=KDE komponent Comment[eu]=KDEren osagaia Comment[fa]=مؤلفه KDE Comment[fi]=KDE-komponentti Comment[fr]=Composant de KDE Comment[fy]=KDE-komponint Comment[ga]=Comhpháirt KDE Comment[gl]=Compoñente de KDE Comment[gu]=KDE ભાગ Comment[he]=רכיב של KDE Comment[hi]=केडीई अवयव Comment[hne]=केडीई अवयव Comment[hr]=KDE-ova komponenta Comment[hsb]=KDE-komponenta Comment[hu]=KDE-komponens Comment[ia]=Componente de KDE Comment[id]=Komponen KDE Comment[is]=KDE eining Comment[it]=Componente KDE Comment[ja]=KDE コンポーネント Comment[kk]=KDE компоненті Comment[km]=សមាសភាគ KDE Comment[kn]=ಕೆಡಿಇ ಅಂಗ Comment[ko]=KDE 구성 요소 Comment[ku]=Parçeya KDE'yê Comment[lb]=KDE-Komponent Comment[lt]=KDE komponentas Comment[lv]=KDE komponente Comment[mai]=केडीई अवयव Comment[mk]=KDE компонента Comment[ml]=കെഡിഇയുടെ ഘടകം Comment[mr]=KDE घटक Comment[ms]=Komponen KDE Comment[nb]=KDE-komponent Comment[nds]=KDE-Komponent Comment[ne]=केडीई अवयव Comment[nl]=KDE-component Comment[nn]=KDE-komponent Comment[or]=KDE ଉପାଦାନ Comment[pa]=KDE ਭਾਗ Comment[pl]=Składnik KDE Comment[ps]=کډي رغتوک Comment[pt]=Componente do KDE Comment[pt_BR]=Componente do KDE Comment[ro]=Componentă KDE Comment[ru]=Компонент KDE Comment[se]=KDE oassi Comment[si]=KDE අංගය Comment[sk]=KDE komponent Comment[sl]=Komponenta KDE Comment[sr]=КДЕ компонента Comment[sr@ijekavian]=КДЕ компонента Comment[sr@ijekavianlatin]=KDE komponenta Comment[sr@latin]=KDE komponenta Comment[sv]=KDE-komponent Comment[ta]=KDE பாகம் Comment[te]=కెడిఈ అంశం Comment[tg]=Қисми KDE Comment[th]=ส่วนประกอบของ KDE Comment[tr]=KDE Bileşeni Comment[ug]=KDE بۆلىكى Comment[uk]=Компонент KDE Comment[uz]=KDE komponenti Comment[uz@cyrillic]=KDE компоненти Comment[vi]=Thành phần KDE. Comment[wa]=Componint di KDE -Comment[x-test]=xxKDE Componentxx Comment[xh]=Ingxenye ye KDE +Comment[x-test]=xxKDE Componentxx Comment[zh_CN]=KDE 组件 Comment[zh_HK]=KDE 元件 Comment[zh_TW]=KDE 元件 diff --git a/kparts/krop.desktop b/kparts/krop.desktop index 588c9106a6..25275767fa 100644 --- a/kparts/krop.desktop +++ b/kparts/krop.desktop @@ -1,98 +1,98 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KParts/ReadOnlyPart X-KDE-Derived=KPart Comment=KDE Component Comment[af]=KDE Komponent Comment[ar]=مكون كيدي Comment[as]=KDE অংশ Comment[ast]=Componente de KDE Comment[be]=Кампанент KDE Comment[be@latin]=Kampanent KDE Comment[bg]=Компонент на KDE Comment[bn]=কে.ডি.ই. উপাদান Comment[bn_IN]=KDE-র অংশ Comment[br]=Parzhioù KDE Comment[bs]=KDE komponenta Comment[ca]=Component del KDE Comment[ca@valencia]=Component del KDE Comment[cs]=Komponenta KDE Comment[csb]=Kòmpònent KDE Comment[cy]=Cydran KDE Comment[da]=KDE-komponent Comment[de]=KDE-Komponente Comment[el]=Στοιχείο του KDE Comment[en_GB]=KDE Component Comment[eo]=KDE-komponanto Comment[es]=Componente de KDE Comment[et]=KDE komponent Comment[eu]=KDEren osagaia Comment[fa]=مؤلفه KDE Comment[fi]=KDE-komponentti Comment[fr]=Composant de KDE Comment[fy]=KDE-komponint Comment[ga]=Comhpháirt KDE Comment[gl]=Compoñente de KDE Comment[gu]=KDE ભાગ Comment[he]=רכיב של KDE Comment[hi]=केडीई अवयव Comment[hne]=केडीई अवयव Comment[hr]=KDE-ova komponenta Comment[hsb]=KDE-komponenta Comment[hu]=KDE-komponens Comment[ia]=Componente de KDE Comment[id]=Komponen KDE Comment[is]=KDE eining Comment[it]=Componente KDE Comment[ja]=KDE コンポーネント Comment[kk]=KDE компоненті Comment[km]=សមាសភាគ KDE Comment[kn]=ಕೆಡಿಇ ಅಂಗ Comment[ko]=KDE 구성 요소 Comment[ku]=Parçeya KDE'yê Comment[lb]=KDE-Komponent Comment[lt]=KDE komponentas Comment[lv]=KDE komponente Comment[mai]=केडीई अवयव Comment[mk]=KDE компонента Comment[ml]=കെഡിഇയുടെ ഘടകം Comment[mr]=KDE घटक Comment[ms]=Komponen KDE Comment[nb]=KDE-komponent Comment[nds]=KDE-Komponent Comment[ne]=केडीई अवयव Comment[nl]=KDE-component Comment[nn]=KDE-komponent Comment[or]=KDE ଉପାଦାନ Comment[pa]=KDE ਭਾਗ Comment[pl]=Składnik KDE Comment[ps]=کډي رغتوک Comment[pt]=Componente do KDE Comment[pt_BR]=Componente do KDE Comment[ro]=Componentă KDE Comment[ru]=Компонент KDE Comment[se]=KDE oassi Comment[si]=KDE අංගය Comment[sk]=KDE komponent Comment[sl]=Komponenta KDE Comment[sr]=КДЕ компонента Comment[sr@ijekavian]=КДЕ компонента Comment[sr@ijekavianlatin]=KDE komponenta Comment[sr@latin]=KDE komponenta Comment[sv]=KDE-komponent Comment[ta]=KDE பாகம் Comment[te]=కెడిఈ అంశం Comment[tg]=Қисми KDE Comment[th]=ส่วนประกอบของ KDE Comment[tr]=KDE Bileşeni Comment[ug]=KDE بۆلىكى Comment[uk]=Компонент KDE Comment[uz]=KDE komponenti Comment[uz@cyrillic]=KDE компоненти Comment[vi]=Thành phần KDE. Comment[wa]=Componint di KDE -Comment[x-test]=xxKDE Componentxx Comment[xh]=Ingxenye ye KDE +Comment[x-test]=xxKDE Componentxx Comment[zh_CN]=KDE 组件 Comment[zh_HK]=KDE 元件 Comment[zh_TW]=KDE 元件 diff --git a/kparts/krwp.desktop b/kparts/krwp.desktop index 55bccf438f..69ba3578c1 100644 --- a/kparts/krwp.desktop +++ b/kparts/krwp.desktop @@ -1,98 +1,98 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=KParts/ReadWritePart X-KDE-Derived=KParts/ReadOnlyPart Comment=KDE Component Comment[af]=KDE Komponent Comment[ar]=مكون كيدي Comment[as]=KDE অংশ Comment[ast]=Componente de KDE Comment[be]=Кампанент KDE Comment[be@latin]=Kampanent KDE Comment[bg]=Компонент на KDE Comment[bn]=কে.ডি.ই. উপাদান Comment[bn_IN]=KDE-র অংশ Comment[br]=Parzhioù KDE Comment[bs]=KDE komponenta Comment[ca]=Component del KDE Comment[ca@valencia]=Component del KDE Comment[cs]=Komponenta KDE Comment[csb]=Kòmpònent KDE Comment[cy]=Cydran KDE Comment[da]=KDE-komponent Comment[de]=KDE-Komponente Comment[el]=Στοιχείο του KDE Comment[en_GB]=KDE Component Comment[eo]=KDE-komponanto Comment[es]=Componente de KDE Comment[et]=KDE komponent Comment[eu]=KDEren osagaia Comment[fa]=مؤلفه KDE Comment[fi]=KDE-komponentti Comment[fr]=Composant de KDE Comment[fy]=KDE-komponint Comment[ga]=Comhpháirt KDE Comment[gl]=Compoñente de KDE Comment[gu]=KDE ભાગ Comment[he]=רכיב של KDE Comment[hi]=केडीई अवयव Comment[hne]=केडीई अवयव Comment[hr]=KDE-ova komponenta Comment[hsb]=KDE-komponenta Comment[hu]=KDE-komponens Comment[ia]=Componente de KDE Comment[id]=Komponen KDE Comment[is]=KDE eining Comment[it]=Componente KDE Comment[ja]=KDE コンポーネント Comment[kk]=KDE компоненті Comment[km]=សមាសភាគ KDE Comment[kn]=ಕೆಡಿಇ ಅಂಗ Comment[ko]=KDE 구성 요소 Comment[ku]=Parçeya KDE'yê Comment[lb]=KDE-Komponent Comment[lt]=KDE komponentas Comment[lv]=KDE komponente Comment[mai]=केडीई अवयव Comment[mk]=KDE компонента Comment[ml]=കെഡിഇയുടെ ഘടകം Comment[mr]=KDE घटक Comment[ms]=Komponen KDE Comment[nb]=KDE-komponent Comment[nds]=KDE-Komponent Comment[ne]=केडीई अवयव Comment[nl]=KDE-component Comment[nn]=KDE-komponent Comment[or]=KDE ଉପାଦାନ Comment[pa]=KDE ਭਾਗ Comment[pl]=Składnik KDE Comment[ps]=کډي رغتوک Comment[pt]=Componente do KDE Comment[pt_BR]=Componente do KDE Comment[ro]=Componentă KDE Comment[ru]=Компонент KDE Comment[se]=KDE oassi Comment[si]=KDE අංගය Comment[sk]=KDE komponent Comment[sl]=Komponenta KDE Comment[sr]=КДЕ компонента Comment[sr@ijekavian]=КДЕ компонента Comment[sr@ijekavianlatin]=KDE komponenta Comment[sr@latin]=KDE komponenta Comment[sv]=KDE-komponent Comment[ta]=KDE பாகம் Comment[te]=కెడిఈ అంశం Comment[tg]=Қисми KDE Comment[th]=ส่วนประกอบของ KDE Comment[tr]=KDE Bileşeni Comment[ug]=KDE بۆلىكى Comment[uk]=Компонент KDE Comment[uz]=KDE komponenti Comment[uz@cyrillic]=KDE компоненти Comment[vi]=Thành phần KDE. Comment[wa]=Componint di KDE -Comment[x-test]=xxKDE Componentxx Comment[xh]=Ingxenye ye KDE +Comment[x-test]=xxKDE Componentxx Comment[zh_CN]=KDE 组件 Comment[zh_HK]=KDE 元件 Comment[zh_TW]=KDE 元件 diff --git a/kparts/tests/notepad.desktop b/kparts/tests/notepad.desktop index 9755760f0a..c11cb11707 100644 --- a/kparts/tests/notepad.desktop +++ b/kparts/tests/notepad.desktop @@ -1,99 +1,99 @@ [Desktop Entry] Name=Notepad (example) Name[af]=Notablok (voorbeeld) Name[ar]=مفكرة (مثال) Name[as]=Notepad (উদাহৰণ) Name[ast]=Bloc de notes (exemplu) Name[be]=Нататнік (узор) Name[be@latin]=Natatnik (uzor) Name[bg]=Notepad (пример) Name[bn]=নোটপ্যাড (উদাহরণ) Name[bn_IN]=Notepad (উদাহরণ) Name[br]=Skrabvloc'h (skouer) Name[bs]=Bilježnica (primjer) Name[ca]=Bloc de notes (exemple) Name[ca@valencia]=Bloc de notes (exemple) Name[cs]=Poznámkový blok (příklad) Name[csb]=Notownik (przëmiôr) Name[cy]=Pad ysgrifennu (enghraifft) Name[da]=Notepad (eksempel) Name[de]=Notizblock-Beispiel Name[el]=Σημειωματάριο (παράδειγμα) Name[en_GB]=Notepad (example) Name[eo]=Notlibro (ekzemplo) Name[es]=Bloc de notas (ejemplo) Name[et]=Notepad (näidis) Name[eu]=Notepad (adibidea) Name[fa]=دفترچه یادداشت)مثال( Name[fi]=Muistio (esimerkki) Name[fr]=Bloc-notes (exemple) Name[fy]=Skriuwboekje (foarbyld) Name[ga]=Notepad (sampla) Name[gl]=Caderno de notas (exemplo) Name[gu]=નોટપેડ (ઉદાહરણ) Name[he]=פנקס רשימות (דוגמה) Name[hi]=नोटपैड (उदाहरण) Name[hne]=नोटपैड (उदाहरन) Name[hr]=Notepad (primjer) Name[hsb]=Zapisnik (přikład) Name[hu]=Jegyzettömb (példa) Name[ia]=Notepad (exemplo) Name[id]=Notepad (contoh) Name[is]=Notepad (sýnishorn) Name[it]=Blocco note (esempio) Name[ja]=ノートパッド (例) Name[kk]=Блокнот (мысал) Name[km]=Notepad (ឧទាហរណ៍) Name[kn]=ನೋಟ್ಪಾಡ್ (ಉದಾಹರಣೆ) Name[ko]=메모장 (예제) Name[ku]=Notepad (mînak) Name[lb]=Notizblock (Beispill) Name[lt]=Notepad (pavyzdys) Name[lv]=Notepad (piemērs) Name[mai]=नोटपैड (उदाहरण) Name[mk]=Тетратка (пример) Name[ml]=നോട്ട്പാഡ് (ഉദാഹരണം) Name[mr]=नोटपैड (उदाहरण) Name[ms]=Notepad (contoh) Name[nb]=Notisblokk (eksempel) Name[nds]=Notizzeddel (Bispill) Name[ne]=नोटप्याड (उदाहरण) Name[nl]=Kladblok (voorbeeld) Name[nn]=Notisblokk (eksempel) Name[or]=ଟୀପାଖାତା (ଉଦାହରଣ) Name[pa]=ਨੋਟਪੈਡ (ਉਦਾਹਰਨ) Name[pl]=Notatnik (przykład) Name[ps]=(بېلګه) Notepad Name[pt]=Bloco de Notas (exemplo) Name[pt_BR]=Bloco de notas (exemplo) Name[ro]=Notepad (exemplu) Name[ru]=Блокнот (пример) Name[se]=Čállingirjjáš (ovdamearka) Name[si]=සටහන්පොත (උදාහරණය) Name[sk]=Poznámkový blok (príklad) Name[sl]=Beležnica (zgled) Name[sr]=Бележница (пример) Name[sr@ijekavian]=Биљежница (примјер) Name[sr@ijekavianlatin]=Bilježnica (primjer) Name[sr@latin]=Beležnica (primer) Name[sv]=Notepad (exempel) Name[ta]=நோட்பாட் (உதாரணம்) Name[te]=నోట్ పేడ్ (ఉదాహరణ) Name[tg]=Notepad (қолиб) Name[th]=โน้ตแพด (ตัวอย่าง) Name[tr]=Not defteri (örnek) Name[ug]=خاتىرە دەپتەر (مىسال) Name[uk]=Записна книжка (приклад) Name[uz]=Yon daftarcha (misol) Name[uz@cyrillic]=Ён дафтарча (мисол) -Name[vi]=Tập giấy (thí dụ) +Name[vi]=Notepad (ví dụ) Name[wa]=Blok di notes (egzimpe) -Name[x-test]=xxNotepad (example)xx Name[xh]=Iphetshan lokubhala (umzekelo) +Name[x-test]=xxNotepad (example)xx Name[zh_CN]=记事本(示例) Name[zh_HK]=記事本(範例) Name[zh_TW]=記事本(範例) MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; X-KDE-ServiceTypes=KParts/ReadOnlyPart X-KDE-Library=notepadpart Type=Service diff --git a/kutils/kemoticons/providers/adium/emoticonstheme_adium.desktop b/kutils/kemoticons/providers/adium/emoticonstheme_adium.desktop index 884faa7a57..6ceaf4beb3 100644 --- a/kutils/kemoticons/providers/adium/emoticonstheme_adium.desktop +++ b/kutils/kemoticons/providers/adium/emoticonstheme_adium.desktop @@ -1,158 +1,160 @@ [Desktop Entry] Type=Service Name=Adium Emoticons Theme Name[ar]=سمة رموز Adium Name[as]=Adium Emoticons থিম Name[ast]=Tema d'emoticonos Adium Name[be@latin]=Matyŭ smajlikaŭ dla „Adium” Name[bg]=Тема с емоции Adium Name[bn]=অ্যাডিয়াম ইমোট-আইকন থীম Name[bn_IN]=Adium ইমো-আইকন থিম Name[bs]=Adijumova tema emotikona Name[ca]=Tema d'emoticones Adium Name[ca@valencia]=Tema d'emoticones Adium Name[cs]=Motiv emotikonů Adium Name[csb]=Témë Adium emòtikónków Name[da]=Adium emotikon-tema Name[de]=Adium-Emoticon-Design Name[el]=Θέμα εικονιδίων διάθεσης Adium Name[en_GB]=Adium Emoticons Theme Name[eo]=Adium Mien-etoso Name[es]=Tema de emoticonos Adium Name[et]=Adiumi emotikoniteema Name[eu]=Adium-en aurpegiera gaiak Name[fi]=Adium-hymiöteemat Name[fr]=Thèmes d'émoticônes Adium Name[fy]=Adium Emoticons tema Name[ga]=Téama Straoiseog Adium Name[gl]=Tema de emoticonas Adium Name[gu]=એડિયમ ઇમોકેશન થીમ Name[he]=ערכת פרצופונים של Adium Name[hne]=एडियम चेहराचिनहा थीम Name[hr]=Adiumova tema emotikona Name[hsb]=Adium Emoticons Theme Name[hu]=Adium emotikon-téma Name[ia]=Thema de emoticones Adium Name[id]=Tema Emoticon Adium Name[is]=Adium broskallaþema Name[it]=Tema faccine Adium Name[ja]=Adium 感情アイコンテーマ Name[kk]=Adium көңіл-күй белгілер нақышы Name[km]=ស្បែក​សញ្ញា​អារម្មណ៍​របស់ Adium Name[kn]=ಏಡಿಯಮ್ ಭಾವನಾಚಿಹ್ನೆಗಳ (ಎಮೋಟಿಕಾನ್) ಪರಿಸರವಿನ್ಯಾಸ (ಥೀಮ್) Name[ko]=Adium 이모티콘 테마 Name[ku]=Dirba Vegotinan yê Adium Name[lt]=Adium jaustukų tema Name[lv]=Adium emocijzīmju tēma Name[mai]=एडियम भावचिन्ह प्रसंग Name[ml]=അഡിയം ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം Name[mr]=ऐडीयम भावरेषा सुत्रयोजना Name[nb]=Adium smilefjestema Name[nds]=Snutensett Adium Name[nl]=Adium-emoticonsthema Name[nn]=Adium-fjesingtema Name[or]=Adium Emoticons ପ୍ରସଙ୍ଗ Name[pa]=ਅਡੀਉਮ ਈਮੋਸ਼ਨ ਥੀਮ Name[pl]=Motyw emotikon Adium Name[pt]=Tema de Ícones Emotivos do Adium Name[pt_BR]=Tema emoticons Adium Name[ro]=Tematică de emoticoni Adium Name[ru]=Набор смайликов Adium Name[se]=Adium mojánfáddá Name[sk]=Téma emotikonov Adium Name[sl]=Tema ikon čustev za Adium Name[sr]=Адијумова тема емотикона Name[sr@ijekavian]=Адијумова тема емотикона Name[sr@ijekavianlatin]=Adiumova tema emotikona Name[sr@latin]=Adiumova tema emotikona Name[sv]=Adium smilistema Name[ta]=ஏடியம் உணர்வுருக்களுக்கான தோற்றம் Name[tg]=Мавзӯъи Adium Emoticons Name[th]=ภาพไอคอนสื่ออารมณ์ของ Adium Name[tr]=Adium Duygu Simgesi Teması -Name[ug]=Adium چىراي ئىپادە ئۆرنىكى +Name[ug]=Adium چىراي ئىپادە تېمىسى Name[uk]=Тема емоційок Adium +Name[vi]=Giao diện hình biểu cảm Adium Name[wa]=Tinme di xhinêyes Adium Name[x-test]=xxAdium Emoticons Themexx Name[zh_CN]=Adium 表情主题 Name[zh_TW]=Adium 表情圖示主題 Comment=Library to use Adium emoticons theme Comment[ar]=مكتبة لاستخدام سمة رموز Adium Comment[as]=Adium emoticons থিম ব্যৱহাৰ কৰা লাইব্ৰেৰী Comment[ast]=Bibilioteca pa usar el tema d'emoticonos Adium Comment[be@latin]=Biblijateka dla matyvaŭ smajlikaŭ „Adium” Comment[bg]=Библиотека за темата с емоции Adium Comment[bn]=অ্যাডিয়াম ইমোট-আইকন থীম ব্যবহার করার লাইব্রেরী Comment[bn_IN]=Adium ইমো-আইকন থিম প্রয়োগ করতে ব্যবহৃত লাইব্রেরি Comment[bs]=Biblioteka za Adijumovu temu emotikona Comment[ca]=Biblioteca per a usar el tema d'emoticones Adium Comment[ca@valencia]=Biblioteca per a usar el tema d'emoticones Adium Comment[cs]=Knihovna pro použití motivu emotikonů Adium Comment[csb]=Bibloteka do brëkòwaniô emòtikónków temë Adium Comment[da]=Bibliotek til at bruge Adium emotikon-temaer Comment[de]=Bibliothek zur Verwendung des Adium-Emoticon-Designs Comment[el]=Βιβλιοθήκη για τη χρήση του θέματος εικονιδίων διάθεσης Adium Comment[en_GB]=Library to use Adium emoticons theme Comment[eo]=Biblioteko por uzi Adium mien-etoson Comment[es]=Biblioteca para usar el tema de emoticonos Audium Comment[et]=Teek Adiumi emotikoniteema kasutamiseks Comment[eu]=Adium-en aurpegiera gaia erabiltzeko liburutegia Comment[fi]=Kirjasto Adium-hymiöteemojen käyttämiseen Comment[fr]=Bibliothèque permettant d'utiliser les thèmes d'émoticônes Adium Comment[fy]=Biblioteek om Adium emoticons tema te brûken Comment[ga]=Leabharlann le húsáid téama straoiseog Adium Comment[gl]=Unha biblioteca para empregar o tema de emoticonas Adium Comment[gu]=એડિયમ ઇમોકેશન થીમ ઉપયોગ કરવા માટેની લાઇબ્રેરી Comment[he]=ספריה לשימוש בערכת הפרצופונים של Adium Comment[hne]=एडियम चेहराचिनहा थीम उपयोग करे बर लाइब्रेरी Comment[hr]=Biblioteka za korištenje Adiumove teme emotikona Comment[hsb]=Biblioteka za Adium emoticons theme Comment[hu]=Programkönyvtár az Adium emotikon-témához Comment[ia]=Libreria per usar le thema de emoticones Adium Comment[id]=Pustaka untuk menggunakan tema emoticon Adium Comment[is]=Forritlingasafn til notkunar með Adium broskallaþema Comment[it]=Libreria per usare il tema faccine Adium Comment[ja]=Adium 感情アイコンテーマのライブラリ Comment[kk]=Adium көңіл-күй белгілер нақышының жиыны Comment[km]=បណ្ណាល័យ​ត្រូវ​ប្រើ​ស្បែក​សញ្ញា​អារម្មណ៍ Adium Comment[kn]=ಏಡಿಯಮ್ ಭಾವನಾಚಿಹ್ನೆಗಳ (ಎಮೋಟಿಕಾನ್) ಪರಿಸರವಿನ್ಯಾಸವನ್ನು (ಥೀಮ್) ಬಳಸಲು ಒಂದು ಭಂಡಾರ (ಲೈಬ್ರರಿ) Comment[ko]=Adium 이모티콘 테마를 사용할 라이브러리 Comment[ku]=Pirtûkxane ji bo bi kar anîna Dirba Vegotinan yê Adium Comment[lt]=Biblioteka, leidžianti naudoti adium jaustukų temą Comment[lv]=Adium emocijzīmju tēmas bibliotēka Comment[mai]=एडियम भावचिन्ह प्रसंगक प्रयोगक लेल लाइब्रेरी Comment[ml]=അഡിയം ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം ഉപയോഗിയ്ക്കേണ്ട ലൈബ്രറി Comment[mr]=ऐडीयम भावरेषा सुत्रयोजना वापरण्याकरीता लायब्ररी Comment[nb]=Bibliotek for å bruke Adium smilefjestema Comment[nds]=Bibliotheek, mit de sik dat Snutensett Adium bruken lett Comment[nl]=Bibliotheek voor het gebruiken van het Adium-emoticonsthema Comment[nn]=Bibliotek for å bruka fjesingtema frå Adium Comment[or]=Adium Emoticons ପ୍ରସଙ୍ଗକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଲାଇବ୍ରେରୀ Comment[pa]=ਅਡੀਉਮ ਈਮੋਸ਼ਨ ਥੀਮ ਲਈ ਲਾਇਬਰੇਰੀ Comment[pl]=Biblioteka do motywu emotikon Adium Comment[pt]=Uma biblioteca para usar os temas de ícones emotivos do Adium Comment[pt_BR]=Biblioteca para utilização do tema emoticons Adium Comment[ro]=Bibliotecă de utilizat tematica de emoticoni Adium Comment[ru]=Библиотека набора смайликов Adium Comment[se]=Bibliotehka mii dulko Adium mojánfáttáid Comment[sk]=Knižnica na použitie témy emotikonov Adium Comment[sl]=Knjižnica za uporabo Adiumovih tem ikon čustev Comment[sr]=Библиотека за Адијумову тему емотикона Comment[sr@ijekavian]=Библиотека за Адијумову тему емотикона Comment[sr@ijekavianlatin]=Biblioteka za Adiumovu temu emotikona Comment[sr@latin]=Biblioteka za Adiumovu temu emotikona Comment[sv]=Bibliotek för att använda Adium smilistema Comment[ta]=ஏடியம் உணர்வுரு தோற்றத்திற்கான நிரலகம் Comment[tg]=Китобхонаи мавзӯъи Adium emoticons Comment[th]=ไลบรารีที่ใช้ภาพไอคอนสื่ออารมณ์ของ Adium Comment[tr]=Adium Duygu Simgesi Temasını kullanmak için kitaplık -Comment[ug]=Adium چىراي ئىپادە ئۆرنىكىنى ئىشلىتىدىغان ئامبار +Comment[ug]=Adium چىراي ئىپادە تېمىسىنى ئىشلىتىدىغان ئامبار Comment[uk]=Бібліотека для використання теми емоційок Adium +Comment[vi]=Thư viện để sử dụng giao diện hình biểu cảm Adium Comment[wa]=Livreye pos eployî l' tinme di xhinêyes Adium Comment[x-test]=xxLibrary to use Adium emoticons themexx Comment[zh_CN]=使用 Adium 表情主题的类库 Comment[zh_TW]=使用 Adium 表情圖示主題的函式庫 X-KDE-ServiceTypes=KEmoticons X-KDE-Library=emoticonstheme_adium X-KDE-EmoticonsFileName=Emoticons.plist X-KDE-Priority=8 diff --git a/kutils/kemoticons/providers/kde/emoticonstheme_kde.desktop b/kutils/kemoticons/providers/kde/emoticonstheme_kde.desktop index 7c0b5d63f4..6366cd2874 100644 --- a/kutils/kemoticons/providers/kde/emoticonstheme_kde.desktop +++ b/kutils/kemoticons/providers/kde/emoticonstheme_kde.desktop @@ -1,141 +1,143 @@ [Desktop Entry] Type=Service Name=KDE Emoticons Theme Name[bg]=Тема с емоции KDE Name[bn]=কে.ডি.ই. ইমোট-আইকনস থীম Name[bs]=KDE‑ova tema emotikona Name[ca]=Tema d'emoticones del KDE Name[ca@valencia]=Tema d'emoticones del KDE Name[cs]=Motiv emotikonů KDE Name[da]=KDE emotikon-tema Name[de]=KDE-Emoticon-Design Name[el]=Θέμα εικονιδίων διάθεσης KDE Name[en_GB]=KDE Emoticons Theme Name[es]=Tema de emoticonos de KDE Name[et]=KDE emotikoniteema Name[eu]=KDE emotikono gaia Name[fi]=KDE-hymiöteemat Name[fr]=Thèmes d'émoticônes KDE Name[ga]=Téama Straoiseog KDE Name[gl]=Tema de emoticonas de KDE Name[hr]=KDE-ova tema emotikanata Name[hu]=KDE emotikon-téma Name[ia]=Thema de emoticones de KDE Name[id]=Tema Emoticon KDE Name[is]=KDE broskallaþema Name[it]=Tema faccine di KDE Name[ja]=KDE 感情アイコンテーマ Name[kk]=KDE көңіл-күй белгілер нақышы Name[km]=ស្បែក​សញ្ញា​អារម្មណ៍​របស់ KDE Name[ko]=KDE 이모티콘 테마 Name[ku]=Dirba Vegotinan yên Kde Name[lt]=KDE jaustukų tema Name[lv]=KDE emocijzīmju tēma Name[nb]=KDE smilefjestema Name[nds]=KDE-Snutensett Name[nl]=KDE-emoticons-thema Name[pa]=KDE ਈਮੋਸ਼ਨ ਥੀਮ Name[pl]=Motyw emotikon KDE Name[pt]=Tema de Ícones Emotivos do KDE Name[pt_BR]=Tema de emoticons do KDE Name[ro]=Tematică de emoticoni KDE Name[ru]=Набор смайликов для KDE Name[se]=KDE mojánfáddá Name[si]=KDE Emoticons තේමාව Name[sk]=Téma emotikonov KDE Name[sl]=Tema ikon čustev za KDE Name[sr]=КДЕ‑ова тема емотикона Name[sr@ijekavian]=КДЕ‑ова тема емотикона Name[sr@ijekavianlatin]=KDE‑ova tema emotikona Name[sr@latin]=KDE‑ova tema emotikona Name[sv]=KDE smilistema Name[ta]=கேடியீ உணர்வுருக்கள் தோற்றம் Name[th]=ภาพไอคอนสื่ออารมณ์ของ KDE Name[tr]=Kde Duygu Simgesi Teması -Name[ug]=KDE چىراي ئىپادە ئۆرنىكى +Name[ug]=KDE چىراي ئىپادە تېمىسى Name[uk]=Тема емоційок KDE +Name[vi]=Giao diện hình biểu cảm KDE Name[wa]=Tinme di xhinêyes KDE Name[x-test]=xxKDE Emoticons Themexx Name[zh_CN]=KDE 表情主题 Name[zh_TW]=KDE 表情圖示主題 Comment=Library to use KDE emoticons theme Comment[ar]=مكتبة لاستخدام سمة رموز كيدي Comment[as]=KDE emoticons থিম ব্যৱহাৰ কৰা লাইব্ৰেৰী Comment[ast]=Biblioteca pa usar el tema d'emoticonos KDE Comment[be@latin]=Biblijateka dla matyvaŭ smajlikaŭ „KDE” Comment[bg]=Библиотека за тема с емоции KDE Comment[bn]=কে-ডি-ই ইমোট-আইকন থীম ব্যবহার করার লাইব্রেরী Comment[bn_IN]=KDE ইমো-আইকন থিম প্রয়োগ করতে ব্যবহৃত লাইব্রেরি Comment[bs]=Biblioteka za KDE‑ovu temu emotikona Comment[ca]=Biblioteca per a usar el tema d'emoticones KDE Comment[ca@valencia]=Biblioteca per a usar el tema d'emoticones KDE Comment[cs]=Knihovna pro použití motivu emotikonů KDE Comment[csb]=Bibloteka do brëkòwaniô emòtikónków temë KDE Comment[da]=Bibliotek til at bruge KDE emotikon-temaer Comment[de]=Bibliothek zur Verwendung des KDE-Emoticon-Designs Comment[el]=Βιβλιοθήκη για τη χρήση του θέματος εικονιδίων διάθεσης KDE Comment[en_GB]=Library to use KDE emoticons theme Comment[eo]=Biblioteko por uzi KDE Mien-Etoson Comment[es]=Biblioteca para usar el tema de emoticonos de KDE Comment[et]=Teek KDE emotikoniteema kasutamiseks Comment[eu]=KDEko aurpegiera gaia erabiltzeko liburutegia Comment[fi]=Kirjasto KDE-hymiöteemojen käyttämiseen Comment[fr]=Bibliothèque permettant d'utiliser les thèmes d'émoticônes KDE Comment[fy]=Biblioteek om KDE emoticons tema te brûken Comment[ga]=Leabharlann le húsáid téama straoiseog KDE Comment[gl]=Unha biblioteca para empregar temas de emoticonas de KDE Comment[gu]=KDE ઇમોકેશન થીમ ઉપયોગ કરવા માટેની લાઇબ્રેરી Comment[he]=ספריה לשימוש בערכת הפרצופונים של KDE Comment[hne]=केडीई चेहराचिनहा थीम ल उपयोग करे बर लाइब्रेरी Comment[hr]=Biblioteka za korištenje KDE-ove teme emotikona Comment[hsb]=Biblioteka za KDE emoticons theme Comment[hu]=Programkönyvtár a KDE emotikon-témához Comment[ia]=Libreria per usar le thema de emoticones de KDE Comment[id]=Pustaka untuk menggunakan tema emoticon KDE Comment[is]=Forritlingasafn til notkunar með KDE broskallaþema Comment[it]=Libreria per usare il tema faccine di Kde Comment[ja]=KDE 感情アイコンテーマのライブラリ Comment[kk]=KDE көңіл-күй белгілер нақышының жиыны Comment[km]=បណ្ណាល័យ​ត្រូវ​ប្រើ​ស្បែក​សញ្ញា​អារម្មណ៍​របស់ KDE Comment[kn]=ಕೆಡಿಇ ಭಾವನಾಚಿಹ್ನೆಗಳ (ಎಮೋಟಿಕಾನ್) ಪರಿಸರವಿನ್ಯಾಸವನ್ನು (ಥೀಮ್) ಬಳಸಲು ಒಂದು ಭಂಡಾರ (ಲೈಬ್ರರಿ) Comment[ko]=KDE 이모티콘 테마를 사용할 라이브러리 Comment[ku]=Pirtûkxane ji bo bi kar anîna Dirba Vegotinan yê KDE Comment[lt]=Biblioteka, leidžianti naudoti kde jaustukų temą Comment[lv]=KDE emocijzīmju tēmas bibliotēka Comment[mai]=केडीई भावचिन्ह प्रसंगक प्रयोगक लेल लाइब्रेरी Comment[ml]=കെഡിഇ ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം ഉപയോഗിയ്ക്കേണ്ട ലൈബ്രറി Comment[mr]=KDE भावरेषा सुत्रयोजना वापरण्याकरीता लायब्ररी Comment[nb]=Bibliotek for å bruke KDE smilefjestema Comment[nds]=Bibliotheek, mit de sik dat KDE-Snutensett bruken lett Comment[nl]=Bibliotheek voor het gebruik van het KDE-emoticonsthema Comment[nn]=Bibliotek for å bruka fjesingtema frå KDE Comment[or]=Kde Emoticons ପ୍ରସଙ୍ଗକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଲାଇବ୍ରେରୀ Comment[pa]=ਕੇਡੀਈ ਈਮੋਸ਼ਨ ਥੀਮ ਵਰਤਣ ਲਈ ਲਾਈਬਰੇਰੀ Comment[pl]=Biblioteka do motywu emotikon KDE Comment[pt]=Uma biblioteca para usar os temas de ícones emotivos do KDE Comment[pt_BR]=Biblioteca para utilização do tema emoticons Adium Comment[ro]=Bibliotecă de utilizat tematica de emoticoni KDE Comment[ru]=Библиотека набора смайликов KDE Comment[se]=Bibliotehka mii dulko KDE mojánfáttáid Comment[si]=KDE emoticons තේමාව සඳහා භාවිත කළ යුතු පුස්තකාලය Comment[sk]=Knižnica na použitie témy emotikonov KDE Comment[sl]=Knjižnica za uporabo KDE-jevih tem ikon čustev Comment[sr]=Библиотека за КДЕ‑ову тему емотикона Comment[sr@ijekavian]=Библиотека за КДЕ‑ову тему емотикона Comment[sr@ijekavianlatin]=Biblioteka za KDE‑ovu temu emotikona Comment[sr@latin]=Biblioteka za KDE‑ovu temu emotikona Comment[sv]=Bibliotek för att använda KDE smilistema Comment[ta]=நிரலகம் கேடியி உணர்வுரு தோற்றத்தை பயன்படுத்தும் Comment[tg]=Китобхонаи мавзӯъи KDE emoticons Comment[th]=ไลบรารีที่ใช้ภาพไอคอนสื่ออารมณ์ของ KDE Comment[tr]=Kde Duygu Simgesi Temasını kullanmak için kitaplık -Comment[ug]=KDE چىراي ئىپادە ئۆرنىكىنى ئىشلىتىدىغان ئامبار +Comment[ug]=KDE چىراي ئىپادە تېمىسىنى ئىشلىتىدىغان ئامبار Comment[uk]=Бібліотека для використання теми емоційок KDE +Comment[vi]=Thư viện để sử dụng giao diện hình biểu cảm KDE Comment[wa]=Livreye pos eployî l' tinme di xhinêyes KDE Comment[x-test]=xxLibrary to use KDE emoticons themexx Comment[zh_CN]=使用 KDE 表情主题的类库 Comment[zh_TW]=使用 KDE 表情圖示主題的函式庫 X-KDE-ServiceTypes=KEmoticons X-KDE-Library=emoticonstheme_kde X-KDE-EmoticonsFileName=emoticons.xml X-KDE-Priority=10 diff --git a/kutils/kemoticons/providers/pidgin/emoticonstheme_pidgin.desktop b/kutils/kemoticons/providers/pidgin/emoticonstheme_pidgin.desktop index d1c72250ec..7e66df48dd 100644 --- a/kutils/kemoticons/providers/pidgin/emoticonstheme_pidgin.desktop +++ b/kutils/kemoticons/providers/pidgin/emoticonstheme_pidgin.desktop @@ -1,160 +1,162 @@ [Desktop Entry] Type=Service Name=Pidgin Emoticons Theme Name[ar]=سمة رموز Pidgin Name[as]=Pidgin Emoticons থিম Name[ast]=Tema d'emoticonos Pidgin Name[be@latin]=Matyŭ smajlikaŭ dla „Pidgin” Name[bg]=Тема с емоции Pidgin Name[bn]=পিজিন ইমোট-আইকন থীম Name[bn_IN]=Pidgin ইমো-আইকন থিম Name[bs]=Pidžinova tema emotikona Name[ca]=Tema d'emoticones Pidgin Name[ca@valencia]=Tema d'emoticones Pidgin Name[cs]=Motiv emotikonů Pidgin Name[csb]=Témë emòtikównków Pidgina Name[da]=Pidgin emotikon-tema Name[de]=Pidgin-Emoticon-Design Name[el]=Θέμα εικονιδίων διάθεσης Pidgin Name[en_GB]=Pidgin Emoticons Theme Name[eo]=Pidgin Mien-Etoso Name[es]=Tema de emoticonos Pidgin Name[et]=Pidgini emotikoniteema Name[eu]=Pidgin-en aurpegiera gaia Name[fi]=Pidgin-hymiöteemat Name[fr]=Thème d'émoticônes pour Pidgin Name[fy]=Pidgin emoticons tema Name[ga]=Téama Straoiseog Pidgin Name[gl]=Tema de emoticonas de Pidgin Name[gu]=પીડગીન ઇમોકેશન થીમ ઉપયોગ કરવા માટેની લાઇબ્રેરી Name[he]=ערכת פרצופונים של Pidgin Name[hne]=पिडगिन चेहराचिनहा थीम Name[hr]=Pidginova tema emotikona Name[hsb]=Pidgin Emoticons Theme Name[hu]=Pidgin emotikon-téma Name[ia]=Thema de emoticones Pidgin Name[id]=Tema Emoticon Pidgin Name[is]=Pidgin broskallaþema Name[it]=Tema faccine Pidgin Name[ja]=Pidgin 感情アイコンテーマ Name[kk]=Pidgin көңіл-күй белгілер нақышы Name[km]=ស្បែក​សញ្ញា​អារម្មណ៍​របស់ Pidgin Name[kn]=ಪಿಡ್ಗಿನ್ (ಎಮೋಟಿಕಾನ್ಸ್) ಪರಿಸರವಿನ್ಯಾಸ (ಥೀಮ್) Name[ko]=피진 이모티콘 테마 Name[ku]=Dirba Vegotinan yê Pidgin Name[lt]=Pidgin jaustukų tema Name[lv]=Pidgin emocijzīmju tēma Name[mai]=पिजिन भावचिन्ह प्रसंग Name[ml]=പിഡ്ജിന്‍ ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം Name[mr]=Pidgin भावरेषा सुत्रयोजना Name[nb]=Pidgin smilefjestema Name[nds]=Snutensett Pidgin Name[nl]=Pidgin-emoticonsthema Name[nn]=Pidgin-fjesingtema Name[or]=Pidgin Emoticons ପ୍ରସଙ୍ଗ Name[pa]=ਪਿਡਗਿਨ ਈਮੋਸ਼ਨ ਥੀਮ Name[pl]=Motyw emotikon Pidgin Name[pt]=Tema de Ícones Emotivos do Pidgin Name[pt_BR]=Tema emoticons do Pidgin Name[ro]=Tematică de emoticoni Pidgin Name[ru]=Набор смайликов Pidgin Name[se]=Piding mojánfáddá Name[si]=Pidgin Emoticons තේමාව Name[sk]=Téma emotikonov Pidgin Name[sl]=Tema ikon čustev za Pidgin Name[sr]=Пиџинова тема емотикона Name[sr@ijekavian]=Пиџинова тема емотикона Name[sr@ijekavianlatin]=Pidginova tema emotikona Name[sr@latin]=Pidginova tema emotikona Name[sv]=Pidgin smilistema Name[ta]=பிட்கின் உணர்வுருக்கள் தோற்றம் Name[tg]=Мавзӯъи Pidgin Emoticons Name[th]=ภาพไอคอนสื่ออารมณ์ของ Pidgin Name[tr]=Pidgin Duygu Simgesi Teması -Name[ug]=Pidgin چىراي ئىپادە ئۆرنىكى +Name[ug]=Pidgin چىراي ئىپادە تېمىسى Name[uk]=Тема емоційок Pidgin +Name[vi]=Giao diện hình biểu cảm Pidgin Name[wa]=Tinme di xhinêyes Pidgin Name[x-test]=xxPidgin Emoticons Themexx Name[zh_CN]=Pidgin 表情主题 Name[zh_TW]=Pidgin 表情圖示主題 Comment=Library to use Pidgin emoticons theme Comment[ar]=مكتبة لاستخدام سمة رموز Pidgin Comment[as]=Pidgin Emoticons থিম ব্যৱহাৰ কৰা লাইব্ৰেৰী Comment[ast]=Biblioteca pa usar el tema d'emoticonos Pidgin Comment[be@latin]=Biblijateka dla matyvaŭ smajlikaŭ „Pidgin” Comment[bg]=Библиотека за темата с емоции Pidgin Comment[bn]=পিজিন ইমোট-আইকন থীম ব্যবহার করার লাইব্রেরী Comment[bn_IN]=Pidgin ইমো-আইকন থিম প্রয়োগ করতে ব্যবহৃত লাইব্রেরি Comment[bs]=Biblioteka za Pidžinovu temu emotikona Comment[ca]=Biblioteca per a usar el tema d'emoticones Pidgin Comment[ca@valencia]=Biblioteca per a usar el tema d'emoticones Pidgin Comment[cs]=Knihovna pro použití motivu emotikonů Pidgin Comment[csb]=Bibloteka do brëkòwaniô emòtikónków temë Pidgina Comment[da]=Bibliotek til at bruge Pidgin emotikon-temaer Comment[de]=Bibliothek zur Verwendung des Pidgin-Emoticon-Designs Comment[el]=Βιβλιοθήκη για τη χρήση του θέματος εικονιδίων διάθεσης Pidgin Comment[en_GB]=Library to use Pidgin emoticons theme Comment[eo]=Biblioteko por uzi Pidgin Mien-Etoson Comment[es]=Biblioteca para usar el tema de emoticonos Pidgin Comment[et]=Teek Pidgini emotikoniteema kasutamiseks Comment[eu]=Pidgin-en aurpegiera gaia erabiltzeko liburutegia Comment[fi]=Kirjasto Pidgin-hymiöteemojen käyttämiseen Comment[fr]=Bibliothèque permettant d'utiliser les thèmes d'émoticônes Pidgin Comment[fy]=Biblioteek om Pidgin emoticons tema te brûken Comment[ga]=Leabharlann le húsáid téama straoiseog Pidgin Comment[gl]=Unha biblioteca para empregar temas de emoticonas de Pidgin Comment[gu]=પીડગીન ઇમોકેશન થીમ ઉપયોગ કરવા માટેની લાઇબ્રેરી Comment[he]=ספריה לשימוש בערכת הפרצופונים של Pidgin Comment[hne]=पिडगिन चेहराचिनहा थीम ल उपयोग करे बर लाइब्रेरी Comment[hr]=Biblioteka za korištenje Pidginove teme emotikona Comment[hsb]=Biblioteka za Pidgin emoticons theme Comment[hu]=Programkönyvtár a Pidgin emotikon-témához Comment[ia]=Libreria per usar le thema de emoticones Pidgin Comment[id]=Pustaka untuk menggunakan tema emoticon Pidgin Comment[is]=Forritlingasafn til notkunar með Pidgin broskallaþema Comment[it]=Libreria per usare il tema faccine Pidgin Comment[ja]=Pidgin 感情アイコンテーマのライブラリ Comment[kk]=Pidgin көңіл-күй белгілер нақышының жиыны Comment[km]=បណ្ណាល័យ​ត្រូវ​ប្រើ​ស្បែក​សញ្ញា​អារម្មណ៍​របស់ Pidgin Comment[kn]=ಪಿಡ್ಗಿನ್ ಭಾವನಾಚಿಹ್ನೆಗಳ (ಎಮೋಟಿಕಾನ್) ಪರಿಸರವಿನ್ಯಾಸವನ್ನು (ಥೀಮ್) ಬಳಸಲು ಒಂದು ಭಂಡಾರ (ಲೈಬ್ರರಿ) Comment[ko]=피진 이모티콘 테마를 사용할 라이브러리 Comment[ku]=Pirtûkxane ji bo bi kar anîna Dirba Vegotinan yê Pidgin Comment[lt]=Biblioteka, leidžianti naudoti Pidgin jaustukų temą Comment[lv]=Pidgin emocijzīmju tēmas bibliotēka Comment[mai]=पिजिन भावचिन्ह प्रसंगक प्रयोगक लेल लाइब्रेरी Comment[ml]=പിഡ്ജിന്‍ ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം ഉപയോഗിയ്ക്കേണ്ട ലൈബ്രറി Comment[mr]=Pidgin भावरेषा सुत्रयोजना वापरण्याकरीता लायब्ररी Comment[nb]=Bibliotek for å bruke Pidgin smilefjestema Comment[nds]=Bibliotheek, mit de sik dat Snutensett Pidgin bruken lett Comment[nl]=Bibliotheek voor het gebruik van het Pidgin-emoticonsthema Comment[nn]=Bibliotek for å bruka fjesingtema frå Pidgin Comment[or]=Pidgin Emoticons ପ୍ରସଙ୍ଗକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଲାଇବ୍ରେରୀ Comment[pa]=ਪਿਡਗਿਨ ਈਮੋਸ਼ਨ ਥੀਮ ਲਈ ਲਾਇਬਰੇਰੀ Comment[pl]=Biblioteka do motywu emotikon Pidgin Comment[pt]=Uma biblioteca para usar os temas de ícones emotivos do Pidgin Comment[pt_BR]=Biblioteca para utilização do tema emoticons do Pidgin Comment[ro]=Bibliotecă de utilizat tematica de emoticoni Pidgin Comment[ru]=Библиотека набора смайликов Pidgin Comment[se]=Bibliotehkta mii dulko Pidgin mojánfáttáid Comment[si]=Pidgin Emoticons තේමාව තේමාව සඳහා භාවිත කළ යුතු පුස්තකාලය Comment[sk]=Knižnica na použitie témy emotikonov Pidgin Comment[sl]=Knjižnica za uporabo Pidginovih tem ikon čustev Comment[sr]=Библиотека за Пиџинову тему емотикона Comment[sr@ijekavian]=Библиотека за Пиџинову тему емотикона Comment[sr@ijekavianlatin]=Biblioteka za Pidginovu temu emotikona Comment[sr@latin]=Biblioteka za Pidginovu temu emotikona Comment[sv]=Bibliotek för att använda Pidgin smilistema Comment[ta]=நிரலகம் பிட்கின் உணர்வுரு தோற்றத்தை பயன்படுத்தும் Comment[tg]=Китобхонаи мавзӯъи Pidgin emoticons Comment[th]=ไลบรารีที่ใช้ภาพไอคอนสื่ออารมณ์ของ Pidgin Comment[tr]=Pidgin Duygu Simgesi Temasını kullanmak için kitaplık -Comment[ug]=Pidgin چىراي ئىپادە ئۆرنىكىنى ئىشلىتىدىغان ئامبار +Comment[ug]=Pidgin چىراي ئىپادە تېمىسىنى ئىشلىتىدىغان ئامبار Comment[uk]=Бібліотека для використання теми емоційок Pidgin +Comment[vi]=Thư viện để sử dụng giao diện hình biểu cảm Pidgin Comment[wa]=Livreye pos eployî l' tinme di xhinêyes Pidgin Comment[x-test]=xxLibrary to use Pidgin emoticons themexx Comment[zh_CN]=使用 Pidgin 表情主题的类库 Comment[zh_TW]=使用 Pidgin 表情圖示主題的函式庫 X-KDE-ServiceTypes=KEmoticons X-KDE-Library=emoticonstheme_pidgin X-KDE-EmoticonsFileName=theme X-KDE-Priority=7 diff --git a/kutils/kemoticons/providers/xmpp/emoticonstheme_xmpp.desktop b/kutils/kemoticons/providers/xmpp/emoticonstheme_xmpp.desktop index 0800002bc5..493275c112 100644 --- a/kutils/kemoticons/providers/xmpp/emoticonstheme_xmpp.desktop +++ b/kutils/kemoticons/providers/xmpp/emoticonstheme_xmpp.desktop @@ -1,160 +1,162 @@ [Desktop Entry] Type=Service Name=XMPP Emoticons Theme Name[ar]=سمة رموز XMPP Name[as]=XMPP Emoticons থিম Name[ast]=Tema d'emoticonos XMPP Name[be@latin]=Matyŭ smajlikaŭ dla „XMPP” Name[bg]=Тема с емоции XMPP Name[bn]=এক্স-এম-পি-পি ইমোট-আইকন থীম Name[bn_IN]=XMPP ইমো-আইকন থিম Name[bs]=XMPP tema emotikona Name[ca]=Tema d'emoticones XMPP Name[ca@valencia]=Tema d'emoticones XMPP Name[cs]=Motiv emotikonů XMPP Name[csb]=Témë emòtikównków XMPP Name[da]=XMPP emotikon-tema Name[de]=XMPP-Emoticon-Design Name[el]=Θέμα εικονιδίων διάθεσης XMPP Name[en_GB]=XMPP Emoticons Theme Name[eo]=XMPP Mien-Etoso Name[es]=Tema de emoticonos XMPP Name[et]=XMPP emotikoniteema Name[eu]=XMPP-ren aurpegiera gaia Name[fi]=XMPP-hymiöteemat Name[fr]=Thèmes d'émoticônes XMPP Name[fy]=XMPP emoticons theme Name[ga]=Téama Straoiseog XMPP Name[gl]=Tema de emoticonas de XMPP Name[gu]=XMPP ઇમોકેશન થીમ Name[he]=ערכת פרצופונים של XMPP Name[hne]=एक्सएमपीपी चेहराचिनहा थीम Name[hr]=XMPP-ova tema emotikona Name[hsb]=XMPP Emoticons Theme Name[hu]=XMPP emotikon-téma Name[ia]=Thema de emoticones XMPP Name[id]=Tema Emoticon XMPP Name[is]=XMPP broskallaþema Name[it]=Tema faccine XMPP Name[ja]=XMPP 感情アイコンテーマ Name[kk]=XMPP көңіл-күй белгілер нақышы Name[km]=ស្បែក​សញ្ញា​អារម្មណ៍​របស់ XMPP Name[kn]=XMPP (ಎಮೋಟಿಕಾನ್ಸ್) ಪರಿಸರವಿನ್ಯಾಸ (ಥೀಮ್) Name[ko]=XMPP 이모티콘 테마 Name[ku]=Dirba Vegotinan yê XMPP Name[lt]=XMPP jaustukų tema Name[lv]=XMPP emocijzīmju tēma Name[mai]=एक्सएमपीपी भावचिन्ह प्रसंग Name[ml]=എക്സ്എംപിപി ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം Name[mr]=XMPP भावरेषा सुत्रयोजना Name[nb]=XMPP smilefjestema Name[nds]=XMPP-Snutensett Name[nl]=XMPP-emoticonsthema Name[nn]=XMPP-fjesingtema Name[or]=XMPP Emoticons ପ୍ରସଙ୍ଗ Name[pa]=XMPP Emoticons Theme Name[pl]=Motyw emotikon XMPP Name[pt]=Tema de Ícones Emotivos do XMPP Name[pt_BR]=Tema emoticons XMPP Name[ro]=Tematică de emoticoni XMPP Name[ru]=Набор смайликов XMPP Name[se]=XMPP mojánfáddá Name[si]=XMPP Emoticons තේමාව Name[sk]=Téma emotikonov XMPP Name[sl]=Tema ikon čustev za Jabber/XMPP Name[sr]=ИксМПП тема емотикона Name[sr@ijekavian]=ИксМПП тема емотикона Name[sr@ijekavianlatin]=XMPP tema emotikona Name[sr@latin]=XMPP tema emotikona Name[sv]=XMPP smilistema Name[ta]=XMPP உணர்வுருக்கள் தோற்றம் Name[tg]=Мавзӯъи XMPP Emoticons Name[th]=ภาพไอคอนสื่ออารมณ์ของ XMPP Name[tr]=XMPP Duygu Simgesi Teması -Name[ug]=XMPP چىراي ئىپادە ئۆرنىكى +Name[ug]=XMPP چىراي ئىپادە تېمىسى Name[uk]=Тема емоційок XMPP +Name[vi]=Giao diện hình biểu cảm XMPP Name[wa]=Tinme di xhinêyes XMPP Name[x-test]=xxXMPP Emoticons Themexx Name[zh_CN]=XMPP 表情主题 Name[zh_TW]=XMPP 表情圖示主題 Comment=Library to use XMPP emoticons theme Comment[ar]=مكتبة لاستخدام سمة رموز XMPP Comment[as]=XMPP Emoticons থিম ব্যৱহাৰ কৰা লাইব্ৰেৰী Comment[ast]=Biblioteca pa usar el tema d'emoticonos XMPP Comment[be@latin]=Biblijateka dla matyvaŭ smajlikaŭ „XMPP” Comment[bg]=Библиотека за темата с емоции XMPP Comment[bn]=এক্স-এম-পি-পি ইমোট-আইকন থীম ব্যবহার করার লাইব্রেরী Comment[bn_IN]=XMPP ইমো-আইকন থিম প্রয়োগ করতে ব্যবহৃত লাইব্রেরি Comment[bs]=Biblioteka za IksMPP temu emotikona Comment[ca]=Biblioteca per a usar el tema d'emoticones XMPP Comment[ca@valencia]=Biblioteca per a usar el tema d'emoticones XMPP Comment[cs]=Knihovna pro použití motivu emotikonů XMPP Comment[csb]=Bibloteka do brëkòwaniô emòtikónków temë XMPP Comment[da]=Bibliotek til at bruge XMPP emotikon-temaer Comment[de]=Bibliothek zur Verwendung des XMPP-Emoticon-Designs Comment[el]=Βιβλιοθήκη για τη χρήση του θέματος εικονιδίων διάθεσης XMPP Comment[en_GB]=Library to use XMPP emoticons theme Comment[eo]=Biblioteko por uzi XMPP Mien-Etoson Comment[es]=Biblioteca para usar el tema de emoticonos XMPP Comment[et]=Teek XMPP emotikoniteema kasutamiseks Comment[eu]=XMPP-ren aurpegiera gaia erabiltzeko liburutegia Comment[fi]=Kirjasto XMPP-hymiöteemojen käyttämiseen Comment[fr]=Bibliothèque permettant d'utiliser les thèmes d'émoticônes XMPP Comment[fy]=Biblioteek om XMPP emoticons tema te brûken Comment[ga]=Leabharlann le húsáid téama straoiseog XMPP Comment[gl]=Unha biblioteca para empregar temas de emoticonas de XMPP Comment[gu]=XMPP ઇમોકેશન થીમ ઉપયોગ કરવા માટેની લાઇબ્રેરી Comment[he]=ספריה לשימוש בערכת הפרצופונים של XMMP Comment[hne]=एक्सएमपीपी चेहराचिनहा थीम ल उपयोग करे बर लाइब्रेरी Comment[hr]=Biblioteka za korištenje XMPP-ove teme emotikona Comment[hsb]=Biblioteka za XMPP emoticons theme Comment[hu]=Programkönyvtár az XMPP emotikon-témához Comment[ia]=Libreria per usar le thema de emoticones XMPP Comment[id]=Pustaka untuk menggunakan tema emoticon XMPP Comment[is]=Forritlingasafn til notkunar með XMPP broskallaþema Comment[it]=Libreria per usare il tema faccine XMPP Comment[ja]=XMPP 感情アイコンテーマのライブラリ Comment[kk]=XMPP көңіл-күй белгілер нақышының жиыны Comment[km]=បណ្ណាល័យ​ត្រូវ​ប្រើ​ស្បែក​សញ្ញា​អារម្មណ៍​របស់ XMPP Comment[kn]=XMPP ಭಾವನಾಚಿಹ್ನೆಗಳ (ಎಮೋಟಿಕಾನ್) ಪರಿಸರವಿನ್ಯಾಸವನ್ನು (ಥೀಮ್) ಬಳಸಲು ಒಂದು ಭಂಡಾರ (ಲೈಬ್ರರಿ) Comment[ko]=XMPP 이모티콘 테마를 사용할 라이브러리 Comment[ku]=Pirtûkxane ji bo bi kar anîna Dirba Vegotinan yê XMPP Comment[lt]=Biblioteka, leidžianti naudoti XMPP jaustukų temą Comment[lv]=XMPP emocijzīmju tēmas bibliotēka Comment[mai]=एक्सएमपीपी भावचिन्ह प्रसंगक प्रयोगक लेल लाइब्रेरी Comment[ml]=എക്സ്എംപിപി ഇമോട്ടിക്കോണ്‍ രംഗവിതാനം ഉപയോഗിയ്ക്കേണ്ട ലൈബ്രറി Comment[mr]=XMPP भावरेषा सुत्रयोजना वापरण्याकरीता लायब्ररी Comment[nb]=Bibliotek for å bruke XMPP smilefjestema Comment[nds]=Bibliotheek, mit de sik dat XMPP-Snutensett bruken lett Comment[nl]=Bibliotheek voor het gebruik van het XMPP-emoticonsthema Comment[nn]=Bibliotek for å bruka fjesingtema frå XMPP Comment[or]=XMPP Emoticons ପ୍ରସଙ୍ଗକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଲାଇବ୍ରେରୀ Comment[pa]=XMPP ਈਮੋਸ਼ਨ ਥੀਮ ਵਰਤਣ ਲਈ ਲਾਇਬਰੇਰੀ Comment[pl]=Biblioteka do motywu emotikon XMPP Comment[pt]=Uma biblioteca para usar os temas de ícones emotivos do XMPP Comment[pt_BR]=Biblioteca para utilização do tema emoticons XMPP Comment[ro]=Bibliotecă de utilizat tematica de emoticoni XMPP Comment[ru]=Библиотека набора смайликов XMPP Comment[se]=Bibliotehka mii dulko XMPP mojánfáttáid Comment[si]=XMPP emoticons තේමාව සඳහා භාවිත කළ යුතු පුස්තකාලය Comment[sk]=Knižnica na použitie témy emotikonov XMPP Comment[sl]=Knjižnica za uporabo tem ikon čustev za Jabber/XMPP Comment[sr]=Библиотека за ИксМПП тему емотикона Comment[sr@ijekavian]=Библиотека за ИксМПП тему емотикона Comment[sr@ijekavianlatin]=Biblioteka za XMPP temu emotikona Comment[sr@latin]=Biblioteka za XMPP temu emotikona Comment[sv]=Bibliotek för att använda XMPP smilistema Comment[ta]=நிரலகம் XMPP உணர்வுரு தோற்றத்தை பயன்படுத்தும் Comment[tg]=Китобхонаи мавзӯъи XMPP emoticons Comment[th]=ไลบรารีที่ใช้ภาพไอคอนสื่ออารมณ์ของ XMPP Comment[tr]=XMPP Duygu Simgesi Temasını kullanmak için kitaplık -Comment[ug]=XMPP چىراي ئىپادە ئۆرنىكىنى ئىشلىتىدىغان ئامبار +Comment[ug]=XMPP چىراي ئىپادە تېمىسىنى ئىشلىتىدىغان ئامبار Comment[uk]=Бібліотека для використання теми емоційок XMPP +Comment[vi]=Thư viện để sử dụng giao diện hình biểu cảm XMPP Comment[wa]=Livreye pos eployî l' tinme di xhinêyes XMPP Comment[x-test]=xxLibrary to use XMPP emoticons themexx Comment[zh_CN]=使用 XMPP 表情主题的类库 Comment[zh_TW]=使用 XMPP 表情圖示主題的函式庫 X-KDE-ServiceTypes=KEmoticons X-KDE-Library=emoticonstheme_xmpp X-KDE-EmoticonsFileName=icondef.xml X-KDE-Priority=9 diff --git a/nepomuk/query/query.cpp b/nepomuk/query/query.cpp index e7c5d1ec3c..971ae10e4f 100644 --- a/nepomuk/query/query.cpp +++ b/nepomuk/query/query.cpp @@ -1,739 +1,739 @@ /* This file is part of the Nepomuk KDE project. Copyright (C) 2008-2010 Sebastian Trueg This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "query.h" #include "query_p.h" #include "term.h" #include "term_p.h" #include "nie.h" #include "nfo.h" #include "querybuilderdata_p.h" #include "literalterm.h" #include "resourceterm.h" #include "andterm.h" #include "orterm.h" #include "negationterm.h" #include "comparisonterm.h" #include "resourcetypeterm.h" #include "resourcetypeterm_p.h" #include "optionalterm.h" #include "queryserializer.h" #include "queryparser.h" #include "util.h" #include "filequery.h" #include #include #include #include #include #include #include #include #include #include #include #include #include "resourcemanager.h" #include "literal.h" #include "property.h" #include "class.h" #include /* ## Full Text Score ## Entity Rank ## Surfaced via SPARQL SELECT ?s ?sc ( (?s) ) as ?Rank WHERE { ?s ?p ?o . ?o bif:contains 'NEW AND YOR' option (score ?sc). } ORDER BY desc (? */ Nepomuk::Query::Term Nepomuk::Query::QueryPrivate::createFolderFilter() const { Term mainTerm; if ( !m_includeFolders.isEmpty() ) { QStringList includeFilter; for( QHash::ConstIterator it = m_includeFolders.constBegin(); it != m_includeFolders.constEnd(); ++it ) { const QString urlStr = it.key().url(KUrl::AddTrailingSlash); if( it.value() ) includeFilter.append( QString::fromLatin1("(^%1)").arg( urlStr ) ); else includeFilter.append( QString::fromLatin1("(^%1[^/]*$)").arg( urlStr ) ); } mainTerm = mainTerm && ComparisonTerm( Nepomuk::Vocabulary::NIE::url(), LiteralTerm(includeFilter.join( "|" )), ComparisonTerm::Regexp); } if ( !m_excludeFolders.isEmpty() ) { mainTerm = mainTerm && NegationTerm::negateTerm( ComparisonTerm( Nepomuk::Vocabulary::NIE::url(), LiteralTerm(QString::fromLatin1("^(%1)").arg( m_excludeFolders.toStringList(KUrl::AddTrailingSlash).join( "|" ) )), ComparisonTerm::Regexp)); } return mainTerm; } Nepomuk::Query::Term Nepomuk::Query::QueryPrivate::optimizeEvenMore(const Nepomuk::Query::Term& term) const { using namespace Nepomuk::Query; // // Merge ResourceTypeTerms which are combined in an OrTerm // if(term.type() == Term::Or) { QList subTerms = term.toOrTerm().subTerms(); QList typeTerms; QList::iterator it = subTerms.begin(); while(it != subTerms.end()) { if(it->type() == Term::ResourceType) { typeTerms << it->toResourceTypeTerm(); it = subTerms.erase(it); } else { ++it; } } if(typeTerms.count() > 1) { ResourceTypeTerm newTypeTerm; foreach(const ResourceTypeTerm& rtt, typeTerms) { static_cast(newTypeTerm.d_ptr.data())->m_types << rtt.type(); } subTerms << newTypeTerm; } else if(typeTerms.count() == 1) { subTerms += typeTerms.first(); } if(subTerms.count() > 1) return OrTerm(subTerms); else if(subTerms.count() == 1) return subTerms.first(); else return OrTerm(); } // // For AndTerms we simply need to optimize the subterms // else if(term.type() == Term::And) { AndTerm newAndTerm; // // Another small optimization: we sort all the ComparisonTerms which have a variable name set // at the beginning. This allows to force this variable name in other ComparisonTerms that use // the same property (for details see QueryBuilderData::uniqueVarName) // QList sortedSubTerms; foreach( const Nepomuk::Query::Term &t, term.toAndTerm().subTerms() ) { if(t.isComparisonTerm() && !t.toComparisonTerm().variableName().isEmpty()) { sortedSubTerms.prepend(t); } else { sortedSubTerms.append(t); } } foreach(const Term& subTerm, sortedSubTerms) { newAndTerm.addSubTerm(optimizeEvenMore(subTerm)); } return newAndTerm; } // // For OptionalTerms we simply need to optimize the subterm // else if(term.type() == Term::Optional) { return OptionalTerm::optionalizeTerm(optimizeEvenMore(term.toOptionalTerm().subTerm())); } // // For NegationTerms we simply need to optimize the subterm // else if(term.type() == Term::Negation) { return NegationTerm::negateTerm(optimizeEvenMore(term.toNegationTerm().subTerm())); } else { return term; } } class Nepomuk::Query::Query::RequestProperty::Private : public QSharedData { public: Nepomuk::Types::Property m_property; bool m_optional; }; Nepomuk::Query::Query::RequestProperty::RequestProperty( const Nepomuk::Types::Property& property, bool optional ) : d(new Private()) { d->m_property = property; d->m_optional = optional; } Nepomuk::Query::Query::RequestProperty::RequestProperty( const RequestProperty& other ) { d = other.d; } Nepomuk::Query::Query::RequestProperty::~RequestProperty() { } Nepomuk::Query::Query::RequestProperty& Nepomuk::Query::Query::RequestProperty::operator=( const RequestProperty& other ) { d = other.d; return *this; } Nepomuk::Types::Property Nepomuk::Query::Query::RequestProperty::property() const { return d->m_property; } bool Nepomuk::Query::Query::RequestProperty::optional() const { return d->m_optional; } bool Nepomuk::Query::Query::RequestProperty::operator==( const RequestProperty& other ) const { return d->m_property == other.d->m_property && d->m_optional == other.d->m_optional; } Nepomuk::Query::Query::Query() : d( new QueryPrivate() ) { } Nepomuk::Query::Query::Query( const Query& other ) { d = other.d; } Nepomuk::Query::Query::Query( const Term& term ) : d ( new QueryPrivate() ) { d->m_term = term; } Nepomuk::Query::Query::~Query() { } Nepomuk::Query::Query& Nepomuk::Query::Query::operator=( const Query& other ) { d = other.d; return *this; } Nepomuk::Query::Query& Nepomuk::Query::Query::operator=( const Term& term ) { d->m_term = term; return *this; } bool Nepomuk::Query::Query::isValid() const { return( d->m_term.isValid() || isFileQuery() ); } bool Nepomuk::Query::Query::isFileQuery() const { return d->m_isFileQuery; } Nepomuk::Query::FileQuery Nepomuk::Query::Query::toFileQuery() const { return FileQuery( *this ); } Nepomuk::Query::Term Nepomuk::Query::Query::term() const { return d->m_term; } int Nepomuk::Query::Query::limit() const { return d->m_limit; } int Nepomuk::Query::Query::offset() const { return d->m_offset; } void Nepomuk::Query::Query::setTerm( const Term& term ) { d->m_term = term; } void Nepomuk::Query::Query::setLimit( int limit ) { d->m_limit = limit; } void Nepomuk::Query::Query::setOffset( int offset ) { d->m_offset = offset; } void Nepomuk::Query::Query::setFullTextScoringEnabled( bool enabled ) { d->m_fullTextScoringEnabled = enabled; } void Nepomuk::Query::Query::setFullTextScoringSortOrder( Qt::SortOrder order ) { d->m_fullTextScoringSortOrder = order; } bool Nepomuk::Query::Query::fullTextScoringEnabled() const { return d->m_fullTextScoringEnabled; } Qt::SortOrder Nepomuk::Query::Query::fullTextScoringSortOrder() const { return d->m_fullTextScoringSortOrder; } void Nepomuk::Query::Query::setQueryFlags( QueryFlags flags ) { d->m_flags = flags; } Nepomuk::Query::Query::QueryFlags Nepomuk::Query::Query::queryFlags() const { return d->m_flags; } void Nepomuk::Query::Query::addRequestProperty( const RequestProperty& property ) { d->m_requestProperties.append( property ); } void Nepomuk::Query::Query::setRequestProperties( const QList& properties ) { d->m_requestProperties = properties; } QList Nepomuk::Query::Query::requestProperties() const { return d->m_requestProperties; } bool Nepomuk::Query::Query::operator==( const Query& other ) const { return( d->m_limit == other.d->m_limit && d->m_offset == other.d->m_offset && d->m_term == other.d->m_term && compareQList( d->m_requestProperties, other.d->m_requestProperties ) && compareHash( d->m_includeFolders, other.d->m_includeFolders ) && compareQList( d->m_excludeFolders, other.d->m_excludeFolders ) && d->m_isFileQuery == other.d->m_isFileQuery && d->m_fileMode == other.d->m_fileMode ); } bool Nepomuk::Query::Query::operator!=( const Query& other ) const { return( d->m_limit != other.d->m_limit || d->m_offset != other.d->m_offset || d->m_term != other.d->m_term || !compareQList( d->m_requestProperties, other.d->m_requestProperties ) || !compareHash( d->m_includeFolders, other.d->m_includeFolders ) || !compareQList( d->m_excludeFolders, other.d->m_excludeFolders ) || d->m_isFileQuery != other.d->m_isFileQuery || d->m_fileMode != other.d->m_fileMode ); } QString Nepomuk::Query::Query::toSparqlQuery( SparqlFlags sparqlFlags ) const { Term term = d->m_term; // restrict to files if we are a file query if( d->m_isFileQuery ) { Term fileModeTerm; ResourceTypeTerm fileTerm( Vocabulary::NFO::FileDataObject() ); ResourceTypeTerm folderTerm( Vocabulary::NFO::Folder() ); if( d->m_fileMode == FileQuery::QueryFiles ) fileModeTerm = AndTerm( fileTerm, NegationTerm::negateTerm( folderTerm ) ); else if( d->m_fileMode == FileQuery::QueryFolders ) fileModeTerm = AndTerm( folderTerm, NegationTerm::negateTerm( fileTerm ) ); else fileModeTerm = OrTerm( fileTerm, folderTerm ); term = AndTerm( term, fileModeTerm, d->createFolderFilter() ); } // convert request properties into ComparisonTerms // in ask and count query mode we can omit the optional req props for ( int i = 0; i < d->m_requestProperties.count(); ++i ) { const RequestProperty& rp = d->m_requestProperties[i]; ComparisonTerm rpt( rp.property(), Term() ); rpt.setVariableName( QString::fromLatin1("reqProp%1").arg(i+1) ); if( rp.optional() && !( sparqlFlags&(CreateAskQuery|CreateCountQuery) ) ) { term = term && OptionalTerm::optionalizeTerm( rpt ); } else if( !rp.optional() ) { term = term && rpt; } } // optimize whatever we can term = term.optimized(); // perform internal optimizations term = d->optimizeEvenMore(term); // actually build the SPARQL query patterns QueryBuilderData qbd( d.constData(), sparqlFlags ); - // We restrict results to user visible types only. + // We restrict results to user visible types only. There is no need for this with file queries as normally all files are visible. // // Here we use an optimizations: // The storage service creates "nao:userVisible 1" entries for all visible resources. This contains two optimizations: // - We use an integer instead of a boolean because Virtuoso does not support booleans and, thus, Soprano converts // booleans into a fake type which is stored as a string. This makes comparision much slower. // - Instead of using crappy inference via "?r a ?t . ?t nao:userVisible true" we can directly check the resources. // - Instead of restricting the visibility to 1 we trick the Virtuoso query optimizer so it won't try to use the visibility // as priority. We do this with a filter that does not test for equality. Using "?r nao:userVisible 1" has a drastic // performance impact which the filter has not. // QString userVisibilityRestriction; - if( !(queryFlags()&NoResultRestrictions) ) { + if( !(queryFlags()&NoResultRestrictions) && !d->m_isFileQuery ) { userVisibilityRestriction = QString::fromLatin1("?r %1 %2 . FILTER(%2>0) . ") .arg(Soprano::Node::resourceToN3(Soprano::Vocabulary::NAO::userVisible()), qbd.uniqueVarName()); } QString termGraphPattern; if( term.isValid() ) { termGraphPattern = term.d_ptr->toSparqlGraphPattern( QLatin1String( "?r" ), 0, &qbd ); if( termGraphPattern.isEmpty() ) { kDebug() << "Got no valid SPARQL pattern from" << term; return QString(); } } // build the list of variables to select (in addition to the main result variable ?r) QStringList selectVariables = qbd.customVariables(); // add additional scoring variable if requested if( d->m_fullTextScoringEnabled ) { const QString scoringExpression = qbd.buildScoringExpression(); if( !scoringExpression.isEmpty() ) selectVariables << scoringExpression; } // build the core of the query - the part that never changes QString queryBase = QString::fromLatin1( "where { %1 %2 }" ) .arg( termGraphPattern, userVisibilityRestriction ); // build the final query QString query; if( sparqlFlags & CreateCountQuery ) { if( selectVariables.isEmpty() ) { // when there are no additional variables we can perfectly use count(distinct) query = QString::fromLatin1("select count(distinct ?r) as ?cnt %1 %2") .arg( selectVariables.join( QLatin1String(" " ) ), queryBase ); } else { // when there are additional variables we need to do some magic to count the // number of rows instead of a list of counts // we cannot simply leave out the additional variables since that would change // the number of results. query = QString::fromLatin1("select count(%1) as ?cnt %2 where { { select count(*) as %1 ?r %3 } }") .arg(qbd.uniqueVarName(), selectVariables.join( QLatin1String(" " ) ), queryBase ); } } else if( sparqlFlags & CreateAskQuery ) { query = QLatin1String( "ask ") + queryBase; } else { QString fullTextExcerptExpression; if( !(queryFlags()&WithoutFullTextExcerpt) ) { fullTextExcerptExpression = qbd.buildSearchExcerptExpression(); } query = QString::fromLatin1( "select distinct ?r %1 %2 %3" ) .arg( selectVariables.join( QLatin1String(" " ) ), fullTextExcerptExpression, queryBase ); query += qbd.buildOrderString(); } // offset and limit if ( d->m_offset > 0 ) query += QString::fromLatin1( " OFFSET %1" ).arg( d->m_offset ); if ( d->m_limit > 0 ) query += QString::fromLatin1( " LIMIT %1" ).arg( d->m_limit ); return query.simplified(); } KUrl Nepomuk::Query::Query::toSearchUrl( SparqlFlags flags ) const { return toSearchUrl( QString(), flags ); } // This is a bit dodgy: if there are sparql flags we encode the SPARQL query into the url // otherwise the serialized query (which allows for more power in the kio slave). It would // probably be nicer to somehow put the flags in the URL. But new query items in the URL // would make the URL handling in the kio slave more complicated.... oh, well. KUrl Nepomuk::Query::Query::toSearchUrl( const QString& customTitle, SparqlFlags flags ) const { // the nepomuksearch:/ KIO slave does not handle count or ask queries flags &= ~CreateCountQuery; flags &= ~CreateAskQuery; Query q( *this ); // the nepomuksearch:/ KIO slave does not make use of full text scores. Thus, we avoid the // overhead by disabling them q.setFullTextScoringEnabled( false ); KUrl url( QLatin1String("nepomuksearch:/") ); if( flags == NoFlags ) url.addQueryItem( QLatin1String("encodedquery"), q.toString() ); else url.addQueryItem( QLatin1String("sparql"), q.toSparqlQuery( flags ) ); QString title(customTitle); if( customTitle.isEmpty() ) { title = titleFromQueryUrl( url ); } // replace slashes with the "fraction slash" which is the same KIO::encodeFileName does. // however, we do not want to link to KIO. url.addPath( title.replace('/', QChar(0x2044)) ); return url; } Nepomuk::Query::RequestPropertyMap Nepomuk::Query::Query::requestPropertyMap() const { RequestPropertyMap rpm; for ( int i = 0; i < d->m_requestProperties.count(); ++i ) { rpm.insert( QString( "reqProp%1" ).arg( i+1 ), d->m_requestProperties[i].property() ); } return rpm; } QString Nepomuk::Query::Query::toString() const { return Nepomuk::Query::serializeQuery( *this ); } Nepomuk::Query::Query Nepomuk::Query::Query::optimized() const { Query newQuery( *this ); newQuery.setTerm( term().optimized() ); return newQuery; } // static Nepomuk::Query::Query Nepomuk::Query::Query::fromString( const QString& queryString ) { return Nepomuk::Query::parseQuery( queryString ); } namespace { /** * Returns an empty string for sparql query URLs. */ inline QString extractPlainQuery( const KUrl& url ) { if( url.queryItems().contains( "query" ) ) { return url.queryItem( "query" ); } else if ( !url.hasQuery() ) { return url.path().section( '/', 0, 0, QString::SectionSkipEmpty ); } else { return QString(); } } } // static Nepomuk::Query::Query Nepomuk::Query::Query::fromQueryUrl( const KUrl& url ) { if( url.protocol() != QLatin1String("nepomuksearch") ) { kDebug() << "No nepomuksearch:/ URL:" << url; return Query(); } if ( url.queryItems().contains( "sparql" ) ) { kDebug() << "Cannot parse SPARQL query from:" << url; return Query(); } else if( url.queryItems().contains( "encodedquery" ) ) { return fromString( url.queryItem( "encodedquery") ); } else { Query query = QueryParser::parseQuery( extractPlainQuery(url) ); query.setRequestProperties( QList() << Nepomuk::Query::Query::RequestProperty( Nepomuk::Vocabulary::NIE::url(), true ) ); return query; } } // static QString Nepomuk::Query::Query::sparqlFromQueryUrl( const KUrl& url ) { if( url.protocol() != QLatin1String("nepomuksearch") ) { kDebug() << "No nepomuksearch:/ URL:" << url; return QString(); } if( url.queryItems().contains( "sparql" ) ) { return url.queryItem( "sparql" ); } else { Query query = fromQueryUrl( url ); if( query.isValid() ) { query.setRequestProperties( QList() << Nepomuk::Query::Query::RequestProperty( Nepomuk::Vocabulary::NIE::url(), true ) ); return query.toSparqlQuery(); } else { return QString(); } } } // static QString Nepomuk::Query::Query::titleFromQueryUrl( const KUrl& url ) { if( url.protocol() != QLatin1String("nepomuksearch") ) { kDebug() << "No nepomuksearch:/ URL:" << url; return QString(); } // the title is the first section of the path, but only if we have a query if( url.hasQuery() ) { QString title = url.path().section( '/', 0, 0, QString::SectionSkipEmpty ); if(!title.isEmpty()) return title; } // no title in the path, try to get the user query, i.e. a non-encoded and non-sparql query QString userQuery = extractPlainQuery( url ); if ( !userQuery.isEmpty() ) { return i18nc( "@title UDS_DISPLAY_NAME for a KIO directory listing. %1 is the query the user entered.", "Query Results from '%1'", userQuery ); } // fallback: generic query title return i18nc( "@title UDS_DISPLAY_NAME for a KIO directory listing.", "Query Results"); } Nepomuk::Query::Query Nepomuk::Query::operator&&( const Query& query, const Term& term ) { Query newQuery( query ); newQuery.setTerm( query.term() && term ); return newQuery; } Nepomuk::Query::Query Nepomuk::Query::operator||( const Query& query, const Term& term ) { Query newQuery( query ); newQuery.setTerm( query.term() || term ); return newQuery; } Nepomuk::Query::Query Nepomuk::Query::operator!( const Query& query ) { Query newQuery( query ); newQuery.setTerm( !query.term() ); return newQuery; } QDebug operator<<( QDebug dbg, const Nepomuk::Query::Query& query ) { return dbg << query.toString(); } uint Nepomuk::Query::qHash( const Nepomuk::Query::Query& query ) { return qHash( query.term() ); } diff --git a/nepomuk/query/standardqueries.cpp b/nepomuk/query/standardqueries.cpp index 87bf9bf7d6..0afb738341 100644 --- a/nepomuk/query/standardqueries.cpp +++ b/nepomuk/query/standardqueries.cpp @@ -1,146 +1,150 @@ /* This file is part of the Nepomuk KDE project. Copyright (C) 2010 Sebastian Trueg This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) version 3, or any later version accepted by the membership of KDE e.V. (or its successor approved by the membership of KDE e.V.), which shall act as a proxy defined in Section 6 of version 3 of the license. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . */ #include "standardqueries.h" #include "filequery.h" #include "comparisonterm.h" #include "literalterm.h" #include "andterm.h" #include "orterm.h" #include "negationterm.h" #include "nie.h" #include "nfo.h" #include "nie.h" #include "nuao.h" #include #include Nepomuk::Query::Query Nepomuk::Query::standardQuery( StandardQuery query, const Term& /*subterm*/ ) { switch( query ) { case LastModifiedFilesQuery: { ComparisonTerm lastModifiedTerm( Nepomuk::Vocabulary::NIE::lastModified(), Term() ); lastModifiedTerm.setSortWeight( 1, Qt::DescendingOrder ); FileQuery lastModifiedQuery( lastModifiedTerm ); return lastModifiedQuery; } case MostImportantResourcesQuery: { ComparisonTerm fancyTerm( Soprano::Vocabulary::NAO::score(), Term() ); fancyTerm.setSortWeight( 1, Qt::DescendingOrder ); Query fancyQuery( fancyTerm ); return fancyQuery; } case NeverOpenedFilesQuery: { // there are two ways a usage count of 0 can be expressed: // 1. property with value 0 // 2. no property at all OrTerm usageCntTerm( ComparisonTerm( Nepomuk::Vocabulary::NUAO::usageCount(), LiteralTerm( 0 ), ComparisonTerm::Equal ), NegationTerm::negateTerm( ComparisonTerm( Nepomuk::Vocabulary::NUAO::usageCount(), Term() ) ) ); // Before we had the data management service there was no usage count // tracking. Thus, in order not to return all files we should filter // out all files that were created before we started tracking usage. // However, by default we only show the top 10 results. Thus, in the // worst case this query will return the same as lastModifiedFilesQuery(). ComparisonTerm modDateTerm( Nepomuk::Vocabulary::NIE::lastModified(), Term() ); modDateTerm.setSortWeight( 1, Qt::DescendingOrder ); FileQuery query( usageCntTerm && modDateTerm ); return query; } case ResourcesForActivityQuery: { // FIXME // get all resources that have some prop defined in a graph which was created in the requested activity? // select distinct ?r where { graph ?g { ?r ?p ?o . } . ?g . } // it would be something like: MetaDataTerm( , ) } } return Query(); } Nepomuk::Query::Query Nepomuk::Query::dateRangeQuery( const QDate& start, const QDate& end, DateRangeFlags dateFlags ) { // create our range const LiteralTerm dateFrom( QDateTime( start, QTime( 0,0,0 ) ) ); const LiteralTerm dateTo( QDateTime( end, QTime( 23, 59, 59, 999 ) ) ); + // slight optimization: no need for an end filter if the end is in the future + const bool needStartFilter = start.isValid(); + const bool needEndFilter = end.isValid() && end < QDate::currentDate(); + Query query; if( dateFlags & ModificationDate ) { // include files modified in our date range ComparisonTerm lastModifiedStart = Nepomuk::Vocabulary::NIE::lastModified() > dateFrom; ComparisonTerm lastModifiedEnd = Nepomuk::Vocabulary::NIE::lastModified() < dateTo; - if( start.isValid() && end.isValid() ) + if( needStartFilter && needEndFilter ) query = query || ( lastModifiedStart && lastModifiedEnd ); - else if( start.isValid() ) + else if( needStartFilter ) query = query || lastModifiedStart; - else if( end.isValid() ) + else if( needEndFilter ) query = query || lastModifiedEnd; } if( dateFlags & ContentDate ) { // include files created (as in photos taken) in our data range ComparisonTerm contentCreatedStart = Nepomuk::Vocabulary::NIE::contentCreated() > dateFrom; ComparisonTerm contentCreatedEnd = Nepomuk::Vocabulary::NIE::contentCreated() < dateTo; - if( start.isValid() && end.isValid() ) + if( needStartFilter && needEndFilter ) query = query || ( contentCreatedStart && contentCreatedEnd ); - else if( start.isValid() ) + else if( needStartFilter ) query = query || contentCreatedStart; - else if( end.isValid() ) + else if( needEndFilter ) query = query || contentCreatedEnd; } if( dateFlags & UsageDate ) { // include files opened (and optionally modified) in our date range // TODO: also take the end of the event into account ComparisonTerm accessEventStart = Nepomuk::Vocabulary::NUAO::start() > dateFrom; ComparisonTerm accessEventEnd = Nepomuk::Vocabulary::NUAO::start() < dateTo; ComparisonTerm accessEventCondition( Nepomuk::Vocabulary::NUAO::involves(), Term() ); - if( start.isValid() && end.isValid() ) + if( needStartFilter && needEndFilter ) accessEventCondition.setSubTerm( accessEventStart && accessEventEnd ); - else if( start.isValid() ) + else if( needStartFilter ) accessEventCondition.setSubTerm( accessEventStart ); - else if( end.isValid() ) + else if( needEndFilter ) accessEventCondition.setSubTerm( accessEventEnd ); if( accessEventCondition.subTerm().isValid() ) query = query || accessEventCondition.inverted(); } return query; } diff --git a/nepomuk/utils/facet.cpp b/nepomuk/utils/facet.cpp index afce334085..258c583535 100644 --- a/nepomuk/utils/facet.cpp +++ b/nepomuk/utils/facet.cpp @@ -1,201 +1,199 @@ /* This file is part of the Nepomuk KDE project. Copyright (C) 2010 Sebastian Trueg This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) version 3, or any later version accepted by the membership of KDE e.V. (or its successor approved by the membership of KDE e.V.), which shall act as a proxy defined in Section 6 of version 3 of the license. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . */ #include "facet.h" #include "simplefacet.h" #include "dynamicresourcefacet.h" #include "datefacet.h" #include "typefacet.h" #include #include "standardqueries.h" #include "andterm.h" #include "orterm.h" #include "comparisonterm.h" #include "literalterm.h" #include "resourceterm.h" #include "resourcetypeterm.h" #include "query.h" #include "tag.h" #include "property.h" #include "tmo.h" #include "nmo.h" #include "nco.h" #include "nfo.h" #include "nie.h" #include "kguiitem.h" #include "kdebug.h" using namespace Nepomuk::Query; class Nepomuk::Utils::Facet::FacetPrivate { public: Query::Query m_clientQuery; }; Nepomuk::Utils::Facet::Facet( QObject* parent ) : QObject( parent ), d(new FacetPrivate()) { } Nepomuk::Utils::Facet::~Facet() { delete d; } QString Nepomuk::Utils::Facet::text( int index ) const { return guiItem( index ).text(); } KGuiItem Nepomuk::Utils::Facet::guiItem( int index ) const { Q_UNUSED(index); return KGuiItem(); } void Nepomuk::Utils::Facet::setQueryTermChanged() { emit queryTermChanged( this, queryTerm() ); } void Nepomuk::Utils::Facet::setLayoutChanged() { emit layoutChanged( this ); } void Nepomuk::Utils::Facet::setSelectionChanged() { emit selectionChanged( this ); } void Nepomuk::Utils::Facet::setClientQuery( const Nepomuk::Query::Query& query ) { kDebug() << query; if( query != d->m_clientQuery ) { d->m_clientQuery = query; handleClientQueryChange(); } } Nepomuk::Query::Query Nepomuk::Utils::Facet::clientQuery() const { return d->m_clientQuery; } void Nepomuk::Utils::Facet::handleClientQueryChange() { // do nothing } // static Nepomuk::Utils::Facet* Nepomuk::Utils::Facet::createFileTypeFacet( QObject* parent ) { SimpleFacet* facetTypes = new SimpleFacet( parent ); facetTypes->setSelectionMode( Facet::MatchAny ); facetTypes->addTerm( i18nc("@option:check A filter on file type", "Documents"), ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Document()) ); // need to check the mimetype as well since strigi is still not perfect facetTypes->addTerm( i18nc("@option:check A filter on file type - audio files", "Audio"), - ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Audio()) || ComparisonTerm(Nepomuk::Vocabulary::NIE::mimeType(), LiteralTerm(QLatin1String("audio"))) ); facetTypes->addTerm( i18nc("@option:check A filter on file type - media video", "Video"), - ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Video()) || ComparisonTerm(Nepomuk::Vocabulary::NIE::mimeType(), LiteralTerm(QLatin1String("video"))) ); facetTypes->addTerm( i18nc("@option:check A filter on file type", "Images"), ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Image()) ); return facetTypes; } // static Nepomuk::Utils::Facet* Nepomuk::Utils::Facet::createTypeFacet( QObject* parent ) { return new TypeFacet( parent ); } // static Nepomuk::Utils::Facet* Nepomuk::Utils::Facet::createDateFacet( QObject* parent ) { return new DateFacet( parent ); } // static Nepomuk::Utils::Facet* Nepomuk::Utils::Facet::createTagFacet( QObject* parent ) { DynamicResourceFacet* facetTags = new DynamicResourceFacet( parent ); facetTags->setSelectionMode( Facet::MatchAll ); facetTags->setRelation( Soprano::Vocabulary::NAO::hasTag() ); facetTags->setResourceType( Soprano::Vocabulary::NAO::Tag() ); return facetTags; } // static Nepomuk::Utils::Facet* Nepomuk::Utils::Facet::createPriorityFacet( QObject* parent ) { SimpleFacet* priorityFacet = new SimpleFacet( parent ); priorityFacet->setSelectionMode(Facet::MatchOne); priorityFacet->addTerm( i18nc("@option:radio A filter on prioritizing/sorting a selection of resources", "No priority"), Term() ); priorityFacet->addTerm( i18nc("@option:radio A filter on prioritizing/sorting a selection of resources", "Last modified"), standardQuery( LastModifiedFilesQuery ).term() ); priorityFacet->addTerm( i18nc("@option:radio A filter on prioritizing/sorting a selection of resources", "Most important"), standardQuery( MostImportantResourcesQuery ).term() ); priorityFacet->addTerm( i18nc("@option:radio A filter on prioritizing/sorting a selection of resources", "Never opened"), standardQuery( NeverOpenedFilesQuery ).term() ); return priorityFacet; } // static Nepomuk::Utils::Facet* Nepomuk::Utils::Facet::createRatingFacet( QObject* parent ) { SimpleFacet* facet = new SimpleFacet(parent); facet->setSelectionMode(Facet::MatchOne); facet->addTerm( i18nc("@option:radio A filter on the rating of a resource", "Any Rating"), Term() ); facet->addTerm( i18nc("@option:radio A filter on the rating of a resource", "1 or more"), Soprano::Vocabulary::NAO::numericRating() >= LiteralTerm( 1.5 ) ); facet->addTerm( i18nc("@option:radio A filter on the rating of a resource", "2 or more"), Soprano::Vocabulary::NAO::numericRating() >= LiteralTerm( 3.5 ) ); facet->addTerm( i18nc("@option:radio A filter on the rating of a resource", "3 or more"), Soprano::Vocabulary::NAO::numericRating() >= LiteralTerm( 5.5 ) ); facet->addTerm( i18nc("@option:radio A filter on the rating of a resource", "4 or more"), Soprano::Vocabulary::NAO::numericRating() >= LiteralTerm( 7.5 ) ); facet->addTerm( i18nc("@option:radio A filter on the rating of a resource", "Max Rating"), Soprano::Vocabulary::NAO::numericRating() >= LiteralTerm( 9.5 ) ); return facet; } #include "facet.moc" diff --git a/nepomuk/utils/typefacet.cpp b/nepomuk/utils/typefacet.cpp index 5a733ea55e..fb11dc33af 100644 --- a/nepomuk/utils/typefacet.cpp +++ b/nepomuk/utils/typefacet.cpp @@ -1,418 +1,417 @@ /* This file is part of the Nepomuk KDE project. Copyright (C) 2010 Sebastian Trueg This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) version 3, or any later version accepted by the membership of KDE e.V. (or its successor approved by the membership of KDE e.V.), which shall act as a proxy defined in Section 6 of version 3 of the license. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . */ #include "typefacet.h" #include "filequery.h" #include "term.h" #include "class.h" #include "andterm.h" #include "orterm.h" #include "resourcetypeterm.h" #include "negationterm.h" #include "literalterm.h" #include "comparisonterm.h" #include "nfo.h" #include "nie.h" #include "tmo.h" #include "nco.h" #include "nmo.h" #include "kguiitem.h" #include "kdebug.h" #include #include #include namespace { enum RootSelection { None, File, Other }; } class Nepomuk::Utils::TypeFacet::Private { public: Private() : m_rootSelection(None), m_usedTypes(0) { // // Default file types // m_fileTypes.append( qMakePair(i18nc("@option:check A filter on file type", "Documents"), Query::ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Document())) ); // need to check the mimetype as well since strigi is still not perfect m_fileTypes.append( qMakePair(i18nc("@option:check A filter on file type - audio files", "Audio"), Query::ComparisonTerm(Nepomuk::Vocabulary::NIE::mimeType(), Query::LiteralTerm(QLatin1String("audio")))) ); m_fileTypes.append( qMakePair(i18nc("@option:check A filter on file type - media video", "Video"), - Query::ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Video()) || Query::ComparisonTerm(Nepomuk::Vocabulary::NIE::mimeType(), Query::LiteralTerm(QLatin1String("video")))) ); m_fileTypes.append( qMakePair(i18nc("@option:check A filter on file type", "Images"), Query::ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Image())) ); // // Default other types // m_otherTypes.append(qMakePair(i18nc("@option:check A filter on resource type", "Contacts"), Query::ResourceTypeTerm(Nepomuk::Vocabulary::NCO::Contact()))); m_otherTypes.append(qMakePair(i18nc("@option:check A filter on resource type", "Emails"), Query::ResourceTypeTerm(Nepomuk::Vocabulary::NMO::Email()))); m_otherTypes.append(qMakePair(i18nc("@option:check A filter on resource type", "Tasks"), Query::ResourceTypeTerm(Nepomuk::Vocabulary::TMO::Task()))); m_otherTypes.append(qMakePair(i18nc("@option:check A filter on resource type", "Tags"), Query::ResourceTypeTerm(Soprano::Vocabulary::NAO::Tag()))); } bool findTerm( const Query::Term& term, int* index, RootSelection* rootSelection ) const; void setRootSelection( RootSelection selection ); RootSelection m_rootSelection; QList > m_fileTypes; QList > m_otherTypes; /// points to m_fileTypes or m_otherTypes based on m_rootSelection QList >* m_usedTypes; /// a list of custom types which is filled by selectFromTerm() QList m_customTypes; /// indexes into m_fileTypes or m_otherTypes depending on the value of m_rootSelection /// only used to avoid code duplication QSet m_selectedTypes; /// indexes into m_customTypes QSet m_selectedCustomTypes; }; bool Nepomuk::Utils::TypeFacet::Private::findTerm( const Query::Term& term, int* index, RootSelection* rootSelection ) const { for( int i = 0; i < m_fileTypes.count(); ++i ) { if( term == m_fileTypes[i].second ) { *index = i; *rootSelection = File; return true; } } for( int i = 0; i < m_otherTypes.count(); ++i ) { if( term == m_otherTypes[i].second ) { *index = i; *rootSelection = Other; return true; } } return false; } void Nepomuk::Utils::TypeFacet::Private::setRootSelection( RootSelection selection ) { m_rootSelection = selection; if( m_rootSelection == File ) m_usedTypes = &m_fileTypes; else if( m_rootSelection == Other ) m_usedTypes = &m_otherTypes; else m_usedTypes = 0; } Nepomuk::Utils::TypeFacet::TypeFacet(QObject *parent) : Nepomuk::Utils::Facet(parent), d(new Private()) { } Nepomuk::Utils::TypeFacet::~TypeFacet() { delete d; } Nepomuk::Utils::Facet::SelectionMode Nepomuk::Utils::TypeFacet::selectionMode() const { return MatchAny; } // while we do return file/other query terms even if there is no sub-selection we do not notify this change since // to the user it should just be a preselection Nepomuk::Query::Term Nepomuk::Utils::TypeFacet::queryTerm() const { switch(d->m_rootSelection) { case None: return Query::Term(); case File: if( d->m_selectedTypes.isEmpty() && d->m_selectedCustomTypes.isEmpty() ) { return Query::ResourceTypeTerm(Nepomuk::Vocabulary::NFO::FileDataObject()); } else { Query::OrTerm term; Q_FOREACH( int i, d->m_selectedTypes ) { term.addSubTerm( d->m_fileTypes[i].second ); } Q_FOREACH( int i, d->m_selectedCustomTypes ) { term.addSubTerm( Query::ResourceTypeTerm( d->m_customTypes[i] ) ); } return term.optimized(); } case Other: if( d->m_selectedTypes.isEmpty() && d->m_selectedCustomTypes.isEmpty() ) { return Query::NegationTerm::negateTerm(Query::ResourceTypeTerm(Nepomuk::Vocabulary::NFO::FileDataObject())); } else { Query::OrTerm term; Q_FOREACH( int i, d->m_selectedTypes ) { term.addSubTerm( d->m_otherTypes[i].second ); } Q_FOREACH( int i, d->m_selectedCustomTypes ) { term.addSubTerm( Query::ResourceTypeTerm( d->m_customTypes[i] ) ); } return term.optimized(); } } // make gcc shut up return Query::Term(); } int Nepomuk::Utils::TypeFacet::count() const { if( d->m_rootSelection == None ) { // File and Other return 2; } else { // File/Other selection + fixed types + custom types return 1 + d->m_usedTypes->count() + d->m_customTypes.count(); } } KGuiItem Nepomuk::Utils::TypeFacet::guiItem(int index) const { if( d->m_rootSelection == None ) { switch( index ) { case 0: return KGuiItem(i18nc("@option:check Do filter on type - show only files", "Files")); case 1: return KGuiItem(i18nc("@option:check Do filter on type - show everything but files", "Other")); break; } } else { if( index == 0 ) { if( d->m_rootSelection == File ) return KGuiItem(i18nc("@option:check Do filter on type - show only files", "Files")); else return KGuiItem(i18nc("@option:check Do filter on type - show everything but files", "Other")); } else { --index; } if( index < d->m_usedTypes->count() ) { return KGuiItem(d->m_usedTypes->at(index).first); } else if( index - d->m_usedTypes->count() < d->m_customTypes.count() ) { return KGuiItem(d->m_customTypes[index - d->m_usedTypes->count()].label()); } } return KGuiItem(); } bool Nepomuk::Utils::TypeFacet::isSelected(int index) const { if( d->m_rootSelection == None ) { return false; } else if( index == 0 ) { return true; } else { --index; if( index < d->m_usedTypes->count() ) { return d->m_selectedTypes.contains(index); } else { index -= d->m_usedTypes->count(); return d->m_selectedCustomTypes.contains(index); } } } void Nepomuk::Utils::TypeFacet::clearSelection() { kDebug(); d->m_selectedTypes.clear(); d->m_selectedCustomTypes.clear(); d->m_customTypes.clear(); d->setRootSelection(None); setLayoutChanged(); setSelectionChanged(); setQueryTermChanged(); } void Nepomuk::Utils::TypeFacet::setSelected(int index, bool selected) { kDebug() << index << selected; if( d->m_rootSelection == None ) { if( selected ) { if( index == 0 ) { d->setRootSelection(File); setLayoutChanged(); setSelectionChanged(); } else if( index == 1 ) { d->setRootSelection(Other); setLayoutChanged(); setSelectionChanged(); } } } else { if( selected ) { if( index > 0 ) { --index; if( index < d->m_usedTypes->count() ) { kDebug() << "Checking fixed type" << index; if( !d->m_selectedTypes.contains(index) ) { d->m_selectedTypes.insert(index); setSelectionChanged(); setQueryTermChanged(); } } else { index -= d->m_usedTypes->count(); kDebug() << "Checking custom type" << index; if( index < d->m_customTypes.count() ) { if( !d->m_selectedCustomTypes.contains(index) ) { d->m_selectedCustomTypes.insert(index); setSelectionChanged(); setQueryTermChanged(); } } } } } else { if( index == 0 ) { clearSelection(); } else { --index; if( index < d->m_usedTypes->count() ) { if( d->m_selectedTypes.contains(index) ) { d->m_selectedTypes.remove(index); setSelectionChanged(); setQueryTermChanged(); } } else { index -= d->m_usedTypes->count(); if( index < d->m_customTypes.count() ) { if( d->m_selectedCustomTypes.contains(index) ) { d->m_selectedCustomTypes.remove(index); setSelectionChanged(); setQueryTermChanged(); } } } } } } } bool Nepomuk::Utils::TypeFacet::selectFromTerm(const Nepomuk::Query::Term &queryTerm) { // 1. compare to all the terms in d->m_fileTypes and d->m_otherTypes // 2. check if it is a ResourceTypeTerm // 3. check if it is a negation of the file term // 4. check if it is an OrTerm and do the above with all terms in it // 5. do not add nfo:FileDataObject as a custom type! int index = -1; RootSelection rootSel = None; if( d->findTerm( queryTerm, &index, &rootSel ) ) { if( d->m_rootSelection == None || d->m_rootSelection == rootSel ) { d->m_selectedTypes.insert(index); setSelectionChanged(); return true; } } else if( queryTerm.isResourceTypeTerm() ) { const Types::Class type = queryTerm.toResourceTypeTerm().type(); if( type == Nepomuk::Vocabulary::NFO::FileDataObject() ) { if( d->m_rootSelection == None ) { setSelected(0); return true; } else { return d->m_rootSelection == File; } } else { const RootSelection reqSel = type.isSubClassOf(Nepomuk::Vocabulary::NFO::FileDataObject()) ? File : Other; if( d->m_rootSelection == None ) { d->setRootSelection(reqSel); d->m_customTypes.append(type); d->m_selectedCustomTypes.insert(d->m_customTypes.count()-1); setLayoutChanged(); setSelectionChanged(); setQueryTermChanged(); return true; } else if( d->m_rootSelection == reqSel ) { if( !d->m_customTypes.contains(type) ) { d->m_customTypes.append(type); setLayoutChanged(); } d->m_selectedCustomTypes.insert(d->m_customTypes.indexOf(type)); setSelectionChanged(); setQueryTermChanged(); return true; } } } else if( queryTerm.isNegationTerm() && queryTerm.toNegationTerm().subTerm().isResourceTypeTerm() && queryTerm.toNegationTerm().subTerm().toResourceTypeTerm().type() == Nepomuk::Vocabulary::NFO::FileDataObject() ) { if( d->m_rootSelection == None ) { setSelected(1); return true; } else { return d->m_rootSelection == Other; } } // fallback return false; } #include "typefacet.moc" diff --git a/plasma/corona.h b/plasma/corona.h index 3e7b0f3114..6152514b78 100644 --- a/plasma/corona.h +++ b/plasma/corona.h @@ -1,515 +1,515 @@ /* * Copyright 2007 Aaron Seigo * Copyright 2007 Matt Broadstone * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2, 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 Library 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. */ #ifndef PLASMA_CORONA_H #define PLASMA_CORONA_H #include #include #include #include #include class QGraphicsGridLayout; class QAction; class KAction; namespace Plasma { class CoronaPrivate; class ContainmentActionsPluginsConfig; class AbstractDialogManager; /** * @class Corona plasma/corona.h * * @short A QGraphicsScene for Plasma::Applets */ class PLASMA_EXPORT Corona : public QGraphicsScene { Q_OBJECT //typedef QHash > layouts; public: explicit Corona(QObject * parent = 0); ~Corona(); /** * Sets the mimetype of Drag/Drop items. Default is * text/x-plasmoidservicename */ void setAppletMimeType(const QString &mimetype); /** * The current mime type of Drag/Drop items. */ QString appletMimeType(); /** * @return the default containment plugin type * @since 4.7 */ QString defaultContainmentPlugin() const; /** * @return all containments on this Corona */ QList containments() const; /** * Clear the Corona from all applets. */ void clearContainments(); /** * Returns the config file used to store the configuration for this Corona */ KSharedConfig::Ptr config() const; /** * Adds a Containment to the Corona * * @param name the plugin name for the containment, as given by * KPluginInfo::pluginName(). If an empty string is passed in, the default * containment plugin will be used (usually DesktopContainment). If the * string literal "null" is passed in, then no plugin will be loaded and * a simple Containment object will be created instead. * @param args argument list to pass to the containment * * @return a pointer to the containment on success, or 0 on failure. Failure can be * caused by too restrictive of an Immutability type, as containments cannot be added * when widgets are locked, or if the requested containment plugin can not be located * or successfully loaded. */ Containment *addContainment(const QString &name, const QVariantList &args = QVariantList()); + /** + * Loads a containment with delayed initialization, primarily useful + * for implementations of loadDefaultLayout. The caller is responsible + * for all initializating, saving and notification of a new containment. + * + * @param name the plugin name for the containment, as given by + * KPluginInfo::pluginName(). If an empty string is passed in, the defalt + * containment plugin will be used (usually DesktopContainment). If the + * string literal "null" is passed in, then no plugin will be loaded and + * a simple Containment object will be created instead. + * @param args argument list to pass to the containment + * + * @return a pointer to the containment on success, or 0 on failure. Failure can + * be caused by the Immutability type being too restrictive, as containments can't be added + * when widgets are locked, or if the requested containment plugin can not be located + * or successfully loaded. + * @see addContainment + **/ + Containment *addContainmentDelayed(const QString &name, + const QVariantList &args = QVariantList()); + /** * Returns the Containment, if any, for a given physical screen and desktop * * @param screen number of the physical screen to locate * @param desktop the virtual desktop) to locate; if < 0 then it will * simply return the first Containment associated with screen */ Containment *containmentForScreen(int screen, int desktop = -1) const; /** * Returns the Containment for a given physical screen and desktop, creating one * if none exists * * @param screen number of the physical screen to locate * @param desktop the virtual desktop) to locate; if < 0 then it will * simply return the first Containment associated with screen * @param defaultPluginIfNonExistent the plugin to load by default; "null" is an empty * Containment and "default" creates the default plugin * @param defaultArgs optional arguments to pass in when creating a Containment if needed * @since 4.6 */ Containment *containmentForScreen(int screen, int desktop, const QString &defaultPluginIfNonExistent, const QVariantList &defaultArgs = QVariantList()); /** * Adds a widget in the topleft quadrant in the scene. Widgets in the topleft quadrant are * normally never shown unless you specifically aim a view at it, which makes it ideal for * toplevel views etc. * @param widget the widget to add. */ void addOffscreenWidget(QGraphicsWidget *widget); /** * Removes a widget from the topleft quadrant in the scene. * @param widget the widget to remove. */ void removeOffscreenWidget(QGraphicsWidget *widget); /** * @return the list of all offscreen widgets * @since 4.3 */ QList offscreenWidgets() const; /** * Returns the number of screens available to plasma. * Subclasses should override this method as the default * implementation returns a meaningless value. */ virtual int numScreens() const; /** * Returns the geometry of a given screen. * Valid screen ids are 0 to numScreen()-1, or -1 for the full desktop geometry. * Subclasses should override this method as the default * implementation returns a meaningless value. */ virtual QRect screenGeometry(int id) const; /** * Returns the available region for a given screen. * The available region excludes panels and similar windows. * Valid screen ids are 0 to numScreens()-1. * By default this method returns a rectangular region * equal to screenGeometry(id); subclasses that need another * behavior should override this method. */ virtual QRegion availableScreenRegion(int id) const; /** * Recommended position for a popup window like a menu or a tooltip * given its size * @param item the item that the popup should appear adjacent to (an applet, say) * @param size size of the popup * @returns reccomended position */ QPoint popupPosition(const QGraphicsItem *item, const QSize &size); /** * @since 4.4 * Recommended position for a popup window like a menu or a tooltip * given its size * @param item the item that the popup should appear adjacent to (an applet, say) * @param size size of the popup * @param alignment alignment of the popup, valid flags are Qt::AlignLeft, Qt::AlignRight and Qt::AlignCenter * @returns reccomended position */ QPoint popupPosition(const QGraphicsItem *item, const QSize &size, Qt::AlignmentFlag alignment); /** * This method is useful in order to retrieve the list of available * screen edges for panel type containments. * @param screen the id of the screen to look for free edges. * @returns a list of free edges not filled with panel type containments. */ QList freeEdges(int screen) const; /** * Returns the QAction with the given name from our collection */ QAction *action(QString name) const; /** * Adds the action to our collection under the given name */ void addAction(QString name, QAction *action); /** * Returns all the actions in our collection */ QList actions() const; /** * convenience function - enables or disables an action by name * * @param name the name of the action in our collection * @param enable true to enable, false to disable */ void enableAction(const QString &name, bool enable); /** * @since 4.3 * Updates keyboard shortcuts for all the corona's actions. * If you've added actions to the corona you'll need to * call this for them to be configurable. */ void updateShortcuts(); /** * @since 4.3 * Adds a set of actions to the shortcut config dialog. * don't use this on actions in the corona's own actioncollection, * those are handled automatically. this is for stuff outside of that. */ void addShortcuts(KActionCollection *newShortcuts); /** * @since 4.3 * Creates an action in our collection under the given name * @return the new action * FIXME I'm wrapping so much of kactioncollection API now, maybe I should just expose the * collection itself :P */ KAction* addAction(QString name); /** * @since 4.4 * Sets the default containmentactions plugins for the given containment type */ void setContainmentActionsDefaults(Containment::Type containmentType, const ContainmentActionsPluginsConfig &config); /** * @since 4.4 * Returns the default containmentactions plugins for the given containment type */ ContainmentActionsPluginsConfig containmentActionsDefaults(Containment::Type containmentType); /** * @param the AbstractDialogManager implementaion * * @since 4.5 */ void setDialogManager(AbstractDialogManager *manager); /** * @return the AbstractDialogManager that will show dialogs used by applets, like configuration dialogs * * @since 4.5 */ AbstractDialogManager *dialogManager(); /** * Imports an applet layout from a config file. The results will be added to the * current set of Containments. * @deprecated Use the 4.6 version that takes a KConfigGroup * * @param config the name of the config file to load from, * or the default config file if QString() * @return the list of containments that were loaded * @since 4.5 */ #ifndef KDE_NO_DEPRECATED KDE_DEPRECATED QList importLayout(const KConfigBase &config); #endif /** * Returns the name of the preferred plugin to be used as containment toolboxes. * CustomContainments and CustomPanelContainments can still override it as their liking. It's also not guaranteed that the plugin will actually exist. * * @param type the containment type of which we want to know the associated toolbox plugin * @since 4.6 */ QString preferredToolBoxPlugin(const Containment::Type type) const; /** * Imports an applet layout from a config file. The results will be added to the * current set of Containments. * * @param config the name of the config file to load from, * or the default config file if QString() * @return the list of containments that were loaded * @since 4.6 */ QList importLayout(const KConfigGroup &config); /** * Exports a set of containments to a config file. * * @param config the config group to save to * @param containments the list of containments to save * @since 4.6 */ void exportLayout(KConfigGroup &config, QList containments); public Q_SLOTS: /** * Initializes the layout from a config file. This will first clear any existing * Containments, load a layout from the requested configuration file, request the * default layout if needed and update immutability. * * @param config the name of the config file to load from, * or the default config file if QString() */ void initializeLayout(const QString &config = QString()); /** * Load applet layout from a config file. The results will be added to the * current set of Containments. * * @param config the name of the config file to load from, * or the default config file if QString() */ void loadLayout(const QString &config = QString()); /** * Save applets layout to file * @param config the file to save to, or the default config file if QString() */ void saveLayout(const QString &config = QString()) const; /** * @return The type of immutability of this Corona */ ImmutabilityType immutability() const; /** * Sets the immutability type for this Corona (not immutable, * user immutable or system immutable) * @param immutable the new immutability type of this applet */ void setImmutability(const ImmutabilityType immutable); /** * Schedules a flush-to-disk synchronization of the configuration state * at the next convenient moment. */ void requestConfigSync(); /** * Schedules a time sensitive flush-to-disk synchronization of the * configuration state. Since this method does not provide any sort of * event compression, it should only be used when an *immediate* disk * sync is *absolutely* required. Otherwise, use @see requestConfigSync() * which does do event compression. */ void requireConfigSync(); /** * @since 4.5 * Layout the containments on this corona. The default implementation * organizes them in a grid-like view, but subclasses can reimplement * this slot to provide their own layout. */ void layoutContainments(); Q_SIGNALS: /** * This signal indicates a new containment has been added to * the Corona */ void containmentAdded(Plasma::Containment *containment); /** * This signal indicates that a containment has been newly * associated (or dissociated) with a physical screen. * * @param wasScreen the screen it was associated with * @param isScreen the screen it is now associated with * @param containment the containment switching screens */ void screenOwnerChanged(int wasScreen, int isScreen, Plasma::Containment *containment); /** * This signal indicates that an application launch, window * creation or window focus event was triggered. This is used, for instance, * to ensure that the Dashboard view in Plasma hides when such an event is * triggered by an item it is displaying. */ void releaseVisualFocus(); /** * This signal indicates that the configuration file was flushed to disc. */ void configSynced(); /** * This signal inicates that a change in available screen goemetry occurred. */ void availableScreenRegionChanged(); /** * emitted when immutability changes. * this is for use by things that don't get contraints events, like plasmaapp. * it's NOT for containments or applets or any of the other stuff on the scene. * if your code's not in shells/ it probably shouldn't be using it. */ void immutabilityChanged(Plasma::ImmutabilityType immutability); /** * @since 4.3 * emitted when the user changes keyboard shortcut settings * connect to this if you've put some extra shortcuts in your app * that are NOT in corona's actioncollection. * if your code's not in shells/ it probably shouldn't be using this function. * @see addShortcuts */ void shortcutsChanged(); protected: /** * Loads the default (system wide) layout for this user **/ virtual void loadDefaultLayout(); - /** - * Loads a containment with delayed initialization, primarily useful - * for implementations of loadDefaultLayout. The caller is responsible - * for all initializating, saving and notification of a new containment. - * - * @param name the plugin name for the containment, as given by - * KPluginInfo::pluginName(). If an empty string is passed in, the defalt - * containment plugin will be used (usually DesktopContainment). If the - * string literal "null" is passed in, then no plugin will be loaded and - * a simple Containment object will be created instead. - * @param args argument list to pass to the containment - * - * @return a pointer to the containment on success, or 0 on failure. Failure can - * be caused by the Immutability type being too restrictive, as containments can't be added - * when widgets are locked, or if the requested containment plugin can not be located - * or successfully loaded. - * @see addContainment - **/ - Containment *addContainmentDelayed(const QString &name, - const QVariantList &args = QVariantList()); - /** * Maps a stock animation to one of the semantic animations. Used to control things such * as what animation is used to make a Plasma::Appear appear in a containment. * @param from the animation to map a new value to * @param to the animation value to map to from * @since 4.5 */ void mapAnimation(Animator::Animation from, Animator::Animation to); /** * Maps a loadable animation to one of the semantic animations. Used to control things such * as what animation is used to make a Plasma::Appear appear in a containment. * @param from the animation to map a new value to * @param to the animation value to map to from; this must map to a Javascript animation * @since 4.5 */ void mapAnimation(Animator::Animation from, const QString &to); /** * @return The preferred toolbox plugin name for a given containment type. * @param type the containment type of which we want to know the preferred toolbox plugin. * @param plugin the toolbox plugin name * @since 4.6 */ void setPreferredToolBoxPlugin(const Containment::Type type, const QString &plugin); /** * Sets the default containment plugin to try and load * @since 4.7 */ void setDefaultContainmentPlugin(const QString &name); //Reimplemented from QGraphicsScene void dragEnterEvent(QGraphicsSceneDragDropEvent *event); void dragLeaveEvent(QGraphicsSceneDragDropEvent *event); void dragMoveEvent(QGraphicsSceneDragDropEvent *event); private: CoronaPrivate *const d; Q_PRIVATE_SLOT(d, void containmentDestroyed(QObject*)) Q_PRIVATE_SLOT(d, void offscreenWidgetDestroyed(QObject *)) Q_PRIVATE_SLOT(d, void syncConfig()) Q_PRIVATE_SLOT(d, void toggleImmutability()) Q_PRIVATE_SLOT(d, void showShortcutConfig()) friend class CoronaPrivate; friend class View; }; } // namespace Plasma #endif diff --git a/plasma/data/services/plasma-applet-extenderapplet.desktop b/plasma/data/services/plasma-applet-extenderapplet.desktop index 80206dc1fa..7df6fa0711 100644 --- a/plasma/data/services/plasma-applet-extenderapplet.desktop +++ b/plasma/data/services/plasma-applet-extenderapplet.desktop @@ -1,81 +1,82 @@ [Desktop Entry] Name=Collection Name[ar]=المجموعة Name[ast]=Coleición Name[be@latin]=Zbor Name[bg]=Колекция Name[bn]=সংকলন Name[bs]=Kolekcija Name[ca]=Col·lecció Name[ca@valencia]=Col·lecció Name[cs]=Kolekce Name[csb]=Kòlekcëjô Name[da]=Samling Name[de]=Sammlung Name[el]=Συλλογή Name[en_GB]=Collection Name[eo]=Kolekto Name[es]=Colección Name[et]=Kollektsioon Name[eu]=Bilduma Name[fa]=مجموعه Name[fi]=Kokoelma Name[fr]=Collection Name[fy]=Kolleksje Name[ga]=Bailiúchán Name[gl]=Colección Name[gu]=ભંડોળ Name[he]=אוסף Name[hi]=शब्द पूर्णता Name[hr]=Kolekcija Name[hu]=Gyűjtemény Name[ia]=Collection Name[id]=Koleksi Name[is]=Safn Name[it]=Collezione Name[ja]=コレクション Name[kk]=Collection Name[km]=សម្រាំង Name[kn]=ಸಮೂಹ Name[ko]=모음집 Name[ku]=Berhevok Name[lt]=Rinkinys Name[lv]=Kolekcija Name[ml]=കൂട്ടം Name[ms]=Koleksi Name[nb]=Samling Name[nds]=Sammeln Name[nl]=Verzameling Name[nn]=Samling Name[pa]=ਭੰਡਾਰ Name[pl]=Kolekcja Name[pt]=Colecção Name[pt_BR]=Coleção Name[ro]=Colecție Name[ru]=Коллекция Name[se]=Čoahkádus Name[si]=එකතුව Name[sk]=Kolekcia Name[sl]=Zbirka Name[sq]=Koleksioni Name[sr]=збирка Name[sr@ijekavian]=збирка Name[sr@ijekavianlatin]=zbirka Name[sr@latin]=zbirka Name[sv]=Samling Name[ta]=சேகரங்கள் Name[tg]=Коллексия Name[th]=ชุดสะสม Name[tr]=Koleksiyon Name[ug]=توپلام Name[uk]=Збірка +Name[vi]=Bộ sưu tập Name[wa]=Ramexhnêye Name[x-test]=xxCollectionxx Name[zh_CN]=收藏 Name[zh_TW]=收藏 Type=Service Icon=utilities-desktop-extra NoDisplay=true X-KDE-ServiceTypes=Plasma/Applet X-KDE-PluginInfo-Name=internal:extender X-KDE-PluginInfo-EnabledByDefault=false diff --git a/plasma/data/services/plasma.protocol b/plasma/data/services/plasma.protocol index 1cb84bd842..f95baf84d5 100644 --- a/plasma/data/services/plasma.protocol +++ b/plasma/data/services/plasma.protocol @@ -1,58 +1,59 @@ [Protocol] protocol=plasma exec=plasma-remote-helper %u input=none output=none Icon=plasma Description=A protocol for Plasma services Description[bg]=Протокол за услуги Plasma Description[bs]=Protokol Plazma usluga Description[ca]=Un protocol pels serveis del Plasma Description[ca@valencia]=Un protocol pels serveis del Plasma Description[cs]=Protokol pro služby Plasma Description[da]=En protokol til Plasma-tjenester Description[de]=Ein Protokoll für Plasma-Dienste Description[el]=Ένα πρωτόκολλο υπηρεσιών Plasma Description[es]=Un protocolo para los servicios de Plasma Description[et]=Plasma teenuste protokoll Description[eu]=Plasma zerbitzuentzako protokolo bat Description[fi]=Plasma-palvelujen yhteyskäytäntö Description[fr]=Un protocole pour les services Plasma +Description[gl]=Un protocolo para servizos do Plasma Description[hr]=Protokol za servise u Plasmi Description[hu]=Protokoll a Plazma-szolgáltatáshoz Description[ia]=un protocollo per servicios de Plasma Description[is]=Samskiptamáti fyrir Plasma-þjónustur Description[it]=Un protocollo per servizi plasma Description[ja]=Plasma サービスのためのプロトコル Description[kk]=Plasma қызметінің протоколы Description[km]=ពិធីការ​សម្រាប់​សេវា​កម្ម​ប្លាស្មា Description[ko]=Plasma 서비스 프로토콜 Description[lv]=Plasma servisu protokols Description[nb]=En protokoll for plasma-tjenester Description[nds]=En Protokoll för Plasma-Deensten Description[nl]=Een protocol voor Plasma-services Description[pa]=ਪਲਾਜ਼ਮਾ ਸਰਵਿਸ ਲਈ ਪਰੋਟੋਕਾਲ Description[pl]=Protokół dla usług Plazmy Description[pt]=Um protocolo para os serviços do Plasma Description[pt_BR]=Protocolo para os serviços do Plasma Description[ro]=Un protocol pentru servicii Plasma Description[ru]=Протокол для служб Plasma Description[se]=Protokolla Plasma-bálvalusaid várás Description[sk]=Protokol pre Plasma služby Description[sr]=Протокол за плазма сервисе Description[sr@ijekavian]=Протокол за плазма сервисе Description[sr@ijekavianlatin]=Protokol za plasma servise Description[sr@latin]=Protokol za plasma servise Description[sv]=Ett protokoll för Plasma-tjänster -Description[th]=โพรโทคอลสำหรับใช้กับบริการของพลาสมา Description[tr]=Plasma servisleri için bir protokol Description[ug]=پلازما(Plasma) مۇلازىمىتىنىڭ كېلىشىمى Description[uk]=Протокол для служб Плазми +Description[vi]=Một giao thức cho các dịch vụ Plasma Description[x-test]=xxA protocol for Plasma servicesxx Description[zh_CN]=Plasma 服务协议 Description[zh_TW]=Plasma 服務協定 helper=true Class=:internet diff --git a/plasma/data/servicetypes/plasma-animator.desktop b/plasma/data/servicetypes/plasma-animator.desktop index 44fe07ea3f..45b475c586 100644 --- a/plasma/data/servicetypes/plasma-animator.desktop +++ b/plasma/data/servicetypes/plasma-animator.desktop @@ -1,79 +1,80 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/Animator Comment=Plasma Animation Engine Comment[ar]=محرك تحريك البلازما Comment[as]=Plasma Animation Engine Comment[ast]=Motor d'animación Plasma Comment[be@latin]=Systema animacyi „Plasma” Comment[bg]=Ядро за анимации на Plasma Comment[bn]=প্লাসমা অ্যানিমেশন ইঞ্জিন Comment[bn_IN]=Plasma অ্যানিমেশন ইঞ্জিন Comment[bs]=Plazma motor animacija Comment[ca]=Motor d'animació del Plasma Comment[ca@valencia]=Motor d'animació del Plasma Comment[cs]=Animační nástroj Plasma Comment[da]=Plasma-animationsmotor Comment[de]=Plasma-Animations-Treiber Comment[el]=Μηχανή εφέ κίνησης του Plasma Comment[en_GB]=Plasma Animation Engine Comment[eo]=Viviga motoro de Plasma Comment[es]=Motor de animación para Plasma Comment[et]=Plasma animatsiooni mootor Comment[eu]=Plasma animazio motorra Comment[fi]=Plasma-animointimoottori Comment[fr]=Moteur d'animation Plasma Comment[fy]=Plasma animaasje motor Comment[ga]=Inneall Beochana Plasma Comment[gl]=Motor de animación de Plasma Comment[gu]=પ્લાઝમા એનિમેશન એન્જિન Comment[he]=מנוע אנימציה של Plasma Comment[hne]=प्लाज्मा एनिमेशन इंजिन Comment[hr]=Plasmin animatorski mehanizam Comment[hsb]=Plasma-engine za animacije Comment[hu]=Plasma animációkezelő Comment[ia]=Motor de animation Plasma Comment[id]=Mesin Animasi Plasma Comment[is]=Plasma hreyfingastjóri Comment[it]=Motore animazione Plasma Comment[ja]=Plasma アニメーションエンジン Comment[kk]=Plasma анимация тетігі Comment[km]=ម៉ាស៊ីន​ចលនា​របស់ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ಸಜೀವನ (ಅನಿಮೇಷನ್) ಯಂತ್ರ Comment[ko]=Plasma 애니메이션 엔진 Comment[ku]=Motora Zindîkirina Plasma Comment[lt]=Plasma animacijos varikliukas Comment[lv]=Plasma animācijas dzinējs Comment[mai]=प्लाजमा भावचिन्ह इंजन Comment[ml]=പ്ലാസ്മ അനിമേഷന്‍ എഞ്ചിന്‍ Comment[nb]=Plasma animasjonsmotor Comment[nds]=Plasma-Animeerkarn Comment[nl]=Plasma-animatie-engine Comment[nn]=Plasma-animasjonsmotor Comment[pa]=ਪਲਾਜ਼ਮਾ ਐਨੀਮੇਸ਼ਨ ਇੰਜਣ Comment[pl]=Silnik animacji Plazmy Comment[pt]=Motor de Animação do Plasma Comment[pt_BR]=Mecanismo de animação do Plasma Comment[ro]=Motor de animație Plasma Comment[ru]=Движок анимации для Plasma Comment[se]=Plasma-animerenmohtor Comment[si]=Plasma සජිවීකරණ එන්ජිම Comment[sk]=Animačný nástroj Plasma Comment[sl]=Animacijski pogon za Plasmo Comment[sr]=Плазма мотор анимација Comment[sr@ijekavian]=Плазма мотор анимација Comment[sr@ijekavianlatin]=Plasma motor animacija Comment[sr@latin]=Plasma motor animacija Comment[sv]=Animeringsgränssnitt i Plasma Comment[ta]=பிளாஸ்மா அசைவூட்ட இயந்திரம் Comment[tg]=Системаи аниматсионии Plasma Comment[th]=กลไกแสดงความเคลื่อนไหวของพลาสมา Comment[tr]=Plasma Canlandırma Motoru Comment[ug]=Plasma جانلاندۇرۇم ماتورى Comment[uk]=Рушій анімації Плазми +Comment[vi]=Cơ chế hoạt ảnh Plasma Comment[wa]=Moteur d' animåcion di Plasma Comment[x-test]=xxPlasma Animation Enginexx Comment[zh_CN]=Plasma 动画引擎 Comment[zh_TW]=Plasma 動畫引擎 diff --git a/plasma/data/servicetypes/plasma-applet.desktop b/plasma/data/servicetypes/plasma-applet.desktop index ed73c409bf..d733d0fe01 100644 --- a/plasma/data/servicetypes/plasma-applet.desktop +++ b/plasma/data/servicetypes/plasma-applet.desktop @@ -1,92 +1,93 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/Applet Comment=Plasma applet Comment[ar]=بريمجة بلازما Comment[as]=Plasma এপ্লেট Comment[ast]=Miniaplicación Plasma Comment[be@latin]=Aplet „Plasma” Comment[bg]=Аплет за Plasma Comment[bn]=প্লাসমা অ্যাপলেট Comment[bn_IN]=Plasma অ্যাপ্লেট Comment[bs]=Plazma aplet Comment[ca]=Miniaplicació del Plasma Comment[ca@valencia]=Miniaplicació del Plasma Comment[cs]=Plasma applet Comment[da]=Plasma-applet Comment[de]=Plasma-Miniprogramm Comment[el]=Μικροεφαρμογή plasma Comment[en_GB]=Plasma applet Comment[eo]=Plasma apleto Comment[es]=Miniaplicación para Plasma Comment[et]=Plasma aplett Comment[eu]=Plasma appleta Comment[fi]=Plasma-sovelma Comment[fr]=Applet Plasma Comment[fy]=Plasma Applet Comment[ga]=Feidhmchláirín Plasma Comment[gl]=Applet de Plasma Comment[gu]=પ્લાઝમા એપ્લેટ Comment[he]=יישומון של Plasma Comment[hi]=प्लासमा एप्पलेट Comment[hne]=प्लाज्मा एपलेट Comment[hr]=Plasma applet Comment[hsb]=Plasma applet Comment[hu]=Plasma-kisalkalmazás Comment[ia]=Applet Plasma Comment[id]=Applet Plasma Comment[is]=Plasma smáforrit Comment[it]=Applet Plasma Comment[ja]=Plasma アプレット Comment[kk]=Plasma апплеті Comment[km]=អាប់ភ្លេត​ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ಅನ್ವಯಾಂಶ (ಆಪ್ಲೆಟ್) Comment[ko]=Plasma 애플릿 Comment[ku]=Sepanoka Plasma Comment[lt]=Plasma įskiepis Comment[lv]=Plasma aplets Comment[mai]=प्लाजमा एप्पलेट Comment[ml]=പ്ലാസ്മ ലഘുപ്രയോഗം Comment[nb]=Plasma miniprogram Comment[nds]=Plasma-Lüttprogramm Comment[nl]=Plasma-applet Comment[nn]=Plasma-element Comment[pa]=ਪਾਲਜ਼ਮਾ ਐਪਲਿਟ Comment[pl]=Aplet Plazmy Comment[pt]='Applet' do Plasma Comment[pt_BR]=Miniaplicativo do Plasma Comment[ro]=Miniaplicație Plasma Comment[ru]=Виджет Plasma Comment[se]=Plasma-prográmmaš Comment[si]=Plasma යෙදුම්පත Comment[sk]=Plasma aplet Comment[sl]=Plasma programček Comment[sr]=Плазма аплет Comment[sr@ijekavian]=Плазма аплет Comment[sr@ijekavianlatin]=Plasma aplet Comment[sr@latin]=Plasma aplet Comment[sv]=Plasma-miniprogram Comment[ta]=பிளாஸ்மா ஆப்லெட் Comment[tg]=Барномаи Plasma Comment[th]=แอพเพล็ตของพลาสมา Comment[tr]=Plasma programcığı Comment[ug]=Plasma قوللانچاق Comment[uk]=Аплет Плазми +Comment[vi]=Tiểu dụng Plasma Comment[wa]=Aplikete di Plasma Comment[x-test]=xxPlasma appletxx Comment[zh_CN]=Plasma 小程序 Comment[zh_TW]=Plasma 小程式 [PropertyDef::X-Plasma-API] Type=QString [PropertyDef::X-Plasma-DropMimeTypes] Type=QStringList [PropertyDef::X-Plasma-DropUrlPatterns] Type=QStringList [PropertyDef::X-Plasma-DefaultSize] Type=QSize diff --git a/plasma/data/servicetypes/plasma-dataengine.desktop b/plasma/data/servicetypes/plasma-dataengine.desktop index ab82e66a3f..13e85544e5 100644 --- a/plasma/data/servicetypes/plasma-dataengine.desktop +++ b/plasma/data/servicetypes/plasma-dataengine.desktop @@ -1,80 +1,81 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/DataEngine Comment=Plasma Data Engine Comment[ar]=محرك بيانات بلازما Comment[as]=Plasma Data Engine Comment[ast]=Motor de datos Plasma Comment[be@latin]=Systema dostupu da źviestak „Plasma” Comment[bg]=Ядро за данни на Plasma Comment[bn]=প্লাসমা ডাটা ইঞ্জিন Comment[bn_IN]=Plasma ডাটা ইঞ্জিন Comment[bs]=Plazma datomotor Comment[ca]=Motor de dades del Plasma Comment[ca@valencia]=Motor de dades del Plasma Comment[cs]=Datový nástroj plasma Comment[da]=Plasma datamotor Comment[de]=Plasma-Daten-Treiber Comment[el]=Μηχανή δεδομένων Plasma Comment[en_GB]=Plasma Data Engine Comment[eo]=Plasma Datuma Motoro Comment[es]=Motor de datos para Plasma Comment[et]=Plasma andmemootor Comment[eu]=Plasmaren datu motorra Comment[fi]=Plasma-tietomoottori Comment[fr]=Moteur de données Plasma Comment[fy]=Plasma gegevensmotor Comment[ga]=Inneall Sonraí Plasma Comment[gl]=Motor de datos de plasma Comment[gu]=પ્લાઝમા માહિતી એન્જિન Comment[he]=מנוע מידע עבור Plasma Comment[hne]=प्लाज्मा डाटा इंजिन Comment[hr]=Plasmin podaktovni mehanizam Comment[hsb]=Datowa engine za Plasma Comment[hu]=Plasma adatkezelő Comment[ia]=Motor de datos de Plasma Comment[id]=Mesin Data Plasma Comment[is]=Plasma gagnavél Comment[it]=Motore dati Plasma Comment[ja]=Plasma データエンジン Comment[kk]=Plasma деректер тетігі Comment[km]=ម៉ាស៊ីន​ទិន្នន័យ​ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ದತ್ತ ಯಂತ್ರ Comment[ko]=Plasma 데이터 엔진 Comment[ku]=Motora Dane ya Plasma Comment[lt]=Plasma duomenų varikliukas Comment[lv]=Plasma datu dzinējs Comment[mai]=प्लाजमा डेटा इंजन Comment[ml]=പ്ലാസ്മ ഡാറ്റ എഞ്ചിന്‍ Comment[nb]=Plasma datamotor Comment[nds]=Plasma-Datenkarn Comment[nl]=Plasma-gegevensengine Comment[nn]=Plasma-datamotor Comment[pa]=ਪਲਾਜ਼ਮਾ ਡਾਟਾ ਇੰਜਣ Comment[pl]=Silnik danych Plazmy Comment[pt]=Motor de Dados do Plasma Comment[pt_BR]=Mecanismo de dados do Plasma Comment[ro]=Motor de date Plasma Comment[ru]=Источник данных Plasma Comment[se]=Plasma-dáhtamohtor Comment[si]=Plasma දත්ත එංජිම Comment[sk]=Dátový nástroj Plasma Comment[sl]=Podatkovni pogon za Plasmo Comment[sq]=Motor të Dhënash Plasma Comment[sr]=Плазма датомотор Comment[sr@ijekavian]=Плазма датомотор Comment[sr@ijekavianlatin]=Plasma datomotor Comment[sr@latin]=Plasma datomotor Comment[sv]=Plasma datagränssnitt Comment[ta]=பிளாஸ்மா தரவு இயந்திரம் Comment[tg]=Системаи маълумотии Plasma Comment[th]=กลไกข้อมูลของพลาสมา Comment[tr]=Plasma Veri Motoru -Comment[ug]=Plasma سانلىق-مەلۇمات ماتورى +Comment[ug]=Plasma سانلىق مەلۇمات ماتورى Comment[uk]=Рушій даних Плазми +Comment[vi]=Cơ chế dữ liệu Plasma Comment[wa]=Moteur di dnêyes di Plasma Comment[x-test]=xxPlasma Data Enginexx Comment[zh_CN]=Plasma 数据引擎 Comment[zh_TW]=Plasma 資料引擎 diff --git a/plasma/data/servicetypes/plasma-packagestructure.desktop b/plasma/data/servicetypes/plasma-packagestructure.desktop index 6fc56ae091..be6d3dca9c 100644 --- a/plasma/data/servicetypes/plasma-packagestructure.desktop +++ b/plasma/data/servicetypes/plasma-packagestructure.desktop @@ -1,84 +1,85 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/PackageStructure Comment=Plasma package structure definition Comment[ar]=تعريف بنية حزمة بلازما Comment[as]=Plasma সৰঞ্জাম আকাৰৰ সংজ্ঞা Comment[ast]=Definición d'estructura de paquete Plasma Comment[be@latin]=Aznačeńnie struktury pakunka „Plasma” Comment[bg]=Структурно определение на пакет на Plasma Comment[bs]=Definicija strukture plazma paketa Comment[ca]=Definició de l'estructura d'un paquet Plasma Comment[ca@valencia]=Definició de l'estructura d'un paquet Plasma Comment[cs]=Definice struktury Plasma balíčku Comment[da]=Definition af pakkestruktur til Plasma Comment[de]=Plasma-Paket-Struktur-Definition Comment[el]=Ορισμός δομής πακέτου του Plasma Comment[en_GB]=Plasma package structure definition Comment[es]=Definición de estructura de paquete para Plasma Comment[et]=Plasma paketi struktuuri definitsioon Comment[eu]=Plasma paketearen egituraren definizioa Comment[fi]=Plasma-pakettirakenteen määritelmä Comment[fr]=Définition de la structure des paquetages Plasma Comment[fy]=Plasma pakket sstruktuer defenysje Comment[ga]=Sainmhíniú ar struchtúr pacáiste Plasma Comment[gl]=Definición da estrutura do paquete de Plasma Comment[gu]=પ્લાઝમા પેકેજ માળખાંની વ્યાખ્યા Comment[he]=הגדרת מבנה של חבילת Plasma Comment[hne]=प्लाज्मा पैकेज स्ट्रक्चर परिभासा Comment[hr]=Plasmina definicija strukture paketa Comment[hsb]=Strukturna definicija Plasma-pakćika Comment[hu]=Struktúraleíró Plasma-csomagokhoz Comment[ia]=Definition del structura de pacchetto de Plasma Comment[id]=Definisi struktur paket Plasma Comment[is]=Skilgreiningar Plasma pakkauppbyggingar Comment[it]=Definizione struttura pacchetto Plasma Comment[ja]=Plasma パッケージ構造の定義 Comment[kk]=Plasma дестесінің құрамынын анықтауы Comment[km]=កា​រកំណត់​រចនាសម្ព័ន្ធ​កញ្ចប់​របស់​ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ಕಂತೆ (ಪ್ಯಾಕೇಜ್) ರಚನಾ ಲಕ್ಷಣ (ಡೆಫೆನಿಶನ್) Comment[ko]=Plasma 패키지 구조 정의 Comment[ku]=Daxuyaniya çêbûna pakêta Plasma Comment[lt]=Plasma paketo struktūros aprašymas Comment[lv]=Plasma pakotņu struktūras definīcija Comment[mai]=प्लाजमा पैकेज संरचनाक परिभाषा Comment[ml]=പ്ലാസ്മ പാക്കേജ് സ്ട്രക്ചര്‍ ഡെഫനിഷന്‍ Comment[nb]=Definisjon av Plasma pakkestruktur Comment[nds]=Paketstruktuur-Fastleggen vun Plasma Comment[nl]=Structuurdefinitie van plasmapakket Comment[nn]=Pakkestrukturdefinisjon for Plasma Comment[pa]=ਪਲਾਜ਼ਮਾ ਪੈਕੇਜ ਢਾਂਚਾ ਪਰਿਭਾਸ਼ਾ Comment[pl]=Definicja struktury pakietu Plazmy Comment[pt]=Definição da estrutura de pacotes do Plasma Comment[pt_BR]=Definição de estrutura de pacote do Plasma Comment[ro]=Definiție de structură a pachetului Plasma Comment[ru]=Определение структуры пакета Plasma Comment[se]=Plasma-páhkkaráhkadusdefinišuvdna Comment[sk]=Definícia štruktúry Plasma balíčkov Comment[sl]=Definicija strukture paketa za Plasmo Comment[sr]=Дефиниција структуре плазма пакета Comment[sr@ijekavian]=Дефиниција структуре плазма пакета Comment[sr@ijekavianlatin]=Definicija strukture plasma paketa Comment[sr@latin]=Definicija strukture plasma paketa Comment[sv]=Strukturdefinition av Plasma-paket Comment[ta]=பிளாஸ்மா பொதி வடிவமைப்பு வரையறை Comment[tg]=Барномаи муайянкунии сохтори Plasma Comment[th]=นิยามโครงสร้างแพกเกจของพลาสมา Comment[tr]=Plasma paketi yapı tanımlaması Comment[ug]=Plasma بوغچا قۇرۇلما ئېنىقلىمىسى Comment[uk]=Опис структури пакунка плазми +Comment[vi]=Định nghĩa cấu trúc gói Plasma Comment[wa]=Definixha del sitructeure do pacaedje di Plasma Comment[x-test]=xxPlasma package structure definitionxx Comment[zh_CN]=Plasma 包结构定义 Comment[zh_TW]=Plasma 套件結構定義 [PropertyDef::X-Plasma-PackageFileFilter] Type=QString [PropertyDef::X-Plasma-PackageFileMimetypes] Type=QStringList [PropertyDef::X-Plasma-ProvidesWidgetBrowser] Type=bool diff --git a/plasma/data/servicetypes/plasma-runner.desktop b/plasma/data/servicetypes/plasma-runner.desktop index 79148221f0..2ca88a865c 100644 --- a/plasma/data/servicetypes/plasma-runner.desktop +++ b/plasma/data/servicetypes/plasma-runner.desktop @@ -1,90 +1,92 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/Runner Comment=KRunner plugin Comment[ar]=ملحق KRunner Comment[as]=KRunner প্লাগ-ইন Comment[ast]=Complementu KRunner Comment[be@latin]=Plugin dla „KRunner” Comment[bg]=Приставка за KRunner Comment[bn]=কে-রানার প্লাগ-ইন Comment[bn_IN]=KRunner প্লাগ-ইন Comment[bs]=Priključak za K‑izvođač Comment[ca]=Connector del KRunner Comment[ca@valencia]=Connector del KRunner Comment[cs]=KRunner modul Comment[csb]=Wtëkôcz KRunner Comment[da]=KRunner-plugin Comment[de]=KRunner-Modul Comment[el]=Πρόσθετο του KRunner Comment[en_GB]=KRunner plugin Comment[es]=Complemento para KRunner Comment[et]=KRunneri plugin Comment[eu]=KRnner plugin-a +Comment[fa]=وصله KRunner Comment[fi]=KRunner-liitännäinen Comment[fr]=Module KRunner Comment[fy]=KRunner plugin Comment[ga]=Breiseán KRunner Comment[gl]=Engadido KFileWrite Comment[gu]=KRunner પ્લગઈન Comment[he]=תוסף KRunner Comment[hi]=केरन्नर प्लगइन Comment[hne]=के-रनरइट प्लगइन Comment[hr]=Priključak Krunner Comment[hsb]=KRunner plugin Comment[hu]=KRunner-bővítmény Comment[ia]=Plugin KRunner Comment[id]=Plguin KRunner Comment[is]=KRunner íforrit Comment[it]=Plugin KRunner Comment[ja]=KRunner プラグイン Comment[kk]=KRunner плагині Comment[km]=កម្មវិធី​ជំនួយ​របស់ KRunner Comment[kn]=ಕೆರನ್ನರ್ ಮಿಳಿತಾನ್ವಯ (ಪ್ಲಗಿನ್) Comment[ko]=KRunner 플러그인 Comment[ku]=Pêveka KAjoker Comment[lt]=KRunner priedas Comment[lv]=KRunner spraudnis Comment[mai]=केरनर प्लगइन Comment[ml]=കെറണ്ണര്‍ സംയോജകം Comment[nb]=KRunner-programtillegg Comment[nds]=KRunner-Moduul Comment[nl]=KRunner-plugin Comment[nn]=KRunner-tillegg Comment[pa]=ਕੇਰਨਰ ਪਲੱਗਇਨ Comment[pl]=Wtyczka KRunnera Comment[pt]='Plugin' do KRunner Comment[pt_BR]=Plug-in do KRunner Comment[ro]=Modul KRunner Comment[ru]=Расширение KRunner Comment[se]=KRunner-lassemodula Comment[si]=KRunner ප්ලගීනය Comment[sk]=KRunner modul Comment[sl]=Vstavek za KRunner Comment[sq]=KRunner plugin Comment[sr]=Прикључак за К‑извођач Comment[sr@ijekavian]=Прикључак за К‑извођач Comment[sr@ijekavianlatin]=Priključak za K‑izvođač Comment[sr@latin]=Priključak za K‑izvođač Comment[sv]=Krunner-insticksprogram Comment[ta]=கேரன்னர் செருகி Comment[tg]=Васлкунаки KRunner Comment[th]=โปรแกรมเสริมของ KRunner Comment[tr]=KRunner eklentisi Comment[ug]=KRunner قىستۇرما Comment[uk]=Додаток до KRunner +Comment[vi]=Phần bổ sung KRunner Comment[wa]=Tchôke-divins KRunner Comment[x-test]=xxKRunner pluginxx Comment[zh_CN]=KRunner 插件 Comment[zh_TW]=KRunner 外掛程式 [PropertyDef::X-Plasma-AdvertiseSingleRunnerQueryMode] Type=bool [PropertyDef::TryExec] Type=QString [PropertyDef::X-Plasma-Args] Type=QStringList diff --git a/plasma/data/servicetypes/plasma-scriptengine.desktop b/plasma/data/servicetypes/plasma-scriptengine.desktop index 97e3210efd..02b7819cf4 100644 --- a/plasma/data/servicetypes/plasma-scriptengine.desktop +++ b/plasma/data/servicetypes/plasma-scriptengine.desktop @@ -1,83 +1,84 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/ScriptEngine Comment=Scripting language extension for Plasma Comment[ar]=إمتداد لغة سكربت للبلازما Comment[as]=Plasma ৰ কাৰণে স্ক্ৰিপ্টিং ভাষাৰ সম্প্ৰসাৰণ Comment[ast]=Estensión de llinguaxe de guiones pa Plasma Comment[be@latin]=Pašyreńnie skryptavaj movy dla systemy „Plasma” Comment[bg]=Разширение на Plasma за скриптов език Comment[bs]=Proširenje Plazme za skriptne jezike Comment[ca]=Extensió de llenguatge d'script per al Plasma Comment[ca@valencia]=Extensió de llenguatge d'script per al Plasma Comment[cs]=Rozšíření pro skriptovací jazyky Plasma Comment[da]=Scriptsprog-udvidelse til Plasma Comment[de]=Skriptsprachen-Erweiterung für Plasma Comment[el]=Επέκταση γλώσσας σεναρίων για το Plasma Comment[en_GB]=Scripting language extension for Plasma Comment[eo]=Skriptlingva etendaĵo por Plasma Comment[es]=Extensión de lenguaje de script para Plasma Comment[et]=Skriptikeele laiendus Plasmale Comment[eu]=Plasmarako script lengoaien gehigarria Comment[fi]=Skriptauskielituki Plasmalle Comment[fr]=Langage de script d'extension pour Plasma Comment[fy]=Scripting taal taheaksel foar Plasma Comment[ga]=Eisínteacht teanga scriptithe le haghaidh Plasma Comment[gl]=Extensión de linguaxe de scripts para o Plasma Comment[gu]=પ્લાઝમા માટે સ્ક્રિપ્ટીંગ ભાષા એક્સટેન્શન Comment[he]=הרחבת שפת תסריטים של Plasma Comment[hne]=प्लाज्मा बर स्क्रिप्टिंग भाखा Comment[hr]=Proširenje Plasme za skriptne jezike Comment[hsb]=Skriptowa rěč jako Plasma-ekstensija Comment[hu]=Szkriptkezelő bővítmény a Plasmához Comment[ia]=Extension del language de script de Plasma Comment[id]=Tambahan bahasa skrip untuk Plasma Comment[is]=Framlenging á skriftunarmál fyrir Plasma Comment[it]=Estensione linguaggio scripting per Plasma Comment[ja]=Plasma のためのスクリプト言語拡張 Comment[kk]=Plasma-ның скрипт тілі Comment[km]=ផ្នែក​បន្ថែម​ភាសា​ស្គ្រីប​សម្រាប់​ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ಕ್ಕೆ ವಿಧಿಗುಚ್ಛ (ಸ್ಕ್ರಿಪ್ಟ್) ರಚನಾ ಭಾಷೆ ಯ ವಿಸ್ತರಣೆ Comment[ko]=Plasma 스크립트 언어 확장 Comment[ku]=Pêveka zimanê skrîpt kirinê ji bo Plasma Comment[lt]=Scenarijų kalbos praplėtimas, skirtas Plasma Comment[lv]=Skriptēšanas valodu Plasma paplašinājums Comment[mai]=प्लाजमाक लेल स्क्रिप्टिंग भाषाक विस्तार Comment[ml]=പ്ലാസ്മയ്ക്കുള്ള സ്ക്രിപ്റ്റിങ്ങ് ഭാഷാ എക്സ്റ്റന്‍ഷന്‍ Comment[nb]=Skriptspråk-utvidelse for Plasma Comment[nds]=Skriptspraak-Verwiedern för Plasma Comment[nl]=Scripttaalextensie voor Plasma Comment[nn]=Skriptspråkutviding for Plasma Comment[pa]=ਪਲਾਜ਼ਮਾ ਲਈ ਸਕ੍ਰਿਪਟਿੰਗ ਭਾਸ਼ਾ ਇਕਸਟੈਨਸ਼ਨ Comment[pl]=Rozszerzenie języka skryptów dla Plazmy Comment[pt]=Extensão de linguagens de programação para o Plasma Comment[pt_BR]=Extensão de linguagem de script do Plasma Comment[ro]=Extensie de limbaj pentru scripturi Plasma Comment[ru]=Поддержка языков сценариев для Plasma Comment[se]=Skriptagiellaviiddádus Plasmai Comment[si]=Plasma සඳහා ස්කටිප්ට භාෂා දිගුව Comment[sk]=Rozšírenie pre skriptovacie jazyky Plasma Comment[sl]=Razširitev s skriptnim jezikom za Plasmo Comment[sr]=Проширење Плазме за скриптне језике Comment[sr@ijekavian]=Проширење Плазме за скриптне језике Comment[sr@ijekavianlatin]=Proširenje Plasme za skriptne jezike Comment[sr@latin]=Proširenje Plasme za skriptne jezike Comment[sv]=Skriptspråksutökning för Plasma Comment[ta]=பிளாஸ்மாவிற்கான குறுநிரலாக்க மொழி விரிவாக்கம் Comment[tg]=Скрипти забонҳои иловагӣ барои Plasma Comment[th]=ส่วนเสริมภาษาสคริปต์สำหรับพลาสมา Comment[tr]=Plasma için betik dili eklentisi Comment[ug]=Plasma نىڭ قوليازما تىل كېڭەيتىلمىسى Comment[uk]=Розширення скриптових мов для Плазми +Comment[vi]=Phần mở rộng ngôn ngữ lệnh cho Plasma Comment[wa]=Rawete di lingaedje di scriptaedje po Plasma Comment[x-test]=xxScripting language extension for Plasmaxx Comment[zh_CN]=Plasma 的脚本语言扩展 Comment[zh_TW]=Plasma 文稿語言延伸 [PropertyDef::X-Plasma-ComponentTypes] Type=QStringList [PropertyDef::X-Plasma-PackageFormat] Type=QString diff --git a/plasma/data/servicetypes/plasma-service.desktop b/plasma/data/servicetypes/plasma-service.desktop index db21604e7e..e04e3b4376 100644 --- a/plasma/data/servicetypes/plasma-service.desktop +++ b/plasma/data/servicetypes/plasma-service.desktop @@ -1,56 +1,57 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/Service Comment=Plasma service Comment[bg]=Услуга Plasma Comment[bs]=Plazma usluga Comment[ca]=Servei del Plasma Comment[ca@valencia]=Servei del Plasma Comment[cs]=Služba Plasma Comment[da]=Plasma-tjeneste Comment[de]=Plasma-Dienst Comment[el]=Υπηρεσία plasma Comment[en_GB]=Plasma service Comment[es]=Servicio de Plasma Comment[et]=Plasma teenus Comment[eu]=Plasma zerbitzua Comment[fi]=Plasma-palvelu Comment[fr]=Service Plasma Comment[gl]=Servizo do Plasma Comment[hr]=Servis u Plasmi Comment[hu]=Plazma-szolgáltatás Comment[ia]=Servicio de Plasma Comment[is]=Plasma-þjónusta Comment[it]=Servizio plasma Comment[ja]=Plasma サービス Comment[kk]=Plasma қызметі Comment[km]=សេវា​​ប្លាស្មា Comment[ko]=Plasma 서비스 Comment[lt]=Plasma tarnyba Comment[lv]=Plasma serviss Comment[nb]=Plasma-tjeneste Comment[nds]=Plasma-Deenst Comment[nl]=Plasma-service Comment[pa]=ਪਲਾਜ਼ਮਾ ਸਰਵਿਸ Comment[pl]=Usługa Plazmy Comment[pt]=Serviço do Plasma Comment[pt_BR]=Serviço do Plasma Comment[ro]=Servicu Plasma Comment[ru]=Служба Plasma Comment[se]=Plasma-bálvalus Comment[si]=ප්ලස්මා සේවා Comment[sk]=Služba Plasma Comment[sr]=Плазма сервис Comment[sr@ijekavian]=Плазма сервис Comment[sr@ijekavianlatin]=Plasma servis Comment[sr@latin]=Plasma servis Comment[sv]=Plasma-tjänst Comment[th]=บริการของพลาสมา Comment[tr]=Plasma servisi Comment[ug]=Plasma مۇلازىمىتى Comment[uk]=Служба Плазми +Comment[vi]=Dịch vụ Plasma Comment[wa]=Siervice di Plasma Comment[x-test]=xxPlasma servicexx Comment[zh_CN]=Plasma 服务 Comment[zh_TW]=Plasma 服務 diff --git a/plasma/data/servicetypes/plasma-toolbox.desktop b/plasma/data/servicetypes/plasma-toolbox.desktop index 92a5bffaa0..308ff77e8d 100644 --- a/plasma/data/servicetypes/plasma-toolbox.desktop +++ b/plasma/data/servicetypes/plasma-toolbox.desktop @@ -1,58 +1,59 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/ToolBox Comment=Plasma toolbox Comment[bg]=Инструменти за Plasma Comment[bs]=Plazma alatna traka Comment[ca]=Caixa d'eines del Plasma Comment[ca@valencia]=Caixa d'eines del Plasma Comment[cs]=Plasma toolbox Comment[da]=Plasma værktøjskasse Comment[de]=Plasma-Werkzeugkasten Comment[el]=Εργαλειοθήκη Plasma Comment[en_GB]=Plasma toolbox Comment[es]=Caja de herramientas de Plasma Comment[et]=Plasma tööriistakast Comment[eu]=Plasma tresna-kutxa Comment[fi]=Plasma-työkalurivi Comment[fr]=Boîte à outils Plasma Comment[gl]=Barra de ferramentas do Plasma Comment[hr]=Plasma alatni okvir Comment[hu]=Plazma-eszközkészlet Comment[ia]=Instrumentario de Plasma Comment[is]=Plasma verkfærasafn Comment[it]=Barra degli strumenti plasma Comment[ja]=Plasma ツールボックス Comment[kk]=Plasma құралдары Comment[km]=ប្រអប់​ឧបករណ៍​ប្លាស្មា Comment[ko]=Plasma 도구 상자 Comment[ku]=Qutiya amûrên Plasma Comment[lt]=Pasma įrankinė Comment[lv]=Plasma rīkkopa Comment[nb]=Plasma-verktøykasse Comment[nds]=Plasma-Warktüüchkist Comment[nl]=Plasma-hulpmiddelen Comment[pa]=ਪਲਾਜ਼ਮਾ ਟੂਲਬਾਕਸ Comment[pl]=Przybornik Plazmy Comment[pt]=Barra de ferramentas do Plasma Comment[pt_BR]=Barra de ferramentas do Plasma Comment[ro]=Cutie de unelte Plasma Comment[ru]=Панель инструментов Plasma Comment[se]=Plasma-reaidoboksa Comment[si]=ප්ලස්මා මෙවලම් පෙට්ටිය Comment[sk]=Nástroje Plasma Comment[sr]=Плазма алатница Comment[sr@ijekavian]=Плазма алатница Comment[sr@ijekavianlatin]=Plasma alatnica Comment[sr@latin]=Plasma alatnica Comment[sv]=Plasma verktygslåda Comment[ta]=பிளாஸ்மா கருவிப்பட்டி Comment[th]=กล่องเครื่องมือของพลาสมา Comment[tr]=Plasma araç kutusu Comment[ug]=Plasma قورال ساندۇقى Comment[uk]=Набір інструментів Плазми +Comment[vi]=Hộp công cụ Plasma Comment[wa]=Boesse ås usteyes di Plasma Comment[x-test]=xxPlasma toolboxxx Comment[zh_CN]=Plasma 工具箱 Comment[zh_TW]=Plasma 工具盒 diff --git a/plasma/data/servicetypes/plasma-wallpaper.desktop b/plasma/data/servicetypes/plasma-wallpaper.desktop index 09acfeec43..28707a6fd0 100644 --- a/plasma/data/servicetypes/plasma-wallpaper.desktop +++ b/plasma/data/servicetypes/plasma-wallpaper.desktop @@ -1,81 +1,82 @@ [Desktop Entry] Type=ServiceType X-KDE-ServiceType=Plasma/Wallpaper Comment=Plasma wallpaper Comment[ar]=خلفية شاشة بلازما Comment[as]=Plasma wallpaper Comment[ast]=Fondu d'escritoriu de Plasma Comment[be@latin]=Špalery „Plasma” Comment[bg]=Тапет за Plasma Comment[bn]=প্লাসমা ওয়ালপেপার Comment[bn_IN]=Plasma ওয়াল-পেপার Comment[bs]=Plazma tapet Comment[ca]=Fons d'escriptori del Plasma Comment[ca@valencia]=Fons d'escriptori del Plasma Comment[cs]=Tapeta Plasma Comment[da]=Plasma-baggrundsbillede Comment[de]=Plasma-Hintergrundbild Comment[el]=Ταπετσαρία plasma Comment[en_GB]=Plasma wallpaper Comment[es]=Fondo de escritorio para Plasma Comment[et]=Plasma taustapilt Comment[eu]=Plasma horma papera Comment[fi]=Plasma-taustakuva Comment[fr]=Fond d'écran Plasma Comment[fy]=Plasma eftergrûnôfbylding Comment[ga]=Cúlbhrat Plasma Comment[gl]=Fondo de escritorio do Plasma Comment[gu]=પ્લાઝમા વોલપેપર Comment[he]=תמונת רקע של Plasma Comment[hne]=प्लाज्मा वालपेपर Comment[hr]=Plasmina pozadinska slika Comment[hsb]=Tapeta za Plasma Comment[hu]=Plasma háttérkép Comment[ia]=Tapete de papiro de Plasma Comment[id]=Gambar belakang Plasma Comment[is]=Plasma veggfóður Comment[it]=Sfondo Plasma Comment[ja]=Plasma 壁紙 Comment[kk]=Plasma тұсқағазы Comment[km]=ផ្ទាំង​រូបភាព​ប្លាស្មា Comment[kn]=ಪ್ಲಾಸ್ಮಾ ಹಿನ್ನೆಲೆ ತೆರೆಚಿತ್ರ (ವಾಲ್ ಪೇಪರ್) Comment[ko]=Plasma 배경 그림 Comment[ku]=Wêne-rûerdê Plasma Comment[lt]=Plasma apmušalas Comment[lv]=Plasma ekrāntapete Comment[mai]=प्लाजमा वालपेपर Comment[ml]=പ്ലാസ്മ ചുമര്‍ച്ചിത്രം Comment[nb]=Plasma tapet Comment[nds]=Plasma-Achtergrundbild Comment[nl]=Plasma-bureaubladachtergrond Comment[nn]=Plasmabakgrunn Comment[pa]=ਪਲਾਜ਼ਮਾ ਵਾਲਪੇਪਰ Comment[pl]=Tapeta Plazmy Comment[pt]=Papel de parede do Plasma Comment[pt_BR]=Papel de parede do Plasma Comment[ro]=Fundal Plasma Comment[ru]=Обои Plasma Comment[se]=Plasma-duogášgovva Comment[si]=Plasma පසුබිම්රූප Comment[sk]=Tapeta Plasma Comment[sl]=Tapeta za Plasmo Comment[sr]=Плазма тапет Comment[sr@ijekavian]=Плазма тапет Comment[sr@ijekavianlatin]=Plasma tapet Comment[sr@latin]=Plasma tapet Comment[sv]=Plasma skrivbordsunderlägg Comment[ta]=பிளாஸ்மா திரைபின்னணி Comment[tg]=Тасвири заминаи Plasma Comment[th]=ภาพพื้นหลังของพลาสมา Comment[tr]=Plasma duvar kağıdı Comment[ug]=Plasma تام قەغىزى Comment[uk]=Тло стільниці Плазми +Comment[vi]=Hình nền Plasma Comment[wa]=Tapisreye di Plasma Comment[x-test]=xxPlasma wallpaperxx Comment[zh_CN]=Plasma 壁纸 Comment[zh_TW]=Plasma 桌布 [PropertyDef::X-Plasma-FormFactors] Type=QStringList diff --git a/plasma/popupapplet.cpp b/plasma/popupapplet.cpp index dd983fd21c..9064f812b9 100644 --- a/plasma/popupapplet.cpp +++ b/plasma/popupapplet.cpp @@ -1,979 +1,978 @@ /* * Copyright 2008 by Montel Laurent * Copyright 2008 by Marco Martin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston, MA 02110-1301 USA */ #include "popupapplet.h" #include "private/popupapplet_p.h" #include "private/dialog_p.h" #include #include #include #include #include #ifdef Q_WS_X11 #include #endif #include #include #include #include #include #include "plasma/private/applet_p.h" #include "plasma/private/extenderitemmimedata_p.h" #include "plasma/corona.h" #include "plasma/containment.h" #include "plasma/private/containment_p.h" #include "plasma/dialog.h" #include "plasma/extenders/extender.h" #include "plasma/extenders/extenderitem.h" #include "plasma/package.h" #include "plasma/theme.h" #include "plasma/scripting/appletscript.h" #include "plasma/tooltipmanager.h" #include "plasma/widgets/iconwidget.h" namespace Plasma { PopupApplet::PopupApplet(QObject *parent, const QVariantList &args) : Plasma::Applet(parent, args), d(new PopupAppletPrivate(this)) { } PopupApplet::PopupApplet(const QString &packagePath, uint appletId, const QVariantList &args) : Plasma::Applet(packagePath, appletId, args), d(new PopupAppletPrivate(this)) { } PopupApplet::~PopupApplet() { delete widget(); delete d; } void PopupApplet::setPopupIcon(const QIcon &icon) { if (icon.isNull()) { if (d->icon) { delete d->icon; d->icon = 0; setLayout(0); setAspectRatioMode(d->savedAspectRatio); } return; } d->createIconWidget(); d->icon->setIcon(icon); } void PopupApplet::setPopupIcon(const QString &iconName) { // Attempt 1: is it in the plasmoid package? if (package()) { const QString file = package()->filePath("images", iconName); if (!file.isEmpty()) { setPopupIcon(KIcon(file)); return; } } // Attempt 2: is it a svg in the icons directory? QString name = QString("icons/") + iconName.split("-").first(); if (!Plasma::Theme::defaultTheme()->imagePath(name).isEmpty()) { d->createIconWidget(); d->icon->setSvg(name, iconName); if (d->icon->svg().isEmpty()) { setPopupIcon(KIcon(iconName)); } return; } // Final Attempt: use KIcon setPopupIcon(KIcon(iconName)); } QIcon PopupApplet::popupIcon() const { return d->icon ? d->icon->icon() : QIcon(); } QWidget *PopupApplet::widget() { return d->widget; } void PopupApplet::setWidget(QWidget *widget) { if (d->widget) { Plasma::Dialog *dialog = d->dialogPtr.data(); if (dialog) { dialog->setGraphicsWidget(0); QVBoxLayout *lay = 0; QLayout *existingLayout = dialog->layout(); if (existingLayout) { lay = dynamic_cast(existingLayout); if (!lay) { delete existingLayout; } } if (!lay) { lay = new QVBoxLayout; dialog->setLayout(lay); } lay->removeWidget(d->widget); lay->addWidget(widget); } else if (d->proxy) { d->proxy.data()->setWidget(widget); } } d->widget = widget; } QGraphicsWidget *PopupApplet::graphicsWidget() { if (d->graphicsWidget) { return d->graphicsWidget.data(); } else { return static_cast(this)->d->extender.data(); } } void PopupApplet::setGraphicsWidget(QGraphicsWidget *graphicsWidget) { if (d->graphicsWidget) { if (d->dialogPtr) { d->dialogPtr.data()->setGraphicsWidget(graphicsWidget); } else if (layout()) { QGraphicsLinearLayout *lay = static_cast(layout()); lay->removeAt(0); if (graphicsWidget) { lay->addItem(graphicsWidget); } } } d->graphicsWidget = graphicsWidget; } void PopupAppletPrivate::checkExtenderAppearance(Plasma::FormFactor f) { Extender *extender = qobject_cast(q->graphicsWidget()); if (extender) { if (f != Plasma::Horizontal && f != Plasma::Vertical) { extender->setAppearance(Extender::NoBorders); } else if (q->location() == TopEdge) { extender->setAppearance(Extender::TopDownStacked); } else { extender->setAppearance(Extender::BottomUpStacked); } if (dialogPtr) { dialogPtr.data()->setGraphicsWidget(extender); } } } void PopupAppletPrivate::popupConstraintsEvent(Plasma::Constraints constraints) { Plasma::FormFactor f = q->formFactor(); if (constraints & Plasma::LocationConstraint) { checkExtenderAppearance(f); } if (constraints & Plasma::FormFactorConstraint || constraints & Plasma::StartupCompletedConstraint || (constraints & Plasma::SizeConstraint && (f == Plasma::Vertical || f == Plasma::Horizontal))) { QGraphicsLinearLayout *lay = dynamic_cast(q->layout()); if (icon && lay && lay->count() > 0) { lay->removeAt(0); } QSizeF minimum; QSizeF parentSize; QGraphicsWidget *gWidget = q->graphicsWidget(); //kDebug() << "graphics widget is" << (QObject*)gWidget; QWidget *qWidget = q->widget(); if (gWidget) { minimum = gWidget->minimumSize(); // our layout may have been replaced on us in the call to graphicsWidget! lay = dynamic_cast(q->layout()); if (!(constraints & LocationConstraint)) { checkExtenderAppearance(f); } } else if (qWidget) { minimum = qWidget->minimumSizeHint(); } //99% of the times q->parentWidget() is the containment, but using it we can also manage the applet-in-applet case (i.e. systray) //there are also cases where the parentlayoutitem is bigger than the containment (e.g. newspaper) if (q->parentLayoutItem()) { parentSize = q->parentLayoutItem()->geometry().size(); } else if (q->parentWidget()) { parentSize = q->parentWidget()->size(); } //check if someone did the nasty trick of applets in applets, in this case we always want to be collapsed QGraphicsWidget *candidateParentApplet = q; Plasma::Applet *parentApplet = 0; //this loop should be executed normally a single time, at most 2-3 times for quite complex containments while (candidateParentApplet) { candidateParentApplet = candidateParentApplet->parentWidget(); parentApplet = qobject_cast(candidateParentApplet); if (parentApplet) { break; } } //Applet on desktop if ((!parentApplet || parentApplet->isContainment() ) && icon && (!icon->svg().isEmpty() || !icon->icon().isNull()) && ((f != Plasma::Vertical && f != Plasma::Horizontal) || ((f == Plasma::Vertical && parentSize.width() >= minimum.width()) || (f == Plasma::Horizontal && parentSize.height() >= minimum.height())))) { //kDebug() << "we are expanding the popupapplet"; // we only switch to expanded if we aren't horiz/vert constrained and // this applet has an icon. // otherwise, we leave it up to the applet itself to figure it out if (icon) { icon->hide(); } if (savedAspectRatio != Plasma::InvalidAspectRatioMode) { q->setAspectRatioMode(savedAspectRatio); } Dialog *dialog = dialogPtr.data(); if (dialog) { if (dialog->layout() && qWidget) { //we don't want to delete Widget inside the dialog layout dialog->layout()->removeWidget(qWidget); } if (qWidget) { qWidget->setParent(0); } delete dialog; } if (!lay) { lay = new QGraphicsLinearLayout(); lay->setContentsMargins(0, 0, 0, 0); lay->setSpacing(0); lay->setOrientation(Qt::Horizontal); q->setLayout(lay); } QSize prefSize; if (gWidget) { if (proxy) { proxy.data()->setWidget(0); delete proxy.data(); } Corona *corona = qobject_cast(gWidget->scene()); if (corona) { corona->removeOffscreenWidget(gWidget); } lay->addItem(gWidget); prefSize = gWidget->preferredSize().toSize(); } else if (qWidget) { if (!proxy) { proxy = new QGraphicsProxyWidget(q); proxy.data()->setWidget(qWidget); proxy.data()->show(); } lay->addItem(proxy.data()); prefSize = qWidget->sizeHint(); } //we could be on a big panel, but in that case we will be able to resize //more than the natural minimum size, because we'll transform into an icon if (f == Plasma::Horizontal) { minimum.setHeight(0); } else if (f == Plasma::Vertical) { minimum.setWidth(0); } qreal left, top, right, bottom; q->getContentsMargins(&left, &top, &right, &bottom); QSizeF oldSize(q->size()); //size not saved/invalid size saved if (oldSize.width() < q->minimumSize().width() || oldSize.height() < q->minimumSize().height()) { q->resize(prefSize); emit q->appletTransformedItself(); } } else { //Applet on popup if (icon && lay) { lay->addItem(icon); } //kDebug() << "about to switch to a popup"; if (!qWidget && !gWidget) { delete dialogPtr.data(); return; } //there was already a dialog? don't make the switch again if (dialogPtr) { return; } if (proxy) { proxy.data()->setWidget(0); // prevent it from deleting our widget! delete proxy.data(); } //save the aspect ratio mode in case we drag'n drop in the Desktop later savedAspectRatio = q->aspectRatioMode(); if (icon) { icon->show(); q->setAspectRatioMode(Plasma::ConstrainedSquare); } Dialog *dialog = new Dialog(); dialog->d->appletPtr = q; dialogPtr = dialog; if (icon) { dialog->setAspectRatioMode(savedAspectRatio); } //no longer use Qt::Popup since that seems to cause a lot of problem when you drag //stuff out of your Dialog (extenders). Monitor WindowDeactivate events so we can //emulate the same kind of behavior as Qt::Popup (close when you click somewhere //else. if (gWidget) { Corona *corona = qobject_cast(gWidget->scene()); if (!corona) { corona = qobject_cast(q->scene()); } if (corona) { corona->addOffscreenWidget(gWidget); } gWidget->show(); dialog->setGraphicsWidget(gWidget); dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | (gWidget->windowFlags() & Qt::X11BypassWindowManagerHint)); } else if (qWidget) { QVBoxLayout *l_layout = new QVBoxLayout(dialog); l_layout->setSpacing(0); l_layout->setMargin(0); l_layout->addWidget(qWidget); dialog->adjustSize(); dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | (qWidget->windowFlags() & Qt::X11BypassWindowManagerHint)); } else { dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); } restoreDialogSize(); KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); dialog->installEventFilter(q); QObject::connect(dialog, SIGNAL(dialogResized()), q, SLOT(dialogSizeChanged())); QObject::connect(dialog, SIGNAL(dialogVisible(bool)), q, SLOT(dialogStatusChanged(bool))); } } if (constraints & Plasma::PopupConstraint) { updateDialogPosition(); } if (icon) { // emit the size hint changing stuff for our applet as we are handling // the size changings emit q->sizeHintChanged(Qt::PreferredSize); } } void PopupAppletPrivate::appletActivated() { internalTogglePopup(true); } QSizeF PopupApplet::sizeHint(Qt::SizeHint which, const QSizeF & constraint) const { if (!d->dialogPtr || which != Qt::PreferredSize) { return Applet::sizeHint(which, constraint); } switch (formFactor()) { case Vertical: case Horizontal: { const int size = IconSize(KIconLoader::Panel); return QSizeF(size, size); } default: break; } const int size = IconSize(KIconLoader::Desktop); return QSizeF(size, size); } void PopupApplet::mousePressEvent(QGraphicsSceneMouseEvent *event) { if (!d->icon && !d->popupLostFocus && event->buttons() == Qt::LeftButton) { d->clicked = scenePos().toPoint(); event->setAccepted(true); return; } else { d->popupLostFocus = false; Applet::mousePressEvent(event); } } void PopupApplet::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { if (!d->icon && (d->clicked - scenePos().toPoint()).manhattanLength() < KGlobalSettings::dndEventDelay()) { d->internalTogglePopup(); } else { Applet::mouseReleaseEvent(event); } } bool PopupApplet::eventFilter(QObject *watched, QEvent *event) { if (!d->passive && watched == d->dialogPtr.data() && (event->type() == QEvent::WindowDeactivate)) { d->popupLostFocus = true; QTimer::singleShot(100, this, SLOT(clearPopupLostFocus())); } if (watched == d->dialogPtr.data() && event->type() == QEvent::ContextMenu) { //pass it up to the applet //well, actually we have to pass it to the *containment* //because all the code for showing an applet's contextmenu is actually in Containment. Containment *c = containment(); if (c) { Applet *applet = this; Dialog *dialog = d->dialogPtr.data(); if (dialog && dialog->graphicsWidget()) { int left, top, right, bottom; dialog->getContentsMargins(&left, &top, &right, &bottom); const QPoint eventPos = static_cast(event)->pos() - QPoint(left, top); QPointF pos = dialog->graphicsWidget()->mapToScene(eventPos); if (Applet *actual = c->d->appletAt(pos)) { applet = actual; } } KMenu desktopMenu; c->d->addAppletActions(desktopMenu, applet, event); if (!desktopMenu.isEmpty()) { desktopMenu.exec(static_cast(event)->globalPos()); return true; } return false; } } return Applet::eventFilter(watched, event); } //FIXME: some duplication between the drag events... maybe add some simple helper function? void PopupApplet::dragEnterEvent(QGraphicsSceneDragDropEvent *event) { if (event->mimeData()->hasFormat(ExtenderItemMimeData::mimeType())) { const ExtenderItemMimeData *mimeData = qobject_cast(event->mimeData()); if (mimeData && qobject_cast(graphicsWidget())) { event->accept(); showPopup(); } } } void PopupApplet::dragLeaveEvent(QGraphicsSceneDragDropEvent *event) { if (event->mimeData()->hasFormat(ExtenderItemMimeData::mimeType())) { const ExtenderItemMimeData *mimeData = qobject_cast(event->mimeData()); if (mimeData && qobject_cast(graphicsWidget())) { //We want to hide the popup if we're not moving onto the popup AND it is not the popup //we started. if (d->dialogPtr && !d->dialogPtr.data()->geometry().contains(event->screenPos()) && mimeData->extenderItem()->extender() != qobject_cast(graphicsWidget())) { //We actually try to hide the popup, with a call to showPopup, with a smal timeout, //so if the user moves into the popup fast enough, it remains open (the extender //will call showPopup which will cancel the timeout. showPopup(250); } } } } void PopupApplet::dropEvent(QGraphicsSceneDragDropEvent *event) { if (event->mimeData()->hasFormat(ExtenderItemMimeData::mimeType())) { const ExtenderItemMimeData *mimeData = qobject_cast(event->mimeData()); if (mimeData && qobject_cast(graphicsWidget())) { mimeData->extenderItem()->setExtender(extender()); QApplication::restoreOverrideCursor(); } } } void PopupApplet::showPopup(uint popupDuration) { // use autohideTimer to store when the next show should be if (popupDuration > 0 || d->autohideTimer) { if (!d->autohideTimer) { d->autohideTimer = new QTimer(this); d->autohideTimer->setSingleShot(true); connect(d->autohideTimer, SIGNAL(timeout()), this, SLOT(hideTimedPopup())); } d->autohideTimer->stop(); d->autohideTimer->setInterval(popupDuration); } //kDebug() << "starting delayed show, duration for popup is" << popupDuration; d->delayedShowTimer.start(0, this); } void PopupApplet::timerEvent(QTimerEvent *event) { if (event->timerId() == d->delayedShowTimer.timerId()) { d->delayedShowTimer.stop(); Dialog *dialog = d->dialogPtr.data(); if (dialog) { // move the popup before its fist show, even if the show isn't triggered by // a click, this should fix the first random position seen in some widgets if (!dialog->isVisible()) { d->internalTogglePopup(); } const int popupDuration = d->autohideTimer ? d->autohideTimer->interval() : 0; //kDebug() << "popupDuration is:" << (d->autohideTimer ? d->autohideTimer->interval() : 0); if (popupDuration > 0) { d->autohideTimer->start(); } else if (d->autohideTimer) { d->autohideTimer->stop(); } } } else if (event->timerId() == d->showDialogTimer.timerId()) { d->showDialogTimer.stop(); d->showDialog(); } else { Applet::timerEvent(event); } } void PopupApplet::hidePopup() { d->showDialogTimer.stop(); d->delayedShowTimer.stop(); Dialog *dialog = d->dialogPtr.data(); if (dialog && dialog->isVisible()) { if (location() != Floating) { dialog->animatedHide(locationToInverseDirection(location())); } else { dialog->hide(); } } } void PopupApplet::togglePopup() { d->internalTogglePopup(); } Plasma::PopupPlacement PopupApplet::popupPlacement() const { return d->popupPlacement; } void PopupApplet::setPopupAlignment(Qt::AlignmentFlag alignment) { d->popupAlignment = alignment; } Qt::AlignmentFlag PopupApplet::popupAlignment() const { return d->popupAlignment; } void PopupApplet::popupEvent(bool popped) { if (Applet::d->script) { emit Applet::d->script->popupEvent(popped); } } void PopupApplet::setPassivePopup(bool passive) { d->passive = passive; } bool PopupApplet::isPassivePopup() const { return d->passive; } bool PopupApplet::isPopupShowing() const { return d->dialogPtr && d->dialogPtr.data()->isVisible(); } bool PopupApplet::isIconified() const { return d->dialogPtr; } PopupAppletPrivate::PopupAppletPrivate(PopupApplet *applet) : q(applet), icon(0), widget(0), popupPlacement(Plasma::FloatingPopup), popupAlignment(Qt::AlignLeft), savedAspectRatio(Plasma::InvalidAspectRatioMode), autohideTimer(0), preShowStatus(UnknownStatus), popupLostFocus(false), passive(false) { int iconSize = IconSize(KIconLoader::Desktop); q->resize(iconSize, iconSize); q->setAcceptDrops(true); QObject::disconnect(q, SIGNAL(activate()), static_cast(q), SLOT(setFocus())); QObject::connect(q, SIGNAL(activate()), q, SLOT(appletActivated())); QObject::connect(KGlobalSettings::self(), SIGNAL(iconChanged(int)), q, SLOT(iconSizeChanged(int))); } PopupAppletPrivate::~PopupAppletPrivate() { if (proxy) { proxy.data()->setWidget(0); } delete dialogPtr.data(); delete icon; } void PopupAppletPrivate::iconSizeChanged(int group) { if (icon && (group == KIconLoader::Desktop || group == KIconLoader::Panel)) { q->updateGeometry(); } } void PopupAppletPrivate::internalTogglePopup(bool fromActivatedSignal) { if (autohideTimer) { autohideTimer->stop(); } delayedShowTimer.stop(); Plasma::Dialog *dialog = dialogPtr.data(); if (!dialog) { q->setFocus(Qt::ShortcutFocusReason); if (!fromActivatedSignal) { QObject::disconnect(q, SIGNAL(activate()), q, SLOT(appletActivated())); emit q->activate(); QObject::connect(q, SIGNAL(activate()), q, SLOT(appletActivated())); } return; } if (!q->view()) { return; } if (dialog->isVisible()) { if (q->location() != Floating) { dialog->animatedHide(locationToInverseDirection(q->location())); } else { dialog->hide(); } dialog->clearFocus(); } else { if (q->graphicsWidget() && q->graphicsWidget() == static_cast(q)->d->extender.data() && static_cast(q)->d->extender.data()->isEmpty()) { // we have nothing to show, so let's not. if (!fromActivatedSignal) { QObject::disconnect(q, SIGNAL(activate()), q, SLOT(appletActivated())); emit q->activate(); QObject::connect(q, SIGNAL(activate()), q, SLOT(appletActivated())); } return; } ToolTipManager::self()->hide(q); showDialogTimer.start(0, q); } } void PopupAppletPrivate::showDialog() { Plasma::Dialog *dialog = dialogPtr.data(); if (!dialog) { return; } updateDialogPosition(); KWindowSystem::setOnAllDesktops(dialog->winId(), true); KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager); if (icon) { dialog->setAspectRatioMode(savedAspectRatio); } if (q->location() != Floating) { dialog->animatedShow(locationToDirection(q->location())); } else { dialog->show(); } if (!(dialog->windowFlags() & Qt::X11BypassWindowManagerHint)) { KWindowSystem::activateWindow(dialog->winId()); } } void PopupAppletPrivate::hideTimedPopup() { autohideTimer->stop(); q->hidePopup(); } void PopupAppletPrivate::clearPopupLostFocus() { if (!icon || !icon->isDown()) { q->hidePopup(); } popupLostFocus = false; } KConfigGroup PopupAppletPrivate::popupConfigGroup() { KConfigGroup *mainGroup = static_cast(q)->d->mainConfigGroup(); return KConfigGroup(mainGroup, "PopupApplet"); } void PopupAppletPrivate::dialogSizeChanged() { //Reposition the dialog Plasma::Dialog *dialog = dialogPtr.data(); if (dialog) { KConfigGroup sizeGroup = popupConfigGroup(); sizeGroup.writeEntry("DialogHeight", dialog->height()); sizeGroup.writeEntry("DialogWidth", dialog->width()); updateDialogPosition(!dialog->isUserResizing()); emit q->configNeedsSaving(); emit q->appletTransformedByUser(); } } void PopupAppletPrivate::dialogStatusChanged(bool shown) { if (shown) { preShowStatus = q->status(); q->setStatus(NeedsAttentionStatus); QObject::connect(q, SIGNAL(newStatus(Plasma::ItemStatus)), q, SLOT(statusChangeWhileShown(Plasma::ItemStatus)), Qt::UniqueConnection); } else { QObject::disconnect(q, SIGNAL(newStatus(Plasma::ItemStatus)), q, SLOT(statusChangeWhileShown(Plasma::ItemStatus))); q->setStatus(preShowStatus); } q->popupEvent(shown); } void PopupAppletPrivate::statusChangeWhileShown(Plasma::ItemStatus status) { preShowStatus = status; } void PopupAppletPrivate::createIconWidget() { if (icon) { return; } icon = new Plasma::IconWidget(q); QObject::connect(icon, SIGNAL(clicked()), q, SLOT(internalTogglePopup())); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); layout->setOrientation(Qt::Horizontal); layout->addItem(icon); layout->setAlignment(icon, Qt::AlignCenter); q->setLayout(layout); } void PopupAppletPrivate::restoreDialogSize() { Plasma::Dialog *dialog = dialogPtr.data(); if (!dialog) { return; } Corona *corona = qobject_cast(q->scene()); if (!corona) { return; } KConfigGroup sizeGroup = popupConfigGroup(); int preferredWidth = 0; int preferredHeight = 0; QGraphicsWidget *gWidget = dialog->graphicsWidget(); if (gWidget) { preferredWidth = gWidget->preferredSize().width(); preferredHeight = gWidget->preferredSize().height(); } const int width = qMin(sizeGroup.readEntry("DialogWidth", preferredWidth), corona->screenGeometry(-1).width() - 50); const int height = qMin(sizeGroup.readEntry("DialogHeight", preferredHeight), corona->screenGeometry(-1).height() - 50); QSize saved(width, height); if (saved.isNull()) { saved = dialog->sizeHint(); } else { saved = saved.expandedTo(dialog->minimumSizeHint()); } if (saved.width() != dialog->width() || saved.height() != dialog->height()) { dialog->resize(saved); /*if (gWidget) { gWidget->resize(saved); }*/ } } void PopupAppletPrivate::updateDialogPosition(bool move) { Plasma::Dialog *dialog = dialogPtr.data(); if (!dialog) { return; } Corona *corona = qobject_cast(q->scene()); if (!corona) { return; } QGraphicsView *view = q->view(); if (!view) { return; } const QPoint appletPos = view->mapToGlobal(view->mapFromScene(q->scenePos())); - QPoint dialogPos; - if (!q->containment() || view == q->containment()->view()) { - kDebug() << "requesting with" << q->scenePos(); - dialogPos = corona->popupPosition(q, dialog->size(), popupAlignment); - } else { - kDebug() << "requesting with" << q->parentItem(); - dialogPos = corona->popupPosition(q->parentItem(), dialog->size(), popupAlignment); + QPoint dialogPos = dialog->pos(); + if (move) { + if (!q->containment() || view == q->containment()->view()) { + dialogPos = corona->popupPosition(q, dialog->size(), popupAlignment); + } else { + dialogPos = corona->popupPosition(q->parentItem(), dialog->size(), popupAlignment); + } } - kDebug() << "dialog position is" << dialogPos <<" with location" << q->location() << "<<<<<<<<<<<<<<<<<<<<<<<<"; bool reverse = false; if (q->formFactor() == Plasma::Vertical) { reverse = (appletPos.y() + (q->size().height() / 2)) < (dialogPos.y() + (dialog->size().height() / 2)); dialog->setMinimumResizeLimits(-1, appletPos.y(), -1, appletPos.y() + q->size().height()); } else { reverse = (appletPos.x() + (q->size().width() / 2)) < (dialogPos.x() + (dialog->size().width() / 2)); dialog->setMinimumResizeLimits(appletPos.x(), -1, appletPos.x() + q->size().width(), -1); } Dialog::ResizeCorners resizeCorners = Dialog::NoCorner; switch (q->location()) { case BottomEdge: resizeCorners = Dialog::NorthEast | Dialog::NorthWest; popupPlacement = reverse ? TopPosedLeftAlignedPopup : TopPosedRightAlignedPopup; break; case TopEdge: resizeCorners = Dialog::SouthEast | Dialog::SouthWest; popupPlacement = reverse ? Plasma::BottomPosedLeftAlignedPopup : Plasma::BottomPosedRightAlignedPopup; break; case LeftEdge: resizeCorners = Dialog::SouthEast | Dialog::NorthEast; popupPlacement = reverse ? RightPosedTopAlignedPopup : RightPosedBottomAlignedPopup; break; case RightEdge: resizeCorners = Dialog::SouthWest | Dialog::NorthWest; popupPlacement = reverse ? LeftPosedTopAlignedPopup : LeftPosedBottomAlignedPopup; break; default: popupPlacement = FloatingPopup; resizeCorners = Dialog::All; break; } dialog->setResizeHandleCorners(resizeCorners); if (move) { dialog->move(dialogPos); } } } // Plasma namespace #include "popupapplet.moc" diff --git a/plasma/tests/packagemetadatatest.desktop b/plasma/tests/packagemetadatatest.desktop index 069943718a..793f65ca04 100644 --- a/plasma/tests/packagemetadatatest.desktop +++ b/plasma/tests/packagemetadatatest.desktop @@ -1,161 +1,163 @@ [Desktop Entry] Name=Package metadata test file Name[ar]=ملف اختبار البيانات الوصفية للحزمة Name[as]=সৰঞ্জাম মিটাডাটাৰ পৰীক্ষাৰ নথিপত্ৰ Name[ast]=Ficheru de prueba de metadatos de paquete Name[be@latin]=Fajł spraŭdžvańnia metaźviestak pakunka Name[bg]=Пробен файл за пакетни метаданни Name[bs]=Test datoteka paketa metapodataka Name[ca]=Fitxer de proves de metadades de paquet Name[ca@valencia]=Fitxer de proves de metadades de paquet Name[cs]=Testovací soubor metadat balíčku Name[da]=Testfil til pakke-metadata Name[de]=Testdatei für Paket-Metadaten Name[el]=Δοκιμαστικό αρχείο μεταδεδομένων του πακέτου Name[en_GB]=Package metadata test file Name[eo]=Pakaĵa meta-datuma testdosiero Name[es]=Archivo de pruebas de metadatos de paquete Name[et]=Plasma metaandmete testfail Name[eu]=Paketeen metadatuen proba fitxategia Name[fi]=Pakettimetatietojen testitiedosto Name[fr]=Fichier de test des métadonnées de paquetage Name[fy]=Package metadata testtriem Name[ga]=Comhad tástála le haghaidh PackageMetaData Name[gl]=Ficheiro de proba de metadatos de paquete Name[gu]=પેકેજ મેટાડેટા ચકાસણી ફાઇલ Name[he]=חבילת בדיקה של מטה־מידע Name[hne]=पैकेज मेटाडाटा जांच फाइल Name[hr]=Paketna, metapodatkovna, probna datoteka Name[hsb]=Testowa dataja za metadata pakćika Name[hu]=PackageMetaData tesztfájl Name[ia]=File de prova del pacchetto metadata Name[id]=Berkas tes metadata paket Name[is]=Package metagagna prófunarskrá Name[it]=File di prova metadati pacchetto Name[ja]=パッケージメタデータテストファイル Name[kk]=Десте метадеректер сынақ файлы Name[km]=ឯកសារ​សាកល្បង​ទិន្នន័យ​មេតា​កញ្ចប់ Name[kn]=ಕಂತೆ (ಪ್ಯಾಕೇಜ್) ಪ್ರದತ್ತ (ಮೆಟಾಡಾಟಾ) ಪರೀಕ್ಷಣಾ ಕಡತ Name[ko]=패키지 메타데이터 테스트 파일 Name[ku]=Pela ceribandinê ya serdana yê pakêtê Name[lt]=Paketo metaduomenų bandomasis failas Name[lv]=Pakotņu metadatu testa fails Name[mai]=संकुलक मेटाडाटा जाँचि फाइल Name[ml]=പാക്കേജ് മെറ്റാഡാറ്റാ പരിശോധനാ ഫയല്‍ Name[nb]=Testfil for Package metadata Name[nds]=Paketmetadaten-Testdatei Name[nl]=Testbestand voor pakketmetadata Name[nn]=Testfil for pakkemetadata Name[pa]=ਪੈਕੇਜ ਮੇਟਾਡਾਟਾ ਟੈਸਟ ਫਾਇਲ Name[pl]=Plik tekstowy metadanych pakietu Name[pt]=Ficheiro de testes de meta-dados dos pacotes Name[pt_BR]=Arquivo de teste dos metadados do pacote Name[ro]=Fișier de testat metadatele pachetelor Name[ru]=Тестовый файл метаданных пакета Name[se]=Páhkametedáhtaid geahččalanfiila Name[sk]=Testovací súbor metadát balíčku Name[sl]=Datoteka za test metapodatkov paketa Name[sr]=Пробни фајл метаподатака пакета Name[sr@ijekavian]=Пробни фајл метаподатака пакета Name[sr@ijekavianlatin]=Probni fajl metapodataka paketa Name[sr@latin]=Probni fajl metapodataka paketa Name[sv]=Testfil för paketmetadata Name[ta]=பொதியின் மூலத்தரவு சோதனைக் கோப்பு Name[tg]=Файли санҷишии стсетмаи metadata Name[th]=แฟ้มทดสอบข้อมูลกำกับแพกเกจ Name[tr]=Paket metadata test dosyası -Name[ug]=بوغچا مېتا سانلىق-مەلۇمات سىناق ھۆججەت +Name[ug]=بوغچا مېتا سانلىق مەلۇمات سىناق ھۆججەت Name[uk]=Файл перевірки метаданих пакунка +Name[vi]=Tập tin kiểm tra dữ liệu lý lịch Plasma Name[wa]=Fitchî d' asprouvaedje des meta-dnêyes do pacaedje Name[x-test]=xxPackage metadata test filexx Name[zh_CN]=工具包元数据测试文件 Name[zh_TW]=套件中繼資料測試檔 Comment=A test desktop file to test the PackageMetaData class. Comment[ar]=ملف اختبار سطح المكتب لاختبار صف PackageMetaData Comment[as]=PackageMetaData class পৰীক্ষা কৰিবলৈ এটা ডেষ্কট'প পৰীক্ষাৰ নথিপত্ৰ । Comment[ast]=Un ficheru d'escritoriu de prueba pa comprobar la clase PackageMetaData. Comment[be@latin]=Testavy fajł rabočaha stała dla spraŭdžvańnia klasy „PackageMetaData”. Comment[bg]=Пробен файл за работиня плот за тестване на класа PackageMetaData Comment[bs]=Probna .desktop datoteka za klasu PackageMetaData. Comment[ca]=Un fitxer d'escriptori de proves per provar la classe PackageMetaData. Comment[ca@valencia]=Un fitxer d'escriptori de proves per provar la classe PackageMetaData. Comment[cs]=Testovací soubor plochy pro otestování třídy PackageMetaData. Comment[da]=En desktop-testfil til test af PackageMetaData-klassen. Comment[de]=Eine Test-Desktop-Datei zum Testen der Klasse „PackageMetaData“. Comment[el]=Ένα δοκιμαστικό αρχείο desktop για τον έλεγχο τς κλάσης PackageMetaData. Comment[en_GB]=A test desktop file to test the PackageMetaData class. Comment[eo]=Testa tabula dosiero por testi la klason PackageMetaData. Comment[es]=Un archivo de escritorio para probar la clase PackageMetaData. Comment[et]=Testtöölauafail klassi PackageMetaData testimiseks. Comment[eu]=PackageMetaData klasea probatzeko probako mahaigain fitxategia. Comment[fi]=Kokeellinen työpöytätiedosto PackageMetaData-luokan testaamiseen. Comment[fr]=Un fichier de bureau de démonstration pour tester la classe PackageMetaData. Comment[fy]=In test burblêdtriem om de PackageMetaData class te testen. Comment[ga]=Comhad tástála deisce a úsáidtear chun aicme PackageMetaData a thástáil. Comment[gl]=Un ficheiro de escritorio de proba para probar a clase PackageMetaData. Comment[gu]=પેકેજમેટાડેટા વર્ગ ચકાસવા માટે ચકાસણી ડેસ્કટોપ ફાઇલ. Comment[he]=קובץ desktop לבדיקה של מחלקה PackageMetaData. Comment[hne]=पैकेज मेटाडाटा क्लास ल जांचे बर जांच डेस्कटाप फाइल Comment[hr]=Probna desktop datoteka za isprobavanje klase PackageMetaData. Comment[hsb]=Testowa dataja za dźěłowy powjerch za testowanje klasy PackageMetaData. Comment[hu]=Tesztfájl a PackageMetaData osztályhoz. Comment[ia]=Un file de prova del scriptorio pro provar le classe PackageMetaData. Comment[id]=Berkas destop tes untuk menguji kelas PackageMetaData. Comment[is]=Skjáborðsskrá til prófunar á PackageMetaData class Comment[it]=Un file desktop di prova per verificare la classe PackageMetaData. Comment[ja]=PackageMetaData クラスをテストするためのテストデスクトップファイル。 Comment[kk]=PackageMetaData класын сынайтын desktop сынақ файлы. Comment[km]=ឯកសារ​ផ្ទៃតុ​សាកល្បង​ ដើម្បី​សាកល្បង​ថ្នាក់​របស់ PackageMetaData ។ Comment[kn]=PackageMetaData ವರ್ಗವನ್ನು ಪರೀಕ್ಷಿಸಲು ಒಂದು ಪರೀಕ್ಷಾರ್ಥ ಗಣಕತೆರೆ ಕಡತ. Comment[ko]=PackageMetaData 클래스를 테스트하는 데스크톱 파일. Comment[ku]=Pela ceribandina sermasê ku beşên SerDanayêPakêtê diceribîne. Comment[lt]=Bandomasis desktop failas skirtas PackageMetaData klasei. Comment[lv]=Testa .dekstop fails, lai pārbaudītu PackageMetaData klasi. Comment[mai]=PackageMetaData वर्गक जाँचबाक लेल एकटा जाँचि डेस्कटाप फाइल. Comment[ml]=പാക്കേജ്മെറ്റാഡാറ്റാ ക്ലാസ് പരിശോധിയ്ക്കാനുള്ള പരിശോധനാ പണിയിട ഫയല്‍. Comment[nb]=En skrivebordsfil med testdata for klassen PackageMetaData. Comment[nds]=En Test-Schriefdischdatei för't Utproberen vun de Klass "PackageMetaData". Comment[nl]=Een desktop-bestand voor het testen van de PackageMetaData-klasse. Comment[nn]=Ei .desktop-fil for testing av PackageMetaData-klassen. Comment[pa]=PackageMetaData ਕਲਾਸ ਟੈਸਟ ਕਰਨ ਲਈ ਟੈਸਟ ਡੈਸਕਟਾਪ ਫਾਇਲ Comment[pl]=Plik testowy desktop do testowania klasy PackageMetaData. Comment[pt]=Um ficheiro 'desktop' de testes da classe PackageMetaData. Comment[pt_BR]=Um arquivo desktop de testes para a classe PackageMetaData. Comment[ro]=Un fișier de probă pentru a verifica clasa PackageMetadata. Comment[ru]=Тестовый файл .desktop для проверки класса PackageMetaData. Comment[se]=Geahččalan desktop-fiilla mainna geahččala PackageMeta-luohká. Comment[sk]=Testovací súbor plochy na testovanie triedy PackageMetaData. Comment[sl]=Namizna datoteka za test razreda PackageMetaData. Comment[sr]=Пробни .десктоп фајл за класу PackageMetaData. Comment[sr@ijekavian]=Пробни .десктоп фајл за класу PackageMetaData. Comment[sr@ijekavianlatin]=Probni .desktop fajl za klasu PackageMetaData. Comment[sr@latin]=Probni .desktop fajl za klasu PackageMetaData. Comment[sv]=En skrivbordsfil för att testa klassen PackageMetaData. Comment[ta]=PackageMetaData class தனை சோதிப்பதற்கான சோதனை திரைமேசைக் கோப்பு. Comment[tg]=Файли санҷишии мизи корӣ барои санҷиши системаи PackageMetaData. Comment[th]=แฟ้มทดสอบพื้นที่ทำงาน สำหรับทดสอบคลาส PackageMetaData Comment[tr]=PackageMetaData sınıfını test etmek için bir desktop dosyası. Comment[ug]=PackageMetaData خىلىدىكى سىناشقا ئىشلىتىدىغان desktop تىپىدىكى ھۆججەت. Comment[uk]=Тестовий стільничний файл для перевірки класу PackageMetaData. +Comment[vi]=Một tập tin thử để kiểm tra lớp PackageMetaData. Comment[wa]=On fitchî desktop di saye pos asprouver l' classe PackageMetaData. Comment[x-test]=xxA test desktop file to test the PackageMetaData class.xx Comment[zh_CN]=用于测试 PackageMetaData 类的 desktop 类型文件。 Comment[zh_TW]=測試 PackageMetaData 類別的桌面檔 Icon=test Type=Service X-KDE-ServiceTypes=Plasma/Applet X-KDE-Screenshot=a_not_default_file.svg X-KDE-Library=some_test_library X-KDE-PluginInfo-Author=Bertjan Broeksema X-KDE-PluginInfo-Email=b.broeksema@kdemail.net X-KDE-PluginInfo-Name=test X-KDE-PluginInfo-Version=pre0.1 X-KDE-PluginInfo-Website=http://plasma.kde.org/ X-KDE-PluginInfo-Category=System test X-KDE-PluginInfo-Depends=some_test_dep X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true X-KDE-ParentApp=A Test name diff --git a/plasma/tests/testcontainmentactionsplugin/plasma-containmentactions-test.desktop b/plasma/tests/testcontainmentactionsplugin/plasma-containmentactions-test.desktop index 87582b8d9c..6d12204b88 100644 --- a/plasma/tests/testcontainmentactionsplugin/plasma-containmentactions-test.desktop +++ b/plasma/tests/testcontainmentactionsplugin/plasma-containmentactions-test.desktop @@ -1,122 +1,124 @@ [Desktop Entry] Name=Test Name[bg]=Проба Name[bs]=Test Name[ca]=Prova Name[ca@valencia]=Prova Name[cs]=Test Name[da]=Test Name[de]=Test Name[el]=Δοκιμή Name[en_GB]=Test Name[es]=Prueba Name[et]=Test Name[eu]=Proba Name[fa]=آزمون Name[fi]=Testi Name[fr]=Test Name[gl]=Proba Name[hr]=Test Name[hu]=Teszt Name[ia]=Essayo Name[is]=Prófun Name[it]=Prova Name[ja]=テスト Name[kk]=Сынақ Name[km]=សាកល្បង Name[ko]=테스트 Name[ku]=Bicaribîne Name[lt]=Testas Name[lv]=Tests Name[nb]=Test Name[nds]=Utproberen Name[nl]=Test Name[pa]=ਟੈਸਟ Name[pl]=Test Name[pt]=Teste Name[pt_BR]=Teste Name[ro]=Test Name[ru]=Проверка Name[se]=Geahččaleapmi Name[si]=පරීක්‍ෂණය Name[sk]=Test Name[sr]=Проба Name[sr@ijekavian]=Проба Name[sr@ijekavianlatin]=Proba Name[sr@latin]=Proba Name[sv]=Test Name[th]=ทดสอบ Name[tr]=Deneme -Name[ug]=سىناق +Name[ug]=سىنا Name[uk]=Тест +Name[vi]=Kiểm tra Name[wa]=Sayî Name[x-test]=xxTestxx Name[zh_CN]=测试 Name[zh_TW]=測試 Comment=A dummy plugin for testing Comment[bg]=Празна приставка за изпробване Comment[bs]=Lažni priključak za probe Comment[ca]=Un connector fals per a provar Comment[ca@valencia]=Un connector fals per a provar Comment[cs]=Prázdný zásuvný modul pro testování Comment[da]=Et attrap-plugin til testformål Comment[de]=Ein Dummy-Modul zum Testen. Comment[el]=Ένα "χαζό" πρόσθετο για δοκιμές Comment[en_GB]=A dummy plugin for testing Comment[es]=Un complemento de pruebas Comment[et]=Libaplugin testimiseks Comment[eu]=Probatarako gezurretazko plugin bat Comment[fi]=Tyhjä testausliitännäinen Comment[fr]=Un module factice de test Comment[gl]=Un engadido para probas Comment[hr]=Lažan priključak za testiranje Comment[hu]=Üres bővítmény teszteléshez Comment[ia]=Un plugin vacue pro essayar Comment[is]=Tilraunaíforrit fyrir prófanir Comment[it]=Una estensione fittizia di prova Comment[ja]=テスト用のダミープラグイン Comment[kk]=Сынақ үшін бос плагині Comment[km]=កម្មវិធី​ជំនួយ​ដំបូង​សម្រាប់​សាកល្បង Comment[ko]=테스트를 위한 뼈대 플러그인 Comment[ku]=Pêvekekî hêsan ji bo ceribandinê Comment[lt]=Netikras priedas testavimui Comment[lv]=Testēšanai paredzēts spraudnis Comment[nb]=Et attrapp-programtillegg for testing Comment[nds]=En Platzholler-Moduul för't Utproberen Comment[nl]=Een dummy plugin voor testen Comment[pa]=ਟੈਸਟ ਕਰਨ ਲਈ ਫਰਜ਼ੀ ਪਲੱਗਇਨ Comment[pl]=Prosta wtyczka testowa Comment[pt]=Um 'plugin' de exemplo para testes Comment[pt_BR]=Um plug-in fictício para testes Comment[ro]=Modul fictiv pentru testare Comment[ru]=Расширение для тестирования Comment[se]=Geahččalanlassemodula Comment[sk]=Ukážkový modul pre testovanie Comment[sr]=Лажни прикључак за пробе Comment[sr@ijekavian]=Лажни прикључак за пробе Comment[sr@ijekavianlatin]=Lažni priključak za probe Comment[sr@latin]=Lažni priključak za probe Comment[sv]=Ett exempelinsticksprogram för test Comment[th]=โปรแกรมเสริมเทียมสำหรับทดสอบ Comment[tr]=Denemek için sahte bir eklenti Comment[ug]=سىناشقا ئىشلىتىدىغان قىستۇرما Comment[uk]=Додаток для тестування +Comment[vi]=Một phần bổ sung giả để kiểm thử Comment[wa]=On fås tchôke-divins po l' asprouvaedje Comment[x-test]=xxA dummy plugin for testingxx Comment[zh_CN]=测试用插件 Comment[zh_TW]=測試用外掛程式 Type=Service Icon=preferences-desktop-color ServiceTypes=Plasma/ContainmentActions X-KDE-Library=plasma_containmentactions_test X-KDE-PluginInfo-Author=Chani X-KDE-PluginInfo-Email=chani@kde.org X-KDE-PluginInfo-Name=test X-KDE-PluginInfo-Version=pre0.1 X-KDE-PluginInfo-Website=http://plasma.kde.org/ X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=GPL X-KDE-PluginInfo-EnabledByDefault=true X-Plasma-HasConfigurationInterface=true diff --git a/plasma/tests/testengine/plasma-dataengine-testengine.desktop b/plasma/tests/testengine/plasma-dataengine-testengine.desktop index 734aadfe68..feadb0ade0 100644 --- a/plasma/tests/testengine/plasma-dataengine-testengine.desktop +++ b/plasma/tests/testengine/plasma-dataengine-testengine.desktop @@ -1,80 +1,81 @@ [Desktop Entry] Name=Test Data Engine Name[ar]=محرك بيانات الاختبار Name[as]=পৰীক্ষা তথ্যৰ কলঘৰ Name[ast]=Motor de datos de prueba Name[be@latin]=Systema spraŭdžvańnia dla źviestak Name[bg]=Пробно ядро за данни Name[bn]=টেস্ট ডাটা ইঞ্জিন Name[bs]=Probni pogon za podatke Name[ca]=Motor de dades de prova Name[ca@valencia]=Motor de dades de prova Name[cs]=Testovací datový nástroj Name[da]=Test datamotor Name[de]=Test-Datenmodul Name[el]=Μηχανή δεδομένων ελέγχου Name[en_GB]=Test Data Engine Name[eo]=Testa Datuma motoro Name[es]=Motor de datos de prueba Name[et]=Testandmemootor Name[eu]=Proba datuen motorra Name[fi]=Testitietomoottori Name[fr]=Moteur de données de test Name[fy]=Test gegevensmotor Name[ga]=Inneall Sonraí Tástála Name[gl]=Motor de datos de probas Name[gu]=ચકાસણી માહિતી એન્જિન Name[he]=בדיקה למנוע מידע Name[hne]=जांच डाटा इंजिन Name[hr]=Provjeri podatkovni mehanizam Name[hsb]=Test Data Engine Name[hu]=Az adatkezelő modul tesztje Name[ia]=Motor del essayo de datos Name[id]=Mesin Data Tes Name[is]=Gagnaprófunarvél Name[it]=Motore dati di prova Name[ja]=テストデータエンジン Name[kk]=Сынақ деректер тетігі Name[km]=សាកល្បង​ម៉ាស៊ីន​ទិន្នន័យ Name[kn]=ಪರೀಕ್ಷಾ ದತ್ತ ಯಂತ್ರ Name[ko]=테스트 데이터 엔진 Name[ku]=Motora Dane Ceribandinê Name[lt]=Bandomasis duomenų variklis Name[lv]=Testēšanas datu dzinējs Name[mai]=जाँचि डाटा इंडन Name[ml]=പരിശോധനാ ഡാറ്റാ എഞ്ചിന്‍ Name[nb]=Testdata-motor Name[nds]=Test-Datenkarn Name[nl]=Testgegevensengine Name[nn]=Testdatamotor Name[pa]=ਟੈਸਟ ਡਾਟਾ ਇੰਜਣ Name[pl]=Silnik testów danych Name[pt]=Motor de Dados de Teste Name[pt_BR]=Mecanismo de dados de teste Name[ro]=Motor de date pentru teste Name[ru]=Тестовый источник данных Name[se]=Geahččalandáhtamohtor Name[si]=පරීක්‍ෂණ දත්ත එන්ජිම Name[sk]=Testovací dátový nástroj Name[sl]=Preizkusni pogon s podatki Name[sq]=Motor i Testimit të të Dhënave Name[sr]=пробни датомотор података Name[sr@ijekavian]=пробни датомотор података Name[sr@ijekavianlatin]=probni datomotor podataka Name[sr@latin]=probni datomotor podataka Name[sv]=Testdatagränssnitt Name[ta]=சோதனை தரவு இயந்திரம் Name[tg]=Системаи санҷиши маълумот Name[th]=กลไกทดสอบข้อมูล Name[tr]=Test Veri Motoru Name[ug]=سىناققا ئىشلىتىدىغان ماتور Name[uk]=Перевірка рушія даних +Name[vi]=Cơ chế kiểm tra dữ liệu Name[wa]=Moteur di dnêyes d' asprouvaedje Name[x-test]=xxTest Data Enginexx Name[zh_CN]=测试用数据引擎 Name[zh_TW]=測試資料引擎 X-KDE-ServiceTypes=Plasma/DataEngine Type=Service Icon=unknown X-KDE-Library=plasma_engine_testengine X-Plasma-EngineName=testengine diff --git a/security/crypto/crypto.desktop b/security/crypto/crypto.desktop index 68f3b2903b..3d34da5396 100644 --- a/security/crypto/crypto.desktop +++ b/security/crypto/crypto.desktop @@ -1,212 +1,202 @@ [Desktop Entry] Icon=preferences-desktop-cryptography Type=Service X-KDE-ServiceTypes=KCModule Exec=kcmshell4 crypto X-DocPath=kcontrol/crypto/index.html X-KDE-Library=kcm_crypto X-KDE-ParentApp=kcontrol Name=Crypto Name[af]=Crypto Name[ar]=التشفير Name[as]=Crypto Name[ast]=Cifráu Name[be@latin]=Šyfravańnie Name[bg]=Шифриране Name[bn]=ক্রিপ্টো Name[bn_IN]=Crypto Name[bs]=Šifrovanje Name[ca]=Criptografia Name[ca@valencia]=Criptografia Name[cs]=Šifrování Name[csb]=Crypto Name[da]=Kryptering Name[de]=Krypto Name[el]=Κρυπτογράφηση Name[en_GB]=Crypto Name[eo]=Crypto Name[es]=Criptografía Name[et]=Krüpto Name[eu]=Kriptografia Name[fa]=رمز Name[fi]=Salaukset Name[fr]=Chiffrement Name[fy]=Crypto Name[ga]=Crypto Name[gl]=Criptografía Name[gu]=ક્રાય્પ્ટો Name[he]=הצפנה Name[hi]=क्रिप्टो Name[hne]=क्रिप्टो Name[hr]=Crypto Name[hsb]=Crypto Name[hu]=Titkosítás Name[ia]=Crypto Name[id]=Crypto Name[is]=Dulkóðun Name[it]=Crittografia Name[ja]=暗号 Name[kk]=Crypto Name[km]=Crypto Name[kn]=ಕ್ರಿಪ್ಟೋ Name[ko]=암호화 Name[ku]=Veşartî Name[lt]=Šifravimas Name[lv]=Kriptogrāfija Name[mai]=क्रिप्टो Name[mk]=Криптографија Name[ml]=ക്രിപ്റ്റോ Name[mr]=क्रिप्टो Name[nb]=Kryptering Name[nds]=Crypto Name[ne]=गुप्त Name[nl]=Crypto Name[nn]=Kryptotenester Name[or]=ଗୁପ୍ତ Name[pa]=ਕਰਿਪਟੂ Name[pl]=Kryptografia Name[pt]=Cifra Name[pt_BR]=Criptografia Name[ro]=Cripto Name[ru]=Шифрование Name[se]=Krypteren Name[si]=Crypto Name[sk]=Šifrovanie Name[sl]=Šifriranje Name[sq]=Crypto Name[sr]=Шифровање Name[sr@ijekavian]=Шифровање Name[sr@ijekavianlatin]=Šifrovanje Name[sr@latin]=Šifrovanje Name[sv]=Krypto Name[ta]=Crypto Name[tg]=Рамзгузорӣ Name[th]=การเข้ารหัส Name[tr]=Şifreleme Name[ug]=شىفىرلا Name[uk]=Шифрування Name[vi]=Mật mã Name[wa]=Criptografeye Name[x-test]=xxCryptoxx Name[zh_CN]=加密算法 Name[zh_TW]=Crypto Comment=Configure SSL, manage certificates, and other cryptography settings Comment[af]=Konfigureer SSL, hanteer sertifikate, en ander kriptografieverstellings Comment[ar]=اضبط SSL، وأدر الشهادات وإعدادات تشفير أخرى Comment[as]=SSL বিন্যাস কৰক, প্ৰমাণপত্ৰ পৰিচালনা কৰক, আৰু অন্যান্য ক্ৰিপ্টোগ্ৰাফিৰ পছন্দ Comment[ast]=Configurar SSL, xestionar certificaos, y otros axustes criptográficos Comment[be@latin]=Naładžvaje SSL, kiruje sertyfikatami, inšyja nałady šyfravańnia Comment[bg]=SSL, управление на сертификати и други настройки за шифроване Comment[bn]=এস-এস-এল কনফিগারেশন, সার্টিফিকেট তত্বাবধান, এবং অন্যান্য ক্রিপ্টোগ্রাফি সেটিংস Comment[bn_IN]=SSL কনফিগারেশন, সার্টিফিকেট পরিচালনা ও ক্রিপ্টোগ্রাফি সংক্রান্ত বিবিধ বৈশিষ্ট্য কনফিগার করুন Comment[bs]=Podešavanje SSL‑a, upravljanje sertifikatima, i druge kriptografske postavke Comment[ca]=Configura l'SSL, gestiona certificats, i altres arranjaments de criptografia Comment[ca@valencia]=Configura l'SSL, gestiona certificats, i altres arranjaments de criptografia Comment[cs]=Nastavení SSL, správa certifikátů a ostatní nastavení šifrování Comment[csb]=Kònfigùracëjô SSL, sprôwianié certifikatama ë jinszëma ùstôwóma kriptografiji Comment[da]=Konfigurér SSL, håndtér certifikater og andre kryptografiske indstillinger Comment[de]=Einrichtung von SSL, Zertifikat-Verwaltung und weitere kryptografische Einstellungen Comment[el]=Ρύθμιση SSL, διαχείριση πιστοποιητικών, και άλλες ρυθμίσεις κρυπτογραφίας Comment[en_GB]=Configure SSL, manage certificates and other cryptography settings Comment[eo]=Agordi SSLon, administri atestilojn, kaj aliajn kriptografiajn agordojn Comment[es]=Configurar SSL, gestionar certificados y otras preferencias de criptografía Comment[et]=SSL-i seadistamine, sertifikaatide haldamine ja muud krüptoseadistused Comment[eu]=SSL konfiguratu, ziurtagiriak kudeatu eta bestelako kriptografiako ezarpenak Comment[fa]=پیکربندی SSL، مدیریت گواهی‌نامه‌ها، و تنظیمات رمزنگاری دیگر Comment[fi]=Muokkaa SSL-asetuksia ja hallitse varmenteita sekä muita salausasetuksia Comment[fr]=Configure le chiffrement SSL, gère les certificats et autres paramètres liés au chiffrement Comment[fy]=Stel SSL yn, behear sertifikaten en konfigurearje oare kryptografyske ynstellings Comment[ga]=Cumraigh SSL, bainistigh teastais, agus socruithe cripteagrafaíochta eile Comment[gl]=Configurar o SSL, xestionar os certificados e outras opcións de cifrado Comment[gu]=SSL રુપરેખાંકન, પ્રમાણપત્ર સંચાલન અને અન્ય ક્રાય્પ્ટોગ્રાફી ગોઠવણીઓ કરો Comment[he]=שינוי הגדרות SSL, ניהול תעודות והגדרות הצפנה אחרות Comment[hi]=एसएसएल कॉन्फ़िगर, प्रमाणपत्र प्रबंधन, तथा अन्य क्रिप्टोग्राफ़िक सेटिंग Comment[hne]=एसएसएल कान्फिगर, प्रमानपत्र प्रबंधन, अउ दुसरा क्रिप्टोग्राफी सेटिंग Comment[hr]=Podešavanje SSL-a, upravljanje certifikatima i ostala kriptografska podešavanja Comment[hsb]=Konfigurowanje SSL, zastaranje certifikatow a druhe kryptografiske nastajenja Comment[hu]=SSL-beállítások, tanúsítványkezelés és további titkosítási lehetőségek Comment[ia]=Configura SSL, manea certificatos e altere fixationes cryptographic Comment[id]=Konfigurasi SSL, atur sertifikat, dan pengaturan kriptografi lainnya Comment[is]=Stilla SSL, stýra skírteinum, og aðrar dulkóðunarstillingar Comment[it]=Configura SSL, gestisce i certificati ed altre impostazioni di crittografia Comment[ja]=SSL の設定、証明書の管理、その他の暗号作成形式の設定 Comment[kk]=SSL баптаулары, күаліктерді басқару және басқа криптография параметрлері Comment[km]=កំណត់​រចនា​សម្ព័ន្ធ SSL, គ្រប់គ្រង​វិញ្ញាបនបត្រ និង​ការ​កំណត់​កូដសាស្ដ្រ Comment[kn]=SSL ಅನ್ನು ಸಂರಚಿಸು, ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ನಿಭಾಯಿಸು, ಮತ್ತು ಇತರ ಗೂಢಲಿಪಿಶಾಸ್ತ್ರ (ಕ್ರಿಪ್ಟೋಗ್ರಫಿ) ಸಂಯೋಜನೆಗಳು Comment[ko]=SSL과 같은 암호화를 설정하고, 인증서를 관리합니다 Comment[ku]=SSL, rêveberê belge kirinê, û mîhengên din yê bişîfre kirinê veava bike Comment[lt]=Derina SSL, tvarko liudijimus ir kitus šifravimo parametrus Comment[lv]=Konfigurēt SSL, pārvaldīt sertifikātus un citus kriptogrāfijas iestatījumus Comment[mai]=एसएसएल बिन्यस्त करू, प्रमाणपत्र आओर आन क्रिप्टोग्राफिक सेटिंगक प्रबंधित करू Comment[mk]=Конфигурација на SSL, менаџмент на сертификати\nи други криптографски поставувања Comment[ml]=എസ്എസ്എല്‍ ക്രമീകരിയ്ക്കുക, സാക്ഷ്യപത്ര നടത്തിപ്പുകാരന്‍, പിന്നെ ക്രിപ്റ്റോഗ്രഫി സജ്ജീകരണം Comment[mr]=SSL, प्रमाणपत्र प्रबंधन, तथा अन्य क्रिप्टोग्राफ़िक संयोजना संयोजीत करा Comment[nb]=Oppsett av SSL, behandling av sertifikater og andre innstillinger for kryptering Comment[nds]=SSL inrichten, Zertifikaten plegen un anner Verslötel-Instellen Comment[ne]=SSL कन्फिगरेसन, प्रमाणपत्र प्रबन्ध, र अन्य गुप्तिकरण सेटिङ Comment[nl]=Stel SSL in, beheer certificaten en configureer andere cryptografische instellingen Comment[nn]=Set opp SSL, sertifikat og andre krypteringsinnstillingar Comment[or]=SSL ବିନ୍ୟାସ କରନ୍ତୁ, ପ୍ରମାଣପତ୍ର ପରିଚାଳନ, ଏବଂ ଅନ୍ୟ ଗୁଢଲେଖନ ବିନ୍ୟାସଗୁଡିକ Comment[pa]=SSL ਸੰਰਚਨਾ, ਸਰਟੀਫਿਕੇਟ ਪਰਬੰਧ, ਅਤੇ ਹੋਰ ਕਰਿਪਟੋਗਰਾਫ਼ੀ ਸੈਟਿੰਘ Comment[pl]=Konfiguracja SSL, zarządzanie certyfikatami i inne ustawienia kryptografii Comment[pt]=Configurar o SSL, gerir os certificados e outras opções de criptografia Comment[pt_BR]=Configura SSL, gerencia certificados e outras configurações de criptografia Comment[ro]=Configurează SSL, administrează certificate și alte setări criptografice Comment[ru]=Настройка SSL, управление сертификатами и другие параметры криптографии Comment[se]=Gieđahala SSL, sertifikáhtaid ja eará krypterenheivehusaid Comment[si]=SSL සැකසීම, සහතික කළමණාකරනය සහ වෙනත් සංකේතාන්කන සැකසුම් Comment[sk]=Nastavenie SSL, správa certifikátov a ostatné nastavenie šifrovania Comment[sl]=Nastavljanje SSL, upravljanje s potrdili in ostale nastavitve šifriranja Comment[sr]=Подешавање ССЛ‑а, управљање сертификатима, и друге криптографске поставке Comment[sr@ijekavian]=Подешавање ССЛ‑а, управљање сертификатима, и друге криптографске поставке Comment[sr@ijekavianlatin]=Podešavanje SSL‑a, upravljanje sertifikatima, i druge kriptografske postavke Comment[sr@latin]=Podešavanje SSL‑a, upravljanje sertifikatima, i druge kriptografske postavke Comment[sv]=Anpassa SSL, hantera certifikat och andra kryptografiska inställningar Comment[ta]=SSL வடிவமைக்க, சான்றுகள் நிர்வகிக்க, மற்றும் ஏனைய உருமாற்ற அமைப்புகள் Comment[tg]=Танзимоти SSL, идоракунии иҷозатномаҳо ва танзимотҳои рамзгузории дигар -Comment[th]=ปรับแต่ง SSL, จัดการใบรับรอง, และการตั้งค่าเกี่ยวกับการเข้ารหัสอื่นๆ +Comment[th]=ปรับแต่ง SSL, จัดการใบรับรอง, และการตั้งค่าเกี่ยวกับการเข้ารหัสอื่น ๆ Comment[tr]=SSL yapılandırması, sertifika yönetimi ve diğer şifreleme ayarları Comment[ug]=SSL سەپلىمە، گۇۋاھنامە باشقۇرۇش ۋە باشقا شىفىرلاش تەڭشىكى Comment[uk]=Налаштування SSL, керування сертифікатами та інші параметри шифрування Comment[vi]=Cấu hình SSL, quản lý chứng nhận và các thiết lập mật mã khác Comment[wa]=Apontyî SSL, manaedjî les acertineures, eyet ds ôtes apontiaedjes del criptografeye Comment[x-test]=xxConfigure SSL, manage certificates, and other cryptography settingsxx Comment[zh_CN]=配置 SSL、管理证书及其它加密设置 Comment[zh_TW]=設定 SSL、管理憑證與其他加密設定 X-KDE-Keywords=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security -X-KDE-Keywords[ar]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security,كريبتو,تعمية,شهادات,شفرات,أمان -X-KDE-Keywords[ca]=Crypto,Krypto,Criptografia,xifratge,SSL,https,certificats,xifres,TLS,assegurar,seguretat -X-KDE-Keywords[de]=Crypto, Krypto, Kryptographie, Verschlüsselung, SSL, https, Zertifikate, Chiffren, TLS, sicher, Sicherheit -X-KDE-Keywords[el]=Κρυπτογράφηση,Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,πιστοποιητικά,ciphers,TLS,secure,security,ασφαλές,ασφάλεια -X-KDE-Keywords[es]=Criptografía,cifrado,SSL,https,certificados,código,códigos,TLS,seguro,seguridad -X-KDE-Keywords[et]=Krüpto,Krüptograafia,krüptimine,SSL,https,sertificaadid,šifrid,TLS,turvalisus -X-KDE-Keywords[fa]=رمز، Krypto، رمزنگاری، رمزبندی، SSL، https، گواهی‌نامه‌ها، رمزها، TLS، امن، امنیت -X-KDE-Keywords[ga]=Crypto,Krypto,cripteagrafaíocht,criptiú,SSL,https,teastais,sifir,TLS,daingean,slándáil -X-KDE-Keywords[he]=הצפנה,SSL,https,תעודות,צפנים,TLS,אבטחה -X-KDE-Keywords[hu]=titkosítás,Krypto,kriptográfia,titkosság,SSL,https,tanúsítványok,kódolók,TLS,adatbiztonság,biztonság -X-KDE-Keywords[it]=Cifratura,Crittografia,,SSL,https,certificati,cifrari,TLS,sicuro,sicurezza -X-KDE-Keywords[ja]=暗号化,Krypto,暗号作成形式,暗号化,SSL,http,証明書,暗号,TLS,セキュア,セキュリティ -X-KDE-Keywords[ko]=암호화,보안,SSL,https,인증서,TLS -X-KDE-Keywords[lt]=Crypto,Krypto,Cryptography,kriptografija,encryption,šifravimas,SSL,https,certificates,sertifikatai,ciphers,šifrai,TLS,secure,saugus,security,saugumas,apsauga -X-KDE-Keywords[lv]=Kriptogrāfija,šifrēšana,SSL,https,sertifikāti,čiperi,TLS,drošs,drošība -X-KDE-Keywords[nb]=Crypto,Krypto,Kryptografi,kryptering,SSL,https,sertifikater,chifre,TLS,sikker,sikkerhet -X-KDE-Keywords[nds]=Crypto,Krypto,Kryptografie,Verslöteln,SSL,https,Zertifikaten,Verslötelmetoden,TLS,seker,Sekerheit -X-KDE-Keywords[nl]=Crypto,Krypto,Cryptografie,encryptie,SSL,https,certificaten,ciphers,TLS,secure,security,veiligheid,beveiliging,versleuteling, -X-KDE-Keywords[nn]=Crypto,Krypto,kryptografi,kryptologi,kryptering,SSL,https,sertifikat,chiffer,ciphers,TLS,sikker,trygg,tryggleik -X-KDE-Keywords[pt]=Cifra,Criptografia,encriptação,SSL,HTTPS,certificados,cifras,TLS,seguro,segurança -X-KDE-Keywords[pt_BR]=Crypto,Krypto,Criptografia,encriptação,SSL,https,certificados,cifras,TLS,seguro,segurança -X-KDE-Keywords[sl]=Šifriranje,šifre,šifra,SSL,HTTPS,potrdila,TLS,varnost -X-KDE-Keywords[sr]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security,крипто,криптографија,шифровање,ССЛ,ХТТПС,сертификати,шифрари,ТЛС,безбедност -X-KDE-Keywords[sr@latin]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security,kripto,kriptografija,šifrovanje,SSL,HTTPS,sertifikati,šifrari,TLS,bezbednost +X-KDE-Keywords[bg]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security,криптография,шифриране,удостоверения,сертификати,шифри,сигурност +X-KDE-Keywords[ca]=Criptografia,encriptatge,SSL,https,certificats,xifres,TLS,segur,seguretat +X-KDE-Keywords[es]=Crypto,Krypto,Criptografía,cifrado,SSL,ttps,certificados,cifradores,TLS,seguro,seguridad +X-KDE-Keywords[et]=krüpto,krüptograafia,krüptimine,SSL,https,sertifikaadid,serdid,šifrid,TLS,turvalisus,turve +X-KDE-Keywords[gl]=Cripto,Kripto,Criptografía,cifrado,SSL,https,certificados,cifras,TLS,seguro,securidade +X-KDE-Keywords[hu]=Titkosítás,Titkosítás,Titkosítás,titkosítás,SSL,https,tanúsítványok,titkosítók,TLS,biztonságos,biztonság +X-KDE-Keywords[ia]=Crypto,Krypto,Cryptographia,cryptation,SSL,https,certificatos,ciphras,TLS, secur,securitate +X-KDE-Keywords[kk]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security +X-KDE-Keywords[km]=ការ​គ្រីប​,​គ្រីបតូ​,ការ​គ្រីប,​ការ​អ៊ិនគ្រីប​,SSL,https,​វិញ្ញាបនបត្រ​,ciphers,TLS,មូលប័ត្រ​,​មូលប័ត្រ +X-KDE-Keywords[nb]=Krypto,Crypto,Kryptografi,kryptering,SSL,https,sertifikater,chiffre,TLS,sikker,sikkerhet +X-KDE-Keywords[nds]=Verslöteln,SSL,https,Zertifikaten,Slötels,TLS,seker,Sekerheit +X-KDE-Keywords[nl]=Crypto,Krypto,cryptografie,versleuteling,SSL,https,certificaten,ciphers,TLS,veilig,beveiliging +X-KDE-Keywords[pa]=ਕ੍ਰਿਪਟੂ,ਕ੍ਰਿਪਟੂ,ਕ੍ਰਿਪਟੂਗਰਾਫੀ,ਇੰਕ੍ਰਿਪਸ਼ਨ,ਸਰਟੀਫਿਕੇਟ,ਸੀਫ਼ਰ,ਸੁਰੱਖਿਅਤ,ਸੁਰੱਖਿਆ,Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security +X-KDE-Keywords[pt]=Cripto,Criptografia,encriptação,SSL,HTTPS,certificados,cifras,TLS,seguro,segurança +X-KDE-Keywords[pt_BR]=criptografia,Krypto,criptografar,SSL,HTTPS,certificados,cifras,TLS,segurar,segurança +X-KDE-Keywords[ro]=Criptare,Cripto,Criptografie,SSL,https,certificate,cifru,TLS,sigur,securitate X-KDE-Keywords[sv]=Krypto,Kryptografi,kryptering,SSL,https,certifikat,chiffer,TLS,säker,säkerhet -X-KDE-Keywords[ta]=க்ரிப்டோ,கிரிப்டோ,உருதிரிபியல்,உருதிரித்தல்,SSL,https,சான்றிகள்,சுழியங்கள்,TLS,அரணோடு,அரண் -X-KDE-Keywords[th]=เข้า-ถอดรหัส,Krypto,เรื่องเกี่ยวกับการเข้า-ถอดรหัส,การเข้ารหัส,SSL,https,ใบรับรอง,ciphers,TLS,ปลอดภัย,ความปลอดภัย -X-KDE-Keywords[vi]=Crypto,mật mã,mã hoá,Krypto,Cryptography,encryption,SSL,https,certificates,chứng nhận,ciphers,TLS,secure,bảo mật,security -X-KDE-Keywords[wa]=criptografeye,ecriptaedje,SSL,https,acertineures,acertiner,acertinaedje,chifraedje,TLS,seur,seure,såvrité +X-KDE-Keywords[uk]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security,криптографія,шифрування,сертифікат,сертифікати,захист,безпека,безпечний,захищений +X-KDE-Keywords[vi]=Crypto,mật mã,mã hoá,Krypto,Cryptography,encryption,SSL,https,certificates,chứng thực,ciphers,TLS,secure,bảo mật,security X-KDE-Keywords[x-test]=xxCrypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,securityxx -X-KDE-Keywords[zh_CN]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security,加密,证书,加密算法,安全 +X-KDE-Keywords[zh_TW]=Crypto,Krypto,Cryptography,encryption,SSL,https,certificates,ciphers,TLS,secure,security Categories=Qt;KDE;X-KDE-settings-security; diff --git a/security/kcert/kcertpart.desktop b/security/kcert/kcertpart.desktop index a2d3209118..f7295aea8d 100644 --- a/security/kcert/kcertpart.desktop +++ b/security/kcert/kcertpart.desktop @@ -1,194 +1,194 @@ [Desktop Entry] Type=Service Comment=Embeddable Personal Certificate Manager Comment[af]=Inlegbare Persoonlike Sertifikaat Bestuurder Comment[ar]=مدير شهادات شخصي مدمج Comment[as]=প্ৰোথিত Personal Certificate Manager Comment[ast]=Xestor de certificaos personales encrustable Comment[be]=Унутраны кіраўнік асабістых сертыфікатаў Comment[be@latin]=Unutrany ŭłasny kiraŭnik sertyfikataŭ Comment[bg]=Мениджър за вградени удостоверения Comment[bn]=অভ্যন্তরীণ ব্যক্তিগত সার্টিফিকেট ম্যানেজার Comment[bn_IN]=এমবেড করার যোগ্য ব্যক্তিগত সার্টিফিকেট পরিচালন ব্যবস্থা Comment[bs]=Ugnezdivi menadžer ličnih sertifikata Comment[ca]=Gestor encastable de certificats personals Comment[ca@valencia]=Gestor encastable de certificats personals Comment[cs]=Pohltitelný správce osobních certifikátů Comment[csb]=Wbùdowóny swój menadżer certifikatów Comment[cy]=Rheolydd Tystysgrif Bersonol Mewnadeiladadwy Comment[da]=Indlejrbar personlig certifikathåndtering Comment[de]=Einbettungsfähige Verwaltung für persönliche Zertifikate Comment[el]=Ενσωματώσιμος διαχειριστής προσωπικών πιστοποιητικών Comment[en_GB]=Embeddable Personal Certificate Manager Comment[eo]=Enkorpigebla administrilo por personaj atestiloj Comment[es]=Gestor personal de certificados empotrable Comment[et]=Põimitav personaalsete sertifikaatide haldur Comment[eu]=Ziurtagiri pertsonalen kudeatzaile kapsulagarria Comment[fa]=مدیر گواهی‌نامه شخصی نهفته Comment[fi]=Upotettava henkilökohtaisten varmenteiden hallinta Comment[fr]=Gestionnaire de certificats personnels intégrable Comment[fy]=Yn te sluten Persoanlik-sertifikaatbehearder Comment[ga]=Bainisteoir Teastas Pearsanta Inleabaithe Comment[gl]=Xestor persoal de certificados integrábel Comment[gu]=જડિત ખાનગી પ્રમાણપત્ર વ્યવસ્થાપક Comment[he]=מנהל תעודות אישי הניתן לשיבוץ Comment[hi]=अंतर्निर्मित व्यक्तिगत प्रमाणपत्र प्रबंधक Comment[hne]=भीतर मं बने निजी प्रमानपत्र प्रबंधक Comment[hr]=Ugradivi upravitelj osobnim potvrdama Comment[hsb]=Integrujomny Personal Certificate Manager Comment[hu]=Beágyazható személyes tanúsítványkezelő Comment[ia]=Administrator de Certificato Personal Incorporabile Comment[id]=Manajer Sertifikat Personal Dapat Dibenamkan Comment[is]=Ívefjanlegur einkaskírteina-stjóri Comment[it]=Gestione integrabile dei certificati personali Comment[ja]=埋め込み可能な個人証明書マネージャ Comment[kk]=Ендірілетін дербес куәлік менеджері Comment[km]=កម្មវិធី​គ្រប់គ្រង​វិញ្ញាបនបត្រ​ឯកជន​ដែល​អាច​បង្កប់​បាន Comment[kn]=ಹುದುಗಿಸಬಹುದಾದ (ಎಂಬೆಡಬಲ್) ವೈಯಕ್ತಿಕ ಪ್ರಮಾಣಪತ್ರ ವ್ಯವಸ್ಥಾಪಕ Comment[ko]=첨부할 수 있는 개인 인증서 관리자 Comment[ku]=Rêveberê Belge Kirina Şexsî yê Dibe Jixwe Heyî Comment[lb]=Abettbare perséinlechen Zertifikatsmanager Comment[lt]=Įdedama asmeninių liudijimų tvarkyklė Comment[lv]=Iegulstams personīgo sertifikātu pārvaldnieks Comment[mai]=अंतर्निर्मित व्यक्तिगत प्रमाणपत्र प्रबंधक Comment[mk]=Вгнездлив менаџер на лични сертификати Comment[ml]=എംബെഡ് ചെയ്യാവുന്ന സ്വകാര്യ സാക്ഷ്യപത്ര നടത്തിപ്പുകാരന്‍ Comment[mr]=अंतर्भूतीत खाजगी प्रमाणपत्र व्यवस्थापक Comment[ms]=Pengurus Sijil Peribadi Boleh Serta Comment[nb]=Innebygget personlig sertifikathåndterer Comment[nds]=Inbettbor Pleger för persöönlich Zertifikaten Comment[ne]=सम्मिलित व्यक्तिगत प्रमाणपत्र प्रबन्धक Comment[nl]=Ingebedde Persoonlijke Certificaat-beheerder Comment[nn]=Innebyggbar handsamar av personlege sertifikat Comment[or]=ସନ୍ନିବେଶଯୋଗ୍ୟ ବ୍ୟକ୍ତିଗତ ପ୍ରମାଣପତ୍ର ପରିଚାଳକ Comment[pa]=ਨਿੱਜੀ ਸਰਟੀਫਕੇਟ ਮੈਨੇਜਰ ਸ਼ਾਮਿਲ ਹੋਣਯੋਗ Comment[pl]=Osobisty menedżer certyfikatów Comment[pt]=Gestor de Certificados Pessoais Incorporado Comment[pt_BR]=Gerenciador pessoal de certificados integrável Comment[ro]=Componentă manager de certificate personale Comment[ru]=Управление личными сертификатами Comment[se]=Vuojuhanláhkái persuvnnalaš duođaštusaid gieđahalli Comment[si]=ඇතෘලත් කළ හැකි පෞද්ගලික සහතික කළමණාකරු Comment[sk]=Zabudovaný správca osobných certifikátov Comment[sl]=Vgradljivi osebni upravljalnik certifikatov Comment[sr]=Угнездиви менаџер личних сертификата Comment[sr@ijekavian]=Угњездиви менаџер личних сертификата Comment[sr@ijekavianlatin]=Ugnjezdivi menadžer ličnih sertifikata Comment[sr@latin]=Ugnezdivi menadžer ličnih sertifikata Comment[sv]=Inbäddningsbar personlig certifikatshanterare Comment[ta]=உட்பொதிந்த சுய சான்றிதழ் மேலாளர் Comment[te]=పొదగబడె వక్తిగత ప్రమాణ పత్రాల అభికర్త Comment[tg]=Мудири иҷозатномаҳои дарунсохташудаи шахсӣ Comment[th]=ตัวจัดการใบรับรองส่วนบุคคลแบบฝังตัวได้ Comment[tr]=Gömülebilir Kişisel Sertifika Yöneticisi Comment[ug]=سىڭدۈرۈشچان شەخسىي گۇۋاھنامە باشقۇرغۇچ Comment[uk]=Менеджер персональних сертифікатів, який можна вбудовувати Comment[uz]=Ichiga oʻrnatib boʻladigan shaxsiy sertifikat boshqaruvchisi Comment[uz@cyrillic]=Ичига ўрнатиб бўладиган шахсий сертификат бошқарувчиси Comment[vi]=Bộ Quản lý Chứng nhận Cá nhân có khả năng nhúng Comment[wa]=Ravalé manaedjeu d' acertineures da vosse -Comment[x-test]=xxEmbeddable Personal Certificate Managerxx Comment[xh]=Umphathi Wesiqinisekiso Sobuntu bakho Obulungiselelweyo +Comment[x-test]=xxEmbeddable Personal Certificate Managerxx Comment[zh_CN]=可嵌入的个人证书管理器 Comment[zh_HK]=可嵌入的個人證書管理工具 Comment[zh_TW]=嵌入式個人憑證管理員 MimeType=application/x-pkcs12;application/x-x509-ca-cert; Icon=system-lock-screen Name=KCertPart Name[af]=Kcertpart Name[ar]=جزء ك للشهادات Name[as]=KCertPart Name[ast]=KCertPart Name[be]=KCertPart Name[be@latin]=KCertPart Name[bg]=KCertPart Name[bn]=কে-সার্ট-পার্ট Name[bn_IN]=KCertPart Name[br]=KCertPart Name[bs]=Sertifikatski dio Name[ca]=KCertPart Name[ca@valencia]=KCertPart Name[cs]=KCertPart Name[csb]=KCertPart Name[cy]=KRhanTyst Name[da]=KCertPart Name[de]=KCertPart Name[el]=KCertPart Name[en_GB]=KCertPart Name[eo]=Atestilo-parto Name[es]=KCertPart Name[et]=KCertPart Name[eu]=KCertPart Name[fa]=KCertPart Name[fi]=KCertPart Name[fr]=KCertPart Name[fy]=KCertPart Name[ga]=KCertPart Name[gl]=KCertPart Name[gu]=KCertPart Name[he]=KCertPart Name[hi]=के-सर्ट-पार्ट Name[hne]=के-सर्ट-पार्ट Name[hr]=KCertPart Name[hsb]=KCertPart Name[hu]=KCertPart Name[ia]=KcertPart Name[id]=KCertPart Name[is]=KCertPart Name[it]=KCertPart Name[ja]=KCertPart Name[kk]=KCertPart Name[km]=KCertPart Name[kn]=ಕೆಸರ್ಟ್ ಪಾರ್ಟ್ Name[ko]=KCertPart Name[ku]=KCertPart Name[lb]=KCertPart Name[lt]=KCertPart Name[lv]=KCertPart Name[mai]=के-सर्ट-पार्ट Name[mk]=KCertPart Name[ml]=കെസെര്‍ട്ട്പാര്‍ട്ട് Name[mr]=KCertPart Name[ms]=KCertPart Name[nb]=KCertPart Name[nds]=KCertPart Name[ne]=KCertPart Name[nl]=KCertPart Name[nn]=KCertPart Name[or]=KCertPart Name[pa]=KCertPart Name[pl]=KCertPart Name[ps]=KCertPart Name[pt]=KCertPart Name[pt_BR]=KCertPart Name[ro]=KCertPart Name[ru]=KCertPart Name[se]=KCertPart Name[si]=KCertPart Name[sk]=KCertPart Name[sl]=KCertPart Name[sq]=KCertPart Name[sr]=Сертификатски део Name[sr@ijekavian]=Сертификатски део Name[sr@ijekavianlatin]=Sertifikatski deo Name[sr@latin]=Sertifikatski deo Name[sv]=Kcertpart Name[ta]=KCertPart Name[te]=కెసెర్ట్ పార్ట్ Name[tg]=KCertPart Name[th]=KCertPart Name[tr]=KCertPart Name[ug]=KCertPart Name[uk]=KCertPart Name[uz]=KCertPart Name[uz@cyrillic]=KCertPart Name[vi]=KCertPart Name[wa]=KCertPart -Name[x-test]=xxKCertPartxx Name[xh]=KCertPart +Name[x-test]=xxKCertPartxx Name[zh_CN]=KCertPart Name[zh_HK]=KCertPart Name[zh_TW]=KCertPart X-KDE-ServiceTypes=KParts/ReadWritePart X-KDE-Library=kcertpart InitialPreference=15 diff --git a/sonnet/plugins/hunspell/kspell_hunspell.desktop b/sonnet/plugins/hunspell/kspell_hunspell.desktop index ada7b67cf7..82805bd2d2 100644 --- a/sonnet/plugins/hunspell/kspell_hunspell.desktop +++ b/sonnet/plugins/hunspell/kspell_hunspell.desktop @@ -1,78 +1,80 @@ [Desktop Entry] Type=Service X-KDE-ServiceTypes=Sonnet/SpellClient X-KDE-Library=kspell_hunspell X-KDE-PluginInfo-Author=Montel Laurent X-KDE-PluginInfo-Email=montel@kde.org X-KDE-PluginInfo-Name=kspell_hunspell X-KDE-PluginInfo-Version=0.0.1 X-KDE-PluginInfo-Website=http://www.kde.org X-KDE-PluginInfo-Category=Clients X-KDE-PluginInfo-Depends= X-KDE-PluginInfo-License=LGPL X-KDE-PluginInfo-EnabledByDefault=true Name=Hunspell Name[ar]=ه‍نسبل Name[ast]=Hunspell Name[bg]=Hunspell Name[bn]=Hunspell Name[bs]=Hunspell Name[ca]=Hunspell Name[ca@valencia]=Hunspell Name[cs]=Hunspell Name[da]=Hunspell Name[de]=Hunspell Name[el]=Hunspell Name[en_GB]=Hunspell Name[eo]=Hunspell Name[es]=Hunspell Name[et]=Hunspell Name[eu]=Hunspell +Name[fa]=Hunspell Name[fi]=Hunspell Name[fr]=Hunspell Name[ga]=Hunspell Name[gl]=Hunspell Name[hr]=Hunspell Name[hu]=Hunspell Name[ia]=Hunspell Name[id]=Hunspell Name[is]=Hunspell Name[it]=Hunspell Name[ja]=Hunspell Name[kk]=Hunspell Name[km]=Hunspell Name[kn]=ಹನ್‌ಸ್ಪೆಲ್ Name[ko]=Hunspell Name[ku]=Hunspell Name[lt]=Hunspell Name[lv]=Hunspell Name[ms]=Hunspell Name[nb]=Hunspell Name[nds]=Hunspell Name[nl]=Hunspell Name[nn]=Hunspell Name[pa]=Hunspell Name[pl]=Hunspell Name[pt]=Hunspell Name[pt_BR]=Hunspell Name[ro]=Hunspell Name[ru]=Hunspell Name[se]=Hunspell Name[si]=Hunspell Name[sk]=Hunspell Name[sl]=Hunspell Name[sr]=Ханспел Name[sr@ijekavian]=Ханспел Name[sr@ijekavianlatin]=Hunspell Name[sr@latin]=Hunspell Name[sv]=Hunspell Name[ta]=Hunspell Name[tg]=Hunspell Name[th]=Hunspell Name[tr]=Hunspell Name[ug]=Hunspell Name[uk]=Hunspell +Name[vi]=Hunspell Name[wa]=Hunspell Name[x-test]=xxHunspellxx Name[zh_CN]=Hunspell Name[zh_TW]=Hunspell