From cb1c7b0147a5be8d0714ed6947b97c20feebcff2 Mon Sep 17 00:00:00 2001 From: "Zane U. Ji" Date: Wed, 19 Aug 2020 01:31:31 +0800 Subject: [PATCH] Update compilation settings and language files --- Makefile.in | 2 +- autogen.sh | 8 +- data/Makefile.am | 2 +- data/Makefile.in | 2 +- data/xmlcopyeditor.appdata.xml.in | 15 +- debian/compat | 2 +- debian/control | 29 +- depcomp | 8 +- install-sh | 36 +- ltmain.sh | 217 ++- m4/libtool.m4 | 27 +- missing | 16 +- po/Makefile.in.in | 15 +- po/ca.gmo | Bin 25845 -> 25804 bytes po/de.gmo | Bin 21914 -> 21898 bytes po/en_US.gmo | Bin 482 -> 394 bytes po/es.gmo | Bin 25739 -> 25698 bytes po/fr.gmo | Bin 23476 -> 23435 bytes po/it.gmo | Bin 22283 -> 22242 bytes po/km.gmo | Bin 48533 -> 48492 bytes po/nl.gmo | Bin 22488 -> 22447 bytes po/ru.gmo | Bin 29050 -> 29009 bytes po/sk.gmo | Bin 21540 -> 21499 bytes po/sv.gmo | Bin 19791 -> 19750 bytes po/uk_UA.gmo | Bin 18448 -> 18407 bytes po/xmlcopyeditor.pot | 682 ++++---- po/zh_CN.gmo | Bin 22590 -> 22549 bytes po/zh_TW.gmo | Bin 19243 -> 19202 bytes src/.cproject | 2304 ++++++++++++++------------- src/.settings/language.settings.xml | 102 -- src/xmlcopyeditor.iss | 78 +- src/xmlcopyeditor64.iss | 202 --- 32 files changed, 1875 insertions(+), 1872 deletions(-) delete mode 100644 src/.settings/language.settings.xml delete mode 100644 src/xmlcopyeditor64.iss diff --git a/Makefile.in b/Makefile.in index 7872cea..401d885 100644 --- a/Makefile.in +++ b/Makefile.in @@ -160,7 +160,7 @@ CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog \ INSTALL NEWS TODO compile config.guess config.rpath config.sub \ - depcomp install-sh ltmain.sh missing + install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) diff --git a/autogen.sh b/autogen.sh index f47c552..56b9dd5 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,8 +3,8 @@ export WANT_AUTOCONF_2_5="1" export WANT_AUTOMAKE_1_7="1" -aclocal -libtoolize --automake --force --copy -automake -a -c +libtoolize --copy +intltoolize --copy --force +aclocal -I m4 autoconf - +automake --add-missing --copy diff --git a/data/Makefile.am b/data/Makefile.am index 63cdf43..c6e1236 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -5,7 +5,7 @@ desktop_in_files = xmlcopyeditor.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ -appdatadir = $(datadir)/appdata +appdatadir = $(datadir)/metainfo appdata_in_files = xmlcopyeditor.appdata.xml.in appdata_DATA = $(appdata_in_files:.xml.in=.xml) @INTLTOOL_XML_RULE@ diff --git a/data/Makefile.in b/data/Makefile.in index df599bd..e86e121 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -312,7 +312,7 @@ NULL = desktopdir = $(datadir)/applications desktop_in_files = xmlcopyeditor.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) -appdatadir = $(datadir)/appdata +appdatadir = $(datadir)/metainfo appdata_in_files = xmlcopyeditor.appdata.xml.in appdata_DATA = $(appdata_in_files:.xml.in=.xml) man_MANS = xmlcopyeditor.1 diff --git a/data/xmlcopyeditor.appdata.xml.in b/data/xmlcopyeditor.appdata.xml.in index 99748eb..3982616 100644 --- a/data/xmlcopyeditor.appdata.xml.in +++ b/data/xmlcopyeditor.appdata.xml.in @@ -1,11 +1,11 @@ - - xmlcopyeditor.desktop - CC0 + + xmlcopyeditor.desktop + GPL-2.0+ + XML Copy Editor + fast, free, validating XML editor + - <_p> - fast, free, validating XML editor - <_p> XML Copy Editor is an XML editor focusing on editing document markup languages like DITA, DocBook, WordprocessingML. Features: DTD/XML @@ -15,9 +15,10 @@ Spelling and style check with built-in spell/style checker. + <_screenshot type="default" width="640" height="387">https://a.fsdn.com/con/app/proj/xml-copy-editor/screenshots/151221.jpg http://xml-copy-editor.sourceforge.net/ zaneuji_at_users.sf.net - + diff --git a/debian/compat b/debian/compat index 45a4fb7..ec63514 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -8 +9 diff --git a/debian/control b/debian/control index f6807d8..d2d6752 100644 --- a/debian/control +++ b/debian/control @@ -1,21 +1,20 @@ Source: xmlcopyeditor Section: editors -Priority: extra +Priority: optional Maintainer: Zane U. Ji -Build-Depends: debhelper (>= 8.0.0), autotools-dev, x11proto-composite-dev, - x11proto-randr-dev, libxfixes-dev, libxerces-c-dev, libglib2.0-0, - libxdmcp-dev, mime-support, gettext, file, libxinerama-dev, intltool, - libcairo2-dev, libxcb1-dev, libxcb-render0-dev, libxi-dev, libgtk2.0-dev, - mawk, libgdk-pixbuf2.0-dev, libglib2.0-dev, libatk1.0-dev, - libxml-parser-perl, libcroco3, libx11-dev, perl-modules, libpopt0, libxml2, - pkg-config, libpcre3-dev, libwxgtk2.8-dev, libfreetype6-dev, x11proto-kb-dev, - x11proto-damage-dev, libfontconfig1-dev, x11proto-xinerama-dev, - libexpat1-dev, libxml2-dev, libpthread-stubs0-dev, libxext-dev, - libxrandr-dev, libxau-dev, libenchant-dev, libpixman-1-dev, - libxcomposite-dev, libxrender-dev, libboost1.48-dev, libpng12-dev, - libunistring0, libegl1-mesa-lts-saucy, libmagic1, x11proto-render-dev, - libexpat1, libxcb-shm0-dev, libpcre3, libpango1.0-dev, - libgl1-mesa-glx-lts-saucy, libxcursor-dev, libxdamage-dev, libxslt1-dev, cpio +Build-Depends: debhelper (>= 8.0.0), autotools-dev, cpio, file, gettext, + intltool, libatk1.0-dev, libboost-dev, libcairo2-dev, libcroco3, + libenchant-dev, libexpat1, libexpat1-dev, libfontconfig1-dev, + libfreetype6-dev, libgdk-pixbuf2.0-dev, libglib2.0-0, libglib2.0-dev, + libgtk-3-dev, libmagic1, libpango1.0-dev, libpcre3, libpcre3-dev, + libpixman-1-dev, libpopt0, libpthread-stubs0-dev, libwxgtk3.0-gtk3-dev, + libx11-dev, libxau-dev, libxcb-render0-dev, libxcb-shm0-dev, libxcb1-dev, + libxcomposite-dev, libxcursor-dev, libxdamage-dev, libxdmcp-dev, + libxerces-c-dev, libxext-dev, libxfixes-dev, libxi-dev, libxinerama-dev, + libxml-parser-perl, libxml2, libxml2-dev, libxrandr-dev, libxrender-dev, + libxslt1-dev, mawk, mime-support, perl-modules, pkg-config, + x11proto-composite-dev, x11proto-damage-dev, x11proto-kb-dev, + x11proto-randr-dev, x11proto-render-dev, x11proto-xinerama-dev Standards-Version: 3.9.2 Homepage: http://xml-copy-editor.sourceforge.net/ Vcs-Git: git://git.code.sf.net/p/xml-copy-editor/code diff --git a/depcomp b/depcomp index b39f98f..65cbf70 100755 --- a/depcomp +++ b/depcomp @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2016-01-11.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2017 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -783,7 +783,7 @@ exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/install-sh b/install-sh index 59990a1..8175c64 100755 --- a/install-sh +++ b/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2014-09-12.12; # UTC +scriptversion=2018-03-11.20; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -271,15 +271,18 @@ do fi dst=$dst_arg - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. + # If destination is a directory, append the input filename. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst - dst=$dstdir/`basename "$src"` + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac dstdir_status=0 else dstdir=`dirname "$dst"` @@ -288,6 +291,11 @@ do fi fi + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + obsolete_mkdir_used=false if test $dstdir_status != 0; then @@ -324,14 +332,16 @@ do # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) - # $RANDOM is not portable (e.g. dash); use it when possible to - # lower collision chance + # Note that $RANDOM variable is not portable (e.g. dash); Use it + # here however when possible just to lower collision chance. tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - # As "mkdir -p" follows symlinks and we work in /tmp possibly; so - # create the $tmpdir first (and fail if unsuccessful) to make sure - # that nobody tries to guess the $tmpdir name. + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p' feature. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 @@ -434,8 +444,8 @@ do else # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 @@ -500,9 +510,9 @@ do done # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/ltmain.sh b/ltmain.sh index a736cf9..0cb7f90 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-2" +VERSION="2.4.6 Debian-2.4.6-14" package_revision=2.4.6 @@ -387,7 +387,7 @@ EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: @@ -1370,7 +1370,7 @@ func_lt_ver () #! /bin/sh # Set a version string for this script. -scriptversion=2014-01-07.03; # UTC +scriptversion=2015-10-07.11; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 @@ -1530,6 +1530,8 @@ func_run_hooks () { $debug_cmd + _G_rc_run_hooks=false + case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; @@ -1538,16 +1540,16 @@ func_run_hooks () eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift + if eval $_G_hook '"$@"'; then + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + _G_rc_run_hooks=: + fi done - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result + $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } @@ -1557,10 +1559,16 @@ func_run_hooks () ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed +# full positional parameter list in your hook function, you may remove/edit +# any options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for -# 'eval'. Like this: +# 'eval'. In this case you also must return $EXIT_SUCCESS to let the +# hook's caller know that it should pay attention to +# '_result'. Returning $EXIT_FAILURE signalizes that +# arguments are left untouched by the hook and therefore caller will ignore the +# result variable. +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1578,11 @@ func_run_hooks () # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). There is +# # no need to do the equivalent (but slower) action: +# # func_quote_for_eval ${1+"$@"} +# # my_options_prep_result=$func_quote_for_eval_result +# false # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1591,37 @@ func_run_hooks () # { # $debug_cmd # +# args_changed=false +# # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in -# --silent|-s) opt_silent=: ;; +# --silent|-s) opt_silent=: +# args_changed=: +# ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift +# args_changed=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@", we could need that later +# # if $args_changed is true. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# if $args_changed; then +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# fi +# +# $args_changed # } # func_add_hook func_parse_options my_silent_option # @@ -1611,16 +1633,32 @@ func_run_hooks () # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result +# false # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + _G_func_options_finish_exit=false + if func_run_hooks func_options ${1+"$@"}; then + func_options_finish_result=$func_run_hooks_result + _G_func_options_finish_exit=: + fi + + $_G_func_options_finish_exit +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1668,28 @@ func_options () { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_rc_options=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + if eval func_$my_func '${1+"$@"}'; then + eval _G_res_var='$'"func_${my_func}_result" + eval set dummy "$_G_res_var" ; shift + _G_rc_options=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + # Save modified positional parameters for caller. As a top-level + # options-parser function we always need to set the 'func_options_result' + # variable (regardless the $_G_rc_options value). + if $_G_rc_options; then + func_options_result=$_G_res_var + else + func_quote_for_eval ${1+"$@"} + func_options_result=$func_quote_for_eval_result + fi + + $_G_rc_options } @@ -1649,9 +1698,9 @@ func_options () # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete +# needs to propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before -# returning. +# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). func_hookable func_options_prep func_options_prep () { @@ -1661,10 +1710,14 @@ func_options_prep () opt_verbose=false opt_warning_types= - func_run_hooks func_options_prep ${1+"$@"} + _G_rc_options_prep=false + if func_run_hooks func_options_prep ${1+"$@"}; then + _G_rc_options_prep=: + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result + fi - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + $_G_rc_options_prep } @@ -1678,18 +1731,20 @@ func_parse_options () func_parse_options_result= + _G_rc_parse_options=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + if func_run_hooks func_parse_options ${1+"$@"}; then + eval set dummy "$func_run_hooks_result"; shift + _G_rc_parse_options=: + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -1704,7 +1759,10 @@ func_parse_options () ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_rc_parse_options=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1815,25 @@ func_parse_options () shift ;; - --) break ;; + --) _G_rc_parse_options=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + $_G_match_parse_options && _G_rc_parse_options=: done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + + if $_G_rc_parse_options; then + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result + fi + + $_G_rc_parse_options } @@ -1778,16 +1846,21 @@ func_validate_options () { $debug_cmd + _G_rc_validate_options=false + # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - func_run_hooks func_validate_options ${1+"$@"} + if func_run_hooks func_validate_options ${1+"$@"}; then + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result + _G_rc_validate_options=: + fi # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result + $_G_rc_validate_options } @@ -2068,7 +2141,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-2 + version: $progname $scriptversion Debian-2.4.6-14 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2270,6 +2343,8 @@ libtool_options_prep () nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2368,18 @@ libtool_options_prep () uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result + fi + + $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2391,12 @@ libtool_parse_options () { $debug_cmd + _G_rc_lt_parse_options=false + # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do + _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -2386,15 +2471,22 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result + fi - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options @@ -7275,10 +7367,13 @@ func_mode_link () # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -static-* direct GCC to link specific libraries statically + # -fcilkplus Cilk Plus language extension features for C/C++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" diff --git a/m4/libtool.m4 b/m4/libtool.m4 index ee80844..a6d21ae 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1041,8 +1041,8 @@ int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1492,7 +1492,7 @@ need_locks=$enable_libtool_lock m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) @@ -4063,7 +4063,8 @@ _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -4703,6 +4704,12 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -6438,7 +6445,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -6813,7 +6820,7 @@ if test yes != "$_lt_caught_CXX_error"; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6878,7 +6885,7 @@ if test yes != "$_lt_caught_CXX_error"; then # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7217,7 +7224,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -7301,7 +7308,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -7312,7 +7319,7 @@ if test yes != "$_lt_caught_CXX_error"; then # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' diff --git a/missing b/missing index f62bbae..625aeb1 100755 --- a/missing +++ b/missing @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ else exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \ exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 3faee95..fcd2c3b 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -33,8 +33,7 @@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ -DATADIRNAME = @DATADIRNAME@ -itlocaledir = $(prefix)/$(DATADIRNAME)/locale +localedir = @localedir@ subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. @@ -63,9 +62,7 @@ USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGU POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) -EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS \ - Preferences01.png Preferences02.png Settings.png translate.txt \ - Rules-quot *.gmo *.pot *.sed *.sin +EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out @@ -82,7 +79,7 @@ INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot - $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox + $(MSGMERGE) $* $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< @@ -110,7 +107,7 @@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ - dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ + dir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ @@ -144,8 +141,8 @@ install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ - rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ - rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot diff --git a/po/ca.gmo b/po/ca.gmo index 21bb115c345d0173fbbc861192b8b734ad426b98..86ab6b7c149b1e341e8ad86c90bce59502c8e168 100644 GIT binary patch delta 3113 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 W{y+x9+>Fubf$Tuw=-T|5$^QYrIC#PU diff --git a/po/de.gmo b/po/de.gmo index 578a7b402935498fc37985baf3f0afc9961f751f..b23b4909f31fe7824616d96384b088abda5ac7ab 100644 GIT binary patch delta 2699 zcmYM#3rv<(9LMp)MUa~)_e9_Y1X1EG3Xn@mT)iO*Vbjox6bPE2h$|?2wsfnpLIX0w zOIu!&xy<%13%8tYkwVH!?h7zXDW zlZXiziba@!RTzXjbB$#p80=v|0rWTz4xu)97Zt#Hyn6upF`vRYIPE;YjY-Ud@{E~_ zZq$2)sP%GZ-h`>lcVH~OnP=IVcv#SZpI{(>Y(48`3$<4`{mo~i!hFP4(h-f z)bm=@elK7!?nfnZ7?sEwjK^V%K{$h-PzTMRO66Z*uSa7f^K@K{MW{+W<2-Li1^No= zfP?75Q;s9JfcZ3PfB%P!iN+{YV3wPKGA=;1qTI0-mDvtduexzQ4xj?~5Ea-3RLMut z7k|cka2j=>?=pKHjtiM*pw_FAKrB9 zp#sU{V^v}us-j!ag*#CR^q@Z;MFo8Ft`@hRfiA@tn1X-cgBba+-J?~Q%=~Fo?_Nb6 zcntOa5Gu1tbfIsNF%_7CN~{f4kvA{_-^WdO8Qm6x#l=L88!;VEVIq#AKDdR7JgUU* zSv;zQ>8M`jqbgR7x&w`LQMAYC(AW%OT>?P5V0yofre7t`=C z#^Erk=ToTnr%^rp8#B?b-0pcUD#Hp?t2X08+=coFs~`RF9n|-O<XU8qQVkRq5N3_@>yTe@^}P``pORAz~&%4MQTUh2%(puT(DnKz^E z#vb(HeACB3rRzt1cofys6PSh`RA3XRz$Q^8zK;5tnYDHWV=Acn4^{`WDM&tMU*#wFN>t#}0WV#s>CA~C2+rD6)+i#oU(<8d1*)4ixWupiU$ z1nMq*>pcGpRT)!7{X;OI%I;;fV=8K+Yz)RC)WMagjcZUFH=`R5qIy4!s@OP&;x(L$ zf1(cbskTcWjM^uqn)>U70v6_Ah4Vr!DzJ8E{Uy`}ucHnaz_QU4c=qk4D;m6>;qZ5Wm_PeQt7not1^ zp#u60Bk&4_<8@T#|DgU|$(y&q-pGw%EG$QDP=&hnn^C`tCs2Vlpe|jTrzv9GCxal$?iFES>D zc|1m9DeAq=c73azw_!T#`!OCrD01AJ46>jDzr_gr8E4^dsDu8o^RQxLyv*ZJ>&q|^ zD^LgSw9gw*`@N1c@dWB3y{L;^#v}|n3}P7kf!Z*v#7)&))OrR!geCYeR-rQWvVGox z3iNH%0cX*Rm#o8>z#L!E{t$PALQ3cs;5VTdfVKo9#!{>NqaIZd3qYp#r;x zO8Fg}hJWIGoIo8IyTYBP;v(iNQ0w(bAdY!~fogXMAHiN!Afxy+dP!3ZBkyA}evaGm7Unn%iXNp?@mb8mOSlm4pgss) z?M9xCs#y*yg(aw3R-!UikLrQFs8St59ef5=;>)O?;gEG0ojewPWw00%%IE`JgF5Jl z^(3n1=THY+wCmsCROUfciic5MKY~j2->3jgxm%hA7|%2lshTM(r~ZoUAPc&|8>oX$ zVUrH)}=p#4D&9zJ;oJ7wY{BsQ0d*ejPWE@|%08Ce5R<)XbHr zeV#)u>X^NDp%bU@;3(>b$54@;LXu&Ia0W(iaGNd(^(#oh$-q&WTZKw_t(`xC`fiV% z??d&*VVuhO<_rU+t_$_yc~njNF%t(-fsLX98$+e|0qSQKxzWvF7OK1bn2Ob?)VHDn za8MB zypNGMrP@6(29^2*)IJ5(b^A7gfWETK8tr))cH@JrAjt zX+s4xgbL_;jK$j+gAY(QpYfR6Q$-6IC{?8xjhj##)SgbK73)pYHByJBy8 z(`&O=HwWrkb~WwEE~{$^6npc0x%t^Xf3`1|VR61c%U9_0^_3Q+c|0XYj{1}5Z_8d2 f*b`{3YiVjO_HJnk?A+Dj&CT)W6!i7`gGv7bdSye{ diff --git a/po/en_US.gmo b/po/en_US.gmo index 27616b310b114cc1124ef7bd2c863b3a0f54dcf4..295f5455530d3f51a467dda74bfcf87806577745 100644 GIT binary patch delta 15 WcmaFF+{HXWg)v~FYWT)0e2f4pqXiiN delta 104 zcmeBTe#AUMg>l71)$oXnl9GaAD}DXq{L-T2)U^Df^i;jP)Dryy{fgWi-Q@g&O5N0y z%#!>f{iM?LVtuXv{}5g0qSVBa%=|oEm&B4(D+MD1Lla#CGhG8iAk)gwNZY`|z+hty GA0q&Vts#8? diff --git a/po/es.gmo b/po/es.gmo index 1f6d0ab83f2f82fb153bf1f1068cef98420b3777..b5b465b085799f4d5e46ef21a9c436c993d63f0c 100644 GIT binary patch delta 3105 zcmXZdeN5F=9LMnk@^C>A^@1Rm2aOO#MVdqN;fg7Qkf0`)1WiMY(6DG3Yqt1dKGae+ zGl{K8>0#0)TTZlWj%FI7=H@2rVXibYn-9%a%e0oQ_s4VodYyBA=l4C|^F8Nx@3vE6 zKb;KQpBU#|3Nxl>mN7nKOxtW@*5Gbr*!UhYW(daOa2$y_I05sp67}9D_k26%(%*w~ z@HEcFcsi-L2(z&PhvLpT#=95b0|rJi(2axf1Zv@P7>k!s0e-~9^1I?8I&c6!;J-a37}Qx2Qn3FcSa6EQ}~JCJM)*b~Fi< zUN8^4P1E`YR!3>NkwhNC%E%*THc?cD-4&$*AQ?MBW z*p6Db2UU?1sEvK?yn;&L7AlSx^RO{vX!ud3o{mXajGD02`6MdPvp5Dl%*MT_1kRuq zzJgld4l04T5}Q~6^?WLh#xi6Bo@sCoHlTLc>L%<)mHsH|Zk)mhyzIuWqDuHX>brF&I;3 zFPR@Z=m)S952F&Oe#BPxc~oVZQ5D;XQLJzFxd{hQ0eevy_oL4E8_dL?-FU=&JI{}k z7*9v-tQ>WB>M<8z#ZhFKsH8U9%|{z2D2imKRv>;Hj@8~La)voXt~p#ZBa|?|(TB zm2e#@<2O;4>|N9Xy{J<4p%NQFRp>J6Xd)l8firM8{an;#45BJihN|!~=Q`wX#57}o z_02Ig@B%8ce^3DiEwKTIVmSRQR6=7=pIIIj<091AwxcTWK5D^_PzitL`lnDwa~?JC zCVCq9lZFELs%@$Lm_vUe4#E&>;cC=T)uJj=kDAxyp6^Bl-isr!8%N@CH~s_aQeMVv z46C93+Hp>e-FZIhjHY2B7Go-IL6x=>RjD2~e%6g&$7IIuq7q12YTpZ>Dlr9>NC_%V zEvmxnmr{R~Xd?sqPT#-)?nhPT3{J-%QD+`lW&;LM&nr+HScxh4wCiuiDfC-$27c-K z=5aoC`cqLA@9=1-lwGJmhcFjEM=fv-b-VAPDl=}m9WOvFP>Ooqf;ysZRGfpT1$t4J z@FZ%Z=TSdg*PY(qH1vXRg)QAMOr)QT+VKR;#0pf&oS*5uoE+|8_^Q%=lT~=6}^Vq z$Zb?5<7#bx6lT&dz*+kKLo_BbunU#(G1P+Jp(=9``Oz|0F%N?)ZK4gRTfQEZ&^FZN zYeQA!9p^sO9XNu;cpH^?a21KNzL`fu3s<2sZ9oNXL1o&G3iv7N_V%L!oJTEq1;ga1^~Dyf^MBlDpul!SUd8nv;>7_Y`m8fjSE6O)pZ(^FDdl>I+&Qf)2( delta 3144 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 R1Cz7-)BOGu3#Ls;{U7lWPxAl( diff --git a/po/it.gmo b/po/it.gmo index 9edb9b881e2087e582fc9fb47d60d187ff50d31b..aed48782d074089098879817517cf96219a53194 100644 GIT binary patch delta 2707 zcmXZeeN5F=9LMp)qdbU+-Rlz%UhK+4;M0_gR|UhHV4{)=nvQbQ^+4p7V-wBhZ#}T6 z{ve7raI*YE`J<+h^apd$#3owKtTY--XJyXKg4%RzQnB72&iTjJIp_Y)`F_v$oZk=M zJ011wsi^L^lDzIHV?rTg_8VjF78{d-J69M}gfCzMc48WKVE}tEh{Nvp37kWJO4yEP zV=Db}oQB)+5q!?|58+h$&0*u2L>eEt2R_Cb^m|-?5aZ~NpeFo`({U8jaRN1e?n-0k zV-Vx90`qY*>bZlcd2KioPht}Gt@Oy6#zh8{@l{l&w{Q;LM@>vwWz0OxLRF*`Re=iB zyq7TOY@s5^5BmC%pqX<&>7n=t?23M}D(RLTRW zogBdgyx{y60)_Ufo5V1W}=QN+gXUZW5uXTA1SB)%DA2Z?cgwSZ%jLC z;t(pqUr+(ZP$hnVnV4B&6J3Q`ID$&F3Iq7G8$X1)q)nKPZK$K`uAu%3bd`a49Kp$e zsKmxF7AG)(G3#yVf>=Pm1a%a3NKWQeRH6f@id;lp!eQ6HiwX1}qT)q+9DE&(MARK< z;2%xsM=fv}72qan;uz{q{Ed1Y(>B2cQ0z^ji|TiL(~Sn(=?{g z_!1R(5QBIflkg!fz}QNg@nfh8Ekz|(iUF)bU8+}5>%D_2c`NGq-lj5~+z=|U2Grd-ii_|I z^c3JW4L$fTs^n=;*)P>>REZa(KFwiVj{9*Lc3};U;8a|)#g@1PmB=R4PHRw?@Gu6j z1+~HME!1C`4KfhIQPfccx7xr9aXS5CoQCV2J5T|iM^&r=mG}|VC$iQ85*tD#b{iFF z3>D`;_j_u!eJ;aujeJz5AuPaJT#U`A3iP5%`nB_WETTV*N-ULg&{5^00x!iGxEfQj z3iV~(jTP95dd|B;BZbCa=*J1vo$&D|O8teXPh|vsxCa%m5%o5-pi2J%suCT}lc)fn ayWjhqU!mrIgHimq;ZNU*?4G_*Rp5V4+%!u7 delta 2746 zcmXZdeN5F=9LMnk$fJNL4>uC?3dpqpz2NnRw?GYqw2)_(uBB2y67!*`_#^$9X1UqQ z%-m`;(P*|Fn8ZIs(S}Z!e_s8GaoUe1v?|07me!u7ZF28;j zwy!tr_$zVFXqYjCpZhSKz8^Kd8fV}Z zOhgBh@eSKQit+UOmKw*z()ilG@D0wQf8O>dF_L~n$ej?2N%YfjHu_NWOED8GF$%Zh zz4#*Py(6f3LzsqVF%B<=9AlzsTxCEJ-$X?k^MIRC25Mpu=VAq_BCV)Qx1#2~gVXUt z+wViYKa5If47JX6YvhB*q|#4wX!vO4p(3is6kLy5umcs~PSnxt#d&xLRl)((2B)k) zp^oY@YQ5WdC!u0D&?53pLzs>yP-lGJ z_AjF<6ItSJcpqy05GwFmT!|gXdX5>S@gxHyct0*)=4SK^>MVEQ`?v=cdDe0_vl3M1 ztMD#-9F@`Y*6pZ@?ZLVDw(a+0fc`LMu)n!MBaeaP6>fyfQ5!X(7T%6Jt3$|rG@s%^ z9LIYw^&vOo04|`v7RzxLszPT_>s&xxzFXLc$)(2Ru)k@eu?pY9EIenOLM@P0=2oH@ zb>?NL%T$A2Y{CrOjk=88sCAB`0{Fp|C==0Ftc(&b|mF2e{tMqR?y)&|ra+kif7FQ@*B_#gwypa;1>W*9Yb3Kd{n zg}b2#RpL1~2g@-UpF%C%jtaCBz4)>nKZ?4fy*L|(P)9dfLH)JSO$MSc;$gcXDliXD zLmzrE4^_HK%*7VeQ5-;GH6NfVGl8neRn#R6=X}*q!Whg%?U(D&*hHfc`DeQLPZP#b z6Rx8+h+6GV^q}s97xg)YP#ad+=MCti|AZZX74`YPj>^0nb-BMnCFuM}Bbvr}_8s#t4V5nO zQ8%Lo^wMubZMYBP@c>T8!x)aAU@Z1xCJrE{XwIPm&#H7Qvk(<%0G07dR3HtQs_*}4 z8ak65sFJ>h3D||o=ws9dCs7-ZqcXf?y@ty4Z_L4%HSV2Rgqk0)R-)#$penjq>ia)v z9}J=*KY{vgzeO!@0hPfm)U8jbax=(9m9oTIjoP3I^)n^{Zg$!mH08#PjeFn@I73NBiMiuHSQ6u#ToQlP=UOF%5(?n684}M2T%!) z)=+;%HpxH`(`wzLs6=hth)K8s6LFh$C&tr%6IHP;RN%)@f%oD9JcSD23hIbc>fAdq z2en>S9rd3{qmTh@ScWR`8q`AVw!a(oSL_I?gkRX_-=Qw$1ZsmDsKBOBfyLLm8+lOs zP{5fek1CqvK>=!A8NyH)YmY8D*czJN}RBsMQ!l2eSXpU zJ8J%)7-mfWWJ=GxocjFIXPY;6Y}&FpzieYibI4ohF9_uOgZcgfnxTTiTz`?@-@iXt G>-`@)C_IS( diff --git a/po/km.gmo b/po/km.gmo index 0e124c904cf1a0acbe19c167aa53e0ff96d5a7a7..ff088cc2f76e36b0cfaf5d3f8039066c9566bbc7 100644 GIT binary patch delta 3758 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 O57}RGc*~@D#s34bGCv~# delta 2845 zcmXZee@vBC9LMnk2nt-dAgB}|zcEtuLWGEzpb#c%fDq}jLGD(#rY?21lwH!AAySf3 zY}g#3SxzFNTDD{>n~m6@#d4Ij*2tQK##XIzto8of=lsE5=REg3-}61+bIvpR`U1xL z0^Xep^MwZ*Gqv29ImVcORv7an1{Cs#J1`2L!Zd8c4D3dY|HA(M70#po6DHx`7>Wy4 z8k3AE=*Bg82Uep$?n>h`kvwSPK`b7#1G_Pdem^SECpZ_cU<`hXn(!tnk)R^ukK;m3 z6p!(^7^ATqLvRbGVm$`q;Ub?gi)gg)U;*}HI1Zr_`v#T3&!`t}+2?<|7EUAY`OIH-KxDBKC=nMjARi;J7WLwGRD}-Uz1V>&`7j>9?=cr2 zE^#JkMQy=xJcX~K;@z{x+0qh>WqwmZBZ(jCQKf9g+1P@5p&b+PG-|?2s02q)E5C_Z z7_!#cdk^aQ22=&Ss4aaKm3SLw;$@6ueltl!dl6LXOq7MI>6c>)9zg|q8+G~zaT9)x zshCp6SS&>)dJMIo^Qc6=L@jIrwV)~c{5JY@jbiS1_Bac57>iMRT#d?n7pfwM(1k}) zXW})~8F&Yk@I~b6n}1Og=8+X^GpkUy>N!-LHq@=^D5w7EG*0tChvaiRU<`xkUqems zBPy{;)QdBym4~cz-pfK&ssL5ut*G~oqZ012{kKqCHGo?959_FZ2#r7NfZI5Se((d% zz(`c)1*mbQsESmeO8Y2k{C=E;&8X}40xIDS48?P(1p85kc?>=Hn~#P9CakCIxC|9& zH>x80PywH}p2XSo&!ARz0k`8t+<=J{&K~c;F#6A6FdjzD(}GI)6zW6eJ4-{Eeu@e_ zhI;WD-i5!Q5^@t=0b)_ta1rW*Qi2-)2rBRs=)&EYflU~SJ*bNHqUO1R;ky4LG_)7r zp-ME3D$(4H&Wm@Wu3a8#qB7gBL?zyUI`w;ykELlxB{qtRJBg}*u8a#pP!)~AK;8c| z8p1$O=usgU)SvsX&cp0@-W2gycP~(#;odqmHeXw#+-;qj; zKri}q2=>rWDPP7Y>_$!W9{TqRRnigE*4#h^45)JY$*9s6U=Eg{z90Kh3p$DZGk{U_ zdr{*DtEj(9KFotGyoF0Ju9|-qunaZuMO2^;)K;89Rp>k_(NRpo2~^30Hait?qZT+H zb+&Rb8f#DsdwetXS1ES#KocB9m9!O=ahLThYT`bO!4FV@hfs&_I{GKBaRR$h{RODF zX{dO)s9R8kny1!BLwo5(e*&lyx1tj3!C34^|5l&^ji7GBIBKE^)ce1qO8lSgyK9~P zLQLlQGE`+NF%x|!?0}C^0f$k6uA)kO9hG3%L(cChs4ZE7N^k{gCFNL*b+{foQSl~F z<8EOr&Y&t7UFYvVW-@5#FcqQ#ZNa(Nhzf8J1MvvzR3Ejr+uu9UUn%>%AGK8QXPVQn)fyXnjt)M#Te|9EH AbpQYW diff --git a/po/ru.gmo b/po/ru.gmo index d5e2a82b27ed3537565b5146ae8a8e43a6de48a5..e2bc689f29d44986eba1505f0942a93fb3464f03 100644 GIT binary patch delta 2806 zcmXZeeN2{B7{~DgVj!jxh%X57@S;3|pd!eFk)ZaVmKrL8yp#wiS}CH2E2~>un7Jb7 zW~?zOow}8-5X^FFTUy%k-A!v)8)!u}`y<*2U1Hx~=l;jfIp@C5xzBZ7=RA1tR>0L; z0j+mJoz4Jb?qnGgVvM<%ZOkut0~t0arx`N>zr^`?9cN*}WA^ zq88qSN!W7>jRV1b&3t$SKqU7txE|xCFyy z*hp5QHntHH@f}oV+As=Fq6fc61>EQMoy?iGRz;|ktVd1Qf+|5XDx!9`--U|&E^32` z9Ec~-hl==B%)|za#uFHWKj2jC#UM;&QoN!5=`^&^5>#ZX(TBTG8#s@Nc-u9^Z%jS? zR2+-@@dAE_bFeAjmZB4t*HtaD9**9Scs}=73$Eu zgk$h97UH+a!8S2-jVZjGCFn+-k;wV>xgS-_8@LxE78pZS%x9Q_eVB!bPuonCqcXY%$6*6HX*3Sg zn1DA?hb*MPmLMLL;xZhHThWUzZeL|K<<=`M9OQts0iy&_x4Rx23k<3`5X?%etZ}sitIJ?pl(q%#$h3< zH1()6bQ~-3xuf(oX z?OKbvjxVF;H{nEd4$@GKZ@3Ts#Yp;tOYLuY9O^?AsL0pg1bh#*z!}uF`Wr{%Nb>8! z$(W0a@DbdFI&}MS6rRUe-T$9yXyKr8W2Rv$YN1uA)V}Wao80~pWTH8XO6{+1KjazS zrSC;;><~`Ho2UCZ$hund*C z&8Wk-7xn&mR7N^bne0ao4zI8q$iyJ}#rTjzqnw5&R-qPNkGa^0fp`h^{3@nlCn~aG z%k3YfeDu>_i&c0Ob%sW9!nA<|^k6n7V=2aB13F680UAko9aW0^s2Y!BHQkQI$ZwLV zMonzR9K3>=ID~ZRjLbs5Z3<8&Y(r(}g8RG&_5K4KhM6nK{|Xv@{>jHfs9Vs3^RZ&3 zjrYlGg1@a=MVhggQxqw7O_1D~@$!Lg|M#i$alL}hrlLnE2S zY0SbuQ6(Asy#0k*g4*#8)CTup6dpyD=CV89>5l({+CVtFRv=R`2^XLacRl*>V=O}F zHVrS0Y2PIkmovqOX^zfh*d0;l9PVa{pgvU?|oj^r+36+r^*FkmmKcyZFWqds9gBk6| NBR`05-|D;T`wzA5YpehO delta 2845 zcmXZeeN5F=9LMp4kjeE4AMgq7UO)kXi}xbp6%bIwR6xZLLleCiKa1#6BpQwq$M;p@>W3WFCMU5*!56;C%T#vnR zGiu_!n23k4J6^`lcpcO60czf~T*nyJGC6EpJ6(;jxF7Z5iI5ji6JA4YuveZj$(V|9 zI0F^oE9k{-_#__1ARa>nkd$vXI2ILPg+n8X#xm3fYSE2fU@!a;wUMi+32tK&MvXCM zI*vj`vK6(lcX2R&iOS3c9Dr@;K{M6{9E<8Zl{9o#4r-!Zs1Np|cG!Z7=whhvq5u?m z9BP9lI1YoTh(E>=cmQ=&S8x!9F(?z=7=h&&$FgP?4NbHb71?$S;1SdYZsK6RIbz>vXeHf3wqc-#egWare;%TJupa5OC9J}Ef)S1?! zisl1Urp{s+{(}^{89$Np$674K^QaA{PBP{xEX5RDif`g>d=^uRj2X@PrjABFeuHez zgcnmlScJpzBI*dDN^FhfqTbh_iuVz|k2#YcAFufpwP5TNV@6^LM&U+OMt5KW9zZ9J z##tJv7%|lrnICloMW__lVK@8~lkhO=yH-?&dJy&sOvF0ejZqjojk}KNsG4d(J#Ru? z*OqDIUlE_5u9PnOIV98yn%i20VFnS@$s6Dsl@n2KMcCTK@ptAXUT zKjxzcXJQ_{iaqcMs_0H)KfH-<-T$u7*@?ZF#fx&(L~o%|`&p>p9O|D(J~Y=+sqH@7 z_Wf8(zZA8xGnk1Hm3HB5)c7il!8(l4{ohMNXa5ln$FJ~tY)7T4bdF8sTpUP$5o&@r zP?_6@D!%Vf<8Pue5x|rf7+&of5zh()Gdg4 z!TyJ16DsnbQAczYwa`5*#Evi8-;H8a01Hv~d^;+T_t1;SQS017%`U*oaS{ z0yvNQ?k^mIuBDIvN>&*k4KEL-qX#$G7iJ%-dcVa8yo{RY3M#@osEoucv!-Jw`V-NG z(@+b}ZaN&jCoZAPTd=%3xMIPQ8t=H^is~#+y3e2C^<{c}ewtbS^b}vf=WCiC_%HB3 D){=Pq diff --git a/po/sk.gmo b/po/sk.gmo index 9bd9a6091f985e9c63a6104a626df254d580c059..2b77e65b484733372344d4c0308595af79ee63d4 100644 GIT binary patch delta 2622 zcmXZdeN5F=9LMoxFg)sG6TqQ3!k}2l2hczsgwX&!6v$BO# zY|a*-YdT^+P&OMlS=pjs^xziNR-5KZE4I{3TP(BNT<=fk{PjBL{Lb%uzvp|-{oU>( zzUX1!@sfD&vd@^V5@X_wF}q8R*@ErJu<@4}lY$Aj5VP?PY(&j($EkP_GqDeI@GJNH znj61?S|_dCm|V<9^~2@H`@hk|KoSEjI1!)6DY)HDY{zNzkGkgrsQI6{=ii|c_!Z-E zLWNx?85Jptm_~mqCSn^-zGgKZgd-%nDRyt+)X@aX#KaWjdFe7lWmE04q^DJBNCH z4OQYO&cLK81sm4*3r-oJuJWu%*K!1_>ZVSf1@sC;$pkA9L%F% zfttS_sj7Jnweypx`CmJK!CLy)F@T{vjj8r%JVZka9KxA6gz5M*YR6I38T*#log|~? zWuO9;qXN~V5_%AIxptu5KZtt&kh2e$)Bgm$VjBLX#t_3)qDuJ!>SwqEbqDsKF55m- zDSL1{_MztWqe?q~I^z*kV&_mt@)xSYam$REhqs{O)Ged_da;QCEwmYD;}e*JZ=!w$ zAEI6ua*kkt{#n${qNsKJAzQiWm_@$`m2fS_;2P9M)}t!+Xo&hNz%~Zv;;ZgKFILbW zMxDLt#YfVlqUP72E>Q%v;6~Tqf(rN&YD2s5UVI%Rco~&&~CHh0?{W}p(i9SgAvXW?d?h~6F=+Ce8O@KIDH zPM}J30kxws)Iv8=^O9?cpR1BY3ErSr{DiY8p`B14B!}2 zb(0phJ6?w|^dCSi(2T0oGpJkMhH==9`Y;{CcpOAM{}KZ@isLbMg^d@Fe*ONZ&`{=C zn2&`>W~KoZxDmC`eW+XgBr4!*s7u;`daob-cpg=eOQ^HHj+z&<(!M_nRhep>MtrkI z4QxRLd^`+f~{3Dys z(c`CSeD|N2HA?EGR>fGX5FOHmuBMFm`o`m%09 zCB6++>AjeVJrU}!1&0}s7cdF`MI{tpXZvZW0C|{mF)bkRtm@gC~d52DUy7$@Thsxs$S_l8r40=;DmuFU)om%Aqq delta 2661 zcmXZcdrX&A9LMnkh}=;wB3JnZC;LEzoXE2|9{ZOKo}1OFaY1dNIY&Q4r2`ctM>U6YW{Eb`M;S3C3bP?au07xB$z8q6`Bs7egtHXOw~OyR~U(+2d%ZFm4%P>K7mah}Ja zN}PuASb*9<9R}fjsKg#d#p%FQ;+x$xw8Nu#Cyrne{$j@iOPxS>ph~|2wX-Tr#RpOI z_aId^hf&XOpyvN=4O?r>2Kp{^VH>XT(s+@E7Px{-a0VA+XqmI)G}IYqqIOb^8q3*;SDlz|Z=SY%K70$z4tVYG@E~ox_v5x^Qv>!9@4NS&QP@m&Zs266e zbLgV)SK;g|4YiI3Rk^j8h+9wz??8XtiQ32>RK;GYp#BPQjDajXVIO>lMf7J;mn?&N z@sl*GQS;kTm#7Q1;9lE*4HfV`)P~MrBYuRn7=5>sa0||--{G~5Zd9ON48fPtg>Rug zmr>MFd~KiKz-9EOQ42*?ITeUUl{y2p!!lH&_hL4-;!@m?0q8wPLpvBn1-^=^#C6mH z!S^^jNJaLd525B=M*WzsVK7dkp8tt13}5eD+FVq;c1Y?MAcB+8` zsDK}!&hRv9N0(9G`}e53;Jd*Iuo(5jNkh%wjtbC)TBjd%gs-9!ejoLxJ%cOpcl7e9 zn#_${5NyLx97ElSFHohL#2lPLEf~AW*-;jT&|izxgjp%Sd~(opHPpa-|3GVDhMd>2*X)2P71Sb(1+KS2|)*-5kp!{|4m?nn!2emCk4 z?M2<8gQ)dBMpZiV5{(EN-=c2)H0o?-aUss3DihRjsyceiwX7j~U3*J&=c7-wWtTU1 fwiLTO?!5eLcR{v0k7jY6C(B*vcApAaadXLkt-&y` diff --git a/po/sv.gmo b/po/sv.gmo index cfe16a451e9425ff06ef78da2cd0737e923e0f9f..b874ee0b7440d9d6a791ff776a69894141e6214e 100644 GIT binary patch delta 2476 zcmXZdeN5F=9LMoPDtsGD;=W!hljsu(_sDOVpKVX@4O0b0n>) zJ+KuDf23JiPH;6YS?j@kpoZ0KrqfolVrq#|u4Ygz?fvnb&G|aNbMEi^{hseRKRwd! z+u81W=Z#da*=Nkx6OBnR#?($WW;ia!>+w;HVjHGn501nm7{t?=%9jM<#quGoK z*p8!c58jSFsKQdpj9H7BSd1;0Kz{Qf16BM9Zo$t{i5A~tUtED|*;>rPO?YL8s6snX z3EoHjt_LG{9JBE+EWyC7_WkM3S`3oktYDxPHo1jYP%ZAn0{jyBWB%l?9Go!K?z9rs znMF7aS7I3V;0*i%uf+@&6>k!11M^UKXc?xH->hVyGigLs{49>d?WopvqXHa61?WQs z_y^Si-*jsRaz9PBa}G}6xf#`=Zq!$Cz5Ould&hTvOYM9VxR)-4o1nR43z&c!y z4`LtcuFT|WtM#?0-#vu7{Yz0DXv7dUVL?<}rS!~=40MLmP=(CFM0^;N zupZT+$54S+qgvO5Dr}cq??AP>3)R71)K}Gqy1c)lcJ9B^b|e=^==;CUO-x1I)+!v0 z^{9fHQD@$U3fO_VjPGF>_v1J`g}SUh+M+_Uu?!1Qaq3V7u0b8;Ce4%Iyv#tYej5uh zj`{dK7Gc6{V<_H4QHfWf5;US8H=@3x7F28BMQva|D((-c0?wlfzKqHfzKi}RGnmCd zR-^u*n2$^U5R?O22#xb;3v<@py>ygyKdUPg7mUulmZTuJ|n znTRr>fHkPIt4Cd$_0ASd;dzI1H>U9%M-{ry`IYlK=Q&h?gUFX_MpYRz8Sh8kh0Rs& z`+toIRoID9jH4?55!IOiOv8()7Mp7RCxifU>}D=%eT#DkDnTb|#|Kb% zUw7Qu?zp#)Cc6W1#+(ZqlVpr>ml|^u?!;2uk0m&Q$vBDW_%Hf#W`!|X7{C;aU^dpH zo;TwHd=eFRH_paGsCdUKjB64ZyvM{G9JZdv41WKFGw>?T#P~{MQgJpq=-@1jqTbtp z3-KOQ+~+VKx1-|sp%(f9s=$#-*L!h{39Vqx9cd6<3A3F!;Ppw52IH8465)ws6tPo zT6!8Y@gmmYB&x7*gzdl@EXE;>=g65K8K~l4unYf0CE8i-eb|L+*-^~G6L@2Vs6t0k z3BE_YH;E2j#~jSN)tDegP~SgfbB%D}5T( znH{(S58!;fh*A6t7hx3-74Lpj0neh&&|dVB-yC3|J?TYN{1&F;XQWVH={byhkE~g4C5)BhgVSXQdfGnEE5$cu#*1gF(_j~r+htX4>wsiqgMPP>UzG0 zDzFDt_#3Fi@1j=rDF*NyD!~-$ADH$-aZ8b1G0Rbhdt21?TG-Bn3g|!uI*7UzJ=lWB za1;7C(mE@TqFV2w-g^agCib8@(2LnPfEoCSosXfu`x$k%rW8P}$yw#?xr6$!5>?2Z zxEMF00zZ#h*~_Rv`!Im7+xb(dm7TTEFQ7X0o%IjY*}9I}I@e$CRo;kdbu%i#7F2@m z7>~Q{@4e{o`v~5S!>B?N8@$A+sPEIQ`KZo@Q13-iThWLdO4r=SKzsNgs)bu|8t%db z>_m0wRaD@^sMhtP3OjF~kD^-r4XT4vs9WW`%{#mqsFjzYI#Q2my8n0EiB{BUZNmlF zi7IFSwdW(KfTO6x_$}(bU&4G$q#f$u5>%me$p1340TrhMRp1fSR-Vv2`OSw6)atLW z5M#I)6IL5jgeAygOcN?`H!49d&cH#`EgC|#_G{DvE}`NkHF^c4qY5rU}t`l`=j#-B=iQi|e7chn2F;tzKl8>ad&uea!`kN zQ8oi5F0>DBMtu+&EcW~J3Yvneo@#Ard*q47gY_+Kt<_F>C|nT?RRu#~hSlNnlF+hH KXfRSfG53GjmmEU? diff --git a/po/uk_UA.gmo b/po/uk_UA.gmo index cb54ed51c703d8441e19071cfec654b9918191a5..8058aacd2f9d9f7db0e084d9e7a0dad82bbb8d15 100644 GIT binary patch delta 2024 zcmXZddrXf}9LMo*7gC{{Qqo=NM@S?Jxg?ruE^W5NFl;V!n?KCh!;E30To%);v1Qd( z`;lq=fig3UVKXBe<}#Q03yrP0yg#1jAFp$sp68tJ<(!|ox`2rrNd z%$e%zq#;SSZobJTK}e@Tx2zI%hIZisqyL=@mhiyx%s3~u6iaXq9>*Rm#zjO|fOSX}?JjELK2(JUPIfDi zjMJFUMZLEdRnb=be}-@<^RJl1{?`A0Kz5uQ{ho_NEhrBswKBkEqsTA@i#hg48piO+As}ux(iT;s0y{g8XS(>Q41gOJdNsU zBPyeNNH?t)({V6;(8d!`XQ~qQJFyM*e)}})&sDUWJW!-xP#+`~x(gJd7F>Z*Sc}8( z0&2l)s5A2%Rha;;kP^s6RkQ*Va22YByHSap!z8>?ME$u*_Lv8G_y<**iPPN=W}+5Y ziMlqsFdp}!DpQZDNE41kKPKWs)CQk16+=i{70pK7o++q+s~rY9Oh-@)9YbY!7PU|t z&c=JFz{0sZDqTFPVm{;oST)AraU=)3hzj%-YMq}*aV@6Utw05;vd%gNI$UQ^KP1;t znY=}9^cVGFD$xq(zRc zWH65h+c6zGF%^3;3Hwo*C(Ly-%0l(9*mD^w^R1|s96)_{66d2ImB=s8&=U8skHC1{ z|6B$tSsAL72a)q+U8tV@KrIkRlxj^3MqoCov{O-MqzbvAwgnYP6DshlsC9e1c^|4Z zfu-zS#UPP^7A(gatic`Fg=$3(X{2Bo=HLbl#(LBS4VZ?_sQ2%8v_v$=cI?iqPyYv( CB;f=A delta 2063 zcmXZde@Inl9LMpm8KqgetKG8nUaw}BU9X*cwU$3NSKejBmM9IfMoU_3Q7aHjYRM6# zVvAL*!WG1bu~=jDOK7e(>=#2C6iX;vj6%j-jxj106-0Y~I_IBW&vWiM&-4B9JT|f~ zW&i$^(|?S2YsQ$}EjCLtv%Fbmm$4XAa0I90eVmG8XPdo_`54Dln1`R?Yj^_n-Ux>A z1?u~7saY;o`8K28+fZt*O=Hl_g8&}I0z8H3cmsntgfsD9%)sCrGY1P%-!`lG zQPetvn1zpU5~fDIfC5;^ye#UPl`vSw18uYg%W)58;CX-kGb+>nFdqYDUPk4(h2CT_P3o3^g$0Q!*4N&!@f^Y zk!SLwN?D2NxE2-gN2oKj1C{9^oPcMLZrG2gmi&Wi;Y6;=L@Ysf3WEv;+HfiAbgw}j zqE6HXdvGcqK`ngN_a{_O2T&P3M7n9I)V~Plp*CKDI#V5}zY~X1@87PX{#;G_iwBA{ zr`r1ZVLFRi=o~7;OQ?lz;X-_f>RBasN2Obcs#r5}5v&_?@OvZ|`vn!~_&RT$2vTIL zMO9!csK@+5MuY#7zE5YcIYD5^EJn1xN4hpnhH(uv$u z>p=x_9ToWRsC7sEd3dpxNEDsr{E%dz1-Ib4xD(rO7}bh*NTUGTuna%PvDlB=;3^j4 zuc-GQ^`6N3CRnmOR^PU+wSE2OO|fKa`?~5#!iiVLocS>)&agV3h&l@#r+3-R!$toC D8S(4B diff --git a/po/xmlcopyeditor.pot b/po/xmlcopyeditor.pot index 720d78a..e43d2a6 100644 --- a/po/xmlcopyeditor.pot +++ b/po/xmlcopyeditor.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-23 21:53+0800\n" +"Report-Msgid-Bugs-To: https://sourceforge.net/p/xml-copy-editor/bugs/\n" +"POT-Creation-Date: 2020-08-18 22:38+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,12 +16,9 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: ../data/xmlcopyeditor.appdata.xml.in.h:1 -msgid "fast, free, validating XML editor" -msgstr "" - -#: ../data/xmlcopyeditor.appdata.xml.in.h:2 msgid "" "XML Copy Editor is an XML editor focusing on editing document markup " "languages like DITA, DocBook, WordprocessingML. Features: DTD/XML Schema/" @@ -31,14 +28,14 @@ msgid "" "with built-in spell/style checker." msgstr "" -#: ../data/xmlcopyeditor.appdata.xml.in.h:3 +#: ../data/xmlcopyeditor.appdata.xml.in.h:2 msgid "https://a.fsdn.com/con/app/proj/xml-copy-editor/screenshots/151221.jpg" msgstr "" #: ../data/xmlcopyeditor.desktop.in.h:1 ../src/xmlcopyeditor.cpp:394 -#: ../src/xmlcopyeditor.cpp:1341 ../src/xmlcopyeditor.cpp:1439 -#: ../src/xmlcopyeditor.cpp:1677 ../src/xmlcopyeditor.cpp:1756 -#: ../src/xmlcopyeditor.cpp:3634 +#: ../src/xmlcopyeditor.cpp:1341 ../src/xmlcopyeditor.cpp:1441 +#: ../src/xmlcopyeditor.cpp:1679 ../src/xmlcopyeditor.cpp:1758 +#: ../src/xmlcopyeditor.cpp:3632 msgid "XML Copy Editor" msgstr "" @@ -91,47 +88,47 @@ msgstr "" msgid "Select " msgstr "" -#: ../src/commandpanel.cpp:47 ../src/commandpanel.cpp:165 +#: ../src/commandpanel.cpp:48 ../src/commandpanel.cpp:166 msgid "{path}" msgstr "" -#: ../src/commandpanel.cpp:48 ../src/commandpanel.cpp:166 +#: ../src/commandpanel.cpp:49 ../src/commandpanel.cpp:167 msgid "{name}" msgstr "" -#: ../src/commandpanel.cpp:49 ../src/commandpanel.cpp:167 +#: ../src/commandpanel.cpp:50 ../src/commandpanel.cpp:168 msgid "{extension}" msgstr "" -#: ../src/commandpanel.cpp:50 ../src/commandpanel.cpp:164 +#: ../src/commandpanel.cpp:51 ../src/commandpanel.cpp:165 msgid "{fullpath}" msgstr "" -#: ../src/commandpanel.cpp:65 +#: ../src/commandpanel.cpp:66 msgid "&Run" msgstr "" -#: ../src/commandpanel.cpp:73 +#: ../src/commandpanel.cpp:74 msgid "&Wait" msgstr "" -#: ../src/commandpanel.cpp:79 +#: ../src/commandpanel.cpp:80 msgid "Output options" msgstr "" -#: ../src/commandpanel.cpp:84 +#: ../src/commandpanel.cpp:85 msgid "I&gnore" msgstr "" -#: ../src/commandpanel.cpp:90 +#: ../src/commandpanel.cpp:91 msgid "I&nsert" msgstr "" -#: ../src/commandpanel.cpp:95 +#: ../src/commandpanel.cpp:96 msgid "New &document" msgstr "" -#: ../src/commandpanel.cpp:116 +#: ../src/commandpanel.cpp:117 msgid "Variables" msgstr "" @@ -348,7 +345,7 @@ msgid "Cannot initialise spellcheck" msgstr "" #: ../src/mynotebook.cpp:89 ../src/wrapdaisy.cpp:555 -#: ../src/xmlcopyeditor.cpp:5352 +#: ../src/xmlcopyeditor.cpp:5350 msgid "Close" msgstr "" @@ -421,7 +418,7 @@ msgid "Language (restart required)" msgstr "" #: ../src/mypropertysheet.cpp:184 ../src/styledialog.cpp:340 -#: ../src/xmlcopyeditor.cpp:5003 +#: ../src/xmlcopyeditor.cpp:5001 msgid "Default" msgstr "" @@ -469,7 +466,7 @@ msgstr "" msgid "Cannot access application directory" msgstr "" -#: ../src/mypropertysheet.cpp:261 ../src/xmlcopyeditor.cpp:2614 +#: ../src/mypropertysheet.cpp:261 ../src/xmlcopyeditor.cpp:2612 msgid "Options" msgstr "" @@ -477,8 +474,8 @@ msgstr "" msgid "Style" msgstr "" -#: ../src/styledialog.cpp:102 ../src/xmlcopyeditor.cpp:5485 -#: ../src/xmlcopyeditor.cpp:5489 +#: ../src/styledialog.cpp:102 ../src/xmlcopyeditor.cpp:5483 +#: ../src/xmlcopyeditor.cpp:5487 msgid "Spelling" msgstr "" @@ -593,6 +590,13 @@ msgstr "" msgid "Cannot check document: " msgstr "" +#: ../src/styledialog.cpp:511 +#, c-format +msgid "%i error" +msgid_plural "%i errors" +msgstr[0] "" +msgstr[1] "" + #: ../src/styledialog.cpp:526 msgid "No items selected" msgstr "" @@ -741,16 +745,16 @@ msgstr "" msgid "Error at line %d: %s" msgstr "" -#: ../src/wrapxerces.cpp:173 +#: ../src/wrapxerces.cpp:174 msgid "Unexpected validation error" msgstr "" -#: ../src/wrapxerces.cpp:251 +#: ../src/wrapxerces.cpp:252 #, c-format msgid "%s at line %llu, column %llu: %s%s" msgstr "" -#: ../src/wrapxerces.h:58 ../src/xmlcopyeditor.cpp:5538 +#: ../src/wrapxerces.h:58 ../src/xmlcopyeditor.cpp:5536 msgid "Warning" msgstr "" @@ -771,7 +775,7 @@ msgid "" msgstr "" #: ../src/xmlcopyeditorcopy.h:27 -msgid "Copyright © 2005-2018 Gerald Schmidt " +msgid "Copyright © 2005-2020 Gerald Schmidt " msgstr "" #: ../src/xmlcopyeditorcopy.h:28 @@ -806,7 +810,7 @@ msgid "The operating system has turned down a request for additional memory" msgstr "" #: ../src/xmlcopyeditor.cpp:478 ../src/xmlcopyeditor.cpp:557 -#: ../src/xmlcopyeditor.cpp:4799 +#: ../src/xmlcopyeditor.cpp:4797 msgid "Out of memory" msgstr "" @@ -870,572 +874,585 @@ msgstr "" msgid "Command line processing incomplete: no file specified" msgstr "" -#: ../src/xmlcopyeditor.cpp:1387 +#: ../src/xmlcopyeditor.cpp:1389 msgid "Parse in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:1406 +#: ../src/xmlcopyeditor.cpp:1408 msgid "well-formed" msgstr "" -#: ../src/xmlcopyeditor.cpp:1438 +#: ../src/xmlcopyeditor.cpp:1440 msgid "Do you want to save the changes to " msgstr "" -#: ../src/xmlcopyeditor.cpp:1629 ../src/xmlcopyeditor.cpp:1631 +#: ../src/xmlcopyeditor.cpp:1631 ../src/xmlcopyeditor.cpp:1633 msgid "Attributes hidden" msgstr "" -#: ../src/xmlcopyeditor.cpp:1636 ../src/xmlcopyeditor.cpp:1638 +#: ../src/xmlcopyeditor.cpp:1638 ../src/xmlcopyeditor.cpp:1640 msgid "Tags hidden" msgstr "" -#: ../src/xmlcopyeditor.cpp:1651 ../src/xmlcopyeditor.cpp:1653 +#: ../src/xmlcopyeditor.cpp:1653 ../src/xmlcopyeditor.cpp:1655 msgid "Tags locked" msgstr "" -#: ../src/xmlcopyeditor.cpp:1704 ../src/xmlcopyeditor.cpp:1706 +#: ../src/xmlcopyeditor.cpp:1706 ../src/xmlcopyeditor.cpp:1708 msgid "Modified" msgstr "" -#: ../src/xmlcopyeditor.cpp:1735 +#: ../src/xmlcopyeditor.cpp:1737 #, c-format msgid "Ln %i Col %i" msgstr "" -#: ../src/xmlcopyeditor.cpp:1926 +#: ../src/xmlcopyeditor.cpp:1928 msgid "Cannot open clipboard" msgstr "" -#: ../src/xmlcopyeditor.cpp:1931 +#: ../src/xmlcopyeditor.cpp:1933 msgid "Cannot paste as new document: no text on clipboard" msgstr "" -#: ../src/xmlcopyeditor.cpp:2047 +#: ../src/xmlcopyeditor.cpp:2023 ../src/xmlcopyeditor.cpp:2818 +#, c-format +msgid "%i replacement made" +msgid_plural "%i replacements made" +msgstr[0] "" +msgstr[1] "" + +#: ../src/xmlcopyeditor.cpp:2049 msgid "Preparing Print Preview..." msgstr "" -#: ../src/xmlcopyeditor.cpp:2068 +#: ../src/xmlcopyeditor.cpp:2070 msgid "Preparing to print..." msgstr "" -#: ../src/xmlcopyeditor.cpp:2127 ../src/xmlcopyeditor.cpp:2147 +#: ../src/xmlcopyeditor.cpp:2129 ../src/xmlcopyeditor.cpp:2145 msgid "Find" msgstr "" -#: ../src/xmlcopyeditor.cpp:2154 ../src/xmlcopyeditor.cpp:2264 -#: ../src/xmlcopyeditor.cpp:2358 +#: ../src/xmlcopyeditor.cpp:2152 ../src/xmlcopyeditor.cpp:2262 +#: ../src/xmlcopyeditor.cpp:2356 msgid "This functionality requires Microsoft Windows" msgstr "" -#: ../src/xmlcopyeditor.cpp:2160 +#: ../src/xmlcopyeditor.cpp:2158 msgid "Import Microsoft Word Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:2255 +#: ../src/xmlcopyeditor.cpp:2253 msgid "[b]DAISY export stopped[/b]: " msgstr "" -#: ../src/xmlcopyeditor.cpp:2258 +#: ../src/xmlcopyeditor.cpp:2256 msgid "DAISY export completed. Output files are stored in: [b]" msgstr "" -#: ../src/xmlcopyeditor.cpp:2273 +#: ../src/xmlcopyeditor.cpp:2271 #, c-format msgid "Cannot open [b]%s[/b] for import" msgstr "" -#: ../src/xmlcopyeditor.cpp:2283 +#: ../src/xmlcopyeditor.cpp:2281 msgid "Import in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:2291 +#: ../src/xmlcopyeditor.cpp:2289 msgid "(lossless conversion requires version 2003 or later)" msgstr "" -#: ../src/xmlcopyeditor.cpp:2298 ../src/xmlcopyeditor.cpp:2419 +#: ../src/xmlcopyeditor.cpp:2296 ../src/xmlcopyeditor.cpp:2417 msgid "Cannot start Microsoft Word" msgstr "" -#: ../src/xmlcopyeditor.cpp:2302 ../src/xmlcopyeditor.cpp:2423 +#: ../src/xmlcopyeditor.cpp:2300 ../src/xmlcopyeditor.cpp:2421 msgid "A more recent version of Microsoft Word is required" msgstr "" -#: ../src/xmlcopyeditor.cpp:2309 +#: ../src/xmlcopyeditor.cpp:2307 #, c-format msgid "Microsoft Word cannot save [b]%s[/b] as XML" msgstr "" -#: ../src/xmlcopyeditor.cpp:2314 +#: ../src/xmlcopyeditor.cpp:2312 msgid "Microsoft Word cannot save this document as WordprocessingML " msgstr "" -#: ../src/xmlcopyeditor.cpp:2322 +#: ../src/xmlcopyeditor.cpp:2320 msgid "Opening imported file..." msgstr "" -#: ../src/xmlcopyeditor.cpp:2339 +#: ../src/xmlcopyeditor.cpp:2337 msgid "Cannot open imported file" msgstr "" -#: ../src/xmlcopyeditor.cpp:2391 +#: ../src/xmlcopyeditor.cpp:2389 msgid "Export Microsoft Word Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:2412 +#: ../src/xmlcopyeditor.cpp:2410 msgid "Export in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:2426 +#: ../src/xmlcopyeditor.cpp:2424 #, c-format msgid "Microsoft Word cannot save %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:2455 +#: ../src/xmlcopyeditor.cpp:2453 msgid "Cannot save temporary file" msgstr "" -#: ../src/xmlcopyeditor.cpp:2616 +#: ../src/xmlcopyeditor.cpp:2614 msgid "Preferences" msgstr "" -#: ../src/xmlcopyeditor.cpp:2661 +#: ../src/xmlcopyeditor.cpp:2659 msgid "Enter line number:" msgstr "" -#: ../src/xmlcopyeditor.cpp:2662 +#: ../src/xmlcopyeditor.cpp:2660 msgid "Go To" msgstr "" -#: ../src/xmlcopyeditor.cpp:2671 +#: ../src/xmlcopyeditor.cpp:2669 #, c-format msgid "'%s' is not a valid line number" msgstr "" -#: ../src/xmlcopyeditor.cpp:2700 +#: ../src/xmlcopyeditor.cpp:2698 msgid "Replace" msgstr "" -#: ../src/xmlcopyeditor.cpp:2721 +#: ../src/xmlcopyeditor.cpp:2715 msgid "Find and Replace" msgstr "" -#: ../src/xmlcopyeditor.cpp:2814 +#: ../src/xmlcopyeditor.cpp:2808 msgid "Cannot replace: " msgstr "" -#: ../src/xmlcopyeditor.cpp:2855 +#: ../src/xmlcopyeditor.cpp:2849 msgid "XML document (*.xml)" msgstr "" -#: ../src/xmlcopyeditor.cpp:2879 +#: ../src/xmlcopyeditor.cpp:2873 msgid "Choose a document type:" msgstr "" -#: ../src/xmlcopyeditor.cpp:2879 +#: ../src/xmlcopyeditor.cpp:2873 msgid "New Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:2920 +#: ../src/xmlcopyeditor.cpp:2914 #, c-format msgid "Document%i" msgstr "" -#: ../src/xmlcopyeditor.cpp:2987 +#: ../src/xmlcopyeditor.cpp:2981 msgid "Open Large Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:2987 ../src/xmlcopyeditor.cpp:5444 -#: ../src/xmlcopyeditor.cpp:5446 +#: ../src/xmlcopyeditor.cpp:2981 ../src/xmlcopyeditor.cpp:5442 +#: ../src/xmlcopyeditor.cpp:5444 msgid "Open" msgstr "" -#: ../src/xmlcopyeditor.cpp:3023 +#: ../src/xmlcopyeditor.cpp:3017 #, c-format msgid "Cannot open %s." msgstr "" -#: ../src/xmlcopyeditor.cpp:3031 ../src/xmlcopyeditor.cpp:3606 +#: ../src/xmlcopyeditor.cpp:3025 ../src/xmlcopyeditor.cpp:3604 #, c-format msgid "%s is already open" msgstr "" -#: ../src/xmlcopyeditor.cpp:3053 +#: ../src/xmlcopyeditor.cpp:3047 #, c-format msgid "Cannot open %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:3172 +#: ../src/xmlcopyeditor.cpp:3170 #, c-format msgid "Cannot open %s: unknown encoding %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:3203 +#: ../src/xmlcopyeditor.cpp:3201 #, c-format msgid "Cannot open %s: out of memory" msgstr "" -#: ../src/xmlcopyeditor.cpp:3224 +#: ../src/xmlcopyeditor.cpp:3222 #, c-format msgid "Cannot open %s: conversion from encoding %s failed" msgstr "" -#: ../src/xmlcopyeditor.cpp:3233 ../src/xmlcopyeditor.cpp:4027 +#: ../src/xmlcopyeditor.cpp:3231 ../src/xmlcopyeditor.cpp:4025 msgid "Creating document view..." msgstr "" -#: ../src/xmlcopyeditor.cpp:3474 +#: ../src/xmlcopyeditor.cpp:3472 msgid "Edited document empty" msgstr "" -#: ../src/xmlcopyeditor.cpp:3587 +#: ../src/xmlcopyeditor.cpp:3585 msgid "Save As" msgstr "" -#: ../src/xmlcopyeditor.cpp:3795 +#: ../src/xmlcopyeditor.cpp:3793 msgid "DTD Validation in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:3818 ../src/xmlcopyeditor.cpp:3890 +#: ../src/xmlcopyeditor.cpp:3816 ../src/xmlcopyeditor.cpp:3888 msgid "valid" msgstr "" -#: ../src/xmlcopyeditor.cpp:3839 +#: ../src/xmlcopyeditor.cpp:3837 msgid "Select RELAX NG grammar" msgstr "" -#: ../src/xmlcopyeditor.cpp:3840 ../src/xmlcopyeditor.cpp:4127 -#: ../src/xmlcopyeditor.cpp:5799 +#: ../src/xmlcopyeditor.cpp:3838 ../src/xmlcopyeditor.cpp:4125 +#: ../src/xmlcopyeditor.cpp:5797 msgid "Choose a file:" msgstr "" -#: ../src/xmlcopyeditor.cpp:3841 +#: ../src/xmlcopyeditor.cpp:3839 msgid "RELAX NG grammar" msgstr "" -#: ../src/xmlcopyeditor.cpp:3869 +#: ../src/xmlcopyeditor.cpp:3867 msgid "RELAX NG validation in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:3934 +#: ../src/xmlcopyeditor.cpp:3932 msgid "Validation in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:3945 +#: ../src/xmlcopyeditor.cpp:3943 #, c-format msgid "%s is valid" msgstr "" -#: ../src/xmlcopyeditor.cpp:3984 +#: ../src/xmlcopyeditor.cpp:3982 msgid "W3C Schema" msgstr "" -#: ../src/xmlcopyeditor.cpp:3984 +#: ../src/xmlcopyeditor.cpp:3982 msgid "DTD" msgstr "" -#: ../src/xmlcopyeditor.cpp:3985 +#: ../src/xmlcopyeditor.cpp:3983 msgid "Please choose a shema type" msgstr "" -#: ../src/xmlcopyeditor.cpp:3986 +#: ../src/xmlcopyeditor.cpp:3984 msgid "Schema type" msgstr "" -#: ../src/xmlcopyeditor.cpp:4012 +#: ../src/xmlcopyeditor.cpp:4010 msgid "Please select a DTD file" msgstr "" -#: ../src/xmlcopyeditor.cpp:4018 +#: ../src/xmlcopyeditor.cpp:4016 msgid "Converting..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4045 +#: ../src/xmlcopyeditor.cpp:4043 msgid "Enter XPath:" msgstr "" -#: ../src/xmlcopyeditor.cpp:4046 +#: ../src/xmlcopyeditor.cpp:4044 msgid "Evaluate XPath" msgstr "" -#: ../src/xmlcopyeditor.cpp:4067 +#: ../src/xmlcopyeditor.cpp:4065 msgid "Cannot evaluate XPath" msgstr "" -#: ../src/xmlcopyeditor.cpp:4078 +#: ../src/xmlcopyeditor.cpp:4076 msgid "No matching nodes found" msgstr "" -#: ../src/xmlcopyeditor.cpp:4114 +#: ../src/xmlcopyeditor.cpp:4112 #, c-format msgid "Cannot open stylesheet %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:4126 +#: ../src/xmlcopyeditor.cpp:4124 msgid "Select stylesheet" msgstr "" -#: ../src/xmlcopyeditor.cpp:4128 ../src/xmlcopyeditor.cpp:5773 +#: ../src/xmlcopyeditor.cpp:4126 ../src/xmlcopyeditor.cpp:5771 msgid "XSLT stylesheet" msgstr "" -#: ../src/xmlcopyeditor.cpp:4183 +#: ../src/xmlcopyeditor.cpp:4181 msgid "XSL transformation in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4190 +#: ../src/xmlcopyeditor.cpp:4188 msgid "Cannot transform: " msgstr "" -#: ../src/xmlcopyeditor.cpp:4198 +#: ../src/xmlcopyeditor.cpp:4196 msgid "Output document empty" msgstr "" -#: ../src/xmlcopyeditor.cpp:4222 +#: ../src/xmlcopyeditor.cpp:4220 msgid "Pretty-printing in progress..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4232 +#: ../src/xmlcopyeditor.cpp:4230 msgid "Cannot pretty-print: " msgstr "" -#: ../src/xmlcopyeditor.cpp:4243 +#: ../src/xmlcopyeditor.cpp:4241 msgid "Pretty-print unsuccessful: output document empty" msgstr "" -#: ../src/xmlcopyeditor.cpp:4275 +#: ../src/xmlcopyeditor.cpp:4273 msgid "Choose an encoding:" msgstr "" -#: ../src/xmlcopyeditor.cpp:4275 +#: ../src/xmlcopyeditor.cpp:4273 msgid "Encoding" msgstr "" -#: ../src/xmlcopyeditor.cpp:4288 +#: ../src/xmlcopyeditor.cpp:4286 msgid "Cannot set encoding: " msgstr "" -#: ../src/xmlcopyeditor.cpp:4299 +#: ../src/xmlcopyeditor.cpp:4297 msgid "Cannot set encoding (cannot parse temporary file)" msgstr "" -#: ../src/xmlcopyeditor.cpp:4503 +#: ../src/xmlcopyeditor.cpp:4501 #, c-format msgid "Cannot find '%s'" msgstr "" -#: ../src/xmlcopyeditor.cpp:4565 +#: ../src/xmlcopyeditor.cpp:4563 msgid "" "File has been modified by another application.\n" "Do you want to proceed?" msgstr "" -#: ../src/xmlcopyeditor.cpp:4566 +#: ../src/xmlcopyeditor.cpp:4564 msgid "Confirmation" msgstr "" -#: ../src/xmlcopyeditor.cpp:4605 ../src/xmlcopyeditor.cpp:4619 -#: ../src/xmlcopyeditor.cpp:4640 ../src/xmlcopyeditor.cpp:4669 -#: ../src/xmlcopyeditor.cpp:4732 ../src/xmlcopyeditor.cpp:4746 -#: ../src/xmlcopyeditor.cpp:4783 ../src/xmlcopyeditor.cpp:4818 +#: ../src/xmlcopyeditor.cpp:4603 ../src/xmlcopyeditor.cpp:4617 +#: ../src/xmlcopyeditor.cpp:4638 ../src/xmlcopyeditor.cpp:4667 +#: ../src/xmlcopyeditor.cpp:4730 ../src/xmlcopyeditor.cpp:4744 +#: ../src/xmlcopyeditor.cpp:4781 ../src/xmlcopyeditor.cpp:4816 #, c-format msgid "Cannot save %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:4661 +#: ../src/xmlcopyeditor.cpp:4659 #, c-format msgid "%s saved in default encoding UTF-8: unknown encoding %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:4724 +#: ../src/xmlcopyeditor.cpp:4722 #, c-format msgid "%s saved in default encoding UTF-8: conversion to %s failed" msgstr "" -#: ../src/xmlcopyeditor.cpp:4774 +#: ../src/xmlcopyeditor.cpp:4772 msgid "unknown error" msgstr "" -#: ../src/xmlcopyeditor.cpp:4776 +#: ../src/xmlcopyeditor.cpp:4774 #, c-format msgid "Cannot save document in %s: %s (saved in default encoding UTF-8)" msgstr "" -#: ../src/xmlcopyeditor.cpp:4798 +#: ../src/xmlcopyeditor.cpp:4796 msgid "Out of memory: attempt to save in default encoding UTF-8?" msgstr "" -#: ../src/xmlcopyeditor.cpp:4811 +#: ../src/xmlcopyeditor.cpp:4809 #, c-format msgid "%s saved in default encoding UTF-8" msgstr "" -#: ../src/xmlcopyeditor.cpp:4875 +#: ../src/xmlcopyeditor.cpp:4873 msgid "MB" msgstr "" -#: ../src/xmlcopyeditor.cpp:4880 +#: ../src/xmlcopyeditor.cpp:4878 msgid "kB" msgstr "" -#: ../src/xmlcopyeditor.cpp:4893 +#: ../src/xmlcopyeditor.cpp:4883 +msgid "byte" +msgid_plural "bytes" +msgstr[0] "" +msgstr[1] "" + +#: ../src/xmlcopyeditor.cpp:4891 #, c-format msgid "%g %s saved" msgstr "" -#: ../src/xmlcopyeditor.cpp:4913 +#: ../src/xmlcopyeditor.cpp:4911 msgid "&Undo\tCtrl+Z" msgstr "" -#: ../src/xmlcopyeditor.cpp:4913 +#: ../src/xmlcopyeditor.cpp:4911 msgid "Undo" msgstr "" -#: ../src/xmlcopyeditor.cpp:4917 +#: ../src/xmlcopyeditor.cpp:4915 msgid "&Redo\tCtrl+Y" msgstr "" -#: ../src/xmlcopyeditor.cpp:4917 +#: ../src/xmlcopyeditor.cpp:4915 msgid "Redo" msgstr "" -#: ../src/xmlcopyeditor.cpp:4921 +#: ../src/xmlcopyeditor.cpp:4919 msgid "&Cut\tCtrl+X" msgstr "" -#: ../src/xmlcopyeditor.cpp:4921 +#: ../src/xmlcopyeditor.cpp:4919 msgid "Cut" msgstr "" -#: ../src/xmlcopyeditor.cpp:4925 +#: ../src/xmlcopyeditor.cpp:4923 msgid "C&opy\tCtrl+C" msgstr "" -#: ../src/xmlcopyeditor.cpp:4925 +#: ../src/xmlcopyeditor.cpp:4923 msgid "Copy" msgstr "" -#: ../src/xmlcopyeditor.cpp:4929 +#: ../src/xmlcopyeditor.cpp:4927 msgid "&Paste\tCtrl+V" msgstr "" -#: ../src/xmlcopyeditor.cpp:4929 +#: ../src/xmlcopyeditor.cpp:4927 msgid "Paste" msgstr "" -#: ../src/xmlcopyeditor.cpp:4936 +#: ../src/xmlcopyeditor.cpp:4934 msgid "P&aste As New Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:4937 +#: ../src/xmlcopyeditor.cpp:4935 msgid "Paste As New Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:4941 +#: ../src/xmlcopyeditor.cpp:4939 msgid "&Find...\tCtrl+F" msgstr "" -#: ../src/xmlcopyeditor.cpp:4941 +#: ../src/xmlcopyeditor.cpp:4939 msgid "Find..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4945 +#: ../src/xmlcopyeditor.cpp:4943 msgid "F&ind Again\tF3" msgstr "" -#: ../src/xmlcopyeditor.cpp:4945 +#: ../src/xmlcopyeditor.cpp:4943 msgid "Find Again" msgstr "" -#: ../src/xmlcopyeditor.cpp:4949 +#: ../src/xmlcopyeditor.cpp:4947 msgid "&Replace...\tCtrl+R" msgstr "" -#: ../src/xmlcopyeditor.cpp:4949 +#: ../src/xmlcopyeditor.cpp:4947 msgid "Replace..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4956 +#: ../src/xmlcopyeditor.cpp:4954 msgid "&Global Replace...\tCtrl+Shift+R" msgstr "" -#: ../src/xmlcopyeditor.cpp:4957 +#: ../src/xmlcopyeditor.cpp:4955 msgid "Global Replace..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4961 +#: ../src/xmlcopyeditor.cpp:4959 msgid "G&o To...\tCtrl+G" msgstr "" -#: ../src/xmlcopyeditor.cpp:4961 +#: ../src/xmlcopyeditor.cpp:4959 msgid "Go To..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4965 +#: ../src/xmlcopyeditor.cpp:4963 msgid "&Toggle Comment\tCtrl+/" msgstr "" -#: ../src/xmlcopyeditor.cpp:4965 +#: ../src/xmlcopyeditor.cpp:4963 msgid "Toggle Comment" msgstr "" -#: ../src/xmlcopyeditor.cpp:4986 +#: ../src/xmlcopyeditor.cpp:4984 msgid "Pr&eferences..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4986 +#: ../src/xmlcopyeditor.cpp:4984 msgid "Preferences..." msgstr "" -#: ../src/xmlcopyeditor.cpp:4994 +#: ../src/xmlcopyeditor.cpp:4992 msgid "Increase\tCtrl+U" msgstr "" -#: ../src/xmlcopyeditor.cpp:4994 +#: ../src/xmlcopyeditor.cpp:4992 msgid "Increase" msgstr "" -#: ../src/xmlcopyeditor.cpp:4996 +#: ../src/xmlcopyeditor.cpp:4994 msgid "Decrease\tCtrl+D" msgstr "" -#: ../src/xmlcopyeditor.cpp:4996 +#: ../src/xmlcopyeditor.cpp:4994 msgid "Decrease" msgstr "" -#: ../src/xmlcopyeditor.cpp:4998 +#: ../src/xmlcopyeditor.cpp:4996 msgid "Normal\tCtrl+0" msgstr "" -#: ../src/xmlcopyeditor.cpp:4998 +#: ../src/xmlcopyeditor.cpp:4996 msgid "Normal" msgstr "" -#: ../src/xmlcopyeditor.cpp:5003 +#: ../src/xmlcopyeditor.cpp:5001 msgid "&Default" msgstr "" -#: ../src/xmlcopyeditor.cpp:5006 +#: ../src/xmlcopyeditor.cpp:5004 msgid "&Blue background, white text" msgstr "" -#: ../src/xmlcopyeditor.cpp:5007 +#: ../src/xmlcopyeditor.cpp:5005 msgid "Blue background, white text" msgstr "" -#: ../src/xmlcopyeditor.cpp:5010 +#: ../src/xmlcopyeditor.cpp:5008 msgid "&Light" msgstr "" -#: ../src/xmlcopyeditor.cpp:5011 +#: ../src/xmlcopyeditor.cpp:5009 msgid "Light" msgstr "" -#: ../src/xmlcopyeditor.cpp:5014 +#: ../src/xmlcopyeditor.cpp:5012 msgid "&None" msgstr "" -#: ../src/xmlcopyeditor.cpp:5015 +#: ../src/xmlcopyeditor.cpp:5013 msgid "None" msgstr "" @@ -1447,617 +1464,630 @@ msgstr "" #. splitTabMenu->Append ( ID_SPLIT_TAB_LEFT, _ ( "&Left" ), _ ( "Left" )); #. #. use class-wide data member -#: ../src/xmlcopyeditor.cpp:5044 +#: ../src/xmlcopyeditor.cpp:5042 msgid "&Previous Document\tCtrl+PgUp" msgstr "" -#: ../src/xmlcopyeditor.cpp:5044 +#: ../src/xmlcopyeditor.cpp:5042 msgid "Previous Document" msgstr "" -#: ../src/xmlcopyeditor.cpp:5045 +#: ../src/xmlcopyeditor.cpp:5043 msgid "&Next Document\tCtrl+PgDn" msgstr "" -#: ../src/xmlcopyeditor.cpp:5045 +#: ../src/xmlcopyeditor.cpp:5043 msgid "Next Document" msgstr "" #. viewMenu->Append ( wxID_ANY, _ ( "&Split Tab" ), splitTabMenu ); -#: ../src/xmlcopyeditor.cpp:5049 +#: ../src/xmlcopyeditor.cpp:5047 msgid "&Browser\tCtrl+B" msgstr "" -#: ../src/xmlcopyeditor.cpp:5049 ../src/xmlcopyeditor.cpp:5478 -#: ../src/xmlcopyeditor.cpp:5482 +#: ../src/xmlcopyeditor.cpp:5047 ../src/xmlcopyeditor.cpp:5476 +#: ../src/xmlcopyeditor.cpp:5480 msgid "Browser" msgstr "" -#: ../src/xmlcopyeditor.cpp:5053 +#: ../src/xmlcopyeditor.cpp:5051 msgid "&Show Tags and Attributes\tCtrl+T" msgstr "" -#: ../src/xmlcopyeditor.cpp:5053 +#: ../src/xmlcopyeditor.cpp:5051 msgid "Show Tags and Attributes" msgstr "" -#: ../src/xmlcopyeditor.cpp:5056 +#: ../src/xmlcopyeditor.cpp:5054 msgid "&Hide Attributes Only\tCtrl+Shift+A" msgstr "" -#: ../src/xmlcopyeditor.cpp:5056 +#: ../src/xmlcopyeditor.cpp:5054 msgid "Hide Attributes Only" msgstr "" -#: ../src/xmlcopyeditor.cpp:5059 +#: ../src/xmlcopyeditor.cpp:5057 msgid "H&ide Tags and Attributes\tCtrl+Shift+T" msgstr "" -#: ../src/xmlcopyeditor.cpp:5059 +#: ../src/xmlcopyeditor.cpp:5057 msgid "Hide Tags and Attributes" msgstr "" -#: ../src/xmlcopyeditor.cpp:5078 +#: ../src/xmlcopyeditor.cpp:5076 msgid "&Toggle Fold\tCtrl+Alt+T" msgstr "" -#: ../src/xmlcopyeditor.cpp:5078 +#: ../src/xmlcopyeditor.cpp:5076 msgid "Toggle Fold" msgstr "" -#: ../src/xmlcopyeditor.cpp:5080 +#: ../src/xmlcopyeditor.cpp:5078 msgid "&Fold Tags\tCtrl+Shift+F" msgstr "" -#: ../src/xmlcopyeditor.cpp:5080 +#: ../src/xmlcopyeditor.cpp:5078 msgid "Fold Tags" msgstr "" -#: ../src/xmlcopyeditor.cpp:5082 +#: ../src/xmlcopyeditor.cpp:5080 msgid "&Unfold Tags\tCtrl+Shift+U" msgstr "" -#: ../src/xmlcopyeditor.cpp:5085 +#: ../src/xmlcopyeditor.cpp:5083 msgid "&Wrap Words" msgstr "" -#: ../src/xmlcopyeditor.cpp:5087 +#: ../src/xmlcopyeditor.cpp:5085 msgid "&Color Scheme" msgstr "" -#: ../src/xmlcopyeditor.cpp:5088 +#: ../src/xmlcopyeditor.cpp:5086 msgid "&Text Size" msgstr "" -#: ../src/xmlcopyeditor.cpp:5093 +#: ../src/xmlcopyeditor.cpp:5091 msgid "S&how Current Element Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5094 +#: ../src/xmlcopyeditor.cpp:5092 msgid "Show Current Element Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5098 +#: ../src/xmlcopyeditor.cpp:5096 msgid "Sh&ow Toolbar" msgstr "" -#: ../src/xmlcopyeditor.cpp:5098 +#: ../src/xmlcopyeditor.cpp:5096 msgid "Show Toolbar" msgstr "" -#: ../src/xmlcopyeditor.cpp:5102 +#: ../src/xmlcopyeditor.cpp:5100 msgid "C&lose Message Pane\tAlt+C" msgstr "" -#: ../src/xmlcopyeditor.cpp:5102 +#: ../src/xmlcopyeditor.cpp:5100 msgid "Close Message Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5104 +#: ../src/xmlcopyeditor.cpp:5102 msgid "Close Find/&Replace Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5104 +#: ../src/xmlcopyeditor.cpp:5102 msgid "Close Find/Replace Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5106 +#: ../src/xmlcopyeditor.cpp:5104 msgid "Close Co&mmand Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5106 +#: ../src/xmlcopyeditor.cpp:5104 msgid "Close Command Pane" msgstr "" -#: ../src/xmlcopyeditor.cpp:5110 +#: ../src/xmlcopyeditor.cpp:5108 msgid "&Element...\tCtrl+I" msgstr "" -#: ../src/xmlcopyeditor.cpp:5110 +#: ../src/xmlcopyeditor.cpp:5108 msgid "Element..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5111 +#: ../src/xmlcopyeditor.cpp:5109 msgid "&Sibling...\tCtrl+Shift+I" msgstr "" -#: ../src/xmlcopyeditor.cpp:5111 +#: ../src/xmlcopyeditor.cpp:5109 msgid "Sibling..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5112 +#: ../src/xmlcopyeditor.cpp:5110 msgid "&Entity...\tCtrl+E" msgstr "" -#: ../src/xmlcopyeditor.cpp:5112 +#: ../src/xmlcopyeditor.cpp:5110 msgid "Entity..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5114 +#: ../src/xmlcopyeditor.cpp:5112 msgid "&Twin\tCtrl+Enter" msgstr "" -#: ../src/xmlcopyeditor.cpp:5114 +#: ../src/xmlcopyeditor.cpp:5112 msgid "Twin" msgstr "" -#: ../src/xmlcopyeditor.cpp:5116 +#: ../src/xmlcopyeditor.cpp:5114 msgid "S&ymbol..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5116 +#: ../src/xmlcopyeditor.cpp:5114 msgid "Symbol..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5124 +#: ../src/xmlcopyeditor.cpp:5122 msgid "&DTD/XML Schema\tF5" msgstr "" -#: ../src/xmlcopyeditor.cpp:5124 +#: ../src/xmlcopyeditor.cpp:5122 msgid "DTD/XML Schema" msgstr "" -#: ../src/xmlcopyeditor.cpp:5127 +#: ../src/xmlcopyeditor.cpp:5125 msgid "&RELAX NG...\tF6" msgstr "" -#: ../src/xmlcopyeditor.cpp:5127 +#: ../src/xmlcopyeditor.cpp:5125 msgid "RELAX NG..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5130 +#: ../src/xmlcopyeditor.cpp:5128 msgid "&Public DTD..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5130 +#: ../src/xmlcopyeditor.cpp:5128 msgid "Public DTD..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5131 +#: ../src/xmlcopyeditor.cpp:5129 msgid "&System DTD..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5131 +#: ../src/xmlcopyeditor.cpp:5129 msgid "System DTD..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5132 +#: ../src/xmlcopyeditor.cpp:5130 msgid "&XML Schema..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5132 +#: ../src/xmlcopyeditor.cpp:5130 msgid "XML Schema..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5133 +#: ../src/xmlcopyeditor.cpp:5131 msgid "XS< stylesheet..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5133 +#: ../src/xmlcopyeditor.cpp:5131 msgid "XSLT stylesheet..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5149 +#: ../src/xmlcopyeditor.cpp:5147 #, c-format msgid "\tCtrl+%i" msgstr "" -#: ../src/xmlcopyeditor.cpp:5191 +#: ../src/xmlcopyeditor.cpp:5189 msgid "&Check Well-formedness\tF2" msgstr "" -#: ../src/xmlcopyeditor.cpp:5191 ../src/xmlcopyeditor.cpp:5464 -#: ../src/xmlcopyeditor.cpp:5468 +#: ../src/xmlcopyeditor.cpp:5189 ../src/xmlcopyeditor.cpp:5462 +#: ../src/xmlcopyeditor.cpp:5466 msgid "Check Well-formedness" msgstr "" -#: ../src/xmlcopyeditor.cpp:5194 +#: ../src/xmlcopyeditor.cpp:5192 msgid "&Validate" msgstr "" -#: ../src/xmlcopyeditor.cpp:5196 +#: ../src/xmlcopyeditor.cpp:5194 msgid "Create &Schema...\tF10" msgstr "" -#: ../src/xmlcopyeditor.cpp:5197 +#: ../src/xmlcopyeditor.cpp:5195 msgid "Create schema..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5198 ../src/xmlcopyeditor.cpp:5199 +#: ../src/xmlcopyeditor.cpp:5196 ../src/xmlcopyeditor.cpp:5197 msgid "DTD -> Schema..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5203 +#: ../src/xmlcopyeditor.cpp:5201 msgid "&Associate" msgstr "" -#: ../src/xmlcopyeditor.cpp:5206 +#: ../src/xmlcopyeditor.cpp:5204 msgid "&XSL Transform...\tF8" msgstr "" -#: ../src/xmlcopyeditor.cpp:5207 +#: ../src/xmlcopyeditor.cpp:5205 msgid "XSL Transform..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5210 +#: ../src/xmlcopyeditor.cpp:5208 msgid "&Evaluate XPath...\tF9" msgstr "" -#: ../src/xmlcopyeditor.cpp:5211 +#: ../src/xmlcopyeditor.cpp:5209 msgid "Evaluate XPath..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5214 +#: ../src/xmlcopyeditor.cpp:5212 msgid "Copy &The Current XPath" msgstr "" -#: ../src/xmlcopyeditor.cpp:5215 +#: ../src/xmlcopyeditor.cpp:5213 msgid "Copy The Current XPath" msgstr "" -#: ../src/xmlcopyeditor.cpp:5220 +#: ../src/xmlcopyeditor.cpp:5218 msgid "&Pretty-print\tF11" msgstr "" -#: ../src/xmlcopyeditor.cpp:5220 +#: ../src/xmlcopyeditor.cpp:5218 msgid "Pretty-print" msgstr "" -#: ../src/xmlcopyeditor.cpp:5224 +#: ../src/xmlcopyeditor.cpp:5222 msgid "&Lock Tags\tCtrl+L" msgstr "" -#: ../src/xmlcopyeditor.cpp:5225 ../src/xmlcopyeditor.cpp:5492 -#: ../src/xmlcopyeditor.cpp:5495 +#: ../src/xmlcopyeditor.cpp:5223 ../src/xmlcopyeditor.cpp:5490 +#: ../src/xmlcopyeditor.cpp:5493 msgid "Lock Tags" msgstr "" -#: ../src/xmlcopyeditor.cpp:5230 +#: ../src/xmlcopyeditor.cpp:5228 msgid "E&ncoding..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5230 +#: ../src/xmlcopyeditor.cpp:5228 msgid "Encoding..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5239 +#: ../src/xmlcopyeditor.cpp:5237 msgid "&Spelling...\tF7" msgstr "" -#: ../src/xmlcopyeditor.cpp:5240 +#: ../src/xmlcopyeditor.cpp:5238 msgid "Spelling..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5247 +#: ../src/xmlcopyeditor.cpp:5245 msgid "&Style...\tShift+F7" msgstr "" -#: ../src/xmlcopyeditor.cpp:5248 +#: ../src/xmlcopyeditor.cpp:5246 msgid "Style..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5255 +#: ../src/xmlcopyeditor.cpp:5253 msgid "&Word Count" msgstr "" -#: ../src/xmlcopyeditor.cpp:5256 +#: ../src/xmlcopyeditor.cpp:5254 msgid "Word Count" msgstr "" -#: ../src/xmlcopyeditor.cpp:5264 +#: ../src/xmlcopyeditor.cpp:5262 msgid "&Command\tCtrl+Alt+C" msgstr "" -#: ../src/xmlcopyeditor.cpp:5265 +#: ../src/xmlcopyeditor.cpp:5263 msgid "Command" msgstr "" -#: ../src/xmlcopyeditor.cpp:5280 +#: ../src/xmlcopyeditor.cpp:5278 msgid "&Options..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5281 +#: ../src/xmlcopyeditor.cpp:5279 msgid "Options..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5291 +#: ../src/xmlcopyeditor.cpp:5289 msgid "&XML Copy Editor Help\tF1" msgstr "" -#: ../src/xmlcopyeditor.cpp:5291 +#: ../src/xmlcopyeditor.cpp:5289 msgid "Help" msgstr "" -#: ../src/xmlcopyeditor.cpp:5297 +#: ../src/xmlcopyeditor.cpp:5295 msgid "&Home Page" msgstr "" -#: ../src/xmlcopyeditor.cpp:5297 +#: ../src/xmlcopyeditor.cpp:5295 msgid "Home Page" msgstr "" -#: ../src/xmlcopyeditor.cpp:5300 +#: ../src/xmlcopyeditor.cpp:5298 msgid "&Forum" msgstr "" -#: ../src/xmlcopyeditor.cpp:5300 +#: ../src/xmlcopyeditor.cpp:5298 msgid "Forum" msgstr "" -#: ../src/xmlcopyeditor.cpp:5304 +#: ../src/xmlcopyeditor.cpp:5302 msgid "&About XML Copy Editor" msgstr "" -#: ../src/xmlcopyeditor.cpp:5304 +#: ../src/xmlcopyeditor.cpp:5302 msgid "About" msgstr "" -#: ../src/xmlcopyeditor.cpp:5308 +#: ../src/xmlcopyeditor.cpp:5306 msgid "&Browse Source" msgstr "" -#: ../src/xmlcopyeditor.cpp:5308 +#: ../src/xmlcopyeditor.cpp:5306 msgid "Browse Source" msgstr "" -#: ../src/xmlcopyeditor.cpp:5320 +#: ../src/xmlcopyeditor.cpp:5318 msgid "&File" msgstr "" -#: ../src/xmlcopyeditor.cpp:5321 +#: ../src/xmlcopyeditor.cpp:5319 msgid "&Edit" msgstr "" -#: ../src/xmlcopyeditor.cpp:5322 +#: ../src/xmlcopyeditor.cpp:5320 msgid "&View" msgstr "" -#: ../src/xmlcopyeditor.cpp:5323 +#: ../src/xmlcopyeditor.cpp:5321 msgid "&Insert" msgstr "" -#: ../src/xmlcopyeditor.cpp:5324 +#: ../src/xmlcopyeditor.cpp:5322 msgid "&XML" msgstr "" -#: ../src/xmlcopyeditor.cpp:5325 +#: ../src/xmlcopyeditor.cpp:5323 msgid "&Tools" msgstr "" -#: ../src/xmlcopyeditor.cpp:5326 +#: ../src/xmlcopyeditor.cpp:5324 msgid "&Help" msgstr "" -#: ../src/xmlcopyeditor.cpp:5341 +#: ../src/xmlcopyeditor.cpp:5339 msgid "&New...\tCtrl+N" msgstr "" -#: ../src/xmlcopyeditor.cpp:5341 +#: ../src/xmlcopyeditor.cpp:5339 msgid "New..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5344 +#: ../src/xmlcopyeditor.cpp:5342 msgid "&Open...\tCtrl+O" msgstr "" -#: ../src/xmlcopyeditor.cpp:5344 +#: ../src/xmlcopyeditor.cpp:5342 msgid "Open..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5348 +#: ../src/xmlcopyeditor.cpp:5346 msgid "O&pen Large Document...\tCtrl+Shift+O" msgstr "" -#: ../src/xmlcopyeditor.cpp:5348 +#: ../src/xmlcopyeditor.cpp:5346 msgid "Open Large Document..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5352 +#: ../src/xmlcopyeditor.cpp:5350 msgid "&Close\tCtrl+W" msgstr "" -#: ../src/xmlcopyeditor.cpp:5355 +#: ../src/xmlcopyeditor.cpp:5353 msgid "C&lose All" msgstr "" -#: ../src/xmlcopyeditor.cpp:5355 +#: ../src/xmlcopyeditor.cpp:5353 msgid "Close All" msgstr "" -#: ../src/xmlcopyeditor.cpp:5358 +#: ../src/xmlcopyeditor.cpp:5356 msgid "&Save\tCtrl+S" msgstr "" -#: ../src/xmlcopyeditor.cpp:5358 ../src/xmlcopyeditor.cpp:5449 -#: ../src/xmlcopyeditor.cpp:5453 +#: ../src/xmlcopyeditor.cpp:5356 ../src/xmlcopyeditor.cpp:5447 +#: ../src/xmlcopyeditor.cpp:5451 msgid "Save" msgstr "" -#: ../src/xmlcopyeditor.cpp:5361 +#: ../src/xmlcopyeditor.cpp:5359 msgid "S&ave As...\tF12" msgstr "" -#: ../src/xmlcopyeditor.cpp:5361 +#: ../src/xmlcopyeditor.cpp:5359 msgid "Save As..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5365 +#: ../src/xmlcopyeditor.cpp:5363 msgid "&DAISY Export..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5365 +#: ../src/xmlcopyeditor.cpp:5363 msgid "DAISY Export..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5369 +#: ../src/xmlcopyeditor.cpp:5367 msgid "&Reload" msgstr "" -#: ../src/xmlcopyeditor.cpp:5369 +#: ../src/xmlcopyeditor.cpp:5367 msgid "Reload" msgstr "" -#: ../src/xmlcopyeditor.cpp:5372 +#: ../src/xmlcopyeditor.cpp:5370 msgid "&Revert" msgstr "" -#: ../src/xmlcopyeditor.cpp:5372 +#: ../src/xmlcopyeditor.cpp:5370 msgid "Revert" msgstr "" -#: ../src/xmlcopyeditor.cpp:5375 +#: ../src/xmlcopyeditor.cpp:5373 msgid "Pa&ge Setup..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5375 +#: ../src/xmlcopyeditor.cpp:5373 msgid "Page Setup..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5378 +#: ../src/xmlcopyeditor.cpp:5376 msgid "Pr&int Preview..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5378 +#: ../src/xmlcopyeditor.cpp:5376 msgid "Print Preview..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5381 +#: ../src/xmlcopyeditor.cpp:5379 msgid "Pri&nt...\tCtrl+P" msgstr "" -#: ../src/xmlcopyeditor.cpp:5381 +#: ../src/xmlcopyeditor.cpp:5379 msgid "Print..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5385 +#: ../src/xmlcopyeditor.cpp:5383 msgid "I&mport Microsoft Word Document..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5389 +#: ../src/xmlcopyeditor.cpp:5387 msgid "Expor&t Microsoft Word Document..." msgstr "" -#: ../src/xmlcopyeditor.cpp:5393 +#: ../src/xmlcopyeditor.cpp:5391 msgid "E&xit" msgstr "" -#: ../src/xmlcopyeditor.cpp:5393 +#: ../src/xmlcopyeditor.cpp:5391 msgid "Exit" msgstr "" -#: ../src/xmlcopyeditor.cpp:5439 ../src/xmlcopyeditor.cpp:5441 +#: ../src/xmlcopyeditor.cpp:5437 ../src/xmlcopyeditor.cpp:5439 msgid "New" msgstr "" -#: ../src/xmlcopyeditor.cpp:5457 ../src/xmlcopyeditor.cpp:5461 +#: ../src/xmlcopyeditor.cpp:5455 ../src/xmlcopyeditor.cpp:5459 msgid "Print" msgstr "" -#: ../src/xmlcopyeditor.cpp:5471 ../src/xmlcopyeditor.cpp:5475 +#: ../src/xmlcopyeditor.cpp:5469 ../src/xmlcopyeditor.cpp:5473 msgid "Validate" msgstr "" -#: ../src/xmlcopyeditor.cpp:5535 +#: ../src/xmlcopyeditor.cpp:5533 msgid "Information" msgstr "" -#: ../src/xmlcopyeditor.cpp:5541 +#: ../src/xmlcopyeditor.cpp:5539 msgid "Stopped" msgstr "" -#: ../src/xmlcopyeditor.cpp:5544 +#: ../src/xmlcopyeditor.cpp:5542 msgid "Question" msgstr "" -#: ../src/xmlcopyeditor.cpp:5547 +#: ../src/xmlcopyeditor.cpp:5545 msgid "Message" msgstr "" -#: ../src/xmlcopyeditor.cpp:5615 +#: ../src/xmlcopyeditor.cpp:5613 #, c-format msgid "%s is %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:5640 +#: ../src/xmlcopyeditor.cpp:5638 msgid "Document has been modified: save or discard changes" msgstr "" -#: ../src/xmlcopyeditor.cpp:5703 +#: ../src/xmlcopyeditor.cpp:5701 msgid "Encoding should be one of " msgstr "" -#: ../src/xmlcopyeditor.cpp:5754 +#: ../src/xmlcopyeditor.cpp:5752 msgid "Public DTD" msgstr "" -#: ../src/xmlcopyeditor.cpp:5761 +#: ../src/xmlcopyeditor.cpp:5759 msgid "System DTD" msgstr "" -#: ../src/xmlcopyeditor.cpp:5767 +#: ../src/xmlcopyeditor.cpp:5765 msgid "XML Schema" msgstr "" -#: ../src/xmlcopyeditor.cpp:5791 +#: ../src/xmlcopyeditor.cpp:5789 #, c-format msgid "Cannot associate %s: %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:5798 +#: ../src/xmlcopyeditor.cpp:5796 #, c-format msgid "Associate %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:5806 +#: ../src/xmlcopyeditor.cpp:5804 msgid "Choose a public identifier:" msgstr "" -#: ../src/xmlcopyeditor.cpp:5926 +#: ../src/xmlcopyeditor.cpp:5924 #, c-format msgid "Cannot count words: %s" msgstr "" -#: ../src/xmlcopyeditor.cpp:6074 +#: ../src/xmlcopyeditor.cpp:5932 +#, c-format +msgid "%s contains %i word" +msgid_plural "%s contains %i words" +msgstr[0] "" +msgstr[1] "" + +#: ../src/xmlcopyeditor.cpp:6072 msgid "The current XPath is empty." msgstr "" -#: ../src/xmlcopyeditor.cpp:6084 +#: ../src/xmlcopyeditor.cpp:6082 #, c-format msgid "The current XPath has been copied to the clipboard:[br][b]%s[/b]" msgstr "" -#: ../src/xmlcopyeditor.cpp:6092 +#: ../src/xmlcopyeditor.cpp:6090 #, c-format msgid "Failed to copy the current XPath to the clipboard:[br][b]%s[/b]" msgstr "" -#: ../src/xmlcopyeditor.cpp:6208 +#: ../src/xmlcopyeditor.cpp:6202 +msgid "Invalid path: " +msgid_plural "Invalid paths: " +msgstr[0] "" +msgstr[1] "" + +#: ../src/xmlcopyeditor.cpp:6206 msgid "" "To change the application directory setting, click Tools menu -> Options... " "after XML Copy Editor starts up." msgstr "" -#: ../src/xmlcopyeditor.cpp:6211 +#: ../src/xmlcopyeditor.cpp:6209 msgid "" "To change the application directory setting, click Edit menu -> " "Preferences... after XML Copy Editor starts up." diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 305b183a85e952bb7418f15ef5b2a3f5ca6cc185..466b89cfbb52f5bfaaac6e5dac202268c0e10410 100644 GIT binary patch delta 2840 zcmXZddra0<9LMqVq=CqTfRB$D$R$A#5=fZN;;N}&ii%X=$fdbxR^%2X!>xWUHc6YC z7DWDGQ@ejDeSWz8kUY+AEFNC(#H{n_ukIbY{{F5h$cox{`D6X@s( z^aP{5D*@-49&m1&b8cgibDOXpWAS55#R1I4F^s}cvEQDI^N4eie{KW+Eyn$ri05!F zUcu>j2a_?PgdCVr;ygEt!cr|qk_L-qRrwa`zk{Rd1XzG`t`xj!z5 z+DHPD*K>IkG_VXKakIrwp%S;EcF=)o*p1QnHR`A@p*C<6b1?Lfb2G3M*I*T9;315_ zK63yMF~9qUf{wCbg@3zSFi6~r_uv84z;4v5=(V^XbuxpfTmB*oqNfxFN z7om3kIBLEojAwqghk_EnjoH|R^YDAr?f)Bf)X}S)n}bN9Kh*e$N`HqT zRGf*0Scv*WPow(3QOWt|Q#fQ5U!nfM3|o8|wezc}ME_d-^wrKyA&y5S3ZphM*Ww)1 zQ7=M$qDs_8HenvVfKhmKHRrE^A5x)PeHwN2=TQ@1!zi5cux|`%!UWU_q*#3sD$h!@ z26a+ft^Fm`I1javJ*ZFhrYh9%E-GQSb@&pqh%cZL{ew#|jw`MH6{z}ksDw|V67E1P z*uzNNi*fSRBaGx4a^52B8G2-W`= z)cC)wJ)+7#;TTlEIhd~ZpKT3Qs2`0w)DD|4h`Y=-)Csj)+>7ehhcP%{@d#?%W%C;9 zxs78PMy~TOa|I^p{cok99leY(*oI2bftuhL>OG&pVjM*Ezk9vk9*Y_`8&#iS=ArT| zwRk1Q60f)VCort{{~QHfwpUTN`W;lFW2gmugqq+KW@5k9|8Cwy?eG@r$fGv+<5N)! z&&CX_MCEI=_7~C93SXh1_xU<1!5LKjMbtAIMP0TDjK!F0zdae1FbB1OMX3HOP#da8 z^>0SyYs34n9o7GAHRrDmBUC8Suc-Js>I5e7ew@0|U*KZYE7*=(@CZ)FK#hMwK~$bZ zoR9aS@>QTVR*TWth#_pL;rvr6?59GWL?!svynu1UKcOc2!@P}J;9ZaS{exx*^@t_hc=Ga0e=XD{A~ckAjY--5QRfj<5^0@-wKF51|r_Sv+Cwv5)%wQc;QX%_UY} zf?9YL>JHUeeFJJJSnQ4=4)Ts)4tG#9OX(u{n}pJ*2HL+6rk0d7Gh+-vP`nTM_Z zJ=BJJu>kvhJvUB4E6l3(S6F~EiOVsJHCDeJ^(mTh2EK;z*om6>1nNjXK}~cP^{t0d d{eQ-3c*7jW1UHo*mD*F2;Xl()#XXpp@<0D1KzINE delta 2879 zcmXZddra0<9LMqFB~czg5J=1r#w`OMc|c)cTr^P8G7(frUB#vuYblmt7q?$Fb7?M{ zCE2ocx|J?ApQO2IN#-9mrHg3!2Wz#gyfyraTJd$O4^8(2Gf_LMLbWeKozzN;pF>T!6_t1oYJn$F z3+T1@7jqDmC%8c&n?k}2e*(p3BdWt%)Th{FzKKe_AID=Cs^8bB9sX$T|6vAk?7hB! zzFC6W$aExc;F>6C;A0qrn=F16mADhNgKo^ka~Q%uP)F@*{07o6pRfWGa3$V{?U;in za0Fg72kQkAo^Isj zxvx*DW44$FDRNl{gPIa0(8?X%<(ZHZs%V zM$}O+L4Be%sExdclksgFg{S9m{u=lV6}r_IP)Fa7I-W{_-)PP+Whx^PZ>V%G2+=uFS5#w>d;v1-O z!yfP^qAp`PR$~NpncHx@-v1T~+R=NcL{U_NZqx)lsP}vpD{v6ifAW0aUWOW1jjEq# zHlgygSiA~H6F+11FJr3S{|*YeY#*R*_2;NWJ*WkIi<;m&%)={IpH%PL(@;CiKz*`e z)c88o!W%FL*P!xsSo=E|Xoc@n(EI!dmEaPp{ub&Pg%c2!SxDSi*iZ^iSO@4*-s1+{7G1!W!xZdiwqdvtROu!E@36G<8au#)@KcFVM zjQZBsQT=b@XK*B@nCUpy4d+QUcm0#vpPjcbT=V3LmbI;`SA}a^)~=YASsW>v8jh5P VBSjRa6%`jm$|8}jpUaCT{0~dRPip`G diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index df087afc59bf25a0d1ed072f14e0941dc3c4bcbb..08a7496854a857c794a495a9d00e21945aa7f424 100644 GIT binary patch delta 2606 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 ARsaA1 diff --git a/src/.cproject b/src/.cproject index 0acb74e..69b886e 100644 --- a/src/.cproject +++ b/src/.cproject @@ -1,1085 +1,1219 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/.settings/language.settings.xml b/src/.settings/language.settings.xml deleted file mode 100644 index 2a608ba..0000000 --- a/src/.settings/language.settings.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/xmlcopyeditor.iss b/src/xmlcopyeditor.iss index eed0014..58fe115 100644 --- a/src/xmlcopyeditor.iss +++ b/src/xmlcopyeditor.iss @@ -1,5 +1,5 @@ ; -; Copyright 2012-2014 Zane U. Ji. +; Copyright 2012-2020 Zane U. Ji. ; ; This file is part of Xml Copy Editor. ; @@ -18,13 +18,26 @@ ; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ; +#define OSArchitecture "x64" +;#define OSArchitecture "x86" + #define MyAppName "XML Copy Editor" -#define MyAppVersion GetFileVersion(".\ReleaseWx28-x86\XmlCopyEditor.exe") #define MyAppPublisher "Zane U. Ji" #define MyAppURL "https://sourceforge.net/projects/xml-copy-editor/" -#define MyAppDir32 "ReleaseWx28-x86" #define MyAppExeName "xmlcopyeditor.exe" -#define MinGW32 "D:\MinGW32" +#if OSArchitecture == "x64" + #define MyAppVersion GetFileVersion(".\ReleaseWx-x64\XmlCopyEditor.exe") + #define MyAppDir "ReleaseWx-x64" + #define MinGW "D:\msys64\mingw64" + #define GccExceptionHandling "seh" + #define DllNameSuffix "-x64" +#else + #define MyAppVersion GetFileVersion(".\ReleaseWx-x86\XmlCopyEditor.exe") + #define MyAppDir "ReleaseWx-x86" + #define MinGW "D:\msys64\mingw32" + #define GccExceptionHandling "dw2" + #define DllNameSuffix "" +#endif [Setup] ; NOTE: The value of AppId uniquely identifies this application. @@ -45,9 +58,18 @@ LicenseFile=.\copying\xmlcopyeditor\copying.txt ;SetupIconFile=.\res\appicon.ico Compression=lzma SolidCompression=yes -PrivilegesRequired=none +PrivilegesRequired=lowest +PrivilegesRequiredOverridesAllowed=dialog +#if "x64" == OSArchitecture + ; "ArchitecturesInstallIn64BitMode=x64" requests that the install be + ; done in "64-bit mode" on x64, meaning it should use the native + ; 64-bit Program Files directory and the 64-bit view of the registry. + ; On all other architectures it will install in "32-bit mode". + ArchitecturesInstallIn64BitMode=x64 + ArchitecturesAllowed=x64 +#endif OutputDir=.. -OutputBaseFilename=xmlcopyeditor-{#MyAppVersion}-x86-install +OutputBaseFilename=xmlcopyeditor-{#MyAppVersion}-{#OSArchitecture}-install [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" @@ -92,21 +114,33 @@ Root: HKCR; Subkey: ".xlf"; ValueType: string; ValueData: "Software\SourceForge [Files] ; NOTE: Don't use "Flags: ignoreversion" on any shared system files -Source: ".\{#MyAppDir32}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion -Source: "{#MinGW32}\bin\libgcc_s_sjlj-1.dll"; DestDir: "{app}" -Source: "{#MinGW32}\bin\libstdc++-6.dll"; DestDir: "{app}" -Source: "{#MinGW32}\bin\libwinpthread-1.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libaspell-15.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libcurl-4.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libeay32.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libexpat-1.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libiconv-2.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libpcre-1.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libxml2-2.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\libxslt-1.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\ssleay32.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\zlib1.dll"; DestDir: "{app}" -Source: "{#MinGW32}\i686-w64-mingw32\bin\curl-ca-bundle.crt"; DestDir: "{app}"; Flags: ignoreversion +Source: ".\{#MyAppDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#MinGW}\bin\libaspell-15.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libbrotlicommon.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libbrotlidec.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libcrypto-1_1{#DllNameSuffix}.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libcurl-4.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libexpat-1.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libgcc_s_{#GccExceptionHandling}-1.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libiconv-2.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libicudt67.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libicuuc67.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libidn2-0.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libintl-8.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\liblzma-5.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libnghttp2-14.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libpcre-1.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libpsl-5.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libssh2-1.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libssl-1_1{#DllNameSuffix}.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libstdc++-6.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libunistring-2.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libwinpthread-1.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libxerces-c-3-2.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libxml2-2.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\libxslt-1.dll"; DestDir: "{app}" +Source: "{#MinGW}\bin\zlib1.dll"; DestDir: "{app}" +Source: "{#MinGW}\ssl\certs/ca-bundle.trust.crt"; DestDir: "{app}"; DestName: "curl-ca-bundle.crt"; Flags: ignoreversion Source: ".\aspell\*"; DestDir: "{app}\aspell"; Flags: ignoreversion recursesubdirs createallsubdirs Source: ".\bin\*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs Source: ".\catalog\*"; DestDir: "{app}\catalog"; Flags: ignoreversion recursesubdirs createallsubdirs @@ -184,7 +218,7 @@ end; function IsAdmin(): Boolean; begin - Result := IsAdminLoggedOn or IsPowerUserLoggedOn; + Result := IsAdminInstallMode or IsPowerUserLoggedOn; end; function DefDirRoot(Param: String): String; diff --git a/src/xmlcopyeditor64.iss b/src/xmlcopyeditor64.iss deleted file mode 100644 index 393845a..0000000 --- a/src/xmlcopyeditor64.iss +++ /dev/null @@ -1,202 +0,0 @@ -; -; Copyright 2014 Zane U. Ji. -; -; This file is part of Xml Copy Editor. -; -; Xml Copy Editor is free software; you can redistribute it and/or -; modify it under the terms of the GNU General Public License -; as published by the Free Software Foundation; either version 2 -; of the License, or (at your option) any later version. -; -; Xml Copy Editor is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with Xml Copy Editor; if not, write to the Free Software -; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -; - -#define MyAppName "XML Copy Editor" -#define MyAppVersion GetFileVersion(".\ReleaseWx28-x64\XmlCopyEditor.exe") -#define MyAppPublisher "Zane U. Ji" -#define MyAppURL "https://sourceforge.net/projects/xml-copy-editor/" -#define MyAppDir64 "ReleaseWx28-x64" -#define MyAppExeName "xmlcopyeditor.exe" -#define MinGW64 "D:\MinGW64" - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. -; Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={#MyAppName} -AppName={#MyAppName} -AppVersion={#MyAppVersion} -;AppVerName={#MyAppName} {#MyAppVersion} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={code:DefDirRoot}\{#MyAppName} -DefaultGroupName={#MyAppName} -AllowNoIcons=yes -LicenseFile=.\copying\xmlcopyeditor\copying.txt -;SetupIconFile=.\res\appicon.ico -Compression=lzma -SolidCompression=yes -PrivilegesRequired=none -; "ArchitecturesInstallIn64BitMode=x64" requests that the install be -; done in "64-bit mode" on x64, meaning it should use the native -; 64-bit Program Files directory and the 64-bit view of the registry. -; On all other architectures it will install in "32-bit mode". -ArchitecturesInstallIn64BitMode=x64 -ArchitecturesAllowed=x64 -OutputDir=.. -OutputBaseFilename=xmlcopyeditor-{#MyAppVersion}-x64-install - -[Languages] -Name: "english"; MessagesFile: "compiler:Default.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 -Name: "disable_registry"; Description: "Install without administrator privileges"; GroupDescription: "Other tasks"; Flags: unchecked exclusive -Name: "create_registry_entry"; Description: "Full desktop installation"; GroupDescription: "Other tasks"; Flags: exclusive; Check: IsAdmin -Name: "create_registry_entry\main"; Description: "Create Windows registry entry" -Name: "create_registry_entry\associate_xml"; Description: "Associate XML documents (*.xml)" -Name: "create_registry_entry\associate_dtd"; Description: "Associate DTDs (*.dtd)" -Name: "create_registry_entry\associate_ent"; Description: "Associate entity sets (*.ent)" -Name: "create_registry_entry\associate_rss"; Description: "Associate RSS (*.rss)" -Name: "create_registry_entry\associate_xsl"; Description: "Associate XSL stylesheets (*.xsl)" -Name: "create_registry_entry\associate_xsd"; Description: "Associate XML Schema definitions (*.xsd)" -Name: "create_registry_entry\associate_rng"; Description: "Associate RELEAX NG grammars (*.rng)" -Name: "create_registry_entry\associate_rnc"; Description: "Associate compact RELAX NG grammars (*.rnc)" -Name: "create_registry_entry\associate_lzx"; Description: "Associate OpenLaszlo (*.lzx)" -Name: "create_registry_entry\associate_xtm"; Description: "Associate XML Topic Maps (*.xtm, *xtmm)" -Name: "create_registry_entry\associate_xlf"; Description: "Associate XLIFF documents (*.xlf)" - -[Registry] -Root: HKCR; Subkey: "Software\SourceForge Project"; Flags: uninsdeletekeyifempty; Tasks: create_registry_entry -Root: HKCR; Subkey: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletekey; Tasks: create_registry_entry -Root: HKCR; Subkey: "Software\SourceForge Project\XML Copy Editor\DefaultIcon"; ValueType: string; ValueData: "{app}\{#MyAppExeName},1"; Tasks: create_registry_entry -Root: HKCR; Subkey: "Software\SourceForge Project\XML Copy Editor\shell\open\command"; ValueType: string; ValueData: """{app}\{#MyAppExeName}"" ""%1"""; Tasks: create_registry_entry -Root: HKLM; Subkey: "SOFTWARE\SourceForge Project"; Flags: uninsdeletekeyifempty; Tasks: create_registry_entry\main -Root: HKLM; Subkey: "SOFTWARE\SourceForge Project\XML Copy Editor"; Flags: uninsdeletekey; Tasks: create_registry_entry\main -Root: HKLM; Subkey: "SOFTWARE\SourceForge Project\XML Copy Editor"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"; Tasks: create_registry_entry\main -Root: HKCR; Subkey: ".xml"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_xml -Root: HKCR; Subkey: ".dtd"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_dtd -Root: HKCR; Subkey: ".ent"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_ent -Root: HKCR; Subkey: ".rss"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_rss -Root: HKCR; Subkey: ".xsl"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_xsl -Root: HKCR; Subkey: ".xsd"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_xsd -Root: HKCR; Subkey: ".rng"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_rng -Root: HKCR; Subkey: ".rnc"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_rnc -Root: HKCR; Subkey: ".lzx"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_lzx -Root: HKCR; Subkey: ".xtm"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_xtm -Root: HKCR; Subkey: ".xlf"; ValueType: string; ValueData: "Software\SourceForge Project\XML Copy Editor"; Flags: uninsdeletevalue; Tasks: create_registry_entry\associate_xlf - -[Files] -; NOTE: Don't use "Flags: ignoreversion" on any shared system files -Source: ".\{#MyAppDir64}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion -Source: "{#MinGW64}\bin\libgcc_s_seh-1.dll"; DestDir: "{app}" -Source: "{#MinGW64}\bin\libstdc++-6.dll"; DestDir: "{app}" -Source: "{#MinGW64}\bin\libwinpthread-1.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libaspell-15.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libcurl-4.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libeay32.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libexpat-1.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libiconv-2.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libpcre-1.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libxml2-2.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\libxslt-1.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\ssleay32.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\zlib1.dll"; DestDir: "{app}" -Source: "{#MinGW64}\x86_64-w64-mingw32\bin\curl-ca-bundle.crt"; DestDir: "{app}"; Flags: ignoreversion -Source: ".\aspell\*"; DestDir: "{app}\aspell"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\bin\*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\catalog\*"; DestDir: "{app}\catalog"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\copying\*"; DestDir: "{app}\copying"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\dtd\*"; DestDir: "{app}\dtd"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\help\xmlcopyeditor.chm"; DestDir: "{app}\help"; Flags: recursesubdirs createallsubdirs -Source: ".\png\*png"; DestDir: "{app}\png"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "..\po\ca.gmo"; DestDir: "{app}\po\ca"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\de.gmo"; DestDir: "{app}\po\de"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\en_US.gmo"; DestDir: "{app}\po\en_US"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\es.gmo"; DestDir: "{app}\po\es"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\fr.gmo"; DestDir: "{app}\po\fr"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\it.gmo"; DestDir: "{app}\po\it"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\km.gmo"; DestDir: "{app}\po\km"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\nl.gmo"; DestDir: "{app}\po\nl"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\ru.gmo"; DestDir: "{app}\po\ru"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\sk.gmo"; DestDir: "{app}\po\sk"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\sv.gmo"; DestDir: "{app}\po\sv"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\uk_UA.gmo"; DestDir: "{app}\po\uk_UA"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\zh_CN.gmo"; DestDir: "{app}\po\zh_CN"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\zh_TW.gmo"; DestDir: "{app}\po\zh_TW"; DestName: "xmlcopyeditor.mo"; Flags: ignoreversion -Source: "..\po\*.png"; DestDir: "{app}" -Source: "..\po\translate.txt"; DestDir: "{app}" -Source: ".\rng\*"; DestDir: "{app}\rng"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\rulesets\*"; DestDir: "{app}\rulesets"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\templates\*"; DestDir: "{app}\templates"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: ".\xsl\*"; DestDir: "{app}\xsl"; Flags: ignoreversion recursesubdirs createallsubdirs - -[Icons] -Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" -Name: "{group}\XML Copy Editor Help"; Filename: "{app}\help\xmlcopyeditor.chm" -Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Check: IsAdmin -Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; Check: not IsAdmin -Name: "{commonappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon; Check: IsAdmin -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon; Check: not IsAdmin - -[Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent - -[Code] -function GetUninstallString(): String; -var - sUnInstPath: String; - sUnInstallString: String; -begin - sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppName}_is1'); - sUnInstallString := ''; - if RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then - else if RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString) then - else if Is64BitInstallMode then begin - sUnInstPath := ExpandConstant('Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppName}_is1'); - if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then - RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); - end; - Result := sUnInstallString; -end; - -// http://stackoverflow.com/questions/2000296/innosetup-how-to-automatically-uninstall-previous-installed-version -procedure CurStepChanged(CurStep: TSetupStep); -var - iResult: Integer; - sUninstall: String; -begin - if (CurStep = ssInstall) then begin - sUninstall := GetUninstallString(); - if sUninstall <> '' then begin - sUninstall := RemoveQuotes(sUnInstall); - //iResult := MsgBox('Warning: Old Version will be removed!', mbInformation, MB_OKCANCEL); - //if iResult = IDOK then - Exec(sUninstall, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_SHOWNORMAL, ewWaitUntilTerminated, iResult); - end; - end; -end; - -function IsAdmin(): Boolean; -begin - Result := IsAdminLoggedOn or IsPowerUserLoggedOn; -end; - -function DefDirRoot(Param: String): String; -begin - if not IsAdmin then - Result := ExpandConstant('{localappdata}') - else - Result := ExpandConstant('{pf}') -end; \ No newline at end of file